carbon-components-angular 3.53.8 → 3.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/bundle/carbon-angular.umd.js +9 -9
  2. package/bundle/carbon-angular.umd.js.map +1 -1
  3. package/combobox/combobox.component.js +1 -7
  4. package/combobox/combobox.component.js.map +1 -1
  5. package/docs/documentation/classes/SearchChange.html +11 -0
  6. package/docs/documentation/components/ComboBox.html +5 -10
  7. package/docs/documentation/components/DropdownList.html +79 -31
  8. package/docs/documentation/components/Pagination.html +114 -56
  9. package/docs/documentation/components/Search.html +96 -17
  10. package/docs/documentation/components/TableToolbarSearch.html +96 -16
  11. package/docs/documentation/components/TagFilter.html +131 -4
  12. package/docs/documentation/coverage.html +17 -17
  13. package/docs/documentation/interfaces/PaginationTranslations.html +87 -11
  14. package/docs/documentation/js/search/search_index.js +2 -2
  15. package/docs/storybook/iframe.html +3 -3
  16. package/docs/storybook/{main.293b4966d65e38f1c80c.bundle.js → main.1ccde517361f3d1a057c.bundle.js} +86 -33
  17. package/docs/storybook/main.1ccde517361f3d1a057c.bundle.js.map +1 -0
  18. package/docs/storybook/{runtime~main.293b4966d65e38f1c80c.bundle.js → runtime~main.1ccde517361f3d1a057c.bundle.js} +1 -1
  19. package/docs/storybook/{runtime~main.293b4966d65e38f1c80c.bundle.js.map → runtime~main.1ccde517361f3d1a057c.bundle.js.map} +1 -1
  20. package/docs/storybook/{vendors~main.293b4966d65e38f1c80c.bundle.js → vendors~main.1ccde517361f3d1a057c.bundle.js} +1 -1
  21. package/docs/storybook/{vendors~main.293b4966d65e38f1c80c.bundle.js.map → vendors~main.1ccde517361f3d1a057c.bundle.js.map} +1 -1
  22. package/dropdown/list/dropdown-list.component.d.ts +1 -0
  23. package/dropdown/list/dropdown-list.component.js +17 -10
  24. package/dropdown/list/dropdown-list.component.js.map +1 -1
  25. package/dropdown/list/dropdown-list.component.metadata.json +1 -1
  26. package/dropdown/list/dropdown-list.component.ngsummary.json +1 -1
  27. package/i18n/en.d.ts +2 -1
  28. package/i18n/en.js +3 -2
  29. package/i18n/en.js.map +1 -1
  30. package/i18n/i18n.service.d.ts +13 -3
  31. package/package.json +1 -1
  32. package/pagination/pagination.component.d.ts +9 -4
  33. package/pagination/pagination.component.js +9 -5
  34. package/pagination/pagination.component.js.map +1 -1
  35. package/pagination/pagination.component.metadata.json +1 -1
  36. package/pagination/pagination.component.ngfactory.js +20 -18
  37. package/pagination/pagination.component.ngfactory.js.map +1 -1
  38. package/search/search.component.d.ts +8 -0
  39. package/search/search.component.js +12 -1
  40. package/search/search.component.js.map +1 -1
  41. package/search/search.component.metadata.json +1 -1
  42. package/search/search.component.ngfactory.js +6 -3
  43. package/search/search.component.ngfactory.js.map +1 -1
  44. package/search/search.component.ngsummary.json +1 -1
  45. package/table/toolbar/table-toolbar-search.component.js +1 -1
  46. package/table/toolbar/table-toolbar-search.component.js.map +1 -1
  47. package/table/toolbar/table-toolbar-search.component.metadata.json +1 -1
  48. package/table/toolbar/table-toolbar-search.component.ngfactory.js +6 -3
  49. package/table/toolbar/table-toolbar-search.component.ngfactory.js.map +1 -1
  50. package/table/toolbar/table-toolbar-search.component.ngsummary.json +1 -1
  51. package/tag/tag-filter.component.d.ts +9 -0
  52. package/tag/tag-filter.component.js +15 -1
  53. package/tag/tag-filter.component.js.map +1 -1
  54. package/tag/tag-filter.component.metadata.json +1 -1
  55. package/tag/tag-filter.component.ngfactory.js +2 -2
  56. package/tag/tag-filter.component.ngfactory.js.map +1 -1
  57. package/tag/tag-filter.component.ngsummary.json +1 -1
  58. package/tag/tag.module.ngfactory.js.map +1 -1
  59. package/docs/storybook/main.293b4966d65e38f1c80c.bundle.js.map +0 -1
@@ -139,6 +139,7 @@ export declare class DropdownList implements AbstractDropdownView, AfterViewInit
139
139
  * Removes any Observables on destruction of the component.
140
140
  */
141
141
  ngOnDestroy(): void;
142
+ doEmitSelect(): void;
142
143
  /**
143
144
  * Updates the displayed list of items and then retrieves the most current properties for the `DropdownList` from the DOM.
144
145
  */
@@ -138,7 +138,11 @@ var DropdownList = /** @class */ (function () {
138
138
  * Additionally, any Observables for the `DropdownList` are initialized.
139
139
  */
140
140
  DropdownList.prototype.ngAfterViewInit = function () {
141
+ var _this = this;
141
142
  this.index = this.getListItems().findIndex(function (item) { return item.selected; });
143
+ setTimeout(function () {
144
+ _this.doEmitSelect();
145
+ });
142
146
  this.setupFocusObservable();
143
147
  };
144
148
  /**
@@ -152,6 +156,18 @@ var DropdownList = /** @class */ (function () {
152
156
  this._itemsSubscription.unsubscribe();
153
157
  }
154
158
  };
159
+ DropdownList.prototype.doEmitSelect = function () {
160
+ if (this.type === "single") {
161
+ this.select.emit({ item: this._items.find(function (item) { return item.selected; }), isUpdate: true });
162
+ }
163
+ else {
164
+ // abuse javascripts object mutability until we can break the API and switch to
165
+ // { items: [], isUpdate: true }
166
+ var selected = this.getSelected() || [];
167
+ selected["isUpdate"] = true;
168
+ this.select.emit(selected);
169
+ }
170
+ };
155
171
  /**
156
172
  * Updates the displayed list of items and then retrieves the most current properties for the `DropdownList` from the DOM.
157
173
  */
@@ -165,16 +181,7 @@ var DropdownList = /** @class */ (function () {
165
181
  if (_this.getSelected() !== []) {
166
182
  return;
167
183
  }
168
- if (_this.type === "single") {
169
- _this.select.emit({ item: _this._items.find(function (item) { return item.selected; }), isUpdate: true });
170
- }
171
- else {
172
- // abuse javascripts object mutability until we can break the API and switch to
173
- // { items: [], isUpdate: true }
174
- var selected = _this.getSelected() || [];
175
- selected["isUpdate"] = true;
176
- _this.select.emit(selected);
177
- }
184
+ _this.doEmitSelect();
178
185
  });
179
186
  };
180
187
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-list.component.js","sourceRoot":"","sources":["../../src/dropdown/list/dropdown-list.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tInput,\n\tOutput,\n\tOnDestroy,\n\tEventEmitter,\n\tTemplateRef,\n\tAfterViewInit,\n\tViewChild,\n\tElementRef,\n\tViewChildren,\n\tQueryList\n} from \"@angular/core\";\nimport { Observable, isObservable, Subscription, of } from \"rxjs\";\nimport { first } from \"rxjs/operators\";\n\nimport { I18n } from \"../../i18n/i18n.module\";\nimport { AbstractDropdownView } from \"./../abstract-dropdown-view.class\";\nimport { ListItem } from \"./../list-item.interface\";\nimport { watchFocusJump } from \"./../dropdowntools\";\nimport { ScrollCustomEvent } from \"./scroll-custom-event.interface\";\n\n\n/**\n * ```html\n * <ibm-dropdown-list [items]=\"listItems\"></ibm-dropdown-list>\n * ```\n * ```typescript\n * listItems = [\n * \t{\n * \t\tcontent: \"item one\",\n * \t\tselected: false\n * \t},\n * \t{\n * \t\tcontent: \"item two\",\n * \t\tselected: false,\n * \t},\n * \t{\n * \t\tcontent: \"item three\",\n * \t\tselected: false\n * \t},\n * \t{\n * \t\tcontent: \"item four\",\n * \t\tselected: false\n * \t}\n * ];\n * ```\n */\n@Component({\n\tselector: \"ibm-dropdown-list\",\n\ttemplate: `\n\t\t<ul\n\t\t\t#list\n\t\t\trole=\"listbox\"\n\t\t\tclass=\"bx--list-box__menu bx--multi-select\"\n\t\t\t(scroll)=\"emitScroll($event)\"\n\t\t\t[attr.aria-label]=\"ariaLabel\">\n\t\t\t<li\n\t\t\t\trole=\"option\"\n\t\t\t\t*ngFor=\"let item of displayItems; let i = index\"\n\t\t\t\t(click)=\"doClick($event, item)\"\n\t\t\t\t(keydown)=\"doKeyDown($event, item)\"\n\t\t\t\t(focus)=\"onItemFocus(i)\"\n\t\t\t\t(blur)=\"onItemBlur(i)\"\n\t\t\t\tclass=\"bx--list-box__menu-item\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--list-box__menu-item--active': item.selected,\n\t\t\t\t\tdisabled: item.disabled\n\t\t\t\t}\"\n\t\t\t\t[title]=\"item.content\">\n\t\t\t\t<div\n\t\t\t\t\t#listItem\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=\"bx--list-box__menu-item__option\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"!listTpl && type === 'multi'\"\n\t\t\t\t\t\tclass=\"bx--form-item bx--checkbox-wrapper\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t[attr.data-contained-checkbox-state]=\"item.selected\"\n\t\t\t\t\t\t\tclass=\"bx--checkbox-label\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"bx--checkbox\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t[checked]=\"item.selected\"\n\t\t\t\t\t\t\t\t[disabled]=\"item.disabled\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\">\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-appearance\"></span>\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-label-text\">{{item.content}}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngIf=\"!listTpl && type === 'single'\">{{item.content}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"listTpl\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{item: item}\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"listTpl\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</div>\n\t\t\t</li>\n\t\t</ul>`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: AbstractDropdownView,\n\t\t\tuseExisting: DropdownList\n\t\t}\n\t]\n})\nexport class DropdownList implements AbstractDropdownView, AfterViewInit, OnDestroy {\n\t@Input() ariaLabel = this.i18n.get().DROPDOWN_LIST.LABEL;\n\t/**\n\t * The list items belonging to the `DropdownList`.\n\t */\n\t@Input() set items (value: Array<ListItem> | Observable<Array<ListItem>>) {\n\t\tif (isObservable(value)) {\n\t\t\tif (this._itemsSubscription) {\n\t\t\t\tthis._itemsSubscription.unsubscribe();\n\t\t\t}\n\t\t\tthis._itemsReady = new Observable<boolean>((observer) => {\n\t\t\t\tthis._itemsSubscription = value.subscribe(v => {\n\t\t\t\t\tthis.updateList(v);\n\t\t\t\t\tobserver.next(true);\n\t\t\t\t\tobserver.complete();\n\t\t\t\t});\n\t\t\t});\n\t\t\tthis.onItemsReady(null);\n\t\t} else {\n\t\t\tthis.updateList(value);\n\t\t}\n\t\tthis._originalItems = value;\n\t}\n\n\tget items(): Array<ListItem> | Observable<Array<ListItem>> {\n\t\treturn this._originalItems;\n\t}\n\t/**\n\t * Template to bind to items in the `DropdownList` (optional).\n\t */\n\t@Input() listTpl: string | TemplateRef<any> = null;\n\t/**\n\t * Event to emit selection of a list item within the `DropdownList`.\n\t */\n\t@Output() select: EventEmitter<Object> = new EventEmitter<Object>();\n\t/**\n\t * Event to emit scroll event of a list within the `DropdownList`.\n\t */\n\t@Output() scroll: EventEmitter<ScrollCustomEvent> = new EventEmitter<ScrollCustomEvent>();\n\t/**\n\t * Event to suggest a blur on the view.\n\t * Emits _after_ the first/last item has been focused.\n\t * ex.\n\t * ArrowUp -> focus first item\n\t * ArrowUp -> emit event\n\t *\n\t * When this event fires focus should be placed on some element outside of the list - blurring the list as a result\n\t */\n\t@Output() blurIntent = new EventEmitter<\"top\" | \"bottom\">();\n\t/**\n\t * Maintains a reference to the view DOM element for the unordered list of items within the `DropdownList`.\n\t */\n\t@ViewChild(\"list\") list: ElementRef;\n\t/**\n\t * Defines whether or not the `DropdownList` supports selecting multiple items as opposed to single\n\t * item selection.\n\t */\n\t@Input() type: \"single\" | \"multi\" = \"single\";\n\t/**\n\t * Defines the rendering size of the `DropdownList` input component.\n\t */\n\tpublic size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Holds the list of items that will be displayed in the `DropdownList`.\n\t * It differs from the the complete set of items when filtering is used (but\n\t * it is always a subset of the total items in `DropdownList`).\n\t */\n\tpublic displayItems: Array<ListItem> = [];\n\t/**\n\t * Maintains the index for the selected item within the `DropdownList`.\n\t */\n\tprotected index = -1;\n\t/**\n\t * An array holding the HTML list elements in the view.\n\t */\n\t@ViewChildren(\"listItem\") protected listElementList: QueryList<ElementRef>;\n\t/**\n\t * Observable bound to keydown events to control filtering.\n\t */\n\tprotected focusJump;\n\t/**\n\t * Tracks the current (if any) subscription to the items observable so we can clean up when the input is updated.\n\t */\n\tprotected _itemsSubscription: Subscription;\n\t/**\n\t * Used to retain the original items passed to the setter.\n\t */\n\tprotected _originalItems: Array<ListItem> | Observable<Array<ListItem>>;\n\t/**\n\t * Useful representation of the items, should be accessed via `getListItems`.\n\t */\n\tprotected _items: Array<ListItem> = [];\n\t/**\n\t * Used to wait for items in case they are passed through an observable.\n\t */\n\tprotected _itemsReady: Observable<boolean>;\n\n\t/**\n\t * Creates an instance of `DropdownList`.\n\t */\n\tconstructor(public elementRef: ElementRef, protected i18n: I18n) {}\n\n\t/**\n\t * Retrieves array of list items and index of the selected item after view has rendered.\n\t * Additionally, any Observables for the `DropdownList` are initialized.\n\t */\n\tngAfterViewInit() {\n\t\tthis.index = this.getListItems().findIndex(item => item.selected);\n\t\tthis.setupFocusObservable();\n\t}\n\n\t/**\n\t * Removes any Observables on destruction of the component.\n\t */\n\tngOnDestroy() {\n\t\tif (this.focusJump) {\n\t\t\tthis.focusJump.unsubscribe();\n\t\t}\n\t\tif (this._itemsSubscription) {\n\t\t\tthis._itemsSubscription.unsubscribe();\n\t\t}\n\t}\n\n\t/**\n\t * Updates the displayed list of items and then retrieves the most current properties for the `DropdownList` from the DOM.\n\t */\n\tupdateList(items) {\n\t\tthis._items = items.map(item => Object.assign({}, item));\n\t\tthis.displayItems = this._items;\n\t\tthis.index = this._items.findIndex(item => item.selected);\n\t\tthis.setupFocusObservable();\n\t\tsetTimeout(() => {\n\t\t\tif (this.getSelected() !== []) { return; }\n\t\t\tif (this.type === \"single\") {\n\t\t\t\tthis.select.emit({ item: this._items.find(item => item.selected), isUpdate: true });\n\t\t\t} else {\n\t\t\t\t// abuse javascripts object mutability until we can break the API and switch to\n\t\t\t\t// { items: [], isUpdate: true }\n\t\t\t\tconst selected = this.getSelected() || [];\n\t\t\t\tselected[\"isUpdate\"] = true;\n\t\t\t\tthis.select.emit(selected);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Filters the items being displayed in the DOM list.\n\t */\n\tfilterBy(query = \"\") {\n\t\tif (query) {\n\t\t\tthis.displayItems = this.getListItems().filter(item => item.content.toLowerCase().includes(query.toLowerCase()));\n\t\t} else {\n\t\t\tthis.displayItems = this.getListItems();\n\t\t}\n\t\t// reset the index since the list has changed visually\n\t\tthis.index = 0;\n\t}\n\n\t/**\n\t * Initializes (or re-initializes) the Observable that handles switching focus to an element based on\n\t * key input matching the first letter of the item in the list.\n\t */\n\tsetupFocusObservable() {\n\t\tif (this.focusJump) {\n\t\t\tthis.focusJump.unsubscribe();\n\t\t}\n\t\tlet elList = Array.from(this.list.nativeElement.querySelectorAll(\"li\"));\n\t\tthis.focusJump = watchFocusJump(this.list.nativeElement, elList)\n\t\t\t.subscribe(el => {\n\t\t\t\tel.focus();\n\t\t\t});\n\t}\n\n\t/**\n\t * Returns the `ListItem` that is subsequent to the selected item in the `DropdownList`.\n\t */\n\tgetNextItem(): ListItem {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\tthis.index++;\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns `true` if the selected item is not the last item in the `DropdownList`.\n\t * TODO: standardize\n\t */\n\thasNextElement(): boolean {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that is subsequent to the selected item.\n\t */\n\tgetNextElement(): HTMLElement {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\tthis.index++;\n\t\t}\n\t\tlet elem = this.listElementList.toArray()[this.index].nativeElement;\n\t\tlet item = this.displayItems[this.index];\n\t\tif (item.disabled) {\n\t\t\treturn this.getNextElement();\n\t\t}\n\t\treturn elem;\n\t}\n\n\t/**\n\t * Returns the `ListItem` that precedes the selected item within `DropdownList`.\n\t */\n\tgetPrevItem(): ListItem {\n\t\tif (this.index > 0) {\n\t\t\tthis.index--;\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns `true` if the selected item is not the first in the list.\n\t * TODO: standardize\n\t */\n\thasPrevElement(): boolean {\n\t\tif (this.index > 0) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that precedes the selected item.\n\t */\n\tgetPrevElement(): HTMLElement {\n\t\tif (this.index > 0) {\n\t\t\tthis.index--;\n\t\t}\n\t\tlet elem = this.listElementList.toArray()[this.index].nativeElement;\n\t\tlet item = this.displayItems[this.index];\n\t\tif (item.disabled) {\n\t\t\treturn this.getPrevElement();\n\t\t}\n\t\treturn elem;\n\t}\n\n\t/**\n\t * Returns the `ListItem` that is selected within `DropdownList`.\n\t */\n\tgetCurrentItem(): ListItem {\n\t\tif (this.index < 0) {\n\t\t\treturn this.displayItems[0];\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that is selected within the `DropdownList`.\n\t */\n\tgetCurrentElement(): HTMLElement {\n\t\tif (this.index < 0) {\n\t\t\treturn this.listElementList.first.nativeElement;\n\t\t}\n\t\treturn this.listElementList.toArray()[this.index].nativeElement;\n\t}\n\n\t/**\n\t * Returns the items as an Array\n\t */\n\tgetListItems(): Array<ListItem> {\n\t\treturn this._items;\n\t}\n\n\t/**\n\t * Returns a list containing the selected item(s) in the `DropdownList`.\n\t */\n\tgetSelected(): ListItem[] {\n\t\tlet selected = this.getListItems().filter(item => item.selected);\n\t\tif (selected.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn selected;\n\t}\n\n\t/**\n\t * Transforms array input list of items to the correct state by updating the selected item(s).\n\t */\n\tpropagateSelected(value: Array<ListItem>): void {\n\t\t// if we get a non-array, log out an error (since it is one)\n\t\tif (!Array.isArray(value)) {\n\t\t\tconsole.error(`${this.constructor.name}.propagateSelected expects an Array<ListItem>, got ${JSON.stringify(value)}`);\n\t\t}\n\t\tthis.onItemsReady(() => {\n\t\t\t// loop through the list items and update the `selected` state for matching items in `value`\n\t\t\tfor (let oldItem of this.getListItems()) {\n\t\t\t\t// copy the item\n\t\t\t\tlet tempOldItem: string | ListItem = Object.assign({}, oldItem);\n\t\t\t\t// deleted selected because it's what we _want_ to change\n\t\t\t\tdelete tempOldItem.selected;\n\t\t\t\t// stringify for compare\n\t\t\t\ttempOldItem = JSON.stringify(tempOldItem);\n\t\t\t\tfor (let newItem of value) {\n\t\t\t\t\t// copy the item\n\t\t\t\t\tlet tempNewItem: string | ListItem = Object.assign({}, newItem);\n\t\t\t\t\t// deleted selected because it's what we _want_ to change\n\t\t\t\t\tdelete tempNewItem.selected;\n\t\t\t\t\t// stringify for compare\n\t\t\t\t\ttempNewItem = JSON.stringify(tempNewItem);\n\t\t\t\t\t// do the compare\n\t\t\t\t\tif (tempOldItem.includes(tempNewItem)) {\n\t\t\t\t\t\toldItem.selected = newItem.selected;\n\t\t\t\t\t\t// if we've found a matching item, we can stop looping\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else {\n\t\t\t\t\t\toldItem.selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Initializes focus in the list, effectively a wrapper for `getCurrentElement().focus()`\n\t */\n\tinitFocus() {\n\t\t// ensure we start at this first item if nothing is already selected\n\t\tif (this.index < 0) {\n\t\t\tthis.index = 0;\n\t\t}\n\t\tthis.getCurrentElement().focus();\n\t}\n\n\t/**\n\t * Manages the keyboard accessibility for navigation and selection within a `DropdownList`.\n\t */\n\tdoKeyDown(event: KeyboardEvent, item: ListItem) {\n\t\t// \"Spacebar\", \"Down\", and \"Up\" are IE specific values\n\t\tif (event.key === \"Enter\" || event.key === \" \" || event.key === \"Spacebar\") {\n\t\t\t\tif (this.listElementList.some(option => option.nativeElement === event.target)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tif (event.key === \"Enter\") {\n\t\t\t\t\tthis.doClick(event, item);\n\t\t\t\t}\n\t\t} else if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\" || event.key === \"Down\" || event.key === \"Up\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (event.key === \"ArrowDown\" || event.key === \"Down\") {\n\t\t\t\tif (this.hasNextElement()) {\n\t\t\t\t\tthis.getNextElement().focus();\n\t\t\t\t} else {\n\t\t\t\t\tthis.blurIntent.emit(\"bottom\");\n\t\t\t\t}\n\t\t\t} else if (event.key === \"ArrowUp\" || event.key === \"Up\") {\n\t\t\t\tif (this.hasPrevElement()) {\n\t\t\t\t\tthis.getPrevElement().focus();\n\t\t\t\t} else {\n\t\t\t\t\tthis.blurIntent.emit(\"top\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Emits the selected item or items after a mouse click event has occurred.\n\t */\n\tdoClick(event, item) {\n\t\tevent.preventDefault();\n\t\tif (!item.disabled) {\n\t\t\tif (this.type === \"single\") {\n\t\t\t\titem.selected = true;\n\t\t\t\t// reset the selection\n\t\t\t\tfor (let otherItem of this.getListItems()) {\n\t\t\t\t\tif (item !== otherItem) { otherItem.selected = false; }\n\t\t\t\t}\n\n\t\t\t\tthis.select.emit({item});\n\t\t\t} else {\n\t\t\t\titem.selected = !item.selected;\n\t\t\t\t// emit an array of selected items\n\t\t\t\tthis.select.emit(this.getSelected());\n\t\t\t}\n\t\t\tthis.index = this.getListItems().indexOf(item);\n\t\t}\n\t}\n\n\tonItemFocus(index) {\n\t\tconst element = this.listElementList.toArray()[index].nativeElement;\n\t\telement.classList.add(\"bx--list-box__menu-item--highlighted\");\n\t\telement.tabIndex = 0;\n\t}\n\n\tonItemBlur(index) {\n\t\tconst element = this.listElementList.toArray()[index].nativeElement;\n\t\telement.classList.remove(\"bx--list-box__menu-item--highlighted\");\n\t\telement.tabIndex = -1;\n\t}\n\n\t/**\n\t * Emits the scroll event of the options list\n\t */\n\temitScroll(event) {\n\t\tconst atTop: boolean = event.srcElement.scrollTop === 0;\n\t\tconst atBottom: boolean = event.srcElement.scrollHeight - event.srcElement.scrollTop === event.srcElement.clientHeight;\n\t\tconst customScrollEvent = { atTop, atBottom, event };\n\t\tthis.scroll.emit(customScrollEvent);\n\t}\n\n\t/**\n\t * Subscribe the function passed to an internal observable that will resolve once the items are ready\n\t */\n\tonItemsReady(subcription: () => void): void {\n\t\t// this subscription will auto unsubscribe because of the `first()` pipe\n\t\t(this._itemsReady || of(true)).pipe(first()).subscribe(subcription);\n\t}\n}\n"]}
1
+ {"version":3,"file":"dropdown-list.component.js","sourceRoot":"","sources":["../../src/dropdown/list/dropdown-list.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tInput,\n\tOutput,\n\tOnDestroy,\n\tEventEmitter,\n\tTemplateRef,\n\tAfterViewInit,\n\tViewChild,\n\tElementRef,\n\tViewChildren,\n\tQueryList\n} from \"@angular/core\";\nimport { Observable, isObservable, Subscription, of } from \"rxjs\";\nimport { first } from \"rxjs/operators\";\n\nimport { I18n } from \"../../i18n/i18n.module\";\nimport { AbstractDropdownView } from \"./../abstract-dropdown-view.class\";\nimport { ListItem } from \"./../list-item.interface\";\nimport { watchFocusJump } from \"./../dropdowntools\";\nimport { ScrollCustomEvent } from \"./scroll-custom-event.interface\";\n\n\n/**\n * ```html\n * <ibm-dropdown-list [items]=\"listItems\"></ibm-dropdown-list>\n * ```\n * ```typescript\n * listItems = [\n * \t{\n * \t\tcontent: \"item one\",\n * \t\tselected: false\n * \t},\n * \t{\n * \t\tcontent: \"item two\",\n * \t\tselected: false,\n * \t},\n * \t{\n * \t\tcontent: \"item three\",\n * \t\tselected: false\n * \t},\n * \t{\n * \t\tcontent: \"item four\",\n * \t\tselected: false\n * \t}\n * ];\n * ```\n */\n@Component({\n\tselector: \"ibm-dropdown-list\",\n\ttemplate: `\n\t\t<ul\n\t\t\t#list\n\t\t\trole=\"listbox\"\n\t\t\tclass=\"bx--list-box__menu bx--multi-select\"\n\t\t\t(scroll)=\"emitScroll($event)\"\n\t\t\t[attr.aria-label]=\"ariaLabel\">\n\t\t\t<li\n\t\t\t\trole=\"option\"\n\t\t\t\t*ngFor=\"let item of displayItems; let i = index\"\n\t\t\t\t(click)=\"doClick($event, item)\"\n\t\t\t\t(keydown)=\"doKeyDown($event, item)\"\n\t\t\t\t(focus)=\"onItemFocus(i)\"\n\t\t\t\t(blur)=\"onItemBlur(i)\"\n\t\t\t\tclass=\"bx--list-box__menu-item\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--list-box__menu-item--active': item.selected,\n\t\t\t\t\tdisabled: item.disabled\n\t\t\t\t}\"\n\t\t\t\t[title]=\"item.content\">\n\t\t\t\t<div\n\t\t\t\t\t#listItem\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=\"bx--list-box__menu-item__option\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"!listTpl && type === 'multi'\"\n\t\t\t\t\t\tclass=\"bx--form-item bx--checkbox-wrapper\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t[attr.data-contained-checkbox-state]=\"item.selected\"\n\t\t\t\t\t\t\tclass=\"bx--checkbox-label\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"bx--checkbox\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t[checked]=\"item.selected\"\n\t\t\t\t\t\t\t\t[disabled]=\"item.disabled\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\">\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-appearance\"></span>\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-label-text\">{{item.content}}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngIf=\"!listTpl && type === 'single'\">{{item.content}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"listTpl\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{item: item}\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"listTpl\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</div>\n\t\t\t</li>\n\t\t</ul>`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: AbstractDropdownView,\n\t\t\tuseExisting: DropdownList\n\t\t}\n\t]\n})\nexport class DropdownList implements AbstractDropdownView, AfterViewInit, OnDestroy {\n\t@Input() ariaLabel = this.i18n.get().DROPDOWN_LIST.LABEL;\n\t/**\n\t * The list items belonging to the `DropdownList`.\n\t */\n\t@Input() set items (value: Array<ListItem> | Observable<Array<ListItem>>) {\n\t\tif (isObservable(value)) {\n\t\t\tif (this._itemsSubscription) {\n\t\t\t\tthis._itemsSubscription.unsubscribe();\n\t\t\t}\n\t\t\tthis._itemsReady = new Observable<boolean>((observer) => {\n\t\t\t\tthis._itemsSubscription = value.subscribe(v => {\n\t\t\t\t\tthis.updateList(v);\n\t\t\t\t\tobserver.next(true);\n\t\t\t\t\tobserver.complete();\n\t\t\t\t});\n\t\t\t});\n\t\t\tthis.onItemsReady(null);\n\t\t} else {\n\t\t\tthis.updateList(value);\n\t\t}\n\t\tthis._originalItems = value;\n\t}\n\n\tget items(): Array<ListItem> | Observable<Array<ListItem>> {\n\t\treturn this._originalItems;\n\t}\n\t/**\n\t * Template to bind to items in the `DropdownList` (optional).\n\t */\n\t@Input() listTpl: string | TemplateRef<any> = null;\n\t/**\n\t * Event to emit selection of a list item within the `DropdownList`.\n\t */\n\t@Output() select: EventEmitter<Object> = new EventEmitter<Object>();\n\t/**\n\t * Event to emit scroll event of a list within the `DropdownList`.\n\t */\n\t@Output() scroll: EventEmitter<ScrollCustomEvent> = new EventEmitter<ScrollCustomEvent>();\n\t/**\n\t * Event to suggest a blur on the view.\n\t * Emits _after_ the first/last item has been focused.\n\t * ex.\n\t * ArrowUp -> focus first item\n\t * ArrowUp -> emit event\n\t *\n\t * When this event fires focus should be placed on some element outside of the list - blurring the list as a result\n\t */\n\t@Output() blurIntent = new EventEmitter<\"top\" | \"bottom\">();\n\t/**\n\t * Maintains a reference to the view DOM element for the unordered list of items within the `DropdownList`.\n\t */\n\t@ViewChild(\"list\") list: ElementRef;\n\t/**\n\t * Defines whether or not the `DropdownList` supports selecting multiple items as opposed to single\n\t * item selection.\n\t */\n\t@Input() type: \"single\" | \"multi\" = \"single\";\n\t/**\n\t * Defines the rendering size of the `DropdownList` input component.\n\t */\n\tpublic size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Holds the list of items that will be displayed in the `DropdownList`.\n\t * It differs from the the complete set of items when filtering is used (but\n\t * it is always a subset of the total items in `DropdownList`).\n\t */\n\tpublic displayItems: Array<ListItem> = [];\n\t/**\n\t * Maintains the index for the selected item within the `DropdownList`.\n\t */\n\tprotected index = -1;\n\t/**\n\t * An array holding the HTML list elements in the view.\n\t */\n\t@ViewChildren(\"listItem\") protected listElementList: QueryList<ElementRef>;\n\t/**\n\t * Observable bound to keydown events to control filtering.\n\t */\n\tprotected focusJump;\n\t/**\n\t * Tracks the current (if any) subscription to the items observable so we can clean up when the input is updated.\n\t */\n\tprotected _itemsSubscription: Subscription;\n\t/**\n\t * Used to retain the original items passed to the setter.\n\t */\n\tprotected _originalItems: Array<ListItem> | Observable<Array<ListItem>>;\n\t/**\n\t * Useful representation of the items, should be accessed via `getListItems`.\n\t */\n\tprotected _items: Array<ListItem> = [];\n\t/**\n\t * Used to wait for items in case they are passed through an observable.\n\t */\n\tprotected _itemsReady: Observable<boolean>;\n\n\t/**\n\t * Creates an instance of `DropdownList`.\n\t */\n\tconstructor(public elementRef: ElementRef, protected i18n: I18n) {}\n\n\t/**\n\t * Retrieves array of list items and index of the selected item after view has rendered.\n\t * Additionally, any Observables for the `DropdownList` are initialized.\n\t */\n\tngAfterViewInit() {\n\t\tthis.index = this.getListItems().findIndex(item => item.selected);\n\t\tsetTimeout(() => {\n\t\t\tthis.doEmitSelect();\n\t\t})\n\t\tthis.setupFocusObservable();\n\t}\n\n\t/**\n\t * Removes any Observables on destruction of the component.\n\t */\n\tngOnDestroy() {\n\t\tif (this.focusJump) {\n\t\t\tthis.focusJump.unsubscribe();\n\t\t}\n\t\tif (this._itemsSubscription) {\n\t\t\tthis._itemsSubscription.unsubscribe();\n\t\t}\n\t}\n\n\tdoEmitSelect() {\n\t\tif (this.type === \"single\") {\n\t\t\tthis.select.emit({ item: this._items.find(item => item.selected), isUpdate: true });\n\t\t} else {\n\t\t\t// abuse javascripts object mutability until we can break the API and switch to\n\t\t\t// { items: [], isUpdate: true }\n\t\t\tconst selected = this.getSelected() || [];\n\t\t\tselected[\"isUpdate\"] = true;\n\t\t\tthis.select.emit(selected);\n\t\t}\n\t}\n\n\t/**\n\t * Updates the displayed list of items and then retrieves the most current properties for the `DropdownList` from the DOM.\n\t */\n\tupdateList(items) {\n\t\tthis._items = items.map(item => Object.assign({}, item));\n\t\tthis.displayItems = this._items;\n\t\tthis.index = this._items.findIndex(item => item.selected);\n\t\tthis.setupFocusObservable();\n\t\tsetTimeout(() => {\n\t\t\tif (this.getSelected() !== []) { return; }\n\t\t\tthis.doEmitSelect();\n\t\t});\n\t}\n\n\t/**\n\t * Filters the items being displayed in the DOM list.\n\t */\n\tfilterBy(query = \"\") {\n\t\tif (query) {\n\t\t\tthis.displayItems = this.getListItems().filter(item => item.content.toLowerCase().includes(query.toLowerCase()));\n\t\t} else {\n\t\t\tthis.displayItems = this.getListItems();\n\t\t}\n\t\t// reset the index since the list has changed visually\n\t\tthis.index = 0;\n\t}\n\n\t/**\n\t * Initializes (or re-initializes) the Observable that handles switching focus to an element based on\n\t * key input matching the first letter of the item in the list.\n\t */\n\tsetupFocusObservable() {\n\t\tif (this.focusJump) {\n\t\t\tthis.focusJump.unsubscribe();\n\t\t}\n\t\tlet elList = Array.from(this.list.nativeElement.querySelectorAll(\"li\"));\n\t\tthis.focusJump = watchFocusJump(this.list.nativeElement, elList)\n\t\t\t.subscribe(el => {\n\t\t\t\tel.focus();\n\t\t\t});\n\t}\n\n\t/**\n\t * Returns the `ListItem` that is subsequent to the selected item in the `DropdownList`.\n\t */\n\tgetNextItem(): ListItem {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\tthis.index++;\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns `true` if the selected item is not the last item in the `DropdownList`.\n\t * TODO: standardize\n\t */\n\thasNextElement(): boolean {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that is subsequent to the selected item.\n\t */\n\tgetNextElement(): HTMLElement {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\tthis.index++;\n\t\t}\n\t\tlet elem = this.listElementList.toArray()[this.index].nativeElement;\n\t\tlet item = this.displayItems[this.index];\n\t\tif (item.disabled) {\n\t\t\treturn this.getNextElement();\n\t\t}\n\t\treturn elem;\n\t}\n\n\t/**\n\t * Returns the `ListItem` that precedes the selected item within `DropdownList`.\n\t */\n\tgetPrevItem(): ListItem {\n\t\tif (this.index > 0) {\n\t\t\tthis.index--;\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns `true` if the selected item is not the first in the list.\n\t * TODO: standardize\n\t */\n\thasPrevElement(): boolean {\n\t\tif (this.index > 0) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that precedes the selected item.\n\t */\n\tgetPrevElement(): HTMLElement {\n\t\tif (this.index > 0) {\n\t\t\tthis.index--;\n\t\t}\n\t\tlet elem = this.listElementList.toArray()[this.index].nativeElement;\n\t\tlet item = this.displayItems[this.index];\n\t\tif (item.disabled) {\n\t\t\treturn this.getPrevElement();\n\t\t}\n\t\treturn elem;\n\t}\n\n\t/**\n\t * Returns the `ListItem` that is selected within `DropdownList`.\n\t */\n\tgetCurrentItem(): ListItem {\n\t\tif (this.index < 0) {\n\t\t\treturn this.displayItems[0];\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that is selected within the `DropdownList`.\n\t */\n\tgetCurrentElement(): HTMLElement {\n\t\tif (this.index < 0) {\n\t\t\treturn this.listElementList.first.nativeElement;\n\t\t}\n\t\treturn this.listElementList.toArray()[this.index].nativeElement;\n\t}\n\n\t/**\n\t * Returns the items as an Array\n\t */\n\tgetListItems(): Array<ListItem> {\n\t\treturn this._items;\n\t}\n\n\t/**\n\t * Returns a list containing the selected item(s) in the `DropdownList`.\n\t */\n\tgetSelected(): ListItem[] {\n\t\tlet selected = this.getListItems().filter(item => item.selected);\n\t\tif (selected.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn selected;\n\t}\n\n\t/**\n\t * Transforms array input list of items to the correct state by updating the selected item(s).\n\t */\n\tpropagateSelected(value: Array<ListItem>): void {\n\t\t// if we get a non-array, log out an error (since it is one)\n\t\tif (!Array.isArray(value)) {\n\t\t\tconsole.error(`${this.constructor.name}.propagateSelected expects an Array<ListItem>, got ${JSON.stringify(value)}`);\n\t\t}\n\t\tthis.onItemsReady(() => {\n\t\t\t// loop through the list items and update the `selected` state for matching items in `value`\n\t\t\tfor (let oldItem of this.getListItems()) {\n\t\t\t\t// copy the item\n\t\t\t\tlet tempOldItem: string | ListItem = Object.assign({}, oldItem);\n\t\t\t\t// deleted selected because it's what we _want_ to change\n\t\t\t\tdelete tempOldItem.selected;\n\t\t\t\t// stringify for compare\n\t\t\t\ttempOldItem = JSON.stringify(tempOldItem);\n\t\t\t\tfor (let newItem of value) {\n\t\t\t\t\t// copy the item\n\t\t\t\t\tlet tempNewItem: string | ListItem = Object.assign({}, newItem);\n\t\t\t\t\t// deleted selected because it's what we _want_ to change\n\t\t\t\t\tdelete tempNewItem.selected;\n\t\t\t\t\t// stringify for compare\n\t\t\t\t\ttempNewItem = JSON.stringify(tempNewItem);\n\t\t\t\t\t// do the compare\n\t\t\t\t\tif (tempOldItem.includes(tempNewItem)) {\n\t\t\t\t\t\toldItem.selected = newItem.selected;\n\t\t\t\t\t\t// if we've found a matching item, we can stop looping\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else {\n\t\t\t\t\t\toldItem.selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Initializes focus in the list, effectively a wrapper for `getCurrentElement().focus()`\n\t */\n\tinitFocus() {\n\t\t// ensure we start at this first item if nothing is already selected\n\t\tif (this.index < 0) {\n\t\t\tthis.index = 0;\n\t\t}\n\t\tthis.getCurrentElement().focus();\n\t}\n\n\t/**\n\t * Manages the keyboard accessibility for navigation and selection within a `DropdownList`.\n\t */\n\tdoKeyDown(event: KeyboardEvent, item: ListItem) {\n\t\t// \"Spacebar\", \"Down\", and \"Up\" are IE specific values\n\t\tif (event.key === \"Enter\" || event.key === \" \" || event.key === \"Spacebar\") {\n\t\t\t\tif (this.listElementList.some(option => option.nativeElement === event.target)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tif (event.key === \"Enter\") {\n\t\t\t\t\tthis.doClick(event, item);\n\t\t\t\t}\n\t\t} else if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\" || event.key === \"Down\" || event.key === \"Up\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (event.key === \"ArrowDown\" || event.key === \"Down\") {\n\t\t\t\tif (this.hasNextElement()) {\n\t\t\t\t\tthis.getNextElement().focus();\n\t\t\t\t} else {\n\t\t\t\t\tthis.blurIntent.emit(\"bottom\");\n\t\t\t\t}\n\t\t\t} else if (event.key === \"ArrowUp\" || event.key === \"Up\") {\n\t\t\t\tif (this.hasPrevElement()) {\n\t\t\t\t\tthis.getPrevElement().focus();\n\t\t\t\t} else {\n\t\t\t\t\tthis.blurIntent.emit(\"top\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Emits the selected item or items after a mouse click event has occurred.\n\t */\n\tdoClick(event, item) {\n\t\tevent.preventDefault();\n\t\tif (!item.disabled) {\n\t\t\tif (this.type === \"single\") {\n\t\t\t\titem.selected = true;\n\t\t\t\t// reset the selection\n\t\t\t\tfor (let otherItem of this.getListItems()) {\n\t\t\t\t\tif (item !== otherItem) { otherItem.selected = false; }\n\t\t\t\t}\n\n\t\t\t\tthis.select.emit({item});\n\t\t\t} else {\n\t\t\t\titem.selected = !item.selected;\n\t\t\t\t// emit an array of selected items\n\t\t\t\tthis.select.emit(this.getSelected());\n\t\t\t}\n\t\t\tthis.index = this.getListItems().indexOf(item);\n\t\t}\n\t}\n\n\tonItemFocus(index) {\n\t\tconst element = this.listElementList.toArray()[index].nativeElement;\n\t\telement.classList.add(\"bx--list-box__menu-item--highlighted\");\n\t\telement.tabIndex = 0;\n\t}\n\n\tonItemBlur(index) {\n\t\tconst element = this.listElementList.toArray()[index].nativeElement;\n\t\telement.classList.remove(\"bx--list-box__menu-item--highlighted\");\n\t\telement.tabIndex = -1;\n\t}\n\n\t/**\n\t * Emits the scroll event of the options list\n\t */\n\temitScroll(event) {\n\t\tconst atTop: boolean = event.srcElement.scrollTop === 0;\n\t\tconst atBottom: boolean = event.srcElement.scrollHeight - event.srcElement.scrollTop === event.srcElement.clientHeight;\n\t\tconst customScrollEvent = { atTop, atBottom, event };\n\t\tthis.scroll.emit(customScrollEvent);\n\t}\n\n\t/**\n\t * Subscribe the function passed to an internal observable that will resolve once the items are ready\n\t */\n\tonItemsReady(subcription: () => void): void {\n\t\t// this subscription will auto unsubscribe because of the `first()` pipe\n\t\t(this._itemsReady || of(true)).pipe(first()).subscribe(subcription);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"DropdownList":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":48,"character":1},"arguments":[{"selector":"ibm-dropdown-list","template":"\n\t\t<ul\n\t\t\t#list\n\t\t\trole=\"listbox\"\n\t\t\tclass=\"bx--list-box__menu bx--multi-select\"\n\t\t\t(scroll)=\"emitScroll($event)\"\n\t\t\t[attr.aria-label]=\"ariaLabel\">\n\t\t\t<li\n\t\t\t\trole=\"option\"\n\t\t\t\t*ngFor=\"let item of displayItems; let i = index\"\n\t\t\t\t(click)=\"doClick($event, item)\"\n\t\t\t\t(keydown)=\"doKeyDown($event, item)\"\n\t\t\t\t(focus)=\"onItemFocus(i)\"\n\t\t\t\t(blur)=\"onItemBlur(i)\"\n\t\t\t\tclass=\"bx--list-box__menu-item\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--list-box__menu-item--active': item.selected,\n\t\t\t\t\tdisabled: item.disabled\n\t\t\t\t}\"\n\t\t\t\t[title]=\"item.content\">\n\t\t\t\t<div\n\t\t\t\t\t#listItem\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=\"bx--list-box__menu-item__option\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"!listTpl && type === 'multi'\"\n\t\t\t\t\t\tclass=\"bx--form-item bx--checkbox-wrapper\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t[attr.data-contained-checkbox-state]=\"item.selected\"\n\t\t\t\t\t\t\tclass=\"bx--checkbox-label\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"bx--checkbox\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t[checked]=\"item.selected\"\n\t\t\t\t\t\t\t\t[disabled]=\"item.disabled\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\">\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-appearance\"></span>\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-label-text\">{{item.content}}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngIf=\"!listTpl && type === 'single'\">{{item.content}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"listTpl\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{item: item}\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"listTpl\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</div>\n\t\t\t</li>\n\t\t</ul>","providers":[{"provide":{"__symbolic":"reference","module":"./../abstract-dropdown-view.class","name":"AbstractDropdownView","line":101,"character":12},"useExisting":{"__symbolic":"reference","name":"DropdownList"}}]}]}],"members":{"ariaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":107,"character":2}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":111,"character":2}}]}],"listTpl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":136,"character":2}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":140,"character":2}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":144,"character":2}}]}],"blurIntent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":154,"character":2}}]}],"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":158,"character":2},"arguments":["list"]}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":163,"character":2}}]}],"listElementList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":181,"character":2},"arguments":["listItem"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":206,"character":32},{"__symbolic":"reference","module":"../../i18n/i18n.module","name":"I18n","line":206,"character":60}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateList":[{"__symbolic":"method"}],"filterBy":[{"__symbolic":"method"}],"setupFocusObservable":[{"__symbolic":"method"}],"getNextItem":[{"__symbolic":"method"}],"hasNextElement":[{"__symbolic":"method"}],"getNextElement":[{"__symbolic":"method"}],"getPrevItem":[{"__symbolic":"method"}],"hasPrevElement":[{"__symbolic":"method"}],"getPrevElement":[{"__symbolic":"method"}],"getCurrentItem":[{"__symbolic":"method"}],"getCurrentElement":[{"__symbolic":"method"}],"getListItems":[{"__symbolic":"method"}],"getSelected":[{"__symbolic":"method"}],"propagateSelected":[{"__symbolic":"method"}],"initFocus":[{"__symbolic":"method"}],"doKeyDown":[{"__symbolic":"method"}],"doClick":[{"__symbolic":"method"}],"onItemFocus":[{"__symbolic":"method"}],"onItemBlur":[{"__symbolic":"method"}],"emitScroll":[{"__symbolic":"method"}],"onItemsReady":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"DropdownList":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":48,"character":1},"arguments":[{"selector":"ibm-dropdown-list","template":"\n\t\t<ul\n\t\t\t#list\n\t\t\trole=\"listbox\"\n\t\t\tclass=\"bx--list-box__menu bx--multi-select\"\n\t\t\t(scroll)=\"emitScroll($event)\"\n\t\t\t[attr.aria-label]=\"ariaLabel\">\n\t\t\t<li\n\t\t\t\trole=\"option\"\n\t\t\t\t*ngFor=\"let item of displayItems; let i = index\"\n\t\t\t\t(click)=\"doClick($event, item)\"\n\t\t\t\t(keydown)=\"doKeyDown($event, item)\"\n\t\t\t\t(focus)=\"onItemFocus(i)\"\n\t\t\t\t(blur)=\"onItemBlur(i)\"\n\t\t\t\tclass=\"bx--list-box__menu-item\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--list-box__menu-item--active': item.selected,\n\t\t\t\t\tdisabled: item.disabled\n\t\t\t\t}\"\n\t\t\t\t[title]=\"item.content\">\n\t\t\t\t<div\n\t\t\t\t\t#listItem\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=\"bx--list-box__menu-item__option\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"!listTpl && type === 'multi'\"\n\t\t\t\t\t\tclass=\"bx--form-item bx--checkbox-wrapper\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t[attr.data-contained-checkbox-state]=\"item.selected\"\n\t\t\t\t\t\t\tclass=\"bx--checkbox-label\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"bx--checkbox\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t[checked]=\"item.selected\"\n\t\t\t\t\t\t\t\t[disabled]=\"item.disabled\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\">\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-appearance\"></span>\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-label-text\">{{item.content}}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngIf=\"!listTpl && type === 'single'\">{{item.content}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"listTpl\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{item: item}\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"listTpl\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</div>\n\t\t\t</li>\n\t\t</ul>","providers":[{"provide":{"__symbolic":"reference","module":"./../abstract-dropdown-view.class","name":"AbstractDropdownView","line":101,"character":12},"useExisting":{"__symbolic":"reference","name":"DropdownList"}}]}]}],"members":{"ariaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":107,"character":2}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":111,"character":2}}]}],"listTpl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":136,"character":2}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":140,"character":2}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":144,"character":2}}]}],"blurIntent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":154,"character":2}}]}],"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":158,"character":2},"arguments":["list"]}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":163,"character":2}}]}],"listElementList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":181,"character":2},"arguments":["listItem"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":206,"character":32},{"__symbolic":"reference","module":"../../i18n/i18n.module","name":"I18n","line":206,"character":60}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"doEmitSelect":[{"__symbolic":"method"}],"updateList":[{"__symbolic":"method"}],"filterBy":[{"__symbolic":"method"}],"setupFocusObservable":[{"__symbolic":"method"}],"getNextItem":[{"__symbolic":"method"}],"hasNextElement":[{"__symbolic":"method"}],"getNextElement":[{"__symbolic":"method"}],"getPrevItem":[{"__symbolic":"method"}],"hasPrevElement":[{"__symbolic":"method"}],"getPrevElement":[{"__symbolic":"method"}],"getCurrentItem":[{"__symbolic":"method"}],"getCurrentElement":[{"__symbolic":"method"}],"getListItems":[{"__symbolic":"method"}],"getSelected":[{"__symbolic":"method"}],"propagateSelected":[{"__symbolic":"method"}],"initFocus":[{"__symbolic":"method"}],"doKeyDown":[{"__symbolic":"method"}],"doClick":[{"__symbolic":"method"}],"onItemFocus":[{"__symbolic":"method"}],"onItemBlur":[{"__symbolic":"method"}],"emitScroll":[{"__symbolic":"method"}],"onItemsReady":[{"__symbolic":"method"}]}}}}]
@@ -1 +1 @@
1
- {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"ariaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"listTpl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"blurIntent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]},"arguments":["list"]}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"listElementList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]},"arguments":["listItem"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":5,"members":[]},{"__symbol":6,"members":[]}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateList":[{"__symbolic":"method"}],"filterBy":[{"__symbolic":"method"}],"setupFocusObservable":[{"__symbolic":"method"}],"getNextItem":[{"__symbolic":"method"}],"hasNextElement":[{"__symbolic":"method"}],"getNextElement":[{"__symbolic":"method"}],"getPrevItem":[{"__symbolic":"method"}],"hasPrevElement":[{"__symbolic":"method"}],"getPrevElement":[{"__symbolic":"method"}],"getCurrentItem":[{"__symbolic":"method"}],"getCurrentElement":[{"__symbolic":"method"}],"getListItems":[{"__symbolic":"method"}],"getSelected":[{"__symbolic":"method"}],"propagateSelected":[{"__symbolic":"method"}],"initFocus":[{"__symbolic":"method"}],"doKeyDown":[{"__symbolic":"method"}],"doClick":[{"__symbolic":"method"}],"onItemFocus":[{"__symbolic":"method"}],"onItemBlur":[{"__symbolic":"method"}],"emitScroll":[{"__symbolic":"method"}],"onItemsReady":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":5,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":7,"members":[]}}}}],"lifecycleHooks":[1,6]},"isComponent":true,"selector":"ibm-dropdown-list","exportAs":null,"inputs":{"ariaLabel":"ariaLabel","items":"items","listTpl":"listTpl","type":"type"},"outputs":{"select":"select","scroll":"scroll","blurIntent":"blurIntent"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[{"token":{"identifier":{"reference":{"__symbol":8,"members":[]}}},"useClass":null,"useFactory":null,"useExisting":{"identifier":{"reference":{"__symbol":0,"members":[]}}},"multi":false}],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"list"}],"first":true,"descendants":true,"propertyName":"list","read":null},{"selectors":[{"value":"listItem"}],"first":false,"descendants":true,"propertyName":"listElementList","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":2},"componentViewType":{"__symbol":9,"members":[]},"rendererType":{"__symbol":10,"members":[]},"componentFactory":{"__symbol":11,"members":[]}}}],"symbols":[{"__symbol":0,"name":"DropdownList","filePath":"./dropdown-list.component"},{"__symbol":1,"name":"Input","filePath":"@angular/core"},{"__symbol":2,"name":"Output","filePath":"@angular/core"},{"__symbol":3,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":4,"name":"ViewChildren","filePath":"@angular/core"},{"__symbol":5,"name":"ElementRef","filePath":"@angular/core"},{"__symbol":6,"name":"I18n","filePath":"../../i18n/i18n.module"},{"__symbol":7,"name":"I18n","filePath":"../../i18n/i18n.service"},{"__symbol":8,"name":"AbstractDropdownView","filePath":"../abstract-dropdown-view.class"},{"__symbol":9,"name":"View_DropdownList_0","filePath":"./dropdown-list.component.ngfactory"},{"__symbol":10,"name":"RenderType_DropdownList","filePath":"./dropdown-list.component.ngfactory"},{"__symbol":11,"name":"DropdownListNgFactory","filePath":"./dropdown-list.component.ngfactory"}]}
1
+ {"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"ariaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"listTpl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"blurIntent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":2,"members":[]}}]}],"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]},"arguments":["list"]}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]}],"listElementList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]},"arguments":["listItem"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":5,"members":[]},{"__symbol":6,"members":[]}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"doEmitSelect":[{"__symbolic":"method"}],"updateList":[{"__symbolic":"method"}],"filterBy":[{"__symbolic":"method"}],"setupFocusObservable":[{"__symbolic":"method"}],"getNextItem":[{"__symbolic":"method"}],"hasNextElement":[{"__symbolic":"method"}],"getNextElement":[{"__symbolic":"method"}],"getPrevItem":[{"__symbolic":"method"}],"hasPrevElement":[{"__symbolic":"method"}],"getPrevElement":[{"__symbolic":"method"}],"getCurrentItem":[{"__symbolic":"method"}],"getCurrentElement":[{"__symbolic":"method"}],"getListItems":[{"__symbolic":"method"}],"getSelected":[{"__symbolic":"method"}],"propagateSelected":[{"__symbolic":"method"}],"initFocus":[{"__symbolic":"method"}],"doKeyDown":[{"__symbolic":"method"}],"doClick":[{"__symbolic":"method"}],"onItemFocus":[{"__symbolic":"method"}],"onItemBlur":[{"__symbolic":"method"}],"emitScroll":[{"__symbolic":"method"}],"onItemsReady":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":5,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":7,"members":[]}}}}],"lifecycleHooks":[1,6]},"isComponent":true,"selector":"ibm-dropdown-list","exportAs":null,"inputs":{"ariaLabel":"ariaLabel","items":"items","listTpl":"listTpl","type":"type"},"outputs":{"select":"select","scroll":"scroll","blurIntent":"blurIntent"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[{"token":{"identifier":{"reference":{"__symbol":8,"members":[]}}},"useClass":null,"useFactory":null,"useExisting":{"identifier":{"reference":{"__symbol":0,"members":[]}}},"multi":false}],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"list"}],"first":true,"descendants":true,"propertyName":"list","read":null},{"selectors":[{"value":"listItem"}],"first":false,"descendants":true,"propertyName":"listElementList","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":2},"componentViewType":{"__symbol":9,"members":[]},"rendererType":{"__symbol":10,"members":[]},"componentFactory":{"__symbol":11,"members":[]}}}],"symbols":[{"__symbol":0,"name":"DropdownList","filePath":"./dropdown-list.component"},{"__symbol":1,"name":"Input","filePath":"@angular/core"},{"__symbol":2,"name":"Output","filePath":"@angular/core"},{"__symbol":3,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":4,"name":"ViewChildren","filePath":"@angular/core"},{"__symbol":5,"name":"ElementRef","filePath":"@angular/core"},{"__symbol":6,"name":"I18n","filePath":"../../i18n/i18n.module"},{"__symbol":7,"name":"I18n","filePath":"../../i18n/i18n.service"},{"__symbol":8,"name":"AbstractDropdownView","filePath":"../abstract-dropdown-view.class"},{"__symbol":9,"name":"View_DropdownList_0","filePath":"./dropdown-list.component.ngfactory"},{"__symbol":10,"name":"RenderType_DropdownList","filePath":"./dropdown-list.component.ngfactory"},{"__symbol":11,"name":"DropdownListNgFactory","filePath":"./dropdown-list.component.ngfactory"}]}
package/i18n/en.d.ts CHANGED
@@ -125,9 +125,10 @@ declare const _default: {
125
125
  "FORWARD": string;
126
126
  "TOTAL_ITEMS_UNKNOWN": string;
127
127
  "TOTAL_ITEMS": string;
128
- "TOTAL_PAGES": string;
128
+ "TOTAL_ITEM": string;
129
129
  "PAGE": string;
130
130
  "OF_LAST_PAGES": string;
131
+ "OF_LAST_PAGE": string;
131
132
  };
132
133
  "TABLE": {
133
134
  "GO_TO_PAGE": string;
package/i18n/en.js CHANGED
@@ -139,9 +139,10 @@ export default {
139
139
  "FORWARD": "Forward",
140
140
  "TOTAL_ITEMS_UNKNOWN": "{{start}}-{{end}} items",
141
141
  "TOTAL_ITEMS": "{{start}}-{{end}} of {{total}} items",
142
- "TOTAL_PAGES": "{{current}} of {{last}} pages",
142
+ "TOTAL_ITEM": "{{start}}-{{end}} of {{total}} item",
143
143
  "PAGE": "page",
144
- "OF_LAST_PAGES": "of {{last}} pages"
144
+ "OF_LAST_PAGES": "of {{last}} pages",
145
+ "OF_LAST_PAGE": "of {{last}} page"
145
146
  },
146
147
  "TABLE": {
147
148
  "GO_TO_PAGE": "Go to page",
package/i18n/en.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../src/i18n/en.ts"],"names":[],"mappings":"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","sourcesContent":["export default {\n\t\"BANNER\": {\n\t\t\"CLOSE_BUTTON\": \"Close alert banner\"\n\t},\n\t\"CALENDAR\": {\n\t\t\"MONTHS\": {\n\t\t\t\"JANUARY\": \"January\",\n\t\t\t\"FEBRUARY\": \"February\",\n\t\t\t\"MARCH\": \"March\",\n\t\t\t\"APRIL\": \"April\",\n\t\t\t\"MAY\": \"May\",\n\t\t\t\"JUNE\": \"June\",\n\t\t\t\"JULY\": \"July\",\n\t\t\t\"AUGUST\": \"August\",\n\t\t\t\"SEPTEMBER\": \"September\",\n\t\t\t\"OCTOBER\": \"October\",\n\t\t\t\"NOVEMBER\": \"November\",\n\t\t\t\"DECEMBER\": \"December\"\n\t\t},\n\t\t\"SHORTWEEKDAYS\": {\n\t\t\t\"SUNDAY\": \"Sun\",\n\t\t\t\"MONDAY\": \"Mon\",\n\t\t\t\"TUESDAY\": \"Tue\",\n\t\t\t\"WEDNESDAY\": \"Wed\",\n\t\t\t\"THURSDAY\": \"Thu\",\n\t\t\t\"FRIDAY\": \"Fri\",\n\t\t\t\"SATURDAY\": \"Sat\"\n\t\t},\n\t\t\"QUARTERS\":\n\t\t[\n\t\t\t{\n\t\t\t\t\"name\": \"Q1\",\n\t\t\t\t\"months\": \"January-March\"\n\t\t\t}\n\t\t\t,\n\t\t\t{\n\t\t\t\t\"name\": \"Q2\",\n\t\t\t\t\"months\": \"April-June\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"Q3\",\n\t\t\t\t\"months\": \"July-September\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"Q4\",\n\t\t\t\t\"months\": \"October-December\"\n\t\t\t}\n\t\t]\n\t},\n\t\"CODE_SNIPPET\": {\n\t\t\"CODE_SNIPPET_TEXT\": \"Code Snippet Text\",\n\t\t\"SHOW_MORE\": \"Show more\",\n\t\t\"SHOW_LESS\": \"Show less\",\n\t\t\"SHOW_MORE_ICON\": \"Show more icon\",\n\t\t\"COPY_CODE\": \"Copy code\",\n\t\t\"COPIED\": \"Copied!\"\n\t},\n\t\"COMBOBOX\": {\n\t\t\"PLACEHOLDER\": \"Filter...\",\n\t\t\"CLEAR_SELECTIONS\": \"Clear all selected items\",\n\t\t\"CLEAR_SELECTED\": \"Clear selected item\",\n\t\t\"A11Y\": {\n\t\t\t\"OPEN_MENU\": \"open menu\",\n\t\t\t\"CLOSE_MENU\": \"close menu\",\n\t\t\t\"CLEAR_SELECTIONS\": \"Clear all selected items\",\n\t\t\t\"CLEAR_SELECTED\": \"Clear Selection\"\n\t\t}\n\t},\n\t\"DIALOG\": {\n\t\t\"POPOVER\" : {\n\t\t\t\"CLOSE\": \"Close popover\"\n\t\t}\n\t},\n\t\"DROPDOWN\": {\n\t\t\"OPEN\": \"Open menu\",\n\t\t\"SELECTED\": \"selected\",\n\t\t\"CLEAR\": \"Clear all selected items\",\n\t\t\"FILTER\": {\n\t\t\t\"SELECTED_ONLY\": \"Show selected only\",\n\t\t\t\"SEARCH\": \"Search\",\n\t\t\t\"NO_RESULTS\": \"No search results\",\n\t\t\t\"RESET_SEARCH\": \"Reset search\"\n\t\t}\n\t},\n\t\"DROPDOWN_LIST\": {\n\t\t\"LABEL\": \"Listbox\"\n\t},\n\t\"FILE_UPLOADER\": {\n\t\t\"CHECKMARK\": \"Checkmark\",\n\t\t\"CHECKMARK_TITLE\": \"File uploaded!\",\n\t\t\"OPEN\": \"Add file\",\n\t\t\"REMOVE_BUTTON\": \"Close button\",\n\t\t\"REMOVE_TITLE\": \"Delete File\"\n\t},\n\t\"LOADING\": {\n\t\t\"TITLE\": \"Loading\"\n\t},\n\t\"MODAL\": {\n\t\t\"CLOSE\": \"Close modal\"\n\t},\n\t\"NOTIFICATION\": {\n\t\t\"CLOSE_BUTTON\": \"Close alert notification\"\n\t},\n\t\"NUMBER\": {\n\t\t\"INCREMENT\": \"increment value\",\n\t\t\"DECREMENT\": \"decrement value\"\n\t},\n\t\"OVERFLOW_MENU\": {\n\t\t\"OVERFLOW\": \"Overflow\"\n\t},\n\t\"SEARCH\": {\n\t\t\"LABEL\": \"Search\",\n\t\t\"PLACEHOLDER\": \"Search\",\n\t\t\"CLEAR_BUTTON\": \"Clear search input\",\n\t\t\"TOOLBAR_SEARCH\": \"Toolbar search\"\n\t},\n\t\"PAGINATION\": {\n\t\t\"ITEMS_PER_PAGE\": \"Items per page:\",\n\t\t\"OPEN_LIST_OF_OPTIONS\": \"Open list of options\",\n\t\t\"BACKWARD\": \"Backward\",\n\t\t\"FORWARD\": \"Forward\",\n\t\t\"TOTAL_ITEMS_UNKNOWN\": \"{{start}}-{{end}} items\",\n\t\t\"TOTAL_ITEMS\": \"{{start}}-{{end}} of {{total}} items\",\n\t\t\"TOTAL_PAGES\": \"{{current}} of {{last}} pages\",\n\t\t\"PAGE\": \"page\",\n\t\t\"OF_LAST_PAGES\": \"of {{last}} pages\"\n\t},\n\t\"TABLE\": {\n\t\t\"GO_TO_PAGE\": \"Go to page\",\n\t\t\"PREVIOUS_PAGE\": \"Previous page\",\n\t\t\"NEXT_PAGE\": \"Next page\",\n\t\t\"PREVIOUS_3\": \"Scroll to previous 3 pages\",\n\t\t\"NEXT_3\": \"Scroll to next 3 pages\",\n\t\t\"FILTER\": \"Filter\",\n\t\t\"END_OF_DATA\": \"You've reached the end of your content\",\n\t\t\"SCROLL_TOP\": \"Scroll to top\",\n\t\t\"CHECKBOX_HEADER\": \"Select all rows\",\n\t\t\"CHECKBOX_ROW\": \"Select {{value}}\",\n\t\t\"EXPAND_BUTTON\": \"Expand row\",\n\t\t\"SORT_DESCENDING\": \"Sort rows by this header in descending order\",\n\t\t\"SORT_ASCENDING\": \"Sort rows by this header in ascending order\",\n\t\t\"ROW\": \"row\"\n\t},\n\t\"TABLE_TOOLBAR\": {\n\t\t\"ACTION_BAR\": \"Table action bar\",\n\t\t\"BATCH_TEXT\": \"\",\n\t\t\"BATCH_TEXT_SINGLE\": \"1 item selected\",\n\t\t\"BATCH_TEXT_MULTIPLE\": \"{{count}} items selected\",\n\t\t\"CANCEL\": \"Cancel\"\n\t},\n\t\"TABS\": {\n\t\t\"BUTTON_ARIA_LEFT\": \"Go to the previous tab\",\n\t\t\"BUTTON_ARIA_RIGHT\": \"Go to the next tab\"\n\t},\n\t\"TILES\": {\n\t\t\"TILE\": \"tile\",\n\t\t\"EXPAND\": \"Expand\",\n\t\t\"COLLAPSE\": \"Collapse\"\n\t},\n\t\"TOGGLE\": {\n\t\t\"OFF\": \"Off\",\n\t\t\"ON\": \"On\"\n\t},\n\t\"UI_SHELL\": {\n\t\t\"SKIP_TO\": \"Skip to content\",\n\t\t\"HEADER\": {\n\t\t\t\"MENU\": \"Open menu\"\n\t\t},\n\t\t\"SIDE_NAV\": {\n\t\t\t\"LABEL\": \"Side navigation\",\n\t\t\t\"SWITCHER\": \"Switcher\",\n\t\t\t\"TOGGLE_OPEN\": \"Open\",\n\t\t\t\"TOGGLE_CLOSE\": \"Close\"\n\t\t}\n\t}\n};\n"]}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../src/i18n/en.ts"],"names":[],"mappings":"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","sourcesContent":["export default {\n\t\"BANNER\": {\n\t\t\"CLOSE_BUTTON\": \"Close alert banner\"\n\t},\n\t\"CALENDAR\": {\n\t\t\"MONTHS\": {\n\t\t\t\"JANUARY\": \"January\",\n\t\t\t\"FEBRUARY\": \"February\",\n\t\t\t\"MARCH\": \"March\",\n\t\t\t\"APRIL\": \"April\",\n\t\t\t\"MAY\": \"May\",\n\t\t\t\"JUNE\": \"June\",\n\t\t\t\"JULY\": \"July\",\n\t\t\t\"AUGUST\": \"August\",\n\t\t\t\"SEPTEMBER\": \"September\",\n\t\t\t\"OCTOBER\": \"October\",\n\t\t\t\"NOVEMBER\": \"November\",\n\t\t\t\"DECEMBER\": \"December\"\n\t\t},\n\t\t\"SHORTWEEKDAYS\": {\n\t\t\t\"SUNDAY\": \"Sun\",\n\t\t\t\"MONDAY\": \"Mon\",\n\t\t\t\"TUESDAY\": \"Tue\",\n\t\t\t\"WEDNESDAY\": \"Wed\",\n\t\t\t\"THURSDAY\": \"Thu\",\n\t\t\t\"FRIDAY\": \"Fri\",\n\t\t\t\"SATURDAY\": \"Sat\"\n\t\t},\n\t\t\"QUARTERS\":\n\t\t[\n\t\t\t{\n\t\t\t\t\"name\": \"Q1\",\n\t\t\t\t\"months\": \"January-March\"\n\t\t\t}\n\t\t\t,\n\t\t\t{\n\t\t\t\t\"name\": \"Q2\",\n\t\t\t\t\"months\": \"April-June\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"Q3\",\n\t\t\t\t\"months\": \"July-September\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"name\": \"Q4\",\n\t\t\t\t\"months\": \"October-December\"\n\t\t\t}\n\t\t]\n\t},\n\t\"CODE_SNIPPET\": {\n\t\t\"CODE_SNIPPET_TEXT\": \"Code Snippet Text\",\n\t\t\"SHOW_MORE\": \"Show more\",\n\t\t\"SHOW_LESS\": \"Show less\",\n\t\t\"SHOW_MORE_ICON\": \"Show more icon\",\n\t\t\"COPY_CODE\": \"Copy code\",\n\t\t\"COPIED\": \"Copied!\"\n\t},\n\t\"COMBOBOX\": {\n\t\t\"PLACEHOLDER\": \"Filter...\",\n\t\t\"CLEAR_SELECTIONS\": \"Clear all selected items\",\n\t\t\"CLEAR_SELECTED\": \"Clear selected item\",\n\t\t\"A11Y\": {\n\t\t\t\"OPEN_MENU\": \"open menu\",\n\t\t\t\"CLOSE_MENU\": \"close menu\",\n\t\t\t\"CLEAR_SELECTIONS\": \"Clear all selected items\",\n\t\t\t\"CLEAR_SELECTED\": \"Clear Selection\"\n\t\t}\n\t},\n\t\"DIALOG\": {\n\t\t\"POPOVER\" : {\n\t\t\t\"CLOSE\": \"Close popover\"\n\t\t}\n\t},\n\t\"DROPDOWN\": {\n\t\t\"OPEN\": \"Open menu\",\n\t\t\"SELECTED\": \"selected\",\n\t\t\"CLEAR\": \"Clear all selected items\",\n\t\t\"FILTER\": {\n\t\t\t\"SELECTED_ONLY\": \"Show selected only\",\n\t\t\t\"SEARCH\": \"Search\",\n\t\t\t\"NO_RESULTS\": \"No search results\",\n\t\t\t\"RESET_SEARCH\": \"Reset search\"\n\t\t}\n\t},\n\t\"DROPDOWN_LIST\": {\n\t\t\"LABEL\": \"Listbox\"\n\t},\n\t\"FILE_UPLOADER\": {\n\t\t\"CHECKMARK\": \"Checkmark\",\n\t\t\"CHECKMARK_TITLE\": \"File uploaded!\",\n\t\t\"OPEN\": \"Add file\",\n\t\t\"REMOVE_BUTTON\": \"Close button\",\n\t\t\"REMOVE_TITLE\": \"Delete File\"\n\t},\n\t\"LOADING\": {\n\t\t\"TITLE\": \"Loading\"\n\t},\n\t\"MODAL\": {\n\t\t\"CLOSE\": \"Close modal\"\n\t},\n\t\"NOTIFICATION\": {\n\t\t\"CLOSE_BUTTON\": \"Close alert notification\"\n\t},\n\t\"NUMBER\": {\n\t\t\"INCREMENT\": \"increment value\",\n\t\t\"DECREMENT\": \"decrement value\"\n\t},\n\t\"OVERFLOW_MENU\": {\n\t\t\"OVERFLOW\": \"Overflow\"\n\t},\n\t\"SEARCH\": {\n\t\t\"LABEL\": \"Search\",\n\t\t\"PLACEHOLDER\": \"Search\",\n\t\t\"CLEAR_BUTTON\": \"Clear search input\",\n\t\t\"TOOLBAR_SEARCH\": \"Toolbar search\"\n\t},\n\t\"PAGINATION\": {\n\t\t\"ITEMS_PER_PAGE\": \"Items per page:\",\n\t\t\"OPEN_LIST_OF_OPTIONS\": \"Open list of options\",\n\t\t\"BACKWARD\": \"Backward\",\n\t\t\"FORWARD\": \"Forward\",\n\t\t\"TOTAL_ITEMS_UNKNOWN\": \"{{start}}-{{end}} items\",\n\t\t\"TOTAL_ITEMS\": \"{{start}}-{{end}} of {{total}} items\",\n\t\t\"TOTAL_ITEM\": \"{{start}}-{{end}} of {{total}} item\",\n\t\t\"PAGE\": \"page\",\n\t\t\"OF_LAST_PAGES\": \"of {{last}} pages\",\n\t\t\"OF_LAST_PAGE\": \"of {{last}} page\"\n\t},\n\t\"TABLE\": {\n\t\t\"GO_TO_PAGE\": \"Go to page\",\n\t\t\"PREVIOUS_PAGE\": \"Previous page\",\n\t\t\"NEXT_PAGE\": \"Next page\",\n\t\t\"PREVIOUS_3\": \"Scroll to previous 3 pages\",\n\t\t\"NEXT_3\": \"Scroll to next 3 pages\",\n\t\t\"FILTER\": \"Filter\",\n\t\t\"END_OF_DATA\": \"You've reached the end of your content\",\n\t\t\"SCROLL_TOP\": \"Scroll to top\",\n\t\t\"CHECKBOX_HEADER\": \"Select all rows\",\n\t\t\"CHECKBOX_ROW\": \"Select {{value}}\",\n\t\t\"EXPAND_BUTTON\": \"Expand row\",\n\t\t\"SORT_DESCENDING\": \"Sort rows by this header in descending order\",\n\t\t\"SORT_ASCENDING\": \"Sort rows by this header in ascending order\",\n\t\t\"ROW\": \"row\"\n\t},\n\t\"TABLE_TOOLBAR\": {\n\t\t\"ACTION_BAR\": \"Table action bar\",\n\t\t\"BATCH_TEXT\": \"\",\n\t\t\"BATCH_TEXT_SINGLE\": \"1 item selected\",\n\t\t\"BATCH_TEXT_MULTIPLE\": \"{{count}} items selected\",\n\t\t\"CANCEL\": \"Cancel\"\n\t},\n\t\"TABS\": {\n\t\t\"BUTTON_ARIA_LEFT\": \"Go to the previous tab\",\n\t\t\"BUTTON_ARIA_RIGHT\": \"Go to the next tab\"\n\t},\n\t\"TILES\": {\n\t\t\"TILE\": \"tile\",\n\t\t\"EXPAND\": \"Expand\",\n\t\t\"COLLAPSE\": \"Collapse\"\n\t},\n\t\"TOGGLE\": {\n\t\t\"OFF\": \"Off\",\n\t\t\"ON\": \"On\"\n\t},\n\t\"UI_SHELL\": {\n\t\t\"SKIP_TO\": \"Skip to content\",\n\t\t\"HEADER\": {\n\t\t\t\"MENU\": \"Open menu\"\n\t\t},\n\t\t\"SIDE_NAV\": {\n\t\t\t\"LABEL\": \"Side navigation\",\n\t\t\t\"SWITCHER\": \"Switcher\",\n\t\t\t\"TOGGLE_OPEN\": \"Open\",\n\t\t\t\"TOGGLE_CLOSE\": \"Close\"\n\t\t}\n\t}\n};\n"]}
@@ -205,11 +205,15 @@ export declare class I18n {
205
205
  "FORWARD": string;
206
206
  "TOTAL_ITEMS_UNKNOWN": string;
207
207
  "TOTAL_ITEMS": string;
208
- "TOTAL_PAGES": string;
208
+ "TOTAL_ITEM": string;
209
209
  "PAGE": string;
210
210
  "OF_LAST_PAGES": string;
211
+ "OF_LAST_PAGE": string;
211
212
  };
212
213
  "TABLE": {
214
+ /**
215
+ * Subscription to the observable provided as an override (if any)
216
+ */
213
217
  "GO_TO_PAGE": string;
214
218
  "PREVIOUS_PAGE": string;
215
219
  "NEXT_PAGE": string;
@@ -217,7 +221,10 @@ export declare class I18n {
217
221
  "NEXT_3": string;
218
222
  "FILTER": string;
219
223
  "END_OF_DATA": string;
220
- "SCROLL_TOP": string;
224
+ "SCROLL_TOP": string; /**
225
+ * ensure `$override` is initialized with the correct default value
226
+ * in some cases `_value` can get changed for an `Observable` before `$override` is created
227
+ */
221
228
  "CHECKBOX_HEADER": string;
222
229
  "CHECKBOX_ROW": string;
223
230
  "EXPAND_BUTTON": string;
@@ -226,7 +233,10 @@ export declare class I18n {
226
233
  "ROW": string;
227
234
  };
228
235
  "TABLE_TOOLBAR": {
229
- "ACTION_BAR": string;
236
+ "ACTION_BAR": string; /**
237
+ * Takes a string or an `Observable` that emits strings.
238
+ * Overrides the value provided by the `I18n` service.
239
+ */
230
240
  "BATCH_TEXT": string;
231
241
  "BATCH_TEXT_SINGLE": string;
232
242
  "BATCH_TEXT_MULTIPLE": string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-components-angular",
3
- "version": "3.53.8",
3
+ "version": "3.54.2",
4
4
  "description": "Next generation components",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -27,9 +27,11 @@ export interface PaginationTranslations {
27
27
  OPEN_LIST_OF_OPTIONS: string;
28
28
  BACKWARD: string;
29
29
  FORWARD: string;
30
+ TOTAL_ITEMS_UNKNOWN: string;
30
31
  TOTAL_ITEMS: string;
31
- TOTAL_PAGES: string;
32
+ TOTAL_ITEM: string;
32
33
  OF_LAST_PAGES: string;
34
+ OF_LAST_PAGE: string;
33
35
  }
34
36
  /**
35
37
  * Use pagination when you have multiple pages of data to handle.
@@ -88,9 +90,11 @@ export declare class Pagination {
88
90
  * "OPEN_LIST_OF_OPTIONS": "Open list of options",
89
91
  * "BACKWARD": "Backward",
90
92
  * "FORWARD": "Forward",
93
+ * "TOTAL_ITEMS_UNKNOWN": "{{start}}-{{end}} items",
91
94
  * "TOTAL_ITEMS": "{{start}}-{{end}} of {{total}} items",
92
- * "TOTAL_PAGES": "{{current}} of {{last}} pages",
93
- * "OF_LAST_PAGES": "of {{last}} pages"
95
+ * "TOTAL_ITEM": "{{start}}-{{end}} of {{total}} item",
96
+ * "OF_LAST_PAGES": "of {{last}} pages",
97
+ * "OF_LAST_PAGE": "of {{last}} page",
94
98
  * }
95
99
  * ```
96
100
  */
@@ -134,10 +138,11 @@ export declare class Pagination {
134
138
  backwardText: Overridable;
135
139
  forwardText: Overridable;
136
140
  totalItemsText: Overridable;
141
+ totalItemText: Overridable;
137
142
  totalItemsUnknownText: Overridable;
138
- totalPagesText: Overridable;
139
143
  pageText: Overridable;
140
144
  ofLastPagesText: Overridable;
145
+ ofLastPageText: Overridable;
141
146
  protected _pageOptions: any[];
142
147
  constructor(i18n: I18n, experimental: ExperimentalService);
143
148
  }
@@ -88,10 +88,11 @@ var Pagination = /** @class */ (function () {
88
88
  this.backwardText = this.i18n.getOverridable("PAGINATION.BACKWARD");
89
89
  this.forwardText = this.i18n.getOverridable("PAGINATION.FORWARD");
90
90
  this.totalItemsText = this.i18n.getOverridable("PAGINATION.TOTAL_ITEMS");
91
+ this.totalItemText = this.i18n.getOverridable("PAGINATION.TOTAL_ITEM");
91
92
  this.totalItemsUnknownText = this.i18n.getOverridable("PAGINATION.TOTAL_ITEMS_UNKNOWN");
92
- this.totalPagesText = this.i18n.getOverridable("PAGINATION.TOTAL_PAGES");
93
93
  this.pageText = this.i18n.getOverridable("PAGINATION.PAGE");
94
94
  this.ofLastPagesText = this.i18n.getOverridable("PAGINATION.OF_LAST_PAGES");
95
+ this.ofLastPageText = this.i18n.getOverridable("PAGINATION.OF_LAST_PAGE");
95
96
  this._pageOptions = [];
96
97
  Pagination.paginationCounter++;
97
98
  }
@@ -104,9 +105,11 @@ var Pagination = /** @class */ (function () {
104
105
  * "OPEN_LIST_OF_OPTIONS": "Open list of options",
105
106
  * "BACKWARD": "Backward",
106
107
  * "FORWARD": "Forward",
108
+ * "TOTAL_ITEMS_UNKNOWN": "{{start}}-{{end}} items",
107
109
  * "TOTAL_ITEMS": "{{start}}-{{end}} of {{total}} items",
108
- * "TOTAL_PAGES": "{{current}} of {{last}} pages",
109
- * "OF_LAST_PAGES": "of {{last}} pages"
110
+ * "TOTAL_ITEM": "{{start}}-{{end}} of {{total}} item",
111
+ * "OF_LAST_PAGES": "of {{last}} pages",
112
+ * "OF_LAST_PAGE": "of {{last}} page",
110
113
  * }
111
114
  * ```
112
115
  */
@@ -117,10 +120,11 @@ var Pagination = /** @class */ (function () {
117
120
  this.backwardText.override(valueWithDefaults.BACKWARD);
118
121
  this.forwardText.override(valueWithDefaults.FORWARD);
119
122
  this.totalItemsText.override(valueWithDefaults.TOTAL_ITEMS);
123
+ this.totalItemText.override(valueWithDefaults.TOTAL_ITEM);
120
124
  this.totalItemsUnknownText.override(valueWithDefaults.TOTAL_ITEMS_UNKNOWN);
121
- this.totalPagesText.override(valueWithDefaults.TOTAL_PAGES);
122
125
  this.pageText.override(valueWithDefaults.PAGE);
123
126
  this.ofLastPagesText.override(valueWithDefaults.OF_LAST_PAGES);
127
+ this.ofLastPageText.override(valueWithDefaults.OF_LAST_PAGE);
124
128
  },
125
129
  enumerable: true,
126
130
  configurable: true
@@ -224,7 +228,7 @@ var Pagination = /** @class */ (function () {
224
228
  Pagination.decorators = [
225
229
  { type: Component, args: [{
226
230
  selector: "ibm-pagination",
227
- template: "\n\t<div\n\t\tclass=\"bx--pagination\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--skeleton': skeleton\n\t\t}\">\n\t\t<!-- left skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__left\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 35px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 105px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__left\">\n\t\t\t<label class=\"bx--pagination__text\" [for]=\"itemsPerPageSelectId\">\n\t\t\t\t{{itemsPerPageText.subject | async}}\n\t\t\t</label>\n\t\t\t<div class=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__item-count': isExperimental,\n\t\t\t\t\t'bx--select--disabled': pageInputDisabled\n\t\t\t\t}\">\n\t\t\t\t<select\n\t\t\t\t\t[id]=\"itemsPerPageSelectId\"\n\t\t\t\t\t[disabled]=\"pageInputDisabled\"\n\t\t\t\t\t[(ngModel)]=\"itemsPerPage\"\n\t\t\t\t\tclass=\"bx--select-input\">\n\t\t\t\t\t<option\n\t\t\t\t\t\tclass=\"bx--select-option\"\n\t\t\t\t\t\t*ngFor=\"let option of itemsPerPageOptions\"\n\t\t\t\t\t\t[value]=\"option\">\n\t\t\t\t\t\t\t{{ option }}\n\t\t\t\t\t</option>\n\t\t\t\t</select>\n\t\t\t\t<svg\n\t\t\t\t\tibmIconChevronDown16\n\t\t\t\t\tstyle=\"display: inherit\"\n\t\t\t\t\tclass=\"bx--select__arrow\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t[attr.ariaLabel]=\"optionsListText.subject | async\">\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<span *ngIf=\"!pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsUnknownText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex } | async}}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- right skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__right\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__right\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--pagination--inline': !isExperimental\n\t\t\t}\">\n\t\t\t<div\n\t\t\t\tclass=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__page-number' : isExperimental,\n\t\t\t\t\t'bx--select--disabled': pageInputDisabled\n\t\t\t\t}\">\n\t\t\t\t<label [for]=\"currentPageSelectId\" class=\"bx--label bx--visually-hidden\">{{itemsPerPageText.subject | async}}</label>\n\t\t\t\t<input\n\t\t\t\t\t*ngIf=\"pageOptions.length > pageSelectThreshold\"\n\t\t\t\t\tstyle=\"padding-right: 1rem; margin-right: 1rem;\"\n\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t[max]=\"pageOptions.length\"\n\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t<select\n\t\t\t\t\t*ngIf=\"pageOptions.length <= pageSelectThreshold\"\n\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\t[disabled]=\"pageInputDisabled\"\n\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t\t<option *ngFor=\"let page of pageOptions; let i = index;\" class=\"bx--select-option\" [value]=\"i + 1\">{{i + 1}}</option>\n\t\t\t\t</select>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"pageOptions.length <= 1000\"\n\t\t\t\t\tibmIconChevronDown16\n\t\t\t\t\tstyle=\"display: inherit;\"\n\t\t\t\t\tclass=\"bx--select__arrow\"\n\t\t\t\t\t[attr.ariaLabel]=\"optionsListText.subject | async\">\n\t\t\t\t</svg>\n\t\t\t</div>\n\n\t\t\t<span *ngIf=\"!pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t{{ofLastPagesText.subject | i18nReplace: {last: lastPage} | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t{{pageText.subject | async}} {{currentPage}}\n\t\t\t</span>\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--backward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage <= 1 || disabled\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"backwardText.subject | async\"\n\t\t\t\t(click)=\"selectPage.emit(previousPage)\"\n\t\t\t\t[disabled]=\"(currentPage <= 1 || disabled ? true : null)\">\n\t\t\t\t<ibm-icon-caret-left16></ibm-icon-caret-left16>\n\t\t\t</button>\n\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--forward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage >= lastPage || disabled\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"forwardText.subject | async\"\n\t\t\t\t(click)=\"selectPage.emit(nextPage)\"\n\t\t\t\t[disabled]=\"(currentPage >= lastPage || disabled ? true : null)\">\n\t\t\t\t<ibm-icon-caret-right16></ibm-icon-caret-right16>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t"
231
+ template: "\n\t<div\n\t\tclass=\"bx--pagination\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--skeleton': skeleton\n\t\t}\">\n\t\t<!-- left skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__left\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 35px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 105px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__left\">\n\t\t\t<label class=\"bx--pagination__text\" [for]=\"itemsPerPageSelectId\">\n\t\t\t\t{{itemsPerPageText.subject | async}}\n\t\t\t</label>\n\t\t\t<div class=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__item-count': isExperimental,\n\t\t\t\t\t'bx--select--disabled': pageInputDisabled\n\t\t\t\t}\">\n\t\t\t\t<select\n\t\t\t\t\t[id]=\"itemsPerPageSelectId\"\n\t\t\t\t\t[disabled]=\"pageInputDisabled\"\n\t\t\t\t\t[(ngModel)]=\"itemsPerPage\"\n\t\t\t\t\tclass=\"bx--select-input\">\n\t\t\t\t\t<option\n\t\t\t\t\t\tclass=\"bx--select-option\"\n\t\t\t\t\t\t*ngFor=\"let option of itemsPerPageOptions\"\n\t\t\t\t\t\t[value]=\"option\">\n\t\t\t\t\t\t\t{{ option }}\n\t\t\t\t\t</option>\n\t\t\t\t</select>\n\t\t\t\t<svg\n\t\t\t\t\tibmIconChevronDown16\n\t\t\t\t\tstyle=\"display: inherit\"\n\t\t\t\t\tclass=\"bx--select__arrow\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t[attr.ariaLabel]=\"optionsListText.subject | async\">\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<span *ngIf=\"!pagesUnknown && totalDataLength <= 1\" class=\"bx--pagination__text\">\n\t\t\t\t{{totalItemText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!pagesUnknown && totalDataLength > 1\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsUnknownText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex } | async}}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- right skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__right\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__right\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--pagination--inline': !isExperimental\n\t\t\t}\">\n\t\t\t<div\n\t\t\t\tclass=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__page-number' : isExperimental,\n\t\t\t\t\t'bx--select--disabled': pageInputDisabled\n\t\t\t\t}\">\n\t\t\t\t<label [for]=\"currentPageSelectId\" class=\"bx--label bx--visually-hidden\">{{itemsPerPageText.subject | async}}</label>\n\t\t\t\t<input\n\t\t\t\t\t*ngIf=\"pageOptions.length > pageSelectThreshold\"\n\t\t\t\t\tstyle=\"padding-right: 1rem; margin-right: 1rem;\"\n\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t[max]=\"pageOptions.length\"\n\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t<select\n\t\t\t\t\t*ngIf=\"pageOptions.length <= pageSelectThreshold\"\n\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\t[disabled]=\"pageInputDisabled\"\n\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t\t<option *ngFor=\"let page of pageOptions; let i = index;\" class=\"bx--select-option\" [value]=\"i + 1\">{{i + 1}}</option>\n\t\t\t\t</select>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"pageOptions.length <= 1000\"\n\t\t\t\t\tibmIconChevronDown16\n\t\t\t\t\tstyle=\"display: inherit;\"\n\t\t\t\t\tclass=\"bx--select__arrow\"\n\t\t\t\t\t[attr.ariaLabel]=\"optionsListText.subject | async\">\n\t\t\t\t</svg>\n\t\t\t</div>\n\n\t\t\t<span *ngIf=\"!pagesUnknown && lastPage <= 1\" class=\"bx--pagination__text\">\n\t\t\t\t{{ofLastPageText.subject | i18nReplace: {last: lastPage} | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!pagesUnknown && lastPage > 1\" class=\"bx--pagination__text\">\n\t\t\t\t{{ofLastPagesText.subject | i18nReplace: {last: lastPage} | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t{{pageText.subject | async}} {{currentPage}}\n\t\t\t</span>\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--backward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage <= 1 || disabled\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"backwardText.subject | async\"\n\t\t\t\t(click)=\"selectPage.emit(previousPage)\"\n\t\t\t\t[disabled]=\"(currentPage <= 1 || disabled ? true : null)\">\n\t\t\t\t<ibm-icon-caret-left16></ibm-icon-caret-left16>\n\t\t\t</button>\n\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--forward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage >= lastPage || disabled\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"forwardText.subject | async\"\n\t\t\t\t(click)=\"selectPage.emit(nextPage)\"\n\t\t\t\t[disabled]=\"(currentPage >= lastPage || disabled ? true : null)\">\n\t\t\t\t<ibm-icon-caret-right16></ibm-icon-caret-right16>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t"
228
232
  },] },
229
233
  ];
230
234
  /** @nocollapse */
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.component.js","sourceRoot":"","sources":["../src/pagination/pagination.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACN,SAAS,EACT,KAAK,EACL,MAAM,EACN,YAAY,EACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAe,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAY1C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IAqRC,oBAAsB,IAAU,EAAY,YAAiC;QAAvD,SAAI,GAAJ,IAAI,CAAM;QAAY,iBAAY,GAAZ,YAAY,CAAqB;QAjJ7E;;WAEG;QACM,aAAQ,GAAG,KAAK,CAAC;QAK1B;;WAEG;QACM,aAAQ,GAAG,KAAK,CAAC;QAC1B;;WAEG;QACM,sBAAiB,GAAG,KAAK,CAAC;QACnC;;WAEG;QACM,iBAAY,GAAG,KAAK,CAAC;QACrB,wBAAmB,GAAG,IAAI,CAAC;QA8BpC;;;;WAIG;QACM,wBAAmB,GAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE9D;;;;;WAKG;QACO,eAAU,GAAG,IAAI,YAAY,EAAU,CAAC;QAmElD,yBAAoB,GAAG,sCAAoC,UAAU,CAAC,iBAAmB,CAAC;QAC1F,wBAAmB,GAAG,oCAAkC,UAAU,CAAC,iBAAmB,CAAC;QAEvF,qBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACzE,oBAAe,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;QAC9E,iBAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAC/D,gBAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAC7D,mBAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACpE,0BAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;QACnF,mBAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACpE,aAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACvD,oBAAe,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QAE7D,iBAAY,GAAG,EAAE,CAAC;QAG3B,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAChC,CAAC;IA/GD,sBACI,oCAAY;QAfhB;;;;;;;;;;;;;WAaG;aACH,UACkB,KAA6B;YAC9C,IAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;;;OAAA;IAiBD,sBAAI,oCAAY;aAAhB;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC9B,CAAC;aACD,UAAiB,KAAK;YACrB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,aAAa;QACpC,CAAC;;;OAJA;IAMD,sBAAI,mCAAW;aAAf;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/B,CAAC;aACD,UAAgB,KAAK;YACpB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,2DAA2D;YAC3D,uCAAuC;YACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;;;OANA;IAQD,sBAAI,uCAAe;aAAnB;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnC,CAAC;;;OAAA;IAID,sBAAI,gCAAQ;QAHZ;;WAEG;aACH;YACC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YACjE,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;;;OAAA;IAED,sBAAI,sCAAc;aAAlB;YACC,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;;;OAAA;IAED,sBAAI,oCAAY;aAAhB;YACC,IAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YAEnE,OAAO,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QACpG,CAAC;;;OAAA;IAKD,sBAAI,oCAAY;QAHhB;;WAEG;aACH;YACC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACzD,CAAC;;;OAAA;IAKD,sBAAI,gCAAQ;QAHZ;;WAEG;aACH;YACC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,OAAO,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACvE,CAAC;;;OAAA;IAED,sBAAI,sCAAc;aAAlB;YACC,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;QACzC,CAAC;;;OAAA;IAED,sBAAI,mCAAW;aAAf;YACC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE;gBAC9E,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aAC/E;YACD,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;;;OAAA;IAlIM,4BAAiB,GAAG,CAAC,CAAC;;gBAlI7B,SAAS,SAAC;oBACV,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,o1JA6HT;iBACD;;;;gBAtKQ,IAAI;gBACJ,mBAAmB;;;2BA4K1B,KAAK;wBAIL,KAAK;2BAIL,KAAK;oCAIL,KAAK;+BAIL,KAAK;sCACL,KAAK;+BAgBL,KAAK;sCAmBL,KAAK;6BAQL,MAAM;;IAqFR,iBAAC;CAAA,AAxRD,IAwRC;SAvJY,UAAU","sourcesContent":["import { PaginationModel } from \"./pagination-model.class\";\nimport {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\n\nimport { I18n, Overridable } from \"./../i18n/i18n.module\";\nimport { ExperimentalService } from \"./../experimental.module\";\nimport { merge } from \"./../utils/object\";\n\nexport interface PaginationTranslations {\n\tITEMS_PER_PAGE: string;\n\tOPEN_LIST_OF_OPTIONS: string;\n\tBACKWARD: string;\n\tFORWARD: string;\n\tTOTAL_ITEMS: string;\n\tTOTAL_PAGES: string;\n\tOF_LAST_PAGES: string;\n}\n\n/**\n * Use pagination when you have multiple pages of data to handle.\n *\n * [See demo](../../?path=/story/pagination--basic)\n *\n * ```html\n * <ibm-pagination [model]=\"model\" (selectPage)=\"selectPage($event)\"></ibm-pagination>\n * ```\n *\n * In your `selectPage()` method set the `model.currentPage` to selected page, _after_\n * you load the page.\n *\n * ```typescript\n * selectPage(page) {\n * \t// ... your code to load the page goes here\n *\n * \tthis.model.currentPage = page;\n *\n * \t// ... anything you want to do after page selection changes goes here\n * }\n * ```\n *\n * <example-url>../../iframe.html?id=pagination--basic</example-url>\n */\n@Component({\n\tselector: \"ibm-pagination\",\n\ttemplate: `\n\t<div\n\t\tclass=\"bx--pagination\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--skeleton': skeleton\n\t\t}\">\n\t\t<!-- left skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__left\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 35px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 105px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__left\">\n\t\t\t<label class=\"bx--pagination__text\" [for]=\"itemsPerPageSelectId\">\n\t\t\t\t{{itemsPerPageText.subject | async}}\n\t\t\t</label>\n\t\t\t<div class=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__item-count': isExperimental,\n\t\t\t\t\t'bx--select--disabled': pageInputDisabled\n\t\t\t\t}\">\n\t\t\t\t<select\n\t\t\t\t\t[id]=\"itemsPerPageSelectId\"\n\t\t\t\t\t[disabled]=\"pageInputDisabled\"\n\t\t\t\t\t[(ngModel)]=\"itemsPerPage\"\n\t\t\t\t\tclass=\"bx--select-input\">\n\t\t\t\t\t<option\n\t\t\t\t\t\tclass=\"bx--select-option\"\n\t\t\t\t\t\t*ngFor=\"let option of itemsPerPageOptions\"\n\t\t\t\t\t\t[value]=\"option\">\n\t\t\t\t\t\t\t{{ option }}\n\t\t\t\t\t</option>\n\t\t\t\t</select>\n\t\t\t\t<svg\n\t\t\t\t\tibmIconChevronDown16\n\t\t\t\t\tstyle=\"display: inherit\"\n\t\t\t\t\tclass=\"bx--select__arrow\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t[attr.ariaLabel]=\"optionsListText.subject | async\">\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<span *ngIf=\"!pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsUnknownText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex } | async}}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- right skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__right\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__right\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--pagination--inline': !isExperimental\n\t\t\t}\">\n\t\t\t<div\n\t\t\t\tclass=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__page-number' : isExperimental,\n\t\t\t\t\t'bx--select--disabled': pageInputDisabled\n\t\t\t\t}\">\n\t\t\t\t<label [for]=\"currentPageSelectId\" class=\"bx--label bx--visually-hidden\">{{itemsPerPageText.subject | async}}</label>\n\t\t\t\t<input\n\t\t\t\t\t*ngIf=\"pageOptions.length > pageSelectThreshold\"\n\t\t\t\t\tstyle=\"padding-right: 1rem; margin-right: 1rem;\"\n\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t[max]=\"pageOptions.length\"\n\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t<select\n\t\t\t\t\t*ngIf=\"pageOptions.length <= pageSelectThreshold\"\n\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\t[disabled]=\"pageInputDisabled\"\n\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t\t<option *ngFor=\"let page of pageOptions; let i = index;\" class=\"bx--select-option\" [value]=\"i + 1\">{{i + 1}}</option>\n\t\t\t\t</select>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"pageOptions.length <= 1000\"\n\t\t\t\t\tibmIconChevronDown16\n\t\t\t\t\tstyle=\"display: inherit;\"\n\t\t\t\t\tclass=\"bx--select__arrow\"\n\t\t\t\t\t[attr.ariaLabel]=\"optionsListText.subject | async\">\n\t\t\t\t</svg>\n\t\t\t</div>\n\n\t\t\t<span *ngIf=\"!pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t{{ofLastPagesText.subject | i18nReplace: {last: lastPage} | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t{{pageText.subject | async}} {{currentPage}}\n\t\t\t</span>\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--backward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage <= 1 || disabled\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"backwardText.subject | async\"\n\t\t\t\t(click)=\"selectPage.emit(previousPage)\"\n\t\t\t\t[disabled]=\"(currentPage <= 1 || disabled ? true : null)\">\n\t\t\t\t<ibm-icon-caret-left16></ibm-icon-caret-left16>\n\t\t\t</button>\n\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--forward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage >= lastPage || disabled\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"forwardText.subject | async\"\n\t\t\t\t(click)=\"selectPage.emit(nextPage)\"\n\t\t\t\t[disabled]=\"(currentPage >= lastPage || disabled ? true : null)\">\n\t\t\t\t<ibm-icon-caret-right16></ibm-icon-caret-right16>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t`\n})\nexport class Pagination {\n\tstatic paginationCounter = 0;\n\n\t/**\n\t * Set to `true` for a loading pagination component.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * `PaginationModel` with the information about pages you're controlling.\n\t */\n\t@Input() model: PaginationModel;\n\t/**\n \t * Set to `true` to disable the backward/forward buttons.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` to disable the select box that changes the page.\n\t */\n\t@Input() pageInputDisabled = false;\n\t/**\n\t * Set to `true` if the total number of items is unknown.\n\t */\n\t@Input() pagesUnknown = false;\n\t@Input() pageSelectThreshold = 1000;\n\n\t/**\n\t * Expects an object that contains some or all of:\n\t * ```\n\t * {\n\t *\t\t\"ITEMS_PER_PAGE\": \"Items per page:\",\n\t *\t\t\"OPEN_LIST_OF_OPTIONS\": \"Open list of options\",\n\t *\t\t\"BACKWARD\": \"Backward\",\n\t *\t\t\"FORWARD\": \"Forward\",\n\t *\t\t\"TOTAL_ITEMS\": \"{{start}}-{{end}} of {{total}} items\",\n\t *\t\t\"TOTAL_PAGES\": \"{{current}} of {{last}} pages\",\n\t *\t\t\"OF_LAST_PAGES\": \"of {{last}} pages\"\n\t * }\n\t * ```\n\t */\n\t@Input()\n\tset translations (value: PaginationTranslations) {\n\t\tconst valueWithDefaults = merge(this.i18n.getMultiple(\"PAGINATION\"), value);\n\t\tthis.itemsPerPageText.override(valueWithDefaults.ITEMS_PER_PAGE);\n\t\tthis.optionsListText.override(valueWithDefaults.OPEN_LIST_OF_OPTIONS);\n\t\tthis.backwardText.override(valueWithDefaults.BACKWARD);\n\t\tthis.forwardText.override(valueWithDefaults.FORWARD);\n\t\tthis.totalItemsText.override(valueWithDefaults.TOTAL_ITEMS);\n\t\tthis.totalItemsUnknownText.override(valueWithDefaults.TOTAL_ITEMS_UNKNOWN);\n\t\tthis.totalPagesText.override(valueWithDefaults.TOTAL_PAGES);\n\t\tthis.pageText.override(valueWithDefaults.PAGE);\n\t\tthis.ofLastPagesText.override(valueWithDefaults.OF_LAST_PAGES);\n\t}\n\n\t/**\n\t * Options for items per page select\n\t *\n\t * A default array of options will be defined: [10, 20, 30, 40, 50]\n\t */\n\t@Input() itemsPerPageOptions: number[] = [10, 20, 30, 40, 50];\n\n\t/**\n\t * Emits the new page number.\n\t *\n\t * You should tie into this and update `model.currentPage` once the fresh\n\t * data is finally loaded.\n\t */\n\t@Output() selectPage = new EventEmitter<number>();\n\n\tget itemsPerPage() {\n\t\treturn this.model.pageLength;\n\t}\n\tset itemsPerPage(value) {\n\t\tthis.model.pageLength = Number(value);\n\t\tthis.currentPage = 1; // reset page\n\t}\n\n\tget currentPage() {\n\t\treturn this.model.currentPage;\n\t}\n\tset currentPage(value) {\n\t\tvalue = Number(value);\n\t\t// emits the value to allow the user to update current page\n\t\t// in the model once the page is loaded\n\t\tthis.selectPage.emit(value);\n\t}\n\n\tget totalDataLength() {\n\t\treturn this.model.totalDataLength;\n\t}\n\t/**\n\t * The last page number to display in the pagination view.\n\t */\n\tget lastPage(): number {\n\t\tconst last = Math.ceil(this.totalDataLength / this.itemsPerPage);\n\t\treturn last > 0 ? last : 1;\n\t}\n\n\tget startItemIndex() {\n\t\treturn this.endItemIndex > 0 ? (this.currentPage - 1) * this.itemsPerPage + 1 : 0;\n\t}\n\n\tget endItemIndex() {\n\t\tconst projectedEndItemIndex = this.currentPage * this.itemsPerPage;\n\n\t\treturn projectedEndItemIndex < this.totalDataLength ? projectedEndItemIndex : this.totalDataLength;\n\t}\n\n\t/**\n\t * The previous page number to navigate to, from the current page.\n\t */\n\tget previousPage(): number {\n\t\treturn this.currentPage <= 1 ? 1 : this.currentPage - 1;\n\t}\n\n\t/**\n\t * The next page number to navigate to, from the current page.\n\t */\n\tget nextPage(): number {\n\t\tconst lastPage = this.lastPage;\n\t\treturn this.currentPage >= lastPage ? lastPage : this.currentPage + 1;\n\t}\n\n\tget isExperimental() {\n\t\treturn this.experimental.isExperimental;\n\t}\n\n\tget pageOptions() {\n\t\tif (this.totalDataLength && this._pageOptions.length !== this.totalDataLength) {\n\t\t\tthis._pageOptions = Array(Math.ceil(this.totalDataLength / this.itemsPerPage));\n\t\t}\n\t\treturn this._pageOptions;\n\t}\n\n\titemsPerPageSelectId = `pagination-select-items-per-page-${Pagination.paginationCounter}`;\n\tcurrentPageSelectId = `pagination-select-current-page-${Pagination.paginationCounter}`;\n\n\titemsPerPageText = this.i18n.getOverridable(\"PAGINATION.ITEMS_PER_PAGE\");\n\toptionsListText = this.i18n.getOverridable(\"PAGINATION.OPEN_LIST_OF_OPTIONS\");\n\tbackwardText = this.i18n.getOverridable(\"PAGINATION.BACKWARD\");\n\tforwardText = this.i18n.getOverridable(\"PAGINATION.FORWARD\");\n\ttotalItemsText = this.i18n.getOverridable(\"PAGINATION.TOTAL_ITEMS\");\n\ttotalItemsUnknownText = this.i18n.getOverridable(\"PAGINATION.TOTAL_ITEMS_UNKNOWN\");\n\ttotalPagesText = this.i18n.getOverridable(\"PAGINATION.TOTAL_PAGES\");\n\tpageText = this.i18n.getOverridable(\"PAGINATION.PAGE\");\n\tofLastPagesText = this.i18n.getOverridable(\"PAGINATION.OF_LAST_PAGES\");\n\n\tprotected _pageOptions = [];\n\n\tconstructor(protected i18n: I18n, protected experimental: ExperimentalService) {\n\t\tPagination.paginationCounter++;\n\t}\n}\n"]}
1
+ {"version":3,"file":"pagination.component.js","sourceRoot":"","sources":["../src/pagination/pagination.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { PaginationModel } from \"./pagination-model.class\";\nimport {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\n\nimport { I18n, Overridable } from \"./../i18n/i18n.module\";\nimport { ExperimentalService } from \"./../experimental.module\";\nimport { merge } from \"./../utils/object\";\n\nexport interface PaginationTranslations {\n\tITEMS_PER_PAGE: string;\n\tOPEN_LIST_OF_OPTIONS: string;\n\tBACKWARD: string;\n\tFORWARD: string;\n\tTOTAL_ITEMS_UNKNOWN: string;\n\tTOTAL_ITEMS: string;\n\tTOTAL_ITEM: string;\n\tOF_LAST_PAGES: string;\n\tOF_LAST_PAGE: string;\n}\n\n/**\n * Use pagination when you have multiple pages of data to handle.\n *\n * [See demo](../../?path=/story/pagination--basic)\n *\n * ```html\n * <ibm-pagination [model]=\"model\" (selectPage)=\"selectPage($event)\"></ibm-pagination>\n * ```\n *\n * In your `selectPage()` method set the `model.currentPage` to selected page, _after_\n * you load the page.\n *\n * ```typescript\n * selectPage(page) {\n * \t// ... your code to load the page goes here\n *\n * \tthis.model.currentPage = page;\n *\n * \t// ... anything you want to do after page selection changes goes here\n * }\n * ```\n *\n * <example-url>../../iframe.html?id=pagination--basic</example-url>\n */\n@Component({\n\tselector: \"ibm-pagination\",\n\ttemplate: `\n\t<div\n\t\tclass=\"bx--pagination\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--skeleton': skeleton\n\t\t}\">\n\t\t<!-- left skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__left\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 35px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 105px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__left\">\n\t\t\t<label class=\"bx--pagination__text\" [for]=\"itemsPerPageSelectId\">\n\t\t\t\t{{itemsPerPageText.subject | async}}\n\t\t\t</label>\n\t\t\t<div class=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__item-count': isExperimental,\n\t\t\t\t\t'bx--select--disabled': pageInputDisabled\n\t\t\t\t}\">\n\t\t\t\t<select\n\t\t\t\t\t[id]=\"itemsPerPageSelectId\"\n\t\t\t\t\t[disabled]=\"pageInputDisabled\"\n\t\t\t\t\t[(ngModel)]=\"itemsPerPage\"\n\t\t\t\t\tclass=\"bx--select-input\">\n\t\t\t\t\t<option\n\t\t\t\t\t\tclass=\"bx--select-option\"\n\t\t\t\t\t\t*ngFor=\"let option of itemsPerPageOptions\"\n\t\t\t\t\t\t[value]=\"option\">\n\t\t\t\t\t\t\t{{ option }}\n\t\t\t\t\t</option>\n\t\t\t\t</select>\n\t\t\t\t<svg\n\t\t\t\t\tibmIconChevronDown16\n\t\t\t\t\tstyle=\"display: inherit\"\n\t\t\t\t\tclass=\"bx--select__arrow\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t[attr.ariaLabel]=\"optionsListText.subject | async\">\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<span *ngIf=\"!pagesUnknown && totalDataLength <= 1\" class=\"bx--pagination__text\">\n\t\t\t\t{{totalItemText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!pagesUnknown && totalDataLength > 1\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex, total: totalDataLength } | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsUnknownText.subject | i18nReplace:{start: startItemIndex, end: endItemIndex } | async}}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- right skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__right\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__right\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--pagination--inline': !isExperimental\n\t\t\t}\">\n\t\t\t<div\n\t\t\t\tclass=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__page-number' : isExperimental,\n\t\t\t\t\t'bx--select--disabled': pageInputDisabled\n\t\t\t\t}\">\n\t\t\t\t<label [for]=\"currentPageSelectId\" class=\"bx--label bx--visually-hidden\">{{itemsPerPageText.subject | async}}</label>\n\t\t\t\t<input\n\t\t\t\t\t*ngIf=\"pageOptions.length > pageSelectThreshold\"\n\t\t\t\t\tstyle=\"padding-right: 1rem; margin-right: 1rem;\"\n\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t[max]=\"pageOptions.length\"\n\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t<select\n\t\t\t\t\t*ngIf=\"pageOptions.length <= pageSelectThreshold\"\n\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\t[disabled]=\"pageInputDisabled\"\n\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t\t<option *ngFor=\"let page of pageOptions; let i = index;\" class=\"bx--select-option\" [value]=\"i + 1\">{{i + 1}}</option>\n\t\t\t\t</select>\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf=\"pageOptions.length <= 1000\"\n\t\t\t\t\tibmIconChevronDown16\n\t\t\t\t\tstyle=\"display: inherit;\"\n\t\t\t\t\tclass=\"bx--select__arrow\"\n\t\t\t\t\t[attr.ariaLabel]=\"optionsListText.subject | async\">\n\t\t\t\t</svg>\n\t\t\t</div>\n\n\t\t\t<span *ngIf=\"!pagesUnknown && lastPage <= 1\" class=\"bx--pagination__text\">\n\t\t\t\t{{ofLastPageText.subject | i18nReplace: {last: lastPage} | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!pagesUnknown && lastPage > 1\" class=\"bx--pagination__text\">\n\t\t\t\t{{ofLastPagesText.subject | i18nReplace: {last: lastPage} | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t{{pageText.subject | async}} {{currentPage}}\n\t\t\t</span>\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--backward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage <= 1 || disabled\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"backwardText.subject | async\"\n\t\t\t\t(click)=\"selectPage.emit(previousPage)\"\n\t\t\t\t[disabled]=\"(currentPage <= 1 || disabled ? true : null)\">\n\t\t\t\t<ibm-icon-caret-left16></ibm-icon-caret-left16>\n\t\t\t</button>\n\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--forward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage >= lastPage || disabled\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"forwardText.subject | async\"\n\t\t\t\t(click)=\"selectPage.emit(nextPage)\"\n\t\t\t\t[disabled]=\"(currentPage >= lastPage || disabled ? true : null)\">\n\t\t\t\t<ibm-icon-caret-right16></ibm-icon-caret-right16>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t`\n})\nexport class Pagination {\n\tstatic paginationCounter = 0;\n\n\t/**\n\t * Set to `true` for a loading pagination component.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * `PaginationModel` with the information about pages you're controlling.\n\t */\n\t@Input() model: PaginationModel;\n\t/**\n \t * Set to `true` to disable the backward/forward buttons.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` to disable the select box that changes the page.\n\t */\n\t@Input() pageInputDisabled = false;\n\t/**\n\t * Set to `true` if the total number of items is unknown.\n\t */\n\t@Input() pagesUnknown = false;\n\t@Input() pageSelectThreshold = 1000;\n\n\t/**\n\t * Expects an object that contains some or all of:\n\t * ```\n\t * {\n\t *\t\t\"ITEMS_PER_PAGE\": \"Items per page:\",\n\t *\t\t\"OPEN_LIST_OF_OPTIONS\": \"Open list of options\",\n\t *\t\t\"BACKWARD\": \"Backward\",\n\t *\t\t\"FORWARD\": \"Forward\",\n\t *\t\t\"TOTAL_ITEMS_UNKNOWN\": \"{{start}}-{{end}} items\",\n\t *\t\t\"TOTAL_ITEMS\": \"{{start}}-{{end}} of {{total}} items\",\n\t *\t\t\"TOTAL_ITEM\": \"{{start}}-{{end}} of {{total}} item\",\n\t *\t\t\"OF_LAST_PAGES\": \"of {{last}} pages\",\n\t *\t\t\"OF_LAST_PAGE\": \"of {{last}} page\",\n\t * }\n\t * ```\n\t */\n\t@Input()\n\tset translations (value: PaginationTranslations) {\n\t\tconst valueWithDefaults = merge(this.i18n.getMultiple(\"PAGINATION\"), value);\n\t\tthis.itemsPerPageText.override(valueWithDefaults.ITEMS_PER_PAGE);\n\t\tthis.optionsListText.override(valueWithDefaults.OPEN_LIST_OF_OPTIONS);\n\t\tthis.backwardText.override(valueWithDefaults.BACKWARD);\n\t\tthis.forwardText.override(valueWithDefaults.FORWARD);\n\t\tthis.totalItemsText.override(valueWithDefaults.TOTAL_ITEMS);\n\t\tthis.totalItemText.override(valueWithDefaults.TOTAL_ITEM);\n\t\tthis.totalItemsUnknownText.override(valueWithDefaults.TOTAL_ITEMS_UNKNOWN);\n\t\tthis.pageText.override(valueWithDefaults.PAGE);\n\t\tthis.ofLastPagesText.override(valueWithDefaults.OF_LAST_PAGES);\n\t\tthis.ofLastPageText.override(valueWithDefaults.OF_LAST_PAGE);\n\t}\n\n\t/**\n\t * Options for items per page select\n\t *\n\t * A default array of options will be defined: [10, 20, 30, 40, 50]\n\t */\n\t@Input() itemsPerPageOptions: number[] = [10, 20, 30, 40, 50];\n\n\t/**\n\t * Emits the new page number.\n\t *\n\t * You should tie into this and update `model.currentPage` once the fresh\n\t * data is finally loaded.\n\t */\n\t@Output() selectPage = new EventEmitter<number>();\n\n\tget itemsPerPage() {\n\t\treturn this.model.pageLength;\n\t}\n\tset itemsPerPage(value) {\n\t\tthis.model.pageLength = Number(value);\n\t\tthis.currentPage = 1; // reset page\n\t}\n\n\tget currentPage() {\n\t\treturn this.model.currentPage;\n\t}\n\tset currentPage(value) {\n\t\tvalue = Number(value);\n\t\t// emits the value to allow the user to update current page\n\t\t// in the model once the page is loaded\n\t\tthis.selectPage.emit(value);\n\t}\n\n\tget totalDataLength() {\n\t\treturn this.model.totalDataLength;\n\t}\n\t/**\n\t * The last page number to display in the pagination view.\n\t */\n\tget lastPage(): number {\n\t\tconst last = Math.ceil(this.totalDataLength / this.itemsPerPage);\n\t\treturn last > 0 ? last : 1;\n\t}\n\n\tget startItemIndex() {\n\t\treturn this.endItemIndex > 0 ? (this.currentPage - 1) * this.itemsPerPage + 1 : 0;\n\t}\n\n\tget endItemIndex() {\n\t\tconst projectedEndItemIndex = this.currentPage * this.itemsPerPage;\n\n\t\treturn projectedEndItemIndex < this.totalDataLength ? projectedEndItemIndex : this.totalDataLength;\n\t}\n\n\t/**\n\t * The previous page number to navigate to, from the current page.\n\t */\n\tget previousPage(): number {\n\t\treturn this.currentPage <= 1 ? 1 : this.currentPage - 1;\n\t}\n\n\t/**\n\t * The next page number to navigate to, from the current page.\n\t */\n\tget nextPage(): number {\n\t\tconst lastPage = this.lastPage;\n\t\treturn this.currentPage >= lastPage ? lastPage : this.currentPage + 1;\n\t}\n\n\tget isExperimental() {\n\t\treturn this.experimental.isExperimental;\n\t}\n\n\tget pageOptions() {\n\t\tif (this.totalDataLength && this._pageOptions.length !== this.totalDataLength) {\n\t\t\tthis._pageOptions = Array(Math.ceil(this.totalDataLength / this.itemsPerPage));\n\t\t}\n\t\treturn this._pageOptions;\n\t}\n\n\titemsPerPageSelectId = `pagination-select-items-per-page-${Pagination.paginationCounter}`;\n\tcurrentPageSelectId = `pagination-select-current-page-${Pagination.paginationCounter}`;\n\n\titemsPerPageText = this.i18n.getOverridable(\"PAGINATION.ITEMS_PER_PAGE\");\n\toptionsListText = this.i18n.getOverridable(\"PAGINATION.OPEN_LIST_OF_OPTIONS\");\n\tbackwardText = this.i18n.getOverridable(\"PAGINATION.BACKWARD\");\n\tforwardText = this.i18n.getOverridable(\"PAGINATION.FORWARD\");\n\ttotalItemsText = this.i18n.getOverridable(\"PAGINATION.TOTAL_ITEMS\");\n\ttotalItemText = this.i18n.getOverridable(\"PAGINATION.TOTAL_ITEM\");\n\ttotalItemsUnknownText = this.i18n.getOverridable(\"PAGINATION.TOTAL_ITEMS_UNKNOWN\");\n\tpageText = this.i18n.getOverridable(\"PAGINATION.PAGE\");\n\tofLastPagesText = this.i18n.getOverridable(\"PAGINATION.OF_LAST_PAGES\");\n\tofLastPageText = this.i18n.getOverridable(\"PAGINATION.OF_LAST_PAGE\");\n\n\tprotected _pageOptions = [];\n\n\tconstructor(protected i18n: I18n, protected experimental: ExperimentalService) {\n\t\tPagination.paginationCounter++;\n\t}\n}\n"]}