carbon-components-angular 5.72.2 → 5.72.4

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 (141) hide show
  1. package/combobox/combobox.component.d.ts +1 -1
  2. package/datepicker/datepicker.component.d.ts +1 -1
  3. package/docs/documentation/components/ComboBox.html +49 -49
  4. package/docs/documentation/components/DatePicker.html +34 -34
  5. package/docs/documentation/components/Dropdown.html +161 -160
  6. package/docs/documentation/components/ProgressIndicator.html +13 -9
  7. package/docs/documentation/components/Toast.html +5 -5
  8. package/docs/documentation/coverage.html +36 -0
  9. package/docs/documentation/interfaces/ActionableContent.html +2 -2
  10. package/docs/documentation/interfaces/NotificationAction.html +2 -2
  11. package/docs/documentation/interfaces/NotificationContent.html +2 -2
  12. package/docs/documentation/interfaces/NotificationLink.html +2 -2
  13. package/docs/documentation/interfaces/ToastContent.html +14 -2
  14. package/docs/documentation/js/menu-wc_es5.js +1 -1
  15. package/docs/documentation/js/search/search_index.js +2 -2
  16. package/docs/documentation/miscellaneous/functions.html +257 -1
  17. package/docs/documentation/modules/CheckboxModule/dependencies.svg +42 -42
  18. package/docs/documentation/modules/CheckboxModule.html +42 -42
  19. package/docs/documentation/modules/CodeSnippetModule/dependencies.svg +4 -4
  20. package/docs/documentation/modules/CodeSnippetModule.html +4 -4
  21. package/docs/documentation/modules/ComboBoxModule/dependencies.svg +6 -6
  22. package/docs/documentation/modules/ComboBoxModule.html +6 -6
  23. package/docs/documentation/modules/ContentSwitcherModule/dependencies.svg +4 -4
  24. package/docs/documentation/modules/ContentSwitcherModule.html +4 -4
  25. package/docs/documentation/modules/ContextMenuModule/dependencies.svg +67 -67
  26. package/docs/documentation/modules/ContextMenuModule.html +67 -67
  27. package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +4 -4
  28. package/docs/documentation/modules/DatePickerInputModule.html +4 -4
  29. package/docs/documentation/modules/DatePickerModule/dependencies.svg +6 -6
  30. package/docs/documentation/modules/DatePickerModule.html +6 -6
  31. package/docs/documentation/modules/DialogModule/dependencies.svg +33 -33
  32. package/docs/documentation/modules/DialogModule.html +33 -33
  33. package/docs/documentation/modules/DocumentationModule/dependencies.svg +4 -4
  34. package/docs/documentation/modules/DocumentationModule.html +4 -4
  35. package/docs/documentation/modules/DropdownModule/dependencies.svg +68 -68
  36. package/docs/documentation/modules/DropdownModule.html +68 -68
  37. package/docs/documentation/modules/GridModule/dependencies.svg +64 -64
  38. package/docs/documentation/modules/GridModule.html +64 -64
  39. package/docs/documentation/modules/HeaderModule/dependencies.svg +4 -4
  40. package/docs/documentation/modules/HeaderModule.html +4 -4
  41. package/docs/documentation/modules/I18nModule/dependencies.svg +4 -4
  42. package/docs/documentation/modules/I18nModule.html +4 -4
  43. package/docs/documentation/modules/InputModule/dependencies.svg +4 -4
  44. package/docs/documentation/modules/InputModule.html +4 -4
  45. package/docs/documentation/modules/LayoutModule/dependencies.svg +4 -4
  46. package/docs/documentation/modules/LayoutModule.html +4 -4
  47. package/docs/documentation/modules/LinkModule/dependencies.svg +4 -4
  48. package/docs/documentation/modules/LinkModule.html +4 -4
  49. package/docs/documentation/modules/ListModule/dependencies.svg +4 -4
  50. package/docs/documentation/modules/ListModule.html +4 -4
  51. package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
  52. package/docs/documentation/modules/LoadingModule.html +4 -4
  53. package/docs/documentation/modules/MenuButtonModule/dependencies.svg +4 -4
  54. package/docs/documentation/modules/MenuButtonModule.html +4 -4
  55. package/docs/documentation/modules/ModalModule/dependencies.svg +116 -116
  56. package/docs/documentation/modules/ModalModule.html +116 -116
  57. package/docs/documentation/modules/NotificationModule/dependencies.svg +124 -124
  58. package/docs/documentation/modules/NotificationModule.html +124 -124
  59. package/docs/documentation/modules/PaginationModule/dependencies.svg +4 -4
  60. package/docs/documentation/modules/PaginationModule.html +4 -4
  61. package/docs/documentation/modules/PanelModule/dependencies.svg +36 -36
  62. package/docs/documentation/modules/PanelModule.html +36 -36
  63. package/docs/documentation/modules/ProgressBarModule/dependencies.svg +12 -12
  64. package/docs/documentation/modules/ProgressBarModule.html +12 -12
  65. package/docs/documentation/modules/ProgressIndicatorModule/dependencies.svg +4 -4
  66. package/docs/documentation/modules/ProgressIndicatorModule.html +4 -4
  67. package/docs/documentation/modules/RadioModule/dependencies.svg +47 -47
  68. package/docs/documentation/modules/RadioModule.html +47 -47
  69. package/docs/documentation/modules/SearchModule/dependencies.svg +45 -49
  70. package/docs/documentation/modules/SearchModule.html +45 -49
  71. package/docs/documentation/modules/SelectModule/dependencies.svg +58 -58
  72. package/docs/documentation/modules/SelectModule.html +58 -58
  73. package/docs/documentation/modules/SliderModule/dependencies.svg +46 -42
  74. package/docs/documentation/modules/SliderModule.html +46 -42
  75. package/docs/documentation/modules/StructuredListModule/dependencies.svg +69 -69
  76. package/docs/documentation/modules/StructuredListModule.html +69 -69
  77. package/docs/documentation/modules/TabsModule/dependencies.svg +41 -41
  78. package/docs/documentation/modules/TabsModule.html +41 -41
  79. package/docs/documentation/modules/TagModule/dependencies.svg +4 -4
  80. package/docs/documentation/modules/TagModule.html +4 -4
  81. package/docs/documentation/modules/ThemeModule/dependencies.svg +13 -13
  82. package/docs/documentation/modules/ThemeModule.html +13 -13
  83. package/docs/documentation/modules/TilesModule/dependencies.svg +108 -108
  84. package/docs/documentation/modules/TilesModule.html +108 -108
  85. package/docs/documentation/modules/TimePickerModule/dependencies.svg +45 -41
  86. package/docs/documentation/modules/TimePickerModule.html +45 -41
  87. package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +4 -4
  88. package/docs/documentation/modules/TimePickerSelectModule.html +4 -4
  89. package/docs/documentation/modules/ToggleModule/dependencies.svg +37 -41
  90. package/docs/documentation/modules/ToggleModule.html +37 -41
  91. package/docs/documentation/modules/ToggletipModule/dependencies.svg +39 -39
  92. package/docs/documentation/modules/ToggletipModule.html +39 -39
  93. package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
  94. package/docs/documentation/modules/TooltipModule.html +4 -4
  95. package/docs/documentation/modules/TreeviewModule/dependencies.svg +30 -30
  96. package/docs/documentation/modules/TreeviewModule.html +30 -30
  97. package/docs/documentation.json +144 -649
  98. package/docs/storybook/{3224.14e2c79a.iframe.bundle.js → 3224.3c2075c3.iframe.bundle.js} +1 -1
  99. package/docs/storybook/{901.49ee92eb.iframe.bundle.js → 901.f208c589.iframe.bundle.js} +1 -1
  100. package/docs/storybook/{combobox-combobox-stories.e3d08f7d.iframe.bundle.js → combobox-combobox-stories.49ceebb5.iframe.bundle.js} +1 -1
  101. package/docs/storybook/{datepicker-datepicker-stories.559a71ec.iframe.bundle.js → datepicker-datepicker-stories.71ef84d0.iframe.bundle.js} +1 -1
  102. package/docs/storybook/iframe.html +12 -3
  103. package/docs/storybook/index.html +35 -39
  104. package/docs/storybook/main.ca0a416e.iframe.bundle.js +1 -0
  105. package/docs/storybook/{patterns-dialogs-modal-with-table-stories.b72796c6.iframe.bundle.js → patterns-dialogs-modal-with-table-stories.8acaa07a.iframe.bundle.js} +1 -1
  106. package/docs/storybook/{patterns-forms-multi-step-form-stories.2ea46e56.iframe.bundle.js → patterns-forms-multi-step-form-stories.495d62f5.iframe.bundle.js} +1 -1
  107. package/docs/storybook/{patterns-loading-large-loading-stories.e6ae3e31.iframe.bundle.js → patterns-loading-large-loading-stories.564e9ea6.iframe.bundle.js} +1 -1
  108. package/docs/storybook/{progress-indicator-progress-indicator-stories.dae29927.iframe.bundle.js → progress-indicator-progress-indicator-stories.f7da9e42.iframe.bundle.js} +1 -1
  109. package/docs/storybook/project.json +1 -1
  110. package/docs/storybook/{runtime~main.b11c471e.iframe.bundle.js → runtime~main.a709e446.iframe.bundle.js} +1 -1
  111. package/docs/storybook/sb-addons/essentials-controls-1/manager-bundle.js +31 -31
  112. package/dropdown/dropdown.component.d.ts +3 -3
  113. package/esm2020/combobox/combobox.component.mjs +5 -5
  114. package/esm2020/datepicker/datepicker.component.mjs +9 -9
  115. package/esm2020/dropdown/dropdown.component.mjs +13 -13
  116. package/esm2020/notification/notification-content.interface.mjs +1 -1
  117. package/esm2020/notification/toast.component.mjs +5 -5
  118. package/esm2020/progress-indicator/progress-indicator.component.mjs +8 -5
  119. package/fesm2015/carbon-components-angular-combobox.mjs +4 -4
  120. package/fesm2015/carbon-components-angular-combobox.mjs.map +1 -1
  121. package/fesm2015/carbon-components-angular-datepicker.mjs +8 -8
  122. package/fesm2015/carbon-components-angular-datepicker.mjs.map +1 -1
  123. package/fesm2015/carbon-components-angular-dropdown.mjs +12 -12
  124. package/fesm2015/carbon-components-angular-dropdown.mjs.map +1 -1
  125. package/fesm2015/carbon-components-angular-notification.mjs +4 -4
  126. package/fesm2015/carbon-components-angular-notification.mjs.map +1 -1
  127. package/fesm2015/carbon-components-angular-progress-indicator.mjs +7 -4
  128. package/fesm2015/carbon-components-angular-progress-indicator.mjs.map +1 -1
  129. package/fesm2020/carbon-components-angular-combobox.mjs +4 -4
  130. package/fesm2020/carbon-components-angular-combobox.mjs.map +1 -1
  131. package/fesm2020/carbon-components-angular-datepicker.mjs +8 -8
  132. package/fesm2020/carbon-components-angular-datepicker.mjs.map +1 -1
  133. package/fesm2020/carbon-components-angular-dropdown.mjs +12 -12
  134. package/fesm2020/carbon-components-angular-dropdown.mjs.map +1 -1
  135. package/fesm2020/carbon-components-angular-notification.mjs +4 -4
  136. package/fesm2020/carbon-components-angular-notification.mjs.map +1 -1
  137. package/fesm2020/carbon-components-angular-progress-indicator.mjs +7 -4
  138. package/fesm2020/carbon-components-angular-progress-indicator.mjs.map +1 -1
  139. package/notification/notification-content.interface.d.ts +2 -2
  140. package/package.json +1 -1
  141. package/docs/storybook/main.a1247bb8.iframe.bundle.js +0 -1
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[]).push([[3224],{"./src/dropdown/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{jq:()=>AbstractDropdownView,Lt:()=>Dropdown,kW:()=>DropdownModule,Vn:()=>DropdownService});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),fesm2020_forms=__webpack_require__("./node_modules/@angular/forms/fesm2020/forms.mjs"),Subscription=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subscription.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),isUndefined=__webpack_require__("./node_modules/lodash-es/isUndefined.js"),isNull=__webpack_require__("./node_modules/lodash-es/isNull.js");let AbstractDropdownView=class AbstractDropdownView{constructor(){this.type="single",this.size="md"}set items(value){}get items(){}getNextItem(){}hasNextElement(){}getNextElement(){}getPrevItem(){}hasPrevElement(){}getPrevElement(){}getSelected(){}getCurrentItem(){}getCurrentElement(){}getListItems(){}propagateSelected(value){}filterBy(value){}initFocus(){}onItemsReady(subcription){}reorderSelected(moveFocus){}};AbstractDropdownView.propDecorators={items:[{type:core.Input}],select:[{type:core.Output}],blurIntent:[{type:core.Output}]},AbstractDropdownView=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsAbstractDropdownView], [ibmAbstractDropdownView]"})],AbstractDropdownView);var i18n=__webpack_require__("./src/i18n/index.ts"),placeholder=__webpack_require__("./src/placeholder/index.ts"),utils_position=__webpack_require__("./node_modules/@carbon/utils-position/index.js"),utils=__webpack_require__("./src/utils/index.ts");const defaultOffset={top:0,left:0};let DropdownService=class DropdownService{constructor(placeholderService,animationFrameService){this.placeholderService=placeholderService,this.animationFrameService=animationFrameService,this.animationFrameSubscription=new Subscription.w0,this._offset=defaultOffset}set offset(value){this._offset=Object.assign({},defaultOffset,value)}get offset(){return this._offset}appendToBody(parentRef,menuRef,classList){menuRef.style.display="block";const dropdownWrapper=document.createElement("div");return dropdownWrapper.className=`dropdown ${classList}`,dropdownWrapper.style.width=parentRef.offsetWidth+"px",dropdownWrapper.style.position="absolute",dropdownWrapper.appendChild(menuRef),this.placeholderService.hasPlaceholderRef()?this.placeholderService.appendElement(dropdownWrapper):document.body.appendChild(dropdownWrapper),this.menuInstance=dropdownWrapper,this.animationFrameSubscription=this.animationFrameService.tick.subscribe((()=>{this.positionDropdown(parentRef,dropdownWrapper)})),this.positionDropdown(parentRef,dropdownWrapper),dropdownWrapper}appendToDropdown(hostRef){if(!this.menuInstance)return;const instance=this.menuInstance,menu=instance.firstElementChild;return this.menuInstance=null,menu.style.display="none",hostRef.appendChild(menu),this.animationFrameSubscription.unsubscribe(),this.placeholderService.hasPlaceholderRef()&&this.placeholderService.hasElement(instance)?this.placeholderService.removeElement(instance):document.body.contains(instance)&&document.body.removeChild(instance),instance}updatePosition(parentRef){this.positionDropdown(parentRef,this.menuInstance)}ngOnDestroy(){this.animationFrameSubscription.unsubscribe()}positionDropdown(parentRef,menuRef){if(!menuRef)return;let leftOffset=0;const boxMenu=menuRef.querySelector(".cds--list-box__menu");if(boxMenu)if(parentRef.getBoundingClientRect().left!==boxMenu.getBoundingClientRect().left){parentRef.getBoundingClientRect().left-boxMenu.getBoundingClientRect().left+boxMenu.getBoundingClientRect().right>(window.innerWidth||document.documentElement.clientWidth)&&(leftOffset=parentRef.offsetWidth-boxMenu.offsetWidth)}else boxMenu.getBoundingClientRect().right>(window.innerWidth||document.documentElement.clientWidth)&&(leftOffset=parentRef.offsetWidth-boxMenu.offsetWidth);const closestMenuWithPos=(0,utils._K)("position",["relative","fixed","absolute"],menuRef.parentElement),topPos=closestMenuWithPos?-1*closestMenuWithPos.getBoundingClientRect().top:this.offset.top,leftPos=closestMenuWithPos?-1*closestMenuWithPos.getBoundingClientRect().left:this.offset.left+leftOffset;let pos=utils_position.FK.findAbsolute(parentRef,menuRef,"bottom");pos=utils_position.FK.addOffset(pos,topPos,leftPos),utils_position.FK.setElement(menuRef,pos)}};DropdownService.ctorParameters=()=>[{type:placeholder.Q_},{type:utils.NV}],DropdownService=(0,tslib_es6.gn)([(0,core.Injectable)()],DropdownService);let Dropdown=class Dropdown{constructor(elementRef,i18n,dropdownService,elementService){this.elementRef=elementRef,this.i18n=i18n,this.dropdownService=dropdownService,this.elementService=elementService,this.id="dropdown-"+Dropdown.dropdownCount++,this.hideLabel=!1,this.placeholder="",this.displayValue="",this.clearText=this.i18n.get().DROPDOWN.CLEAR,this.size="md",this.type="single",this.theme="dark",this.disabled=!1,this.readonly=!1,this.skeleton=!1,this.inline=!1,this.disableArrowKeys=!1,this.invalid=!1,this.warn=!1,this.appendInline=null,this.selectionFeedback="top-after-reopen",this.menuButtonLabel=this.i18n.get().DROPDOWN.OPEN,this.selectedLabel=this.i18n.get().DROPDOWN.SELECTED,this.allowNullValues=!1,this.selected=new core.EventEmitter,this.onClose=new core.EventEmitter,this.close=new core.EventEmitter,this.hostClass=!0,this.hostWrapperClass=!0,this.fluid=!1,this.menuIsClosed=!0,this._dropUp=!1,this.noop=this._noop.bind(this),this.outsideClick=this._outsideClick.bind(this),this.outsideKey=this._outsideKey.bind(this),this.keyboardNav=this._keyboardNav.bind(this),this.visibilitySubscription=new Subscription.w0,this.onTouchedCallback=this._noop,this._isFocused=!1,this._writtenValue=[],this._isUsingNgControl=!1,this.propagateChange=_=>{}}get fluidInvalidClass(){return this.invalid&&this.fluid}get fluidFocusClass(){return this.fluid&&this._isFocused&&this.menuIsClosed}get writtenValue(){return this._writtenValue}set writtenValue(val){val&&0===val.length&&this.clearSelected(),this._writtenValue=val}get hasDecorator(){return!!this.decorator}ngOnInit(){this.view&&(this.view.type=this.type)}ngAfterContentInit(){if(!this.view)return;this.view.type=this.type,this.view.size=this.size;const isUpdate=event=>event&&event.isUpdate;this.selectionSubscription=this.view.select.subscribe((event=>{if("single"!==this.type||isUpdate(event)||Array.isArray(event)||(this.closeMenu(),event.item&&event.item.selected?this.itemValueKey?this._propagateChange(event.item[this.itemValueKey]):this._propagateChange(event.item):this._propagateChange(null)),"multi"===this.type&&!isUpdate(event))if(this.itemValueKey&&this.view.getSelected()){const values=this.view.getSelected().map((item=>item[this.itemValueKey]));this._propagateChange(values)}else this._propagateChange(this.view.getSelected());isUpdate(event)?this._isUsingNgControl&&this.writeValue(this.writtenValue):(this.checkForReorder(),this.selected.emit(event))}))}ngAfterViewInit(){null===this.appendInline&&(0,utils.OQ)(this.elementRef.nativeElement)?this.appendInline=!1:null===this.appendInline&&(this.appendInline=!0),this.checkForReorder()}ngOnDestroy(){this.appendInline||this._appendToDropdown(),this.visibilitySubscription?.unsubscribe(),this.selectionSubscription?.unsubscribe()}writeValue(value){this.writtenValue=value,this.view.onItemsReady((()=>{if((0,isUndefined.Z)(value)||(0,isNull.Z)(value)&&!this.allowNullValues)this.view.propagateSelected([value]);else if("single"===this.type)if(this.itemValueKey){const newValue=Object.assign({},this.view.getListItems().find((item=>item[this.itemValueKey]===value)));newValue.selected=!0,this.view.propagateSelected([newValue])}else this.view.propagateSelected([value]);else if(this.itemValueKey){let newValues=[];for(const v of value)for(const item of this.view.getListItems())item[this.itemValueKey]===v&&newValues.push(Object.assign({},item,{selected:!0}));this.view.propagateSelected(newValues)}else this.view.propagateSelected(value||[value]);this.checkForReorder()}))}onBlur(){this.onTouchedCallback()}registerOnChange(fn){this._isUsingNgControl=!0,this.propagateChange=fn}registerOnTouched(fn){this.onTouchedCallback=fn}_propagateChange(value){this.writtenValue=value,this.propagateChange(value)}setDisabledState(isDisabled){this.disabled=isDisabled}onKeyDown(event){if(!this.readonly){if("Escape"!==event.key||this.menuIsClosed||event.stopImmediatePropagation(),"Escape"===event.key)event.preventDefault(),this.closeMenu(),this.dropdownButton.nativeElement.focus();else if(this.menuIsClosed&&(" "===event.key||"ArrowDown"===event.key||"ArrowUp"===event.key)){if(this.disableArrowKeys&&("ArrowDown"===event.key||"ArrowUp"===event.key))return;event.preventDefault(),this.openMenu()}!this.menuIsClosed&&"Tab"===event.key&&this.dropdownMenu.nativeElement.contains(event.target)&&this.closeMenu(),!this.menuIsClosed&&"Tab"===event.key&&event.shiftKey&&this.closeMenu(),"multi"!==this.type&&this.menuIsClosed&&this.closedDropdownNavigation(event)}}closedDropdownNavigation(event){if("ArrowDown"===event.key){event.preventDefault(),this.view.getCurrentItem().selected=!1;let item=this.view.getNextItem();item&&(item.selected=!0)}else if("ArrowUp"===event.key){event.preventDefault(),this.view.getCurrentItem().selected=!1;let item=this.view.getPrevItem();item&&(item.selected=!0)}}getDisplayStringValue(){if(!this.view||this.skeleton)return;let selected=this.view.getSelected();return!selected.length||this.displayValue&&this.isRenderString()?selected.length&&this.isRenderString()?(0,of.of)(this.displayValue):(0,of.of)(this.placeholder):"multi"===this.type?(0,of.of)(this.placeholder):(0,of.of)(selected[0].content)}isRenderString(){return"string"==typeof this.displayValue}getRenderTemplateContext(){if(!this.view)return;let selected=this.view.getSelected();return"multi"===this.type?{items:selected}:selected&&selected.length>0?{item:selected[0]}:{}}getSelectedCount(){if(this.view.getSelected())return this.view.getSelected().length}clearSelected(){if(!this.disabled&&0!==this.getSelectedCount()){for(const item of this.view.getListItems())item.selected=!1;this.selected.emit([]),this._propagateChange([])}}valueSelected(){return!!this.view.getSelected()}_noop(){}_outsideClick(event){this.elementRef.nativeElement.contains(event.target)||this.dropdownMenu.nativeElement.contains(event.target)||this.closeMenu()}_outsideKey(event){!this.menuIsClosed&&"Tab"===event.key&&this.dropdownMenu.nativeElement.contains(event.target)&&this.closeMenu()}_keyboardNav(event){"Escape"!==event.key||this.menuIsClosed||event.stopImmediatePropagation(),"Escape"===event.key?(event.preventDefault(),this.closeMenu(),this.dropdownButton.nativeElement.focus()):this.menuIsClosed||"Tab"!==event.key||(this.dropdownButton.nativeElement.focus(),this.dropdownButton.nativeElement.dispatchEvent(new KeyboardEvent("keydown",{bubbles:!0,cancelable:!0,key:"Tab"})),this.closeMenu())}_appendToDropdown(){this.dropdownService.appendToDropdown(this.elementRef.nativeElement),this.dropdownMenu.nativeElement.removeEventListener("keydown",this.keyboardNav,!0)}_appendToBody(){const lightClass="light"===this.theme?" cds--list-box--light":"",expandedClass=this.menuIsClosed?"":" cds--list-box--expanded";this.dropdownService.appendToBody(this.dropdownButton.nativeElement,this.dropdownMenu.nativeElement,`${this.elementRef.nativeElement.className}${lightClass}${expandedClass}`),this.dropdownMenu.nativeElement.addEventListener("keydown",this.keyboardNav,!0)}_shouldDropUp(){const menu=this.dropdownMenu&&this.dropdownMenu.nativeElement.querySelector(".cds--list-box__menu"),menuRect=menu&&menu.getBoundingClientRect();if(menu&&menuRect){return(0,utils.O3)(menu).reduce(((shouldDropUp,parent)=>{const parentRect=parent.getBoundingClientRect(),isBelowParent=!(menuRect.bottom<=parentRect.bottom);return shouldDropUp||isBelowParent}),!1)}return!1}openMenu(){if(0!==this.view.getListItems().length){if(this._dropUp=!1,this.menuIsClosed=!1,!this.appendInline){const target=this.dropdownButton.nativeElement,parent=this.elementRef.nativeElement;this.visibilitySubscription=this.elementService.visibility(target,parent).subscribe((value=>{value.visible||this.closeMenu()})),this._appendToBody()}setTimeout((()=>{null!==this.dropUp&&void 0!==this.dropUp||(this._dropUp=this._shouldDropUp())}),0),document.body.firstElementChild.addEventListener("click",this.noop,!0),document.body.firstElementChild.addEventListener("keydown",this.noop,!0),document.addEventListener("click",this.outsideClick,!0),document.addEventListener("keydown",this.outsideKey,!0),setTimeout((()=>this.view.initFocus()),0)}}closeMenu(){this.menuIsClosed||(this.menuIsClosed=!0,this.checkForReorder(),this.onClose.emit(),this.close.emit(),this.dropdownButton.nativeElement.focus(),this.view.disableScroll&&this.view.disableScroll(),this.appendInline||(this.visibilitySubscription.unsubscribe(),this._appendToDropdown()),document.body.firstElementChild.removeEventListener("click",this.noop,!0),document.body.firstElementChild.removeEventListener("keydown",this.noop,!0),document.removeEventListener("click",this.outsideClick,!0),document.removeEventListener("keydown",this.outsideKey,!0))}toggleMenu(){this.menuIsClosed?this.openMenu():this.closeMenu()}isTemplate(value){return value instanceof core.TemplateRef}handleFocus(event){this._isFocused="focus"===event.type,"blur"===event.type&&this.onBlur()}checkForReorder(){const topAfterReopen=this.menuIsClosed&&"top-after-reopen"===this.selectionFeedback;"multi"!==this.type||!topAfterReopen&&"top"!==this.selectionFeedback||this.view.reorderSelected()}};Dropdown.dropdownCount=0,Dropdown.ctorParameters=()=>[{type:core.ElementRef},{type:i18n.oc},{type:DropdownService},{type:utils.d2}],Dropdown.propDecorators={fluidInvalidClass:[{type:core.HostBinding,args:["class.cds--list-box__wrapper--fluid--invalid"]}],fluidFocusClass:[{type:core.HostBinding,args:["class.cds--list-box__wrapper--fluid--focus"]}],id:[{type:core.Input}],label:[{type:core.Input}],hideLabel:[{type:core.Input}],helperText:[{type:core.Input}],decorator:[{type:core.Input}],placeholder:[{type:core.Input}],displayValue:[{type:core.Input}],clearText:[{type:core.Input}],size:[{type:core.Input}],type:[{type:core.Input}],theme:[{type:core.Input}],disabled:[{type:core.Input}],readonly:[{type:core.Input}],skeleton:[{type:core.Input}],inline:[{type:core.Input}],disableArrowKeys:[{type:core.Input}],invalid:[{type:core.Input}],invalidText:[{type:core.Input}],warn:[{type:core.Input}],warnText:[{type:core.Input}],appendInline:[{type:core.Input}],scrollableContainer:[{type:core.Input}],itemValueKey:[{type:core.Input}],selectionFeedback:[{type:core.Input}],menuButtonLabel:[{type:core.Input}],selectedLabel:[{type:core.Input}],dropUp:[{type:core.Input}],allowNullValues:[{type:core.Input}],selected:[{type:core.Output}],onClose:[{type:core.Output}],close:[{type:core.Output}],view:[{type:core.ContentChild,args:[AbstractDropdownView,{static:!0}]}],dropdownButton:[{type:core.ViewChild,args:["dropdownButton",{static:!0}]}],dropdownMenu:[{type:core.ViewChild,args:["dropdownMenu",{static:!0}]}],hostClass:[{type:core.HostBinding,args:["class.cds--dropdown__wrapper"]}],hostWrapperClass:[{type:core.HostBinding,args:["class.cds--list-box__wrapper"]}],hasDecorator:[{type:core.HostBinding,args:["class.cds--list-box__wrapper--decorator"]}],fluid:[{type:core.HostBinding,args:["class.cds--list-box__wrapper--fluid"]},{type:core.Input}],onKeyDown:[{type:core.HostListener,args:["keydown",["$event"]]}]},Dropdown=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-dropdown, ibm-dropdown",template:'\n\t<label\n\t\t*ngIf="label && !skeleton"\n\t\t[for]="id"\n\t\tclass="cds--label"\n\t\t[ngClass]="{\n\t\t\t\'cds--label--disabled\': disabled,\n\t\t\t\'cds--visually-hidden\': hideLabel\n\t\t}">\n\t\t<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>\n\t\t<ng-template *ngIf="isTemplate(label)" [ngTemplateOutlet]="label"></ng-template>\n\t</label>\n\t<div\n\t\tclass="cds--list-box"\n\t\t[ngClass]="{\n\t\t\t\'cds--dropdown\': type !== \'multi\' && !(skeleton && fluid),\n\t\t\t\'cds--multiselect\': type === \'multi\',\n\t\t\t\'cds--multi-select--selected\': type === \'multi\' && getSelectedCount() > 0,\n\t\t\t\'cds--dropdown--light\': theme === \'light\',\n\t\t\t\'cds--list-box--light\': theme === \'light\',\n\t\t\t\'cds--list-box--inline\': inline,\n\t\t\t\'cds--skeleton\': skeleton,\n\t\t\t\'cds--dropdown--disabled cds--list-box--disabled\': disabled,\n\t\t\t\'cds--dropdown--readonly\': readonly,\n\t\t\t\'cds--dropdown--invalid\': invalid,\n\t\t\t\'cds--dropdown--warning cds--list-box--warning\': warn,\n\t\t\t\'cds--dropdown--sm cds--list-box--sm\': size === \'sm\',\n\t\t\t\'cds--dropdown--md cds--list-box--md\': size === \'md\',\n\t\t\t\'cds--dropdown--lg cds--list-box--lg\': size === \'lg\',\n\t\t\t\'cds--list-box--expanded\': !menuIsClosed,\n\t\t\t\'cds--list-box--invalid\': invalid\n\t\t}"\n\t\t[attr.data-invalid]="invalid ? true : null">\n\t\t<div *ngIf="skeleton && fluid" class="cds--list-box__label"></div>\n\t\t<button\n\t\t\t#dropdownButton\n\t\t\t[id]="id"\n\t\t\ttype="button"\n\t\t\tclass="cds--list-box__field"\n\t\t\t[ngClass]="{\'a\': !menuIsClosed}"\n\t\t\t[attr.aria-expanded]="!menuIsClosed"\n\t\t\t[attr.aria-disabled]="disabled"\n\t\t\taria-haspopup="listbox"\n\t\t\t(click)="disabled || readonly ? $event.stopPropagation() : toggleMenu()"\n\t\t\t(focus)="fluid ? handleFocus($event) : null"\n\t\t\t(blur)="fluid ? handleFocus($event) : onBlur()"\n\t\t\t[attr.disabled]="disabled ? true : null">\n\t\t\t<div\n\t\t\t\t(click)="clearSelected()"\n\t\t\t\t(keydown.enter)="clearSelected()"\n\t\t\t\t*ngIf="type === \'multi\' && getSelectedCount() > 0"\n\t\t\t\tclass="cds--list-box__selection cds--tag--filter cds--list-box__selection--multi"\n\t\t\t\ttabindex="0"\n\t\t\t\t[title]="clearText">\n\t\t\t\t{{getSelectedCount()}}\n\t\t\t\t<svg\n\t\t\t\t\tfocusable="false"\n\t\t\t\t\tpreserveAspectRatio="xMidYMid meet"\n\t\t\t\t\tstyle="will-change: transform;"\n\t\t\t\t\trole="img"\n\t\t\t\t\txmlns="http://www.w3.org/2000/svg"\n\t\t\t\t\twidth="16"\n\t\t\t\t\theight="16"\n\t\t\t\t\tviewBox="0 0 16 16"\n\t\t\t\t\taria-hidden="true">\n\t\t\t\t\t<path d="M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<span *ngIf="isRenderString()" class="cds--list-box__label">{{getDisplayStringValue() | async}}</span>\n\t\t\t<ng-template\n\t\t\t\t*ngIf="!isRenderString()"\n\t\t\t\t[ngTemplateOutletContext]="getRenderTemplateContext()"\n\t\t\t\t[ngTemplateOutlet]="displayValue">\n\t\t\t</ng-template>\n\t\t\t<span class="cds--list-box__menu-icon">\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf="!skeleton"\n\t\t\t\t\tcdsIcon="chevron--down"\n\t\t\t\t\tsize="16"\n\t\t\t\t\t[attr.aria-label]="menuButtonLabel"\n\t\t\t\t\t[ngClass]="{\'cds--list-box__menu-icon--open\': !menuIsClosed }">\n\t\t\t\t</svg>\n\t\t\t</span>\n\t\t</button>\n\t\t<ng-container *ngIf="decorator">\n\t\t\t<div class="cds--list-box__inner-wrapper--decorator">\n\t\t\t\t<ng-template [ngTemplateOutlet]="decorator"></ng-template>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<svg\n\t\t\t*ngIf="invalid"\n\t\t\tclass="cds--list-box__invalid-icon"\n\t\t\tcdsIcon="warning--filled"\n\t\t\tsize="16">\n\t\t</svg>\n\t\t<svg\n\t\t\t*ngIf="!invalid && warn"\n\t\t\tcdsIcon="warning--alt--filled"\n\t\t\tsize="16"\n\t\t\tclass="cds--list-box__invalid-icon cds--list-box__invalid-icon--warning">\n\t\t</svg>\n\t\t<div\n\t\t\t#dropdownMenu\n\t\t\t[ngClass]="{\n\t\t\t\t\'cds--list-box--up\': this.dropUp !== null && this.dropUp !== undefined ? dropUp : _dropUp\n\t\t\t}">\n\t\t\t<ng-content *ngIf="!menuIsClosed"></ng-content>\n\t\t</div>\n\t</div>\n\t<hr *ngIf="fluid" class="cds--list-box__divider" />\n\t<div\n\t\t*ngIf="helperText && !invalid && !warn && !skeleton && !fluid"\n\t\tclass="cds--form__helper-text"\n\t\t[ngClass]="{\n\t\t\t\'cds--form__helper-text--disabled\': disabled\n\t\t}">\n\t\t<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>\n\t\t<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>\n\t</div>\n\t<div *ngIf="invalid" class="cds--form-requirement">\n\t\t<ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>\n\t\t<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>\n\t</div>\n\t<div *ngIf="!invalid && warn" class="cds--form-requirement">\n\t\t<ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>\n\t\t<ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>\n\t</div>\n\t',providers:[{provide:fesm2020_forms.JU,useExisting:Dropdown,multi:!0}]})],Dropdown);var isObservable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isObservable.js"),Observable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),first=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/first.js"),fromEvent=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js"),debounceTime=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js"),map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),filter=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/filter.js");let DropdownList=class DropdownList{constructor(elementRef,i18n,appRef){this.elementRef=elementRef,this.i18n=i18n,this.appRef=appRef,this.ariaLabel=this.i18n.get().DROPDOWN_LIST.LABEL,this.listTpl=null,this.select=new core.EventEmitter,this.scroll=new core.EventEmitter,this.blurIntent=new core.EventEmitter,this.type="single",this.showTitles=!0,this.size="md",this.listId="listbox-"+DropdownList.listCount++,this.highlightedItem=null,this.displayItems=[],this.index=-1,this._items=[]}set items(value){(0,isObservable.b)(value)?(this._itemsSubscription&&this._itemsSubscription.unsubscribe(),this._itemsReady=new Observable.y((observer=>{this._itemsSubscription=value.subscribe((v=>{this.updateList(v),observer.next(!0),observer.complete()}))})),this.onItemsReady(null)):this.updateList(value),this._originalItems=value}get items(){return this._originalItems}ngAfterViewInit(){this.index=this.getListItems().findIndex((item=>item.selected)),this.setupFocusObservable(),setTimeout((()=>{this.doEmitSelect(!0)}))}ngOnDestroy(){this.focusJump&&this.focusJump.unsubscribe(),this._itemsSubscription&&this._itemsSubscription.unsubscribe()}doEmitSelect(isUpdate=!0){if("single"===this.type)this.select.emit({item:this._items.find((item=>item.selected)),isUpdate});else{const selected=this.getSelected()||[];selected.isUpdate=isUpdate,this.select.emit(selected)}}getItemId(index){return`${this.listId}-${index}`}updateList(items){this._items=items.map((item=>Object.assign({},item))),this.displayItems=this._items,this.updateIndex(),this.setupFocusObservable(),this.doEmitSelect()}filterBy(query=""){query?(this.displayItems=this.getListItems().filter((item=>item.content.toLowerCase().includes(query.toLowerCase()))),this.displayItems&&(this.index=0)):this.displayItems=this.getListItems(),this.updateIndex()}setupFocusObservable(){if(!this.list)return;this.focusJump&&this.focusJump.unsubscribe();let elList=Array.from(this.list.nativeElement.querySelectorAll("li"));this.focusJump=function watchFocusJump(target,elements){return(0,fromEvent.R)(target,"keydown").pipe((0,debounceTime.b)(150),(0,map.U)((ev=>{let el=elements.find((itemEl=>itemEl.textContent.trim().toLowerCase().startsWith(ev.key)));if(el)return el})),(0,filter.h)((el=>!!el)))}(this.list.nativeElement,elList).subscribe((el=>{el.focus()}))}getNextItem(){return this.index<this.displayItems.length-1&&this.index++,this.displayItems[this.index]}hasNextElement(){return this.index<this.displayItems.length-1&&(!(this.index===this.displayItems.length-2)||!this.displayItems[this.index+1].disabled)}getNextElement(){const elemList=this.listElementList?this.listElementList.toArray():[];if(!elemList.length)return null;for(let i=this.index+1;i<elemList.length;i++)if(!this.displayItems[i].disabled)return this.index=i,elemList[i].nativeElement;return elemList[this.index]?.nativeElement}getPrevItem(){return this.index>0&&this.index--,this.displayItems[this.index]}hasPrevElement(){return this.index>0&&(!(1===this.index)||!this.displayItems[0].disabled)}getPrevElement(){const elemList=this.listElementList?this.listElementList.toArray():[];if(!elemList.length)return null;for(let i=this.index-1;i<this.index&&i>=0;i--)if(!this.displayItems[i].disabled)return this.index=i,elemList[i].nativeElement;return elemList[this.index].nativeElement}getCurrentItem(){return this.index<0?this.displayItems[0]:this.displayItems[this.index]}getCurrentElement(){return this.index<0?this.listElementList.first.nativeElement:this.listElementList.toArray()[this.index].nativeElement}getListItems(){return this._items}getSelected(){let selected=this.getListItems().filter((item=>item.selected));return 0===selected.length?[]:selected}propagateSelected(value){Array.isArray(value)||console.error(`${this.constructor.name}.propagateSelected expects an Array<ListItem>, got ${JSON.stringify(value)}`),this.onItemsReady((()=>{const selectedNewItems=[];for(let newItem of value)if(newItem&&newItem.selected){let tempNewItem=Object.assign({},newItem);delete tempNewItem.selected,tempNewItem=JSON.stringify(tempNewItem),selectedNewItems.push(tempNewItem)}for(let oldItem of this.getListItems()){if(0===selectedNewItems.length){oldItem.selected=!1;continue}let tempOldItem=Object.assign({},oldItem);delete tempOldItem.selected,tempOldItem=JSON.stringify(tempOldItem);for(let selectedNewItem of selectedNewItems){if(tempOldItem.includes(selectedNewItem)){oldItem.selected=!0;break}oldItem.selected=!1}}}))}initFocus(){this.index<0&&this.updateIndex(),this.list.nativeElement.focus(),setTimeout((()=>{this.highlightedItem=this.getItemId(this.index)}))}updateIndex(){const selected=this.getSelected();selected.length?this.index=this.displayItems.indexOf(selected[0]):this.index<0&&this.hasNextElement()&&this.getNextElement()}navigateList(event){"Enter"===event.key||" "===event.key?(this.listElementList.some((option=>option.nativeElement===event.target))&&event.preventDefault(),"Enter"===event.key&&this.doClick(event,this.getCurrentItem())):"ArrowDown"!==event.key&&"ArrowUp"!==event.key||(event.preventDefault(),"ArrowDown"===event.key?this.hasNextElement()?this.getNextElement()?.scrollIntoView({block:"end"}):this.blurIntent.emit("bottom"):"ArrowUp"===event.key&&(this.hasPrevElement()?this.getPrevElement().scrollIntoView({block:"nearest"}):this.blurIntent.emit("top")),setTimeout((()=>{this.highlightedItem=this.getItemId(this.index)})))}doClick(event,item){if(event.preventDefault(),item&&!item.disabled){if(this.list.nativeElement.focus(),"single"===this.type){item.selected=!0;for(let otherItem of this.getListItems())item!==otherItem&&(otherItem.selected=!1)}else item.selected=!item.selected;this.index=this.displayItems.indexOf(item),this.highlightedItem=this.getItemId(this.index),this.doEmitSelect(!1),this.appRef.tick()}}onItemFocus(index){const element=this.listElementList.toArray()[index].nativeElement;element.classList.add("cds--list-box__menu-item--highlighted"),element.tabIndex=0}onItemBlur(index){const element=this.listElementList.toArray()[index].nativeElement;element.classList.remove("cds--list-box__menu-item--highlighted"),element.tabIndex=-1}emitScroll(event){const customScrollEvent={atTop:0===event.srcElement.scrollTop,atBottom:event.srcElement.scrollHeight-event.srcElement.scrollTop===event.srcElement.clientHeight,event};this.scroll.emit(customScrollEvent)}onItemsReady(subcription){(this._itemsReady||(0,of.of)(!0)).pipe((0,first.P)()).subscribe(subcription)}reorderSelected(moveFocus=!0){this.displayItems=[...this.getSelected(),...this.getListItems().filter((item=>!item.selected))],moveFocus&&setTimeout((()=>{this.updateIndex(),this.highlightedItem=this.getItemId(this.index)}))}};DropdownList.listCount=0,DropdownList.ctorParameters=()=>[{type:core.ElementRef},{type:i18n.oc},{type:core.ApplicationRef}],DropdownList.propDecorators={ariaLabel:[{type:core.Input}],items:[{type:core.Input}],listTpl:[{type:core.Input}],select:[{type:core.Output}],scroll:[{type:core.Output}],blurIntent:[{type:core.Output}],list:[{type:core.ViewChild,args:["list",{static:!0}]}],type:[{type:core.Input}],showTitles:[{type:core.Input}],listElementList:[{type:core.ViewChildren,args:["listItem"]}]},DropdownList=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-dropdown-list, ibm-dropdown-list",template:'\n\t\t<ul\n\t\t\t#list\n\t\t\t[id]="listId"\n\t\t\trole="listbox"\n\t\t\tclass="cds--list-box__menu cds--multi-select"\n\t\t\t(scroll)="emitScroll($event)"\n\t\t\t(keydown)="navigateList($event)"\n\t\t\ttabindex="0"\n\t\t\t[attr.aria-label]="ariaLabel"\n\t\t\t[attr.aria-activedescendant]="highlightedItem">\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\tclass="cds--list-box__menu-item"\n\t\t\t\t[attr.aria-selected]="item.selected"\n\t\t\t\t[id]="getItemId(i)"\n\t\t\t\t[attr.tabindex]="highlightedItem === getItemId(i) ? 0 : null"\n\t\t\t\t[attr.title]=" showTitles ? item.content : null"\n\t\t\t\t[attr.disabled]="item.disabled ? true : null"\n\t\t\t\t[ngClass]="{\n\t\t\t\t\t\'cds--list-box__menu-item--active\': item.selected,\n\t\t\t\t\t\'cds--list-box__menu-item--highlighted\': highlightedItem === getItemId(i)\n\t\t\t\t}">\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="cds--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="cds--form-item cds--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="cds--checkbox-label">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass="cds--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="cds--checkbox-appearance"></span>\n\t\t\t\t\t\t\t<span class="cds--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<svg\n\t\t\t\t\t\t*ngIf="!listTpl && type === \'single\'"\n\t\t\t\t\t\tcdsIcon="checkmark"\n\t\t\t\t\t\tsize="16"\n\t\t\t\t\t\tclass="cds--list-box__menu-item__selected-icon">\n\t\t\t\t\t</svg>\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:AbstractDropdownView,useExisting:DropdownList}]})],DropdownList);let ScrollableList=class ScrollableList{constructor(elementRef){this.elementRef=elementRef,this.nScrollableList=null,this.scrollEnabled=!0,this.scrollBy=10,this.canScrollUp=!1,this.canScrollDown=!1,this.list=this.elementRef.nativeElement}ngOnChanges(changes){changes.scrollEnabled&&(changes.scrollEnabled.currentValue?(this.list.style.overflow="hidden",this.scrollUpTarget.style.display="flex",this.scrollDownTarget.style.display="flex",this.canScrollUp=!0,this.canScrollDown=!0,this.updateScrollHeight(),this.checkScrollArrows(),setTimeout((()=>{this.checkScrollArrows()}))):(this.scrollUpTarget.style.display="none",this.scrollDownTarget.style.display="none",this.canScrollUp=!1,this.canScrollDown=!1,this.list.style.height=null,this.list.style.overflow=null,clearInterval(this.hoverScrollInterval)))}ngAfterViewInit(){this.nScrollableList&&(this.list=this.elementRef.nativeElement.querySelector(this.nScrollableList)),this.scrollUpTarget.addEventListener("mouseover",(()=>this.onHoverUp(!0))),this.scrollUpTarget.addEventListener("mouseout",(()=>this.onHoverUp(!1))),this.scrollDownTarget.addEventListener("mouseover",(()=>this.onHoverDown(!0))),this.scrollDownTarget.addEventListener("mouseout",(()=>this.onHoverDown(!1)))}updateScrollHeight(){if(this.scrollEnabled){const containerRect=this.elementRef.nativeElement.parentElement.getBoundingClientRect(),innerHeightDiff=this.list.getBoundingClientRect().top-containerRect.top,height=containerRect.height-(containerRect.bottom-window.innerHeight)-innerHeightDiff-40;this.list.style.height=`${height}px`}}checkScrollArrows(){const scrollUpHeight=this.scrollUpTarget.offsetHeight,scrollDownHeight=this.scrollDownTarget.offsetHeight;0===this.list.scrollTop?(this.canScrollUp&&(this.list.style.height=`${parseInt(this.list.style.height,10)+scrollUpHeight}px`),this.scrollUpTarget.style.display="none",this.canScrollUp=!1):this.list.scrollTop===this.list.scrollTopMax?(this.canScrollDown&&(this.list.style.height=`${parseInt(this.list.style.height,10)+scrollDownHeight}px`),this.scrollDownTarget.style.display="none",this.canScrollDown=!1):(this.canScrollUp||(this.list.style.height=parseInt(this.list.style.height,10)-scrollUpHeight+"px"),this.canScrollDown||(this.list.style.height=parseInt(this.list.style.height,10)-scrollDownHeight+"px"),this.scrollUpTarget.style.display="flex",this.scrollDownTarget.style.display="flex",this.canScrollUp=!0,this.canScrollDown=!0)}onWheel(event){event.deltaY<0?this.list.scrollTop-=this.scrollBy:this.list.scrollTop+=this.scrollBy,this.list.scrollTop!==this.list.scrollTopMax&&0!==this.list.scrollTop&&(event.preventDefault(),event.stopPropagation()),this.checkScrollArrows()}onTouchStart(event){event.touches[0]&&(this.lastTouch=event.touches[0].clientY)}onTouchMove(event){if(event.preventDefault(),event.stopPropagation(),event.touches[0]){const touch=event.touches[0];this.list.scrollTop+=this.lastTouch-touch.clientY,this.lastTouch=touch.clientY,this.checkScrollArrows()}}hoverScrollBy(hovering,amount){hovering?this.hoverScrollInterval=setInterval((()=>{this.list.scrollTop+=amount,this.checkScrollArrows()}),1):clearInterval(this.hoverScrollInterval)}onHoverUp(hovering){this.hoverScrollBy(hovering,-3)}onHoverDown(hovering){this.hoverScrollBy(hovering,3)}onKeyDown(event){"ArrowDown"!==event.key&&"ArrowUp"!==event.key||this.checkScrollArrows()}};ScrollableList.ctorParameters=()=>[{type:core.ElementRef}],ScrollableList.propDecorators={nScrollableList:[{type:core.Input}],scrollEnabled:[{type:core.Input}],scrollUpTarget:[{type:core.Input}],scrollDownTarget:[{type:core.Input}],scrollBy:[{type:core.Input}],onWheel:[{type:core.HostListener,args:["wheel",["$event"]]}],onTouchStart:[{type:core.HostListener,args:["touchstart",["$event"]]}],onTouchMove:[{type:core.HostListener,args:["touchmove",["$event"]]}],onKeyDown:[{type:core.HostListener,args:["keydown",["$event"]]}]},ScrollableList=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsScrollableList], [ibmScrollableList]",exportAs:"scrollable-list"})],ScrollableList);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),icon=__webpack_require__("./src/icon/index.ts");let DropdownModule=class DropdownModule{};DropdownModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[Dropdown,DropdownList,ScrollableList,AbstractDropdownView],exports:[Dropdown,DropdownList,ScrollableList,AbstractDropdownView],imports:[common.CommonModule,fesm2020_forms.u5,i18n.LU,placeholder.Qq,utils.As,icon.QX],providers:[DropdownService]})],DropdownModule)}}]);
1
+ "use strict";(self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[]).push([[3224],{"./src/dropdown/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{jq:()=>AbstractDropdownView,Lt:()=>Dropdown,kW:()=>DropdownModule,Vn:()=>DropdownService});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),fesm2020_forms=__webpack_require__("./node_modules/@angular/forms/fesm2020/forms.mjs"),Subscription=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subscription.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),isUndefined=__webpack_require__("./node_modules/lodash-es/isUndefined.js"),isNull=__webpack_require__("./node_modules/lodash-es/isNull.js");let AbstractDropdownView=class AbstractDropdownView{constructor(){this.type="single",this.size="md"}set items(value){}get items(){}getNextItem(){}hasNextElement(){}getNextElement(){}getPrevItem(){}hasPrevElement(){}getPrevElement(){}getSelected(){}getCurrentItem(){}getCurrentElement(){}getListItems(){}propagateSelected(value){}filterBy(value){}initFocus(){}onItemsReady(subcription){}reorderSelected(moveFocus){}};AbstractDropdownView.propDecorators={items:[{type:core.Input}],select:[{type:core.Output}],blurIntent:[{type:core.Output}]},AbstractDropdownView=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsAbstractDropdownView], [ibmAbstractDropdownView]"})],AbstractDropdownView);var i18n=__webpack_require__("./src/i18n/index.ts"),placeholder=__webpack_require__("./src/placeholder/index.ts"),utils_position=__webpack_require__("./node_modules/@carbon/utils-position/index.js"),utils=__webpack_require__("./src/utils/index.ts");const defaultOffset={top:0,left:0};let DropdownService=class DropdownService{constructor(placeholderService,animationFrameService){this.placeholderService=placeholderService,this.animationFrameService=animationFrameService,this.animationFrameSubscription=new Subscription.w0,this._offset=defaultOffset}set offset(value){this._offset=Object.assign({},defaultOffset,value)}get offset(){return this._offset}appendToBody(parentRef,menuRef,classList){menuRef.style.display="block";const dropdownWrapper=document.createElement("div");return dropdownWrapper.className=`dropdown ${classList}`,dropdownWrapper.style.width=parentRef.offsetWidth+"px",dropdownWrapper.style.position="absolute",dropdownWrapper.appendChild(menuRef),this.placeholderService.hasPlaceholderRef()?this.placeholderService.appendElement(dropdownWrapper):document.body.appendChild(dropdownWrapper),this.menuInstance=dropdownWrapper,this.animationFrameSubscription=this.animationFrameService.tick.subscribe((()=>{this.positionDropdown(parentRef,dropdownWrapper)})),this.positionDropdown(parentRef,dropdownWrapper),dropdownWrapper}appendToDropdown(hostRef){if(!this.menuInstance)return;const instance=this.menuInstance,menu=instance.firstElementChild;return this.menuInstance=null,menu.style.display="none",hostRef.appendChild(menu),this.animationFrameSubscription.unsubscribe(),this.placeholderService.hasPlaceholderRef()&&this.placeholderService.hasElement(instance)?this.placeholderService.removeElement(instance):document.body.contains(instance)&&document.body.removeChild(instance),instance}updatePosition(parentRef){this.positionDropdown(parentRef,this.menuInstance)}ngOnDestroy(){this.animationFrameSubscription.unsubscribe()}positionDropdown(parentRef,menuRef){if(!menuRef)return;let leftOffset=0;const boxMenu=menuRef.querySelector(".cds--list-box__menu");if(boxMenu)if(parentRef.getBoundingClientRect().left!==boxMenu.getBoundingClientRect().left){parentRef.getBoundingClientRect().left-boxMenu.getBoundingClientRect().left+boxMenu.getBoundingClientRect().right>(window.innerWidth||document.documentElement.clientWidth)&&(leftOffset=parentRef.offsetWidth-boxMenu.offsetWidth)}else boxMenu.getBoundingClientRect().right>(window.innerWidth||document.documentElement.clientWidth)&&(leftOffset=parentRef.offsetWidth-boxMenu.offsetWidth);const closestMenuWithPos=(0,utils._K)("position",["relative","fixed","absolute"],menuRef.parentElement),topPos=closestMenuWithPos?-1*closestMenuWithPos.getBoundingClientRect().top:this.offset.top,leftPos=closestMenuWithPos?-1*closestMenuWithPos.getBoundingClientRect().left:this.offset.left+leftOffset;let pos=utils_position.FK.findAbsolute(parentRef,menuRef,"bottom");pos=utils_position.FK.addOffset(pos,topPos,leftPos),utils_position.FK.setElement(menuRef,pos)}};DropdownService.ctorParameters=()=>[{type:placeholder.Q_},{type:utils.NV}],DropdownService=(0,tslib_es6.gn)([(0,core.Injectable)()],DropdownService);let Dropdown=class Dropdown{constructor(elementRef,i18n,dropdownService,elementService){this.elementRef=elementRef,this.i18n=i18n,this.dropdownService=dropdownService,this.elementService=elementService,this.id="dropdown-"+Dropdown.dropdownCount++,this.hideLabel=!1,this.placeholder="",this.displayValue="",this.clearText=this.i18n.get().DROPDOWN.CLEAR,this.size="md",this.type="single",this.theme="dark",this.disabled=!1,this.readonly=!1,this.skeleton=!1,this.inline=!1,this.disableArrowKeys=!1,this.invalid=!1,this.warn=!1,this.appendInline=null,this.selectionFeedback="top-after-reopen",this.menuButtonLabel=this.i18n.get().DROPDOWN.OPEN,this.selectedLabel=this.i18n.get().DROPDOWN.SELECTED,this.allowNullValues=!1,this.selected=new core.EventEmitter,this.onClose=new core.EventEmitter,this.close=new core.EventEmitter,this.hostClass=!0,this.hostWrapperClass=!0,this.fluid=!1,this.menuIsClosed=!0,this._dropUp=!1,this.noop=this._noop.bind(this),this.outsideClick=this._outsideClick.bind(this),this.outsideKey=this._outsideKey.bind(this),this.keyboardNav=this._keyboardNav.bind(this),this.visibilitySubscription=new Subscription.w0,this.onTouchedCallback=this._noop,this._isFocused=!1,this._writtenValue=[],this._isUsingNgControl=!1,this.propagateChange=_=>{}}get fluidInvalidClass(){return this.invalid&&this.fluid}get fluidFocusClass(){return this.fluid&&this._isFocused&&this.menuIsClosed}get hasDecorator(){return!!this.decorator}get writtenValue(){return this._writtenValue}set writtenValue(val){val&&0===val.length&&this.clearSelected(),this._writtenValue=val}ngOnInit(){this.view&&(this.view.type=this.type)}ngAfterContentInit(){if(!this.view)return;this.view.type=this.type,this.view.size=this.size;const isUpdate=event=>event&&event.isUpdate;this.selectionSubscription=this.view.select.subscribe((event=>{if("single"!==this.type||isUpdate(event)||Array.isArray(event)||(this.closeMenu(),event.item&&event.item.selected?this.itemValueKey?this._propagateChange(event.item[this.itemValueKey]):this._propagateChange(event.item):this._propagateChange(null)),"multi"===this.type&&!isUpdate(event))if(this.itemValueKey&&this.view.getSelected()){const values=this.view.getSelected().map((item=>item[this.itemValueKey]));this._propagateChange(values)}else this._propagateChange(this.view.getSelected());isUpdate(event)?this._isUsingNgControl&&this.writeValue(this.writtenValue):(this.checkForReorder(),this.selected.emit(event))}))}ngAfterViewInit(){null===this.appendInline&&(0,utils.OQ)(this.elementRef.nativeElement)?this.appendInline=!1:null===this.appendInline&&(this.appendInline=!0),this.checkForReorder()}ngOnDestroy(){this.appendInline||this._appendToDropdown(),this.visibilitySubscription?.unsubscribe(),this.selectionSubscription?.unsubscribe()}writeValue(value){this.writtenValue=value,this.view.onItemsReady((()=>{if((0,isUndefined.Z)(value)||(0,isNull.Z)(value)&&!this.allowNullValues)this.view.propagateSelected([value]);else if("single"===this.type)if(this.itemValueKey){const newValue=Object.assign({},this.view.getListItems().find((item=>item[this.itemValueKey]===value)));newValue.selected=!0,this.view.propagateSelected([newValue])}else this.view.propagateSelected([value]);else if(this.itemValueKey){let newValues=[];for(const v of value)for(const item of this.view.getListItems())item[this.itemValueKey]===v&&newValues.push(Object.assign({},item,{selected:!0}));this.view.propagateSelected(newValues)}else this.view.propagateSelected(value||[value]);this.checkForReorder()}))}onBlur(){this.onTouchedCallback()}registerOnChange(fn){this._isUsingNgControl=!0,this.propagateChange=fn}registerOnTouched(fn){this.onTouchedCallback=fn}setDisabledState(isDisabled){this.disabled=isDisabled}onKeyDown(event){if(!this.readonly){if("Escape"!==event.key||this.menuIsClosed||event.stopImmediatePropagation(),"Escape"===event.key)event.preventDefault(),this.closeMenu(),this.dropdownButton.nativeElement.focus();else if(this.menuIsClosed&&(" "===event.key||"ArrowDown"===event.key||"ArrowUp"===event.key)){if(this.disableArrowKeys&&("ArrowDown"===event.key||"ArrowUp"===event.key))return;event.preventDefault(),this.openMenu()}!this.menuIsClosed&&"Tab"===event.key&&this.dropdownMenu.nativeElement.contains(event.target)&&this.closeMenu(),!this.menuIsClosed&&"Tab"===event.key&&event.shiftKey&&this.closeMenu(),"multi"!==this.type&&this.menuIsClosed&&this.closedDropdownNavigation(event)}}closedDropdownNavigation(event){if("ArrowDown"===event.key){event.preventDefault(),this.view.getCurrentItem().selected=!1;let item=this.view.getNextItem();item&&(item.selected=!0)}else if("ArrowUp"===event.key){event.preventDefault(),this.view.getCurrentItem().selected=!1;let item=this.view.getPrevItem();item&&(item.selected=!0)}}getDisplayStringValue(){if(!this.view||this.skeleton)return;let selected=this.view.getSelected();return!selected.length||this.displayValue&&this.isRenderString()?selected.length&&this.isRenderString()?(0,of.of)(this.displayValue):(0,of.of)(this.placeholder):"multi"===this.type?(0,of.of)(this.placeholder):(0,of.of)(selected[0].content)}isRenderString(){return"string"==typeof this.displayValue}getRenderTemplateContext(){if(!this.view)return;let selected=this.view.getSelected();return"multi"===this.type?{items:selected}:selected&&selected.length>0?{item:selected[0]}:{}}getSelectedCount(){if(this.view.getSelected())return this.view.getSelected().length}clearSelected(){if(!this.disabled&&0!==this.getSelectedCount()){for(const item of this.view.getListItems())item.selected=!1;this.selected.emit([]),this._propagateChange([])}}valueSelected(){return!!this.view.getSelected()}_noop(){}_outsideClick(event){this.elementRef.nativeElement.contains(event.target)||this.dropdownMenu.nativeElement.contains(event.target)||this.closeMenu()}_outsideKey(event){!this.menuIsClosed&&"Tab"===event.key&&this.dropdownMenu.nativeElement.contains(event.target)&&this.closeMenu()}_keyboardNav(event){"Escape"!==event.key||this.menuIsClosed||event.stopImmediatePropagation(),"Escape"===event.key?(event.preventDefault(),this.closeMenu(),this.dropdownButton.nativeElement.focus()):this.menuIsClosed||"Tab"!==event.key||(this.dropdownButton.nativeElement.focus(),this.dropdownButton.nativeElement.dispatchEvent(new KeyboardEvent("keydown",{bubbles:!0,cancelable:!0,key:"Tab"})),this.closeMenu())}_appendToDropdown(){this.dropdownService.appendToDropdown(this.elementRef.nativeElement),this.dropdownMenu.nativeElement.removeEventListener("keydown",this.keyboardNav,!0)}_appendToBody(){const lightClass="light"===this.theme?" cds--list-box--light":"",expandedClass=this.menuIsClosed?"":" cds--list-box--expanded";this.dropdownService.appendToBody(this.dropdownButton.nativeElement,this.dropdownMenu.nativeElement,`${this.elementRef.nativeElement.className}${lightClass}${expandedClass}`),this.dropdownMenu.nativeElement.addEventListener("keydown",this.keyboardNav,!0)}_shouldDropUp(){const menu=this.dropdownMenu&&this.dropdownMenu.nativeElement.querySelector(".cds--list-box__menu"),menuRect=menu&&menu.getBoundingClientRect();if(menu&&menuRect){return(0,utils.O3)(menu).reduce(((shouldDropUp,parent)=>{const parentRect=parent.getBoundingClientRect(),isBelowParent=!(menuRect.bottom<=parentRect.bottom);return shouldDropUp||isBelowParent}),!1)}return!1}openMenu(){if(0!==this.view.getListItems().length){if(this._dropUp=!1,this.menuIsClosed=!1,!this.appendInline){const target=this.dropdownButton.nativeElement,parent=this.elementRef.nativeElement;this.visibilitySubscription=this.elementService.visibility(target,parent).subscribe((value=>{value.visible||this.closeMenu()})),this._appendToBody()}setTimeout((()=>{null!==this.dropUp&&void 0!==this.dropUp||(this._dropUp=this._shouldDropUp())}),0),document.body.firstElementChild.addEventListener("click",this.noop,!0),document.body.firstElementChild.addEventListener("keydown",this.noop,!0),document.addEventListener("click",this.outsideClick,!0),document.addEventListener("keydown",this.outsideKey,!0),setTimeout((()=>this.view.initFocus()),0)}}closeMenu(){this.menuIsClosed||(this.menuIsClosed=!0,this.checkForReorder(),this.onClose.emit(),this.close.emit(),this.dropdownButton.nativeElement.focus(),this.view.disableScroll&&this.view.disableScroll(),this.appendInline||(this.visibilitySubscription.unsubscribe(),this._appendToDropdown()),document.body.firstElementChild.removeEventListener("click",this.noop,!0),document.body.firstElementChild.removeEventListener("keydown",this.noop,!0),document.removeEventListener("click",this.outsideClick,!0),document.removeEventListener("keydown",this.outsideKey,!0))}toggleMenu(){this.menuIsClosed?this.openMenu():this.closeMenu()}isTemplate(value){return value instanceof core.TemplateRef}handleFocus(event){this._isFocused="focus"===event.type,"blur"===event.type&&this.onBlur()}checkForReorder(){const topAfterReopen=this.menuIsClosed&&"top-after-reopen"===this.selectionFeedback;"multi"!==this.type||!topAfterReopen&&"top"!==this.selectionFeedback||this.view.reorderSelected()}_propagateChange(value){this.writtenValue=value,this.propagateChange(value)}};Dropdown.dropdownCount=0,Dropdown.ctorParameters=()=>[{type:core.ElementRef},{type:i18n.oc},{type:DropdownService},{type:utils.d2}],Dropdown.propDecorators={fluidInvalidClass:[{type:core.HostBinding,args:["class.cds--list-box__wrapper--fluid--invalid"]}],fluidFocusClass:[{type:core.HostBinding,args:["class.cds--list-box__wrapper--fluid--focus"]}],hasDecorator:[{type:core.HostBinding,args:["class.cds--list-box__wrapper--decorator"]}],id:[{type:core.Input}],label:[{type:core.Input}],hideLabel:[{type:core.Input}],helperText:[{type:core.Input}],decorator:[{type:core.Input}],placeholder:[{type:core.Input}],displayValue:[{type:core.Input}],clearText:[{type:core.Input}],size:[{type:core.Input}],type:[{type:core.Input}],theme:[{type:core.Input}],disabled:[{type:core.Input}],readonly:[{type:core.Input}],skeleton:[{type:core.Input}],inline:[{type:core.Input}],disableArrowKeys:[{type:core.Input}],invalid:[{type:core.Input}],invalidText:[{type:core.Input}],warn:[{type:core.Input}],warnText:[{type:core.Input}],appendInline:[{type:core.Input}],scrollableContainer:[{type:core.Input}],itemValueKey:[{type:core.Input}],selectionFeedback:[{type:core.Input}],menuButtonLabel:[{type:core.Input}],selectedLabel:[{type:core.Input}],dropUp:[{type:core.Input}],allowNullValues:[{type:core.Input}],selected:[{type:core.Output}],onClose:[{type:core.Output}],close:[{type:core.Output}],view:[{type:core.ContentChild,args:[AbstractDropdownView,{static:!0}]}],dropdownButton:[{type:core.ViewChild,args:["dropdownButton",{static:!0}]}],dropdownMenu:[{type:core.ViewChild,args:["dropdownMenu",{static:!0}]}],hostClass:[{type:core.HostBinding,args:["class.cds--dropdown__wrapper"]}],hostWrapperClass:[{type:core.HostBinding,args:["class.cds--list-box__wrapper"]}],fluid:[{type:core.HostBinding,args:["class.cds--list-box__wrapper--fluid"]},{type:core.Input}],onKeyDown:[{type:core.HostListener,args:["keydown",["$event"]]}]},Dropdown=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-dropdown, ibm-dropdown",template:'\n\t<label\n\t\t*ngIf="label && !skeleton"\n\t\t[for]="id"\n\t\tclass="cds--label"\n\t\t[ngClass]="{\n\t\t\t\'cds--label--disabled\': disabled,\n\t\t\t\'cds--visually-hidden\': hideLabel\n\t\t}">\n\t\t<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>\n\t\t<ng-template *ngIf="isTemplate(label)" [ngTemplateOutlet]="label"></ng-template>\n\t</label>\n\t<div\n\t\tclass="cds--list-box"\n\t\t[ngClass]="{\n\t\t\t\'cds--dropdown\': type !== \'multi\' && !(skeleton && fluid),\n\t\t\t\'cds--multiselect\': type === \'multi\',\n\t\t\t\'cds--multi-select--selected\': type === \'multi\' && getSelectedCount() > 0,\n\t\t\t\'cds--dropdown--light\': theme === \'light\',\n\t\t\t\'cds--list-box--light\': theme === \'light\',\n\t\t\t\'cds--list-box--inline\': inline,\n\t\t\t\'cds--skeleton\': skeleton,\n\t\t\t\'cds--dropdown--disabled cds--list-box--disabled\': disabled,\n\t\t\t\'cds--dropdown--readonly\': readonly,\n\t\t\t\'cds--dropdown--invalid\': invalid,\n\t\t\t\'cds--dropdown--warning cds--list-box--warning\': warn,\n\t\t\t\'cds--dropdown--sm cds--list-box--sm\': size === \'sm\',\n\t\t\t\'cds--dropdown--md cds--list-box--md\': size === \'md\',\n\t\t\t\'cds--dropdown--lg cds--list-box--lg\': size === \'lg\',\n\t\t\t\'cds--list-box--expanded\': !menuIsClosed,\n\t\t\t\'cds--list-box--invalid\': invalid\n\t\t}"\n\t\t[attr.data-invalid]="invalid ? true : null">\n\t\t<div *ngIf="skeleton && fluid" class="cds--list-box__label"></div>\n\t\t<button\n\t\t\t#dropdownButton\n\t\t\t[id]="id"\n\t\t\ttype="button"\n\t\t\tclass="cds--list-box__field"\n\t\t\t[ngClass]="{\'a\': !menuIsClosed}"\n\t\t\t[attr.aria-expanded]="!menuIsClosed"\n\t\t\t[attr.aria-disabled]="disabled"\n\t\t\taria-haspopup="listbox"\n\t\t\t(click)="disabled || readonly ? $event.stopPropagation() : toggleMenu()"\n\t\t\t(focus)="fluid ? handleFocus($event) : null"\n\t\t\t(blur)="fluid ? handleFocus($event) : onBlur()"\n\t\t\t[attr.disabled]="disabled ? true : null">\n\t\t\t<div\n\t\t\t\t(click)="clearSelected()"\n\t\t\t\t(keydown.enter)="clearSelected()"\n\t\t\t\t*ngIf="type === \'multi\' && getSelectedCount() > 0"\n\t\t\t\tclass="cds--list-box__selection cds--tag--filter cds--list-box__selection--multi"\n\t\t\t\ttabindex="0"\n\t\t\t\t[title]="clearText">\n\t\t\t\t{{getSelectedCount()}}\n\t\t\t\t<svg\n\t\t\t\t\tfocusable="false"\n\t\t\t\t\tpreserveAspectRatio="xMidYMid meet"\n\t\t\t\t\tstyle="will-change: transform;"\n\t\t\t\t\trole="img"\n\t\t\t\t\txmlns="http://www.w3.org/2000/svg"\n\t\t\t\t\twidth="16"\n\t\t\t\t\theight="16"\n\t\t\t\t\tviewBox="0 0 16 16"\n\t\t\t\t\taria-hidden="true">\n\t\t\t\t\t<path d="M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<span *ngIf="isRenderString()" class="cds--list-box__label">{{getDisplayStringValue() | async}}</span>\n\t\t\t<ng-template\n\t\t\t\t*ngIf="!isRenderString()"\n\t\t\t\t[ngTemplateOutletContext]="getRenderTemplateContext()"\n\t\t\t\t[ngTemplateOutlet]="displayValue">\n\t\t\t</ng-template>\n\t\t\t<span class="cds--list-box__menu-icon">\n\t\t\t\t<svg\n\t\t\t\t\t*ngIf="!skeleton"\n\t\t\t\t\tcdsIcon="chevron--down"\n\t\t\t\t\tsize="16"\n\t\t\t\t\t[attr.aria-label]="menuButtonLabel"\n\t\t\t\t\t[ngClass]="{\'cds--list-box__menu-icon--open\': !menuIsClosed }">\n\t\t\t\t</svg>\n\t\t\t</span>\n\t\t</button>\n\t\t<ng-container *ngIf="decorator">\n\t\t\t<div class="cds--list-box__inner-wrapper--decorator">\n\t\t\t\t<ng-template [ngTemplateOutlet]="decorator"></ng-template>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<svg\n\t\t\t*ngIf="invalid"\n\t\t\tclass="cds--list-box__invalid-icon"\n\t\t\tcdsIcon="warning--filled"\n\t\t\tsize="16">\n\t\t</svg>\n\t\t<svg\n\t\t\t*ngIf="!invalid && warn"\n\t\t\tcdsIcon="warning--alt--filled"\n\t\t\tsize="16"\n\t\t\tclass="cds--list-box__invalid-icon cds--list-box__invalid-icon--warning">\n\t\t</svg>\n\t\t<div\n\t\t\t#dropdownMenu\n\t\t\t[ngClass]="{\n\t\t\t\t\'cds--list-box--up\': this.dropUp !== null && this.dropUp !== undefined ? dropUp : _dropUp\n\t\t\t}">\n\t\t\t<ng-content *ngIf="!menuIsClosed"></ng-content>\n\t\t</div>\n\t</div>\n\t<hr *ngIf="fluid" class="cds--list-box__divider" />\n\t<div\n\t\t*ngIf="helperText && !invalid && !warn && !skeleton && !fluid"\n\t\tclass="cds--form__helper-text"\n\t\t[ngClass]="{\n\t\t\t\'cds--form__helper-text--disabled\': disabled\n\t\t}">\n\t\t<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>\n\t\t<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>\n\t</div>\n\t<div *ngIf="invalid" class="cds--form-requirement">\n\t\t<ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>\n\t\t<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>\n\t</div>\n\t<div *ngIf="!invalid && warn" class="cds--form-requirement">\n\t\t<ng-container *ngIf="!isTemplate(warnText)">{{warnText}}</ng-container>\n\t\t<ng-template *ngIf="isTemplate(warnText)" [ngTemplateOutlet]="warnText"></ng-template>\n\t</div>\n\t',providers:[{provide:fesm2020_forms.JU,useExisting:Dropdown,multi:!0}]})],Dropdown);var isObservable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isObservable.js"),Observable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),first=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/first.js"),fromEvent=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js"),debounceTime=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js"),map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),filter=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/filter.js");let DropdownList=class DropdownList{constructor(elementRef,i18n,appRef){this.elementRef=elementRef,this.i18n=i18n,this.appRef=appRef,this.ariaLabel=this.i18n.get().DROPDOWN_LIST.LABEL,this.listTpl=null,this.select=new core.EventEmitter,this.scroll=new core.EventEmitter,this.blurIntent=new core.EventEmitter,this.type="single",this.showTitles=!0,this.size="md",this.listId="listbox-"+DropdownList.listCount++,this.highlightedItem=null,this.displayItems=[],this.index=-1,this._items=[]}set items(value){(0,isObservable.b)(value)?(this._itemsSubscription&&this._itemsSubscription.unsubscribe(),this._itemsReady=new Observable.y((observer=>{this._itemsSubscription=value.subscribe((v=>{this.updateList(v),observer.next(!0),observer.complete()}))})),this.onItemsReady(null)):this.updateList(value),this._originalItems=value}get items(){return this._originalItems}ngAfterViewInit(){this.index=this.getListItems().findIndex((item=>item.selected)),this.setupFocusObservable(),setTimeout((()=>{this.doEmitSelect(!0)}))}ngOnDestroy(){this.focusJump&&this.focusJump.unsubscribe(),this._itemsSubscription&&this._itemsSubscription.unsubscribe()}doEmitSelect(isUpdate=!0){if("single"===this.type)this.select.emit({item:this._items.find((item=>item.selected)),isUpdate});else{const selected=this.getSelected()||[];selected.isUpdate=isUpdate,this.select.emit(selected)}}getItemId(index){return`${this.listId}-${index}`}updateList(items){this._items=items.map((item=>Object.assign({},item))),this.displayItems=this._items,this.updateIndex(),this.setupFocusObservable(),this.doEmitSelect()}filterBy(query=""){query?(this.displayItems=this.getListItems().filter((item=>item.content.toLowerCase().includes(query.toLowerCase()))),this.displayItems&&(this.index=0)):this.displayItems=this.getListItems(),this.updateIndex()}setupFocusObservable(){if(!this.list)return;this.focusJump&&this.focusJump.unsubscribe();let elList=Array.from(this.list.nativeElement.querySelectorAll("li"));this.focusJump=function watchFocusJump(target,elements){return(0,fromEvent.R)(target,"keydown").pipe((0,debounceTime.b)(150),(0,map.U)((ev=>{let el=elements.find((itemEl=>itemEl.textContent.trim().toLowerCase().startsWith(ev.key)));if(el)return el})),(0,filter.h)((el=>!!el)))}(this.list.nativeElement,elList).subscribe((el=>{el.focus()}))}getNextItem(){return this.index<this.displayItems.length-1&&this.index++,this.displayItems[this.index]}hasNextElement(){return this.index<this.displayItems.length-1&&(!(this.index===this.displayItems.length-2)||!this.displayItems[this.index+1].disabled)}getNextElement(){const elemList=this.listElementList?this.listElementList.toArray():[];if(!elemList.length)return null;for(let i=this.index+1;i<elemList.length;i++)if(!this.displayItems[i].disabled)return this.index=i,elemList[i].nativeElement;return elemList[this.index]?.nativeElement}getPrevItem(){return this.index>0&&this.index--,this.displayItems[this.index]}hasPrevElement(){return this.index>0&&(!(1===this.index)||!this.displayItems[0].disabled)}getPrevElement(){const elemList=this.listElementList?this.listElementList.toArray():[];if(!elemList.length)return null;for(let i=this.index-1;i<this.index&&i>=0;i--)if(!this.displayItems[i].disabled)return this.index=i,elemList[i].nativeElement;return elemList[this.index].nativeElement}getCurrentItem(){return this.index<0?this.displayItems[0]:this.displayItems[this.index]}getCurrentElement(){return this.index<0?this.listElementList.first.nativeElement:this.listElementList.toArray()[this.index].nativeElement}getListItems(){return this._items}getSelected(){let selected=this.getListItems().filter((item=>item.selected));return 0===selected.length?[]:selected}propagateSelected(value){Array.isArray(value)||console.error(`${this.constructor.name}.propagateSelected expects an Array<ListItem>, got ${JSON.stringify(value)}`),this.onItemsReady((()=>{const selectedNewItems=[];for(let newItem of value)if(newItem&&newItem.selected){let tempNewItem=Object.assign({},newItem);delete tempNewItem.selected,tempNewItem=JSON.stringify(tempNewItem),selectedNewItems.push(tempNewItem)}for(let oldItem of this.getListItems()){if(0===selectedNewItems.length){oldItem.selected=!1;continue}let tempOldItem=Object.assign({},oldItem);delete tempOldItem.selected,tempOldItem=JSON.stringify(tempOldItem);for(let selectedNewItem of selectedNewItems){if(tempOldItem.includes(selectedNewItem)){oldItem.selected=!0;break}oldItem.selected=!1}}}))}initFocus(){this.index<0&&this.updateIndex(),this.list.nativeElement.focus(),setTimeout((()=>{this.highlightedItem=this.getItemId(this.index)}))}updateIndex(){const selected=this.getSelected();selected.length?this.index=this.displayItems.indexOf(selected[0]):this.index<0&&this.hasNextElement()&&this.getNextElement()}navigateList(event){"Enter"===event.key||" "===event.key?(this.listElementList.some((option=>option.nativeElement===event.target))&&event.preventDefault(),"Enter"===event.key&&this.doClick(event,this.getCurrentItem())):"ArrowDown"!==event.key&&"ArrowUp"!==event.key||(event.preventDefault(),"ArrowDown"===event.key?this.hasNextElement()?this.getNextElement()?.scrollIntoView({block:"end"}):this.blurIntent.emit("bottom"):"ArrowUp"===event.key&&(this.hasPrevElement()?this.getPrevElement().scrollIntoView({block:"nearest"}):this.blurIntent.emit("top")),setTimeout((()=>{this.highlightedItem=this.getItemId(this.index)})))}doClick(event,item){if(event.preventDefault(),item&&!item.disabled){if(this.list.nativeElement.focus(),"single"===this.type){item.selected=!0;for(let otherItem of this.getListItems())item!==otherItem&&(otherItem.selected=!1)}else item.selected=!item.selected;this.index=this.displayItems.indexOf(item),this.highlightedItem=this.getItemId(this.index),this.doEmitSelect(!1),this.appRef.tick()}}onItemFocus(index){const element=this.listElementList.toArray()[index].nativeElement;element.classList.add("cds--list-box__menu-item--highlighted"),element.tabIndex=0}onItemBlur(index){const element=this.listElementList.toArray()[index].nativeElement;element.classList.remove("cds--list-box__menu-item--highlighted"),element.tabIndex=-1}emitScroll(event){const customScrollEvent={atTop:0===event.srcElement.scrollTop,atBottom:event.srcElement.scrollHeight-event.srcElement.scrollTop===event.srcElement.clientHeight,event};this.scroll.emit(customScrollEvent)}onItemsReady(subcription){(this._itemsReady||(0,of.of)(!0)).pipe((0,first.P)()).subscribe(subcription)}reorderSelected(moveFocus=!0){this.displayItems=[...this.getSelected(),...this.getListItems().filter((item=>!item.selected))],moveFocus&&setTimeout((()=>{this.updateIndex(),this.highlightedItem=this.getItemId(this.index)}))}};DropdownList.listCount=0,DropdownList.ctorParameters=()=>[{type:core.ElementRef},{type:i18n.oc},{type:core.ApplicationRef}],DropdownList.propDecorators={ariaLabel:[{type:core.Input}],items:[{type:core.Input}],listTpl:[{type:core.Input}],select:[{type:core.Output}],scroll:[{type:core.Output}],blurIntent:[{type:core.Output}],list:[{type:core.ViewChild,args:["list",{static:!0}]}],type:[{type:core.Input}],showTitles:[{type:core.Input}],listElementList:[{type:core.ViewChildren,args:["listItem"]}]},DropdownList=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-dropdown-list, ibm-dropdown-list",template:'\n\t\t<ul\n\t\t\t#list\n\t\t\t[id]="listId"\n\t\t\trole="listbox"\n\t\t\tclass="cds--list-box__menu cds--multi-select"\n\t\t\t(scroll)="emitScroll($event)"\n\t\t\t(keydown)="navigateList($event)"\n\t\t\ttabindex="0"\n\t\t\t[attr.aria-label]="ariaLabel"\n\t\t\t[attr.aria-activedescendant]="highlightedItem">\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\tclass="cds--list-box__menu-item"\n\t\t\t\t[attr.aria-selected]="item.selected"\n\t\t\t\t[id]="getItemId(i)"\n\t\t\t\t[attr.tabindex]="highlightedItem === getItemId(i) ? 0 : null"\n\t\t\t\t[attr.title]=" showTitles ? item.content : null"\n\t\t\t\t[attr.disabled]="item.disabled ? true : null"\n\t\t\t\t[ngClass]="{\n\t\t\t\t\t\'cds--list-box__menu-item--active\': item.selected,\n\t\t\t\t\t\'cds--list-box__menu-item--highlighted\': highlightedItem === getItemId(i)\n\t\t\t\t}">\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="cds--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="cds--form-item cds--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="cds--checkbox-label">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass="cds--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="cds--checkbox-appearance"></span>\n\t\t\t\t\t\t\t<span class="cds--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<svg\n\t\t\t\t\t\t*ngIf="!listTpl && type === \'single\'"\n\t\t\t\t\t\tcdsIcon="checkmark"\n\t\t\t\t\t\tsize="16"\n\t\t\t\t\t\tclass="cds--list-box__menu-item__selected-icon">\n\t\t\t\t\t</svg>\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:AbstractDropdownView,useExisting:DropdownList}]})],DropdownList);let ScrollableList=class ScrollableList{constructor(elementRef){this.elementRef=elementRef,this.nScrollableList=null,this.scrollEnabled=!0,this.scrollBy=10,this.canScrollUp=!1,this.canScrollDown=!1,this.list=this.elementRef.nativeElement}ngOnChanges(changes){changes.scrollEnabled&&(changes.scrollEnabled.currentValue?(this.list.style.overflow="hidden",this.scrollUpTarget.style.display="flex",this.scrollDownTarget.style.display="flex",this.canScrollUp=!0,this.canScrollDown=!0,this.updateScrollHeight(),this.checkScrollArrows(),setTimeout((()=>{this.checkScrollArrows()}))):(this.scrollUpTarget.style.display="none",this.scrollDownTarget.style.display="none",this.canScrollUp=!1,this.canScrollDown=!1,this.list.style.height=null,this.list.style.overflow=null,clearInterval(this.hoverScrollInterval)))}ngAfterViewInit(){this.nScrollableList&&(this.list=this.elementRef.nativeElement.querySelector(this.nScrollableList)),this.scrollUpTarget.addEventListener("mouseover",(()=>this.onHoverUp(!0))),this.scrollUpTarget.addEventListener("mouseout",(()=>this.onHoverUp(!1))),this.scrollDownTarget.addEventListener("mouseover",(()=>this.onHoverDown(!0))),this.scrollDownTarget.addEventListener("mouseout",(()=>this.onHoverDown(!1)))}updateScrollHeight(){if(this.scrollEnabled){const containerRect=this.elementRef.nativeElement.parentElement.getBoundingClientRect(),innerHeightDiff=this.list.getBoundingClientRect().top-containerRect.top,height=containerRect.height-(containerRect.bottom-window.innerHeight)-innerHeightDiff-40;this.list.style.height=`${height}px`}}checkScrollArrows(){const scrollUpHeight=this.scrollUpTarget.offsetHeight,scrollDownHeight=this.scrollDownTarget.offsetHeight;0===this.list.scrollTop?(this.canScrollUp&&(this.list.style.height=`${parseInt(this.list.style.height,10)+scrollUpHeight}px`),this.scrollUpTarget.style.display="none",this.canScrollUp=!1):this.list.scrollTop===this.list.scrollTopMax?(this.canScrollDown&&(this.list.style.height=`${parseInt(this.list.style.height,10)+scrollDownHeight}px`),this.scrollDownTarget.style.display="none",this.canScrollDown=!1):(this.canScrollUp||(this.list.style.height=parseInt(this.list.style.height,10)-scrollUpHeight+"px"),this.canScrollDown||(this.list.style.height=parseInt(this.list.style.height,10)-scrollDownHeight+"px"),this.scrollUpTarget.style.display="flex",this.scrollDownTarget.style.display="flex",this.canScrollUp=!0,this.canScrollDown=!0)}onWheel(event){event.deltaY<0?this.list.scrollTop-=this.scrollBy:this.list.scrollTop+=this.scrollBy,this.list.scrollTop!==this.list.scrollTopMax&&0!==this.list.scrollTop&&(event.preventDefault(),event.stopPropagation()),this.checkScrollArrows()}onTouchStart(event){event.touches[0]&&(this.lastTouch=event.touches[0].clientY)}onTouchMove(event){if(event.preventDefault(),event.stopPropagation(),event.touches[0]){const touch=event.touches[0];this.list.scrollTop+=this.lastTouch-touch.clientY,this.lastTouch=touch.clientY,this.checkScrollArrows()}}hoverScrollBy(hovering,amount){hovering?this.hoverScrollInterval=setInterval((()=>{this.list.scrollTop+=amount,this.checkScrollArrows()}),1):clearInterval(this.hoverScrollInterval)}onHoverUp(hovering){this.hoverScrollBy(hovering,-3)}onHoverDown(hovering){this.hoverScrollBy(hovering,3)}onKeyDown(event){"ArrowDown"!==event.key&&"ArrowUp"!==event.key||this.checkScrollArrows()}};ScrollableList.ctorParameters=()=>[{type:core.ElementRef}],ScrollableList.propDecorators={nScrollableList:[{type:core.Input}],scrollEnabled:[{type:core.Input}],scrollUpTarget:[{type:core.Input}],scrollDownTarget:[{type:core.Input}],scrollBy:[{type:core.Input}],onWheel:[{type:core.HostListener,args:["wheel",["$event"]]}],onTouchStart:[{type:core.HostListener,args:["touchstart",["$event"]]}],onTouchMove:[{type:core.HostListener,args:["touchmove",["$event"]]}],onKeyDown:[{type:core.HostListener,args:["keydown",["$event"]]}]},ScrollableList=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsScrollableList], [ibmScrollableList]",exportAs:"scrollable-list"})],ScrollableList);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),icon=__webpack_require__("./src/icon/index.ts");let DropdownModule=class DropdownModule{};DropdownModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[Dropdown,DropdownList,ScrollableList,AbstractDropdownView],exports:[Dropdown,DropdownList,ScrollableList,AbstractDropdownView],imports:[common.CommonModule,fesm2020_forms.u5,i18n.LU,placeholder.Qq,utils.As,icon.QX],providers:[DropdownService]})],DropdownModule)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[]).push([[901],{"./src/button/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{HL:()=>BaseIconButton,zx:()=>Button,hJ:()=>ButtonModule,uV:()=>ButtonSet,hU:()=>IconButton});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let Button=class Button{constructor(){this.cdsButton="primary",this.skeleton=!1,this.iconOnly=!1,this.isExpressive=!1,this.baseClass=!0}set ibmButton(type){this.cdsButton=type}get primaryButton(){return"primary"===this.cdsButton||!this.cdsButton}get secondaryButton(){return"secondary"===this.cdsButton}get tertiaryButton(){return"tertiary"===this.cdsButton}get ghostButton(){return"ghost"===this.cdsButton}get dangerButton(){return"danger"===this.cdsButton||"danger--primary"===this.cdsButton}get dangerTertiary(){return"danger--tertiary"===this.cdsButton}get dangerGhost(){return"danger--ghost"===this.cdsButton}get extraSmallSize(){return"xs"===this.size&&!this.isExpressive}get smallSize(){return"sm"===this.size&&!this.isExpressive}get mediumSize(){return"md"===this.size&&!this.isExpressive}get largeSize(){return"lg"===this.size}get extraLargeSize(){return"xl"===this.size}get twoExtraLargeSize(){return"2xl"===this.size}get extraSmallLayoutSize(){return"xs"===this.size&&!this.isExpressive}get smallLayoutSize(){return"sm"===this.size&&!this.isExpressive}get mediumLayoutSize(){return"md"===this.size&&!this.isExpressive}get largeLayoutSize(){return"lg"===this.size}get extraLargeLayoutSize(){return"xl"===this.size}get twoExtraLargeLayoutSize(){return"2xl"===this.size}};Button.propDecorators={ibmButton:[{type:core.Input}],cdsButton:[{type:core.Input}],size:[{type:core.Input}],skeleton:[{type:core.HostBinding,args:["class.cds--skeleton"]},{type:core.Input}],iconOnly:[{type:core.HostBinding,args:["class.cds--btn--icon-only"]},{type:core.Input}],isExpressive:[{type:core.HostBinding,args:["class.cds--btn--expressive"]},{type:core.Input}],baseClass:[{type:core.HostBinding,args:["class.cds--btn"]}],primaryButton:[{type:core.HostBinding,args:["class.cds--btn--primary"]}],secondaryButton:[{type:core.HostBinding,args:["class.cds--btn--secondary"]}],tertiaryButton:[{type:core.HostBinding,args:["class.cds--btn--tertiary"]}],ghostButton:[{type:core.HostBinding,args:["class.cds--btn--ghost"]}],dangerButton:[{type:core.HostBinding,args:["class.cds--btn--danger"]}],dangerTertiary:[{type:core.HostBinding,args:["class.cds--btn--danger--tertiary"]}],dangerGhost:[{type:core.HostBinding,args:["class.cds--btn--danger--ghost"]}],extraSmallSize:[{type:core.HostBinding,args:["class.cds--btn--xs"]}],smallSize:[{type:core.HostBinding,args:["class.cds--btn--sm"]}],mediumSize:[{type:core.HostBinding,args:["class.cds--btn--md"]}],largeSize:[{type:core.HostBinding,args:["class.cds--btn--lg"]}],extraLargeSize:[{type:core.HostBinding,args:["class.cds--btn--xl"]}],twoExtraLargeSize:[{type:core.HostBinding,args:["class.cds--btn--2xl"]}],extraSmallLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-xs"]}],smallLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-sm"]}],mediumLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-md"]}],largeLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-lg"]}],extraLargeLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-xl"]}],twoExtraLargeLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-2xl"]}]},Button=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsButton], [ibmButton]"})],Button);let ButtonSet=class ButtonSet{constructor(){this.buttonSetClass=!0,this.fluid=!1,this.stacked=!1}get fluidClass(){return this.fluid}get stackedClass(){return this.stacked}};ButtonSet.propDecorators={buttonSetClass:[{type:core.HostBinding,args:["class.cds--btn-set"]}],fluid:[{type:core.Input}],stacked:[{type:core.Input}],fluidClass:[{type:core.HostBinding,args:["class.cds--btn-set--fluid"]}],stackedClass:[{type:core.HostBinding,args:["class.cds--btn-set--stacked"]}]},ButtonSet=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-button-set, ibm-button-set",template:'\n\t\t<div *ngIf="fluid" class="cds--btn-set__fluid-inner cds--btn-set__fluid-inner--auto-stack">\n\t\t\t<ng-container *ngTemplateOutlet="content"></ng-container>\n\t\t</div>\n\t\t<ng-container *ngIf="!fluid">\n\t\t\t<ng-container *ngTemplateOutlet="content"></ng-container>\n\t\t</ng-container>\n\n\t\t<ng-template #content>\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\t'})],ButtonSet);let BaseIconButton=class BaseIconButton{constructor(){this.caret=!0,this.dropShadow=!0,this.highContrast=!0,this.isOpen=!1,this.align="bottom",this.autoAlign=!1,this.enterDelayMs=100,this.leaveDelayMs=300}};BaseIconButton.propDecorators={caret:[{type:core.Input}],dropShadow:[{type:core.Input}],highContrast:[{type:core.Input}],isOpen:[{type:core.Input}],align:[{type:core.Input}],autoAlign:[{type:core.Input}],enterDelayMs:[{type:core.Input}],leaveDelayMs:[{type:core.Input}]},BaseIconButton=(0,tslib_es6.gn)([(0,core.Component)({template:""})],BaseIconButton);let IconButton=class IconButton extends BaseIconButton{constructor(renderer){super(),this.renderer=renderer,this.buttonId="icon-btn-"+IconButton.iconButtonCounter++,this.kind="primary",this.size="lg",this.type="button",this.isExpressive=!1,this.disabled=!1,this.showTooltipWhenDisabled=!1,this.click=new core.EventEmitter,this.focus=new core.EventEmitter,this.blur=new core.EventEmitter,this.tooltipClick=new core.EventEmitter,this.classList={},this.attributeList={}}set buttonNgClass(obj){this.classList=Object.assign({"cds--btn--disabled":this.disabled},obj)}get buttonNgClass(){return this.classList}set buttonAttributes(obj){this.button&&(Object.keys(this.attributeList).forEach((key=>{this.renderer.removeAttribute(this.button.nativeElement,key)})),Object.keys(obj).forEach((key=>{this.renderer.setAttribute(this.button.nativeElement,key,obj[key])}))),this.attributeList=obj}get buttonAttributes(){return this.buttonAttributes}ngAfterViewInit(){this.buttonAttributes=this.attributeList}emitClickEvent(event,element="button"){event.preventDefault(),event.stopPropagation(),"tooltip"!==element?this.click.emit(event):this.tooltipClick.emit(event)}};IconButton.iconButtonCounter=0,IconButton.ctorParameters=()=>[{type:core.Renderer2}],IconButton.propDecorators={buttonNgClass:[{type:core.Input}],buttonAttributes:[{type:core.Input}],button:[{type:core.ViewChild,args:["button"]}],buttonId:[{type:core.Input}],kind:[{type:core.Input}],size:[{type:core.Input}],type:[{type:core.Input}],isExpressive:[{type:core.Input}],disabled:[{type:core.Input}],description:[{type:core.Input}],showTooltipWhenDisabled:[{type:core.Input}],click:[{type:core.Output}],focus:[{type:core.Output}],blur:[{type:core.Output}],tooltipClick:[{type:core.Output}]},IconButton=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-icon-button, ibm-icon-button",template:'\n\t<cds-tooltip\n\t\tclass="cds--icon-tooltip"\n\t\t[description]="description"\n\t\t[disabled]="showTooltipWhenDisabled ? false : disabled"\n\t\t[caret]="caret"\n\t\t[dropShadow]="dropShadow"\n\t\t[highContrast]="highContrast"\n\t\t[isOpen]="isOpen"\n\t\t[align]="align"\n\t\t[autoAlign]="autoAlign"\n\t\t[enterDelayMs]="enterDelayMs"\n\t\t[leaveDelayMs]="leaveDelayMs"\n\t\t(click)="emitClickEvent($event, \'tooltip\')">\n\t\t<button\n\t\t\t#button\n\t\t\t[id]="buttonId"\n\t\t\t[disabled]="disabled"\n\t\t\t[attr.type]="type"\n\t\t\t[iconOnly]="true"\n\t\t\t[ngClass]="buttonNgClass"\n\t\t\t[cdsButton]="kind"\n\t\t\t[size]="size"\n\t\t\t[isExpressive]="isExpressive"\n\t\t\t(click)="emitClickEvent($event)"\n\t\t\t(focus)="focus.emit($event)"\n\t\t\t(blur)="blur.emit($event)">\n\t\t\t<ng-content></ng-content>\n\t\t</button>\n\t</cds-tooltip>\n\t'})],IconButton);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),tooltip=__webpack_require__("./src/tooltip/index.ts");let ButtonModule=class ButtonModule{};ButtonModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[Button,ButtonSet,BaseIconButton,IconButton],exports:[Button,ButtonSet,IconButton],imports:[common.CommonModule,tooltip.z8]})],ButtonModule)},"./src/experimental/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{OV:()=>ExperimentalModule,tM:()=>ExperimentalService});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let ExperimentalService=class ExperimentalService{constructor(){this.experiments=new Map}addExperiment(name,options={enabled:!1}){this.experiments.has(name)||this.experiments.set(name,options)}enableExperiment(name){this.getExperiment(name).enabled=!0}disableExperiment(name){this.getExperiment(name).enabled=!1}getExperiment(name){return this.experiments.has(name)?this.experiments.get(name):(this.addExperiment(name),this.getExperiment(name))}getExperiments(){return Array.from(this.experiments.entries())}};ExperimentalService=(0,tslib_es6.gn)([(0,core.Injectable)()],ExperimentalService);const EXPERIMENTAL_SERVICE_PROVIDER={provide:ExperimentalService,deps:[[new core.Optional,new core.SkipSelf,ExperimentalService]],useFactory:function EXPERIMENTAL_SERVICE_PROVIDER_FACTORY(parentService){return parentService||new ExperimentalService}};let ExperimentalModule=class ExperimentalModule{};ExperimentalModule=(0,tslib_es6.gn)([(0,core.NgModule)({providers:[ExperimentalService,EXPERIMENTAL_SERVICE_PROVIDER]})],ExperimentalModule)},"./src/icon/icon.directive.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{a:()=>IconDirective});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_icon_service__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");let IconDirective=class IconDirective{constructor(elementRef,iconService){this.elementRef=elementRef,this.iconService=iconService,this.cdsIcon="",this.size="16",this.title="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaHidden="",this.isFocusable=!1}set ibmIcon(iconName){this.cdsIcon=iconName}renderIcon(iconName){const root=this.elementRef.nativeElement;let icon;try{icon=this.iconService.get(iconName,this.size.toString())}catch(error){return void console.warn(error)}const domParser=new DOMParser,rawSVG=icon.svg,svgElement=domParser.parseFromString(rawSVG,"image/svg+xml").documentElement;let node="SVG"!==root.tagName.toUpperCase()?svgElement:svgElement.firstChild;for(root.innerHTML="";node;)root.appendChild(root.ownerDocument.importNode(node,!0)),node=node.nextSibling;const svg="SVG"!==root.tagName.toUpperCase()?svgElement:root,xmlns="http://www.w3.org/2000/svg";svg.setAttribute("xmlns",xmlns);const attributes=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__.u9)({width:icon.attrs.width,height:icon.attrs.height,viewBox:icon.attrs.viewBox,title:this.title,"aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledBy,"aria-hidden":this.ariaHidden,focusable:this.isFocusable.toString(),fill:icon.attrs.fill}),attrKeys=Object.keys(attributes);for(let i=0;i<attrKeys.length;i++){const key=attrKeys[i],value=attributes[key];"title"!==key&&(value&&svg.setAttribute(key,value))}if(attributes.title){const title=document.createElementNS(xmlns,"title");title.textContent=attributes.title,IconDirective.titleIdCounter++,title.setAttribute("id",`${icon.name}-title-${IconDirective.titleIdCounter}`),svg.insertBefore(title,svg.firstElementChild),svg.setAttribute("aria-labelledby",`${icon.name}-title-${IconDirective.titleIdCounter}`)}}ngAfterViewInit(){this.renderIcon(this.cdsIcon)}ngOnChanges({cdsIcon}){cdsIcon&&!cdsIcon.isFirstChange()&&this.renderIcon(this.cdsIcon)}};IconDirective.titleIdCounter=0,IconDirective.ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.ElementRef},{type:_icon_service__WEBPACK_IMPORTED_MODULE_0__.C6}],IconDirective.propDecorators={ibmIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],cdsIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],size:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],title:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabel:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabelledBy:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaHidden:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],isFocusable:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}]},IconDirective=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Directive)({selector:"[cdsIcon], [ibmIcon]"})],IconDirective)},"./src/icon/icon.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{QX:()=>IconModule});var tslib__WEBPACK_IMPORTED_MODULE_61__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_60__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_62__=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),_icon_directive__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.directive.ts"),_icon_service__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@carbon/icons/es/add/16.js"),_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@carbon/icons/es/add/20.js"),_carbon_icons_es_arrow_down_16__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@carbon/icons/es/arrow--down/16.js"),_carbon_icons_es_arrows_vertical_16__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@carbon/icons/es/arrows--vertical/16.js"),_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@carbon/icons/es/bee/16.js"),_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/@carbon/icons/es/bee/20.js"),_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@carbon/icons/es/calendar/16.js"),_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/16.js"),_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/20.js"),_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/@carbon/icons/es/caret--down/16.js"),_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/@carbon/icons/es/caret--left/16.js"),_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/@carbon/icons/es/caret--right/16.js"),_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./node_modules/@carbon/icons/es/caret--up/16.js"),_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark/16.js"),_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/16.js"),_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/20.js"),_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--outline/16.js"),_carbon_icons_es_checkbox_16__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__("./node_modules/@carbon/icons/es/checkbox/16.js"),_carbon_icons_es_checkbox_checked_filled_16__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__("./node_modules/@carbon/icons/es/checkbox--checked--filled/16.js"),_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--down/16.js"),_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--right/16.js"),_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__("./node_modules/@carbon/icons/es/circle-dash/16.js"),_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__("./node_modules/@carbon/icons/es/close/16.js"),_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__("./node_modules/@carbon/icons/es/close/20.js"),_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__("./node_modules/@carbon/icons/es/copy/16.js"),_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_27__=__webpack_require__("./node_modules/@carbon/icons/es/copy/20.js"),_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_28__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/16.js"),_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_29__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/20.js"),_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_30__=__webpack_require__("./node_modules/@carbon/icons/es/document/16.js"),_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_31__=__webpack_require__("./node_modules/@carbon/icons/es/document/20.js"),_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_32__=__webpack_require__("./node_modules/@carbon/icons/es/download/16.js"),_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_33__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/16.js"),_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_34__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/20.js"),_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_35__=__webpack_require__("./node_modules/@carbon/icons/es/fade/16.js"),_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_36__=__webpack_require__("./node_modules/@carbon/icons/es/fade/20.js"),_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_37__=__webpack_require__("./node_modules/@carbon/icons/es/folder/16.js"),_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_38__=__webpack_require__("./node_modules/@carbon/icons/es/incomplete/16.js"),_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_39__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/16.js"),_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_40__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/20.js"),_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_41__=__webpack_require__("./node_modules/@carbon/icons/es/information--square--filled/20.js"),_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_42__=__webpack_require__("./node_modules/@carbon/icons/es/menu/16.js"),_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_43__=__webpack_require__("./node_modules/@carbon/icons/es/menu/20.js"),_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_44__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--vertical/16.js"),_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_45__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--horizontal/16.js"),_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_46__=__webpack_require__("./node_modules/@carbon/icons/es/save/16.js"),_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_47__=__webpack_require__("./node_modules/@carbon/icons/es/search/16.js"),_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_48__=__webpack_require__("./node_modules/@carbon/icons/es/settings/16.js"),_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_49__=__webpack_require__("./node_modules/@carbon/icons/es/settings--adjust/16.js"),_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_50__=__webpack_require__("./node_modules/@carbon/icons/es/subtract/16.js"),_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_51__=__webpack_require__("./node_modules/@carbon/icons/es/trash-can/16.js"),_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_52__=__webpack_require__("./node_modules/@carbon/icons/es/warning/16.js"),_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_53__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/16.js"),_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_54__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/20.js"),_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_55__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/16.js"),_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_56__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/20.js"),_carbon_icons_es_undo_16__WEBPACK_IMPORTED_MODULE_57__=__webpack_require__("./node_modules/@carbon/icons/es/undo/16.js"),_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_58__=__webpack_require__("./node_modules/@carbon/icons/es/view/16.js"),_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_59__=__webpack_require__("./node_modules/@carbon/icons/es/view--off/16.js");const ICON_SERVICE_PROVIDER={provide:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6,deps:[[new _angular_core__WEBPACK_IMPORTED_MODULE_60__.Optional,new _angular_core__WEBPACK_IMPORTED_MODULE_60__.SkipSelf,_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6]],useFactory:function ICON_SERVICE_PROVIDER_FACTORY(parentService){return parentService||new _icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}};let IconModule=class IconModule{constructor(iconService){this.iconService=iconService,iconService.registerAll([_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__.Z,_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__.Z,_carbon_icons_es_arrow_down_16__WEBPACK_IMPORTED_MODULE_4__.Z,_carbon_icons_es_arrows_vertical_16__WEBPACK_IMPORTED_MODULE_5__.Z,_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_6__.Z,_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_7__.Z,_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_8__.Z,_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_9__.Z,_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_10__.Z,_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_11__.Z,_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_12__.Z,_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_13__.Z,_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_14__.Z,_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_15__.Z,_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_16__.Z,_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_17__.Z,_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_18__.Z,_carbon_icons_es_checkbox_16__WEBPACK_IMPORTED_MODULE_19__.Z,_carbon_icons_es_checkbox_checked_filled_16__WEBPACK_IMPORTED_MODULE_20__.Z,_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_21__.Z,_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_22__.Z,_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_23__.Z,_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_24__.Z,_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_25__.Z,_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_26__.Z,_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_27__.Z,_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_28__.Z,_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_29__.Z,_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_30__.Z,_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_31__.Z,_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_32__.Z,_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_33__.Z,_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_34__.Z,_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_35__.Z,_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_36__.Z,_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_37__.Z,_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_38__.Z,_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_39__.Z,_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_40__.Z,_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_41__.Z,_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_42__.Z,_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_43__.Z,_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_44__.Z,_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_45__.Z,_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_46__.Z,_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_47__.Z,_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_48__.Z,_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_49__.Z,_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_50__.Z,_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_51__.Z,_carbon_icons_es_undo_16__WEBPACK_IMPORTED_MODULE_57__.Z,_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_58__.Z,_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_59__.Z,_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_52__.Z,_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_53__.Z,_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_54__.Z,_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_55__.Z,_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_56__.Z])}};IconModule.ctorParameters=()=>[{type:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}],IconModule=(0,tslib__WEBPACK_IMPORTED_MODULE_61__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_60__.NgModule)({declarations:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],exports:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],imports:[_angular_common__WEBPACK_IMPORTED_MODULE_62__.CommonModule],providers:[ICON_SERVICE_PROVIDER]})],IconModule)},"./src/icon/icon.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{C6:()=>IconService});var tslib__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");class IconNameNotFoundError extends Error{constructor(name){super(`Icon ${name} not found`)}}class IconSizeNotFoundError extends Error{constructor(size,name){super(`Size ${size} for ${name} not found`)}}class IconMemoryCache extends class IconCache{}{constructor(){super(...arguments),this.iconMap=new Map}get(name,size){if(!this.iconMap.has(name))throw new IconNameNotFoundError(name);const sizeMap=this.iconMap.get(name);if(!sizeMap.has(size))throw new IconSizeNotFoundError(size,name);return sizeMap.get(size)}set(name,size,descriptor){this.iconMap.has(name)||this.iconMap.set(name,new Map);this.iconMap.get(name).set(size,descriptor)}}let IconService=class IconService{constructor(){this.iconCache=new IconMemoryCache}registerAll(descriptors){descriptors.forEach((icon=>this.register(icon)))}register(descriptor){const{name}=descriptor;this.registerAs(name,descriptor)}registerAs(name,descriptor){let{size,attrs:{width}}=descriptor;this.iconCache.set(name,(size??width).toString(),descriptor)}get(name,size){try{const icon=this.iconCache.get(name,size.toString());return icon.svg||(icon.svg=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__.BB)(icon)),icon}catch(e){throw e}}configure(options){this.iconCache=options.cache}};IconService=(0,tslib__WEBPACK_IMPORTED_MODULE_1__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)()],IconService)},"./src/icon/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{ar:()=>icon_directive.a,QX:()=>icon_module.QX,C6:()=>icon_service.C6});var icon_directive=__webpack_require__("./src/icon/icon.directive.ts"),icon_module=__webpack_require__("./src/icon/icon.module.ts"),icon_service=__webpack_require__("./src/icon/icon.service.ts")},"./src/link/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{rU:()=>Link,LO:()=>LinkModule});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let Link=class Link{constructor(){this.baseClass=!0,this.inline=!1,this.visited=!1}get sizeSm(){return"sm"===this.size}get sizeMd(){return"md"===this.size}get sizeLg(){return"lg"===this.size}set disabled(disabled){this._disabled=disabled,this.tabindex=this.disabled?-1:null}get disabled(){return this._disabled}};Link.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--link"]}],tabindex:[{type:core.HostBinding,args:["attr.tabindex"]}],inline:[{type:core.Input},{type:core.HostBinding,args:["class.cds--link--inline"]}],size:[{type:core.Input}],sizeSm:[{type:core.HostBinding,args:["class.cds--link--sm"]}],sizeMd:[{type:core.HostBinding,args:["class.cds--link--md"]}],sizeLg:[{type:core.HostBinding,args:["class.cds--link--lg"]}],visited:[{type:core.Input},{type:core.HostBinding,args:["class.cds--link--visited"]}],disabled:[{type:core.Input},{type:core.HostBinding,args:["attr.aria-disabled"]},{type:core.HostBinding,args:["class.cds--link--disabled"]}]},Link=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsLink], [ibmLink]"})],Link);let LinkIconDirective=class LinkIconDirective{constructor(){this.iconClass=!0}};LinkIconDirective.propDecorators={iconClass:[{type:core.HostBinding,args:["class.cds--link__icon"]}]},LinkIconDirective=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[ibmLinkIcon], [cdsLinkIcon]"})],LinkIconDirective);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs");let LinkModule=class LinkModule{};LinkModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[Link,LinkIconDirective],exports:[Link,LinkIconDirective],imports:[common.CommonModule]})],LinkModule)},"./src/notification/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Yj:()=>BaseNotification,PQ:()=>NotificationModule,gq:()=>NotificationService});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let ActionableButton=class ActionableButton{constructor(){this.actionableButton=!0,this.type="button"}};ActionableButton.propDecorators={actionableButton:[{type:core.HostBinding,args:["class.cds--actionable-notification__action-button"]}],type:[{type:core.HostBinding,args:["attr.type"]}]},ActionableButton=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsActionableButton], [ibmActionableButton]"})],ActionableButton);let ActionableSubtitle=class ActionableSubtitle{constructor(){this.baseClass=!0}};ActionableSubtitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--actionable-notification__subtitle"]}]},ActionableSubtitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsActionableSubtitle], [ibmActionableSubtitle]"})],ActionableSubtitle);let ActionableTitle=class ActionableTitle{constructor(){this.baseClass=!0}};ActionableTitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--actionable-notification__title"]}]},ActionableTitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsActionableTitle], [ibmActionableTitle]"})],ActionableTitle);var isObservable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isObservable.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),i18n=__webpack_require__("./src/i18n/index.ts");let NotificationDisplayService=class NotificationDisplayService{constructor(applicationRef){this.applicationRef=applicationRef}close(notificationRef){notificationRef.hostView&&setTimeout((()=>{this.applicationRef.detachView(notificationRef.hostView),notificationRef.destroy()}),200)}};NotificationDisplayService.ctorParameters=()=>[{type:core.ApplicationRef}],NotificationDisplayService=(0,tslib_es6.gn)([(0,core.Injectable)()],NotificationDisplayService);let BaseNotification=class BaseNotification{constructor(notificationDisplayService,i18n){this.notificationDisplayService=notificationDisplayService,this.i18n=i18n,this.close=new core.EventEmitter,this.iconDictionary={error:"error--filled",info:"information--filled","info-square":"information--square--filled",success:"checkmark--filled",warning:"warning--filled","warning-alt":"warning--alt--filled"},this.defaultNotificationObj={title:"",message:"",type:"info",showClose:!0,closeLabel:this.i18n.get("NOTIFICATION.CLOSE_BUTTON"),role:"status"},this._notificationObj=Object.assign({},this.defaultNotificationObj)}get roleAttr(){return this._notificationObj.role}onClose(){this.close.emit()}onClick(action,event){action.click&&((0,isObservable.b)(action.click)?action.click.next({event,action}):action.click({event,action}))}destroy(){this.notificationDisplayService.close(this)}};BaseNotification.ctorParameters=()=>[{type:NotificationDisplayService},{type:i18n.oc}],BaseNotification.propDecorators={roleAttr:[{type:core.HostBinding,args:["attr.role"]}],close:[{type:core.Output}]},BaseNotification=(0,tslib_es6.gn)([(0,core.Component)({template:""})],BaseNotification);let ActionableNotification=class ActionableNotification extends BaseNotification{constructor(notificationDisplayService,i18n){super(notificationDisplayService,i18n),this.notificationDisplayService=notificationDisplayService,this.i18n=i18n,this.notificationID="actionable-notification-"+ActionableNotification.notificationCount++,this.notificationLabel=this.notificationID,this.notificationClass=!0,this.defaultNotificationObj={...this.defaultNotificationObj,variant:"inline",role:"alertdialog"}}get notificationObj(){return this._notificationObj}set notificationObj(obj){obj.closeLabel&&!(0,isObservable.b)(obj.closeLabel)&&(obj.closeLabel=(0,of.of)(obj.closeLabel)),this._notificationObj=Object.assign({},this.defaultNotificationObj,obj)}get toastVariant(){return"toast"===this.notificationObj.variant}get isError(){return"error"===this.notificationObj.type}get isInfo(){return"info"===this.notificationObj.type}get isInfoSquare(){return"info-square"===this.notificationObj.type}get isSuccess(){return"success"===this.notificationObj.type}get isWarning(){return"warning"===this.notificationObj.type}get isWarningAlt(){return"warning-alt"===this.notificationObj.type}get isLowContrast(){return this.notificationObj.lowContrast}get isCloseHidden(){return!this._notificationObj.showClose}};ActionableNotification.notificationCount=0,ActionableNotification.ctorParameters=()=>[{type:NotificationDisplayService},{type:i18n.oc}],ActionableNotification.propDecorators={notificationObj:[{type:core.Input}],notificationLabel:[{type:core.HostBinding,args:["attr.aria-labelledBy"]}],notificationClass:[{type:core.HostBinding,args:["class.cds--actionable-notification"]}],toastVariant:[{type:core.HostBinding,args:["class.cds--actionable-notification--toast"]}],isError:[{type:core.HostBinding,args:["class.cds--actionable-notification--error"]}],isInfo:[{type:core.HostBinding,args:["class.cds--actionable-notification--info"]}],isInfoSquare:[{type:core.HostBinding,args:["class.cds--actionable-notification--info-square"]}],isSuccess:[{type:core.HostBinding,args:["class.cds--actionable-notification--success"]}],isWarning:[{type:core.HostBinding,args:["class.cds--actionable-notification--warning"]}],isWarningAlt:[{type:core.HostBinding,args:["class.cds--actionable-notification--warning-alt"]}],isLowContrast:[{type:core.HostBinding,args:["class.cds--actionable-notification--low-contrast"]}],isCloseHidden:[{type:core.HostBinding,args:["class.cds--actionable-notification--hide-close-button"]}]},ActionableNotification=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-actionable-notification, ibm-actionable-notification",template:'\n\t\t<div class="cds--actionable-notification__details">\n\t\t\t<svg\n\t\t\t\t[cdsIcon]="iconDictionary[notificationObj.type]"\n\t\t\t\tsize="20"\n\t\t\t\t*ngIf="notificationObj.type"\n\t\t\t\t[ngClass]="{\n\t\t\t\t\t\'cds--inline-notification__icon\': notificationObj.variant === \'inline\',\n\t\t\t\t\t\'cds--toast-notification__icon\': notificationObj.variant === \'toast\'\n\t\t\t\t}"\n\t\t\t\tclass="cds--actionable-notification__icon">\n\t\t\t</svg>\n\t\t\t<div class="cds--actionable-notification__text-wrapper">\n\t\t\t\t<div class="cds--actionable-notification__content">\n\t\t\t\t\t<div\n\t\t\t\t\t\tcdsActionableTitle\n\t\t\t\t\t\t*ngIf="!notificationObj.template"\n\t\t\t\t\t\t[id]="notificationID"\n\t\t\t\t\t\t[innerHTML]="notificationObj.title">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div *ngIf="!notificationObj.template" cdsActionableSubtitle>\n\t\t\t\t\t\t<span [innerHTML]="notificationObj.message"></span>\n\t\t\t\t\t\t<ng-container *ngFor="let link of notificationObj.links">\n\t\t\t\t\t\t\t<a cdsLink [href]="link.href">{{link.text}}</a>\n\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngTemplateOutlet="notificationObj.template; context: { $implicit: notificationObj }"></ng-container>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<ng-container *ngIf="!notificationObj.actionsTemplate">\n\t\t\t<button\n\t\t\t\t*ngFor="let action of notificationObj.actions"\n\t\t\t\t(click)="onClick(action, $event)"\n\t\t\t\t[cdsButton]="notificationObj.variant === \'inline\' ? \'ghost\' : \'tertiary\'"\n\t\t\t\tsize="sm"\n\t\t\t\tcdsActionableButton>\n\t\t\t\t{{action.text}}\n\t\t\t</button>\n\t\t</ng-container>\n\t\t<ng-container *ngTemplateOutlet="notificationObj.actionsTemplate; context: { $implicit: notificationObj }"></ng-container>\n\t\t<button\n\t\t\t*ngIf="!isCloseHidden"\n\t\t\t(click)="onClose()"\n\t\t\tclass="cds--actionable-notification__close-button"\n\t\t\t[attr.aria-label]="notificationObj.closeLabel | async"\n\t\t\ttype="button">\n\t\t\t<svg cdsIcon="close" size="16" class="cds--actionable-notification__close-icon"></svg>\n\t\t</button>\n\t'})],ActionableNotification);let NotificationSubtitle=class NotificationSubtitle{constructor(){this.baseClass=!0}};NotificationSubtitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--inline-notification__subtitle"]}]},NotificationSubtitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsNotificationSubtitle], [ibmNotificationSubtitle]"})],NotificationSubtitle);let NotificationTitle=class NotificationTitle{constructor(){this.baseClass=!0}};NotificationTitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--inline-notification__title"]}]},NotificationTitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsNotificationTitle], [ibmNotificationTitle]"})],NotificationTitle);let Notification=class Notification extends BaseNotification{constructor(notificationDisplayService,i18n){super(notificationDisplayService,i18n),this.notificationDisplayService=notificationDisplayService,this.i18n=i18n,this.notificationID="notification-"+Notification.notificationCount++,this.notificationLabel=this.notificationID,this.notificationClass=!0}get notificationObj(){return this._notificationObj}set notificationObj(obj){obj.closeLabel&&!(0,isObservable.b)(obj.closeLabel)&&(obj.closeLabel=(0,of.of)(obj.closeLabel)),this._notificationObj=Object.assign({},this.defaultNotificationObj,obj)}get isError(){return"error"===this.notificationObj.type}get isInfo(){return"info"===this.notificationObj.type}get isInfoSquare(){return"info-square"===this.notificationObj.type}get isSuccess(){return"success"===this.notificationObj.type}get isWarning(){return"warning"===this.notificationObj.type}get isWarningAlt(){return"warning-alt"===this.notificationObj.type}get isLowContrast(){return this.notificationObj.lowContrast}get isCloseHidden(){return!this.notificationObj.showClose}};Notification.notificationCount=0,Notification.ctorParameters=()=>[{type:NotificationDisplayService},{type:i18n.oc}],Notification.propDecorators={notificationObj:[{type:core.Input}],notificationLabel:[{type:core.HostBinding,args:["attr.aria-labelledBy"]}],notificationClass:[{type:core.HostBinding,args:["class.cds--inline-notification"]}],isError:[{type:core.HostBinding,args:["class.cds--inline-notification--error"]}],isInfo:[{type:core.HostBinding,args:["class.cds--inline-notification--info"]}],isInfoSquare:[{type:core.HostBinding,args:["class.cds--inline-notification--info-square"]}],isSuccess:[{type:core.HostBinding,args:["class.cds--inline-notification--success"]}],isWarning:[{type:core.HostBinding,args:["class.cds--inline-notification--warning"]}],isWarningAlt:[{type:core.HostBinding,args:["class.cds--inline-notification--warning-alt"]}],isLowContrast:[{type:core.HostBinding,args:["class.cds--inline-notification--low-contrast"]}],isCloseHidden:[{type:core.HostBinding,args:["class.cds--inline-notification--hide-close-button"]}]},Notification=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification",template:'\n\t\t<div class="cds--inline-notification__details">\n\t\t\t<svg\n\t\t\t\t[cdsIcon]="iconDictionary[notificationObj.type]"\n\t\t\t\tsize="20"\n\t\t\t\t*ngIf="notificationObj.type"\n\t\t\t\tclass="cds--inline-notification__icon">\n\t\t\t</svg>\n\t\t\t<div class="cds--inline-notification__text-wrapper">\n\t\t\t\t<div\n\t\t\t\t\tcdsNotificationTitle\n\t\t\t\t\t*ngIf="!notificationObj.template"\n\t\t\t\t\t[innerHTML]="notificationObj.title"\n\t\t\t\t\t[id]="notificationID">\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf="!notificationObj.template" cdsNotificationSubtitle>\n\t\t\t\t\t<span [innerHTML]="notificationObj.message"></span>\n\t\t\t\t</div>\n\t\t\t\t<ng-container *ngTemplateOutlet="notificationObj.template; context: { $implicit: notificationObj}"></ng-container>\n\t\t\t</div>\n\t\t</div>\n\t\t<button\n\t\t\t*ngIf="!isCloseHidden"\n\t\t\t(click)="onClose()"\n\t\t\tclass="cds--inline-notification__close-button"\n\t\t\t[attr.aria-label]="notificationObj.closeLabel | async"\n\t\t\ttype="button">\n\t\t\t<svg cdsIcon="close" size="16" class="cds--inline-notification__close-icon"></svg>\n\t\t</button>\n\t'})],Notification);var src_button=__webpack_require__("./src/button/index.ts"),common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs");let Toast=class Toast extends BaseNotification{constructor(notificationDisplayService,i18n){super(notificationDisplayService,i18n),this.notificationDisplayService=notificationDisplayService,this.i18n=i18n,this.toastID="toast-"+Toast.toastCount++,this.toastClass=!0}set notificationObj(obj){obj.closeLabel&&!(0,isObservable.b)(obj.closeLabel)&&(obj.closeLabel=(0,of.of)(obj.closeLabel)),this._notificationObj=Object.assign({},this.defaultNotificationObj,obj)}get notificationObj(){return this._notificationObj}get isError(){return"error"===this.notificationObj.type}get isInfo(){return"info"===this.notificationObj.type}get isInfoSquare(){return"info-square"===this.notificationObj.type}get isSuccess(){return"success"===this.notificationObj.type}get isWarning(){return"warning"===this.notificationObj.type}get isWarningAlt(){return"warning-alt"===this.notificationObj.type}get isLowContrast(){return this.notificationObj.lowContrast}get isCloseHidden(){return!this.notificationObj.showClose}ngOnInit(){this.notificationObj.closeLabel||(this.notificationObj.closeLabel=this.i18n.get().NOTIFICATION.CLOSE_BUTTON)}};Toast.toastCount=0,Toast.ctorParameters=()=>[{type:NotificationDisplayService},{type:i18n.oc}],Toast.propDecorators={notificationObj:[{type:core.Input}],toastID:[{type:core.HostBinding,args:["attr.id"]}],toastClass:[{type:core.HostBinding,args:["class.cds--toast-notification"]}],isError:[{type:core.HostBinding,args:["class.cds--toast-notification--error"]}],isInfo:[{type:core.HostBinding,args:["class.cds--toast-notification--info"]}],isInfoSquare:[{type:core.HostBinding,args:["class.cds--toast-notification--info-square"]}],isSuccess:[{type:core.HostBinding,args:["class.cds--toast-notification--success"]}],isWarning:[{type:core.HostBinding,args:["class.cds--toast-notification--warning"]}],isWarningAlt:[{type:core.HostBinding,args:["class.cds--toast-notification--warning-alt"]}],isLowContrast:[{type:core.HostBinding,args:["class.cds--toast-notification--low-contrast"]}],isCloseHidden:[{type:core.HostBinding,args:["class.cds--toast-notification--hide-close-button"]}]},Toast=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-toast, ibm-toast",template:'\n\t\t<svg\n\t\t\t[cdsIcon]="iconDictionary[notificationObj.type]"\n\t\t\tsize="20"\n\t\t\t*ngIf="notificationObj.type"\n\t\t\tclass="cds--toast-notification__icon">\n\t\t</svg>\n\t\t<div class="cds--toast-notification__details">\n\t\t\t<h3 *ngIf="!notificationObj.template" cdsToastTitle [innerHTML]="notificationObj.title"></h3>\n\t\t\t<div *ngIf="!notificationObj.template" cdsToastSubtitle>\n\t\t\t\t<span [innerHTML]="notificationObj.subtitle"></span>\n\t\t\t</div>\n\t\t\t<p *ngIf="!notificationObj.template" cdsToastCaption [innerHTML]="notificationObj.caption"></p>\n\t\t\t<ng-container *ngTemplateOutlet="notificationObj.template; context: { $implicit: notificationObj }"></ng-container>\n\t\t</div>\n\t\t<button\n\t\t\t*ngIf="!isCloseHidden"\n\t\t\tclass="cds--toast-notification__close-button"\n\t\t\ttype="button"\n\t\t\t[attr.aria-label]="notificationObj.closeLabel | async"\n\t\t\t(click)="onClose()">\n\t\t\t<svg cdsIcon="close" size="16" class="cds--toast-notification__close-icon"></svg>\n\t\t</button>\n\t'})],Toast);let ToastTitle=class ToastTitle{constructor(){this.baseClass=!0}};ToastTitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--toast-notification__title"]}]},ToastTitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsToastTitle], [ibmToastTitle]"})],ToastTitle);let ToastSubtitle=class ToastSubtitle{constructor(){this.baseClass=!0}};ToastSubtitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--toast-notification__subtitle"]}]},ToastSubtitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsToastSubtitle], [ibmToastSubtitle]"})],ToastSubtitle);let ToastCaption=class ToastCaption{constructor(){this.baseClass=!0}};ToastCaption.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--toast-notification__caption"]}]},ToastCaption=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsToastCaption], [ibmToastCaption]"})],ToastCaption);let NotificationService=class NotificationService{constructor(injector,viewContainer,ngZone){this.injector=injector,this.viewContainer=viewContainer,this.ngZone=ngZone,this.notificationRefs=new Array,this.onClose=new core.EventEmitter}showNotification(notificationObj,notificationComp=Notification){const notificationRef=this.viewContainer.createComponent(notificationComp);if(notificationRef.instance.notificationObj=notificationObj,this.notificationRefs.push(notificationRef),this.onClose=notificationRef.instance.close,notificationObj.target)document.querySelector(notificationObj.target).appendChild(notificationRef.location.nativeElement);else{let body=document.querySelector("body"),notificationClassName="notification-overlay",notificationList=body.querySelector(`.${notificationClassName}`);notificationList||(notificationList=document.createElement("div"),notificationList.className=notificationClassName,body.appendChild(notificationList)),notificationList.firstChild?notificationList.insertBefore(notificationRef.location.nativeElement,notificationList.firstChild):notificationList.appendChild(notificationRef.location.nativeElement)}return notificationObj.duration&&notificationObj.duration>0&&this.ngZone.runOutsideAngular((()=>{setTimeout((()=>{this.ngZone.run((()=>{this.close(notificationRef)}))}),notificationObj.duration)})),notificationObj.smart&&this.ngZone.runOutsideAngular((()=>{setTimeout((()=>{this.ngZone.run((()=>{this.close(notificationRef)}))}),this.getSmartTimeout(notificationObj))})),this.onClose.subscribe((()=>{this.close(notificationRef)})),notificationRef.instance.componentRef=notificationRef,notificationRef.instance}showToast(notificationObj,notificationComp=Toast){return this.showNotification(notificationObj,notificationComp)}showActionable(notificationObj,notificationComp=ActionableNotification){return this.showNotification(notificationObj,notificationComp)}close(notificationRef){if(notificationRef)if(notificationRef instanceof Notification)this.close(notificationRef.componentRef);else{notificationRef.destroy();const index=this.notificationRefs.indexOf(notificationRef);-1!==index&&this.notificationRefs.splice(index,1)}}getSmartTimeout(notificationObj){let timeout=600;switch(timeout+=notificationObj.duration||0,notificationObj.type){case"info":case"info-square":case"success":default:break;case"danger":timeout+=3e3;break;case"warning":case"warning-alt":timeout+=1500}return timeout+=450*notificationObj.message.trim().split(/\s+/).length,timeout}ngOnDestroy(){this.notificationRefs.forEach((ref=>{ref.destroy()}))}};NotificationService.ctorParameters=()=>[{type:core.Injector},{type:core.ViewContainerRef},{type:core.NgZone}],NotificationService=(0,tslib_es6.gn)([(0,core.Injectable)()],NotificationService);var experimental=__webpack_require__("./src/experimental/index.ts"),src_link=__webpack_require__("./src/link/index.ts"),icon=__webpack_require__("./src/icon/index.ts");let NotificationModule=class NotificationModule{};NotificationModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[ActionableButton,ActionableNotification,ActionableTitle,ActionableSubtitle,BaseNotification,Notification,Toast,ToastTitle,ToastSubtitle,ToastCaption,NotificationTitle,NotificationSubtitle],exports:[Notification,ActionableButton,ActionableNotification,ActionableTitle,ActionableSubtitle,Toast,ToastTitle,ToastSubtitle,ToastCaption,NotificationTitle,NotificationSubtitle],imports:[src_button.hJ,common.CommonModule,i18n.LU,experimental.OV,src_link.LO,icon.QX],providers:[NotificationService,NotificationDisplayService]})],NotificationModule)}}]);
1
+ "use strict";(self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[]).push([[901],{"./src/button/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{HL:()=>BaseIconButton,zx:()=>Button,hJ:()=>ButtonModule,uV:()=>ButtonSet,hU:()=>IconButton});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let Button=class Button{constructor(){this.cdsButton="primary",this.skeleton=!1,this.iconOnly=!1,this.isExpressive=!1,this.baseClass=!0}set ibmButton(type){this.cdsButton=type}get primaryButton(){return"primary"===this.cdsButton||!this.cdsButton}get secondaryButton(){return"secondary"===this.cdsButton}get tertiaryButton(){return"tertiary"===this.cdsButton}get ghostButton(){return"ghost"===this.cdsButton}get dangerButton(){return"danger"===this.cdsButton||"danger--primary"===this.cdsButton}get dangerTertiary(){return"danger--tertiary"===this.cdsButton}get dangerGhost(){return"danger--ghost"===this.cdsButton}get extraSmallSize(){return"xs"===this.size&&!this.isExpressive}get smallSize(){return"sm"===this.size&&!this.isExpressive}get mediumSize(){return"md"===this.size&&!this.isExpressive}get largeSize(){return"lg"===this.size}get extraLargeSize(){return"xl"===this.size}get twoExtraLargeSize(){return"2xl"===this.size}get extraSmallLayoutSize(){return"xs"===this.size&&!this.isExpressive}get smallLayoutSize(){return"sm"===this.size&&!this.isExpressive}get mediumLayoutSize(){return"md"===this.size&&!this.isExpressive}get largeLayoutSize(){return"lg"===this.size}get extraLargeLayoutSize(){return"xl"===this.size}get twoExtraLargeLayoutSize(){return"2xl"===this.size}};Button.propDecorators={ibmButton:[{type:core.Input}],cdsButton:[{type:core.Input}],size:[{type:core.Input}],skeleton:[{type:core.HostBinding,args:["class.cds--skeleton"]},{type:core.Input}],iconOnly:[{type:core.HostBinding,args:["class.cds--btn--icon-only"]},{type:core.Input}],isExpressive:[{type:core.HostBinding,args:["class.cds--btn--expressive"]},{type:core.Input}],baseClass:[{type:core.HostBinding,args:["class.cds--btn"]}],primaryButton:[{type:core.HostBinding,args:["class.cds--btn--primary"]}],secondaryButton:[{type:core.HostBinding,args:["class.cds--btn--secondary"]}],tertiaryButton:[{type:core.HostBinding,args:["class.cds--btn--tertiary"]}],ghostButton:[{type:core.HostBinding,args:["class.cds--btn--ghost"]}],dangerButton:[{type:core.HostBinding,args:["class.cds--btn--danger"]}],dangerTertiary:[{type:core.HostBinding,args:["class.cds--btn--danger--tertiary"]}],dangerGhost:[{type:core.HostBinding,args:["class.cds--btn--danger--ghost"]}],extraSmallSize:[{type:core.HostBinding,args:["class.cds--btn--xs"]}],smallSize:[{type:core.HostBinding,args:["class.cds--btn--sm"]}],mediumSize:[{type:core.HostBinding,args:["class.cds--btn--md"]}],largeSize:[{type:core.HostBinding,args:["class.cds--btn--lg"]}],extraLargeSize:[{type:core.HostBinding,args:["class.cds--btn--xl"]}],twoExtraLargeSize:[{type:core.HostBinding,args:["class.cds--btn--2xl"]}],extraSmallLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-xs"]}],smallLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-sm"]}],mediumLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-md"]}],largeLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-lg"]}],extraLargeLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-xl"]}],twoExtraLargeLayoutSize:[{type:core.HostBinding,args:["class.cds--layout--size-2xl"]}]},Button=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsButton], [ibmButton]"})],Button);let ButtonSet=class ButtonSet{constructor(){this.buttonSetClass=!0,this.fluid=!1,this.stacked=!1}get fluidClass(){return this.fluid}get stackedClass(){return this.stacked}};ButtonSet.propDecorators={buttonSetClass:[{type:core.HostBinding,args:["class.cds--btn-set"]}],fluid:[{type:core.Input}],stacked:[{type:core.Input}],fluidClass:[{type:core.HostBinding,args:["class.cds--btn-set--fluid"]}],stackedClass:[{type:core.HostBinding,args:["class.cds--btn-set--stacked"]}]},ButtonSet=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-button-set, ibm-button-set",template:'\n\t\t<div *ngIf="fluid" class="cds--btn-set__fluid-inner cds--btn-set__fluid-inner--auto-stack">\n\t\t\t<ng-container *ngTemplateOutlet="content"></ng-container>\n\t\t</div>\n\t\t<ng-container *ngIf="!fluid">\n\t\t\t<ng-container *ngTemplateOutlet="content"></ng-container>\n\t\t</ng-container>\n\n\t\t<ng-template #content>\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\t'})],ButtonSet);let BaseIconButton=class BaseIconButton{constructor(){this.caret=!0,this.dropShadow=!0,this.highContrast=!0,this.isOpen=!1,this.align="bottom",this.autoAlign=!1,this.enterDelayMs=100,this.leaveDelayMs=300}};BaseIconButton.propDecorators={caret:[{type:core.Input}],dropShadow:[{type:core.Input}],highContrast:[{type:core.Input}],isOpen:[{type:core.Input}],align:[{type:core.Input}],autoAlign:[{type:core.Input}],enterDelayMs:[{type:core.Input}],leaveDelayMs:[{type:core.Input}]},BaseIconButton=(0,tslib_es6.gn)([(0,core.Component)({template:""})],BaseIconButton);let IconButton=class IconButton extends BaseIconButton{constructor(renderer){super(),this.renderer=renderer,this.buttonId="icon-btn-"+IconButton.iconButtonCounter++,this.kind="primary",this.size="lg",this.type="button",this.isExpressive=!1,this.disabled=!1,this.showTooltipWhenDisabled=!1,this.click=new core.EventEmitter,this.focus=new core.EventEmitter,this.blur=new core.EventEmitter,this.tooltipClick=new core.EventEmitter,this.classList={},this.attributeList={}}set buttonNgClass(obj){this.classList=Object.assign({"cds--btn--disabled":this.disabled},obj)}get buttonNgClass(){return this.classList}set buttonAttributes(obj){this.button&&(Object.keys(this.attributeList).forEach((key=>{this.renderer.removeAttribute(this.button.nativeElement,key)})),Object.keys(obj).forEach((key=>{this.renderer.setAttribute(this.button.nativeElement,key,obj[key])}))),this.attributeList=obj}get buttonAttributes(){return this.buttonAttributes}ngAfterViewInit(){this.buttonAttributes=this.attributeList}emitClickEvent(event,element="button"){event.preventDefault(),event.stopPropagation(),"tooltip"!==element?this.click.emit(event):this.tooltipClick.emit(event)}};IconButton.iconButtonCounter=0,IconButton.ctorParameters=()=>[{type:core.Renderer2}],IconButton.propDecorators={buttonNgClass:[{type:core.Input}],buttonAttributes:[{type:core.Input}],button:[{type:core.ViewChild,args:["button"]}],buttonId:[{type:core.Input}],kind:[{type:core.Input}],size:[{type:core.Input}],type:[{type:core.Input}],isExpressive:[{type:core.Input}],disabled:[{type:core.Input}],description:[{type:core.Input}],showTooltipWhenDisabled:[{type:core.Input}],click:[{type:core.Output}],focus:[{type:core.Output}],blur:[{type:core.Output}],tooltipClick:[{type:core.Output}]},IconButton=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-icon-button, ibm-icon-button",template:'\n\t<cds-tooltip\n\t\tclass="cds--icon-tooltip"\n\t\t[description]="description"\n\t\t[disabled]="showTooltipWhenDisabled ? false : disabled"\n\t\t[caret]="caret"\n\t\t[dropShadow]="dropShadow"\n\t\t[highContrast]="highContrast"\n\t\t[isOpen]="isOpen"\n\t\t[align]="align"\n\t\t[autoAlign]="autoAlign"\n\t\t[enterDelayMs]="enterDelayMs"\n\t\t[leaveDelayMs]="leaveDelayMs"\n\t\t(click)="emitClickEvent($event, \'tooltip\')">\n\t\t<button\n\t\t\t#button\n\t\t\t[id]="buttonId"\n\t\t\t[disabled]="disabled"\n\t\t\t[attr.type]="type"\n\t\t\t[iconOnly]="true"\n\t\t\t[ngClass]="buttonNgClass"\n\t\t\t[cdsButton]="kind"\n\t\t\t[size]="size"\n\t\t\t[isExpressive]="isExpressive"\n\t\t\t(click)="emitClickEvent($event)"\n\t\t\t(focus)="focus.emit($event)"\n\t\t\t(blur)="blur.emit($event)">\n\t\t\t<ng-content></ng-content>\n\t\t</button>\n\t</cds-tooltip>\n\t'})],IconButton);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),tooltip=__webpack_require__("./src/tooltip/index.ts");let ButtonModule=class ButtonModule{};ButtonModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[Button,ButtonSet,BaseIconButton,IconButton],exports:[Button,ButtonSet,IconButton],imports:[common.CommonModule,tooltip.z8]})],ButtonModule)},"./src/experimental/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{OV:()=>ExperimentalModule,tM:()=>ExperimentalService});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let ExperimentalService=class ExperimentalService{constructor(){this.experiments=new Map}addExperiment(name,options={enabled:!1}){this.experiments.has(name)||this.experiments.set(name,options)}enableExperiment(name){this.getExperiment(name).enabled=!0}disableExperiment(name){this.getExperiment(name).enabled=!1}getExperiment(name){return this.experiments.has(name)?this.experiments.get(name):(this.addExperiment(name),this.getExperiment(name))}getExperiments(){return Array.from(this.experiments.entries())}};ExperimentalService=(0,tslib_es6.gn)([(0,core.Injectable)()],ExperimentalService);const EXPERIMENTAL_SERVICE_PROVIDER={provide:ExperimentalService,deps:[[new core.Optional,new core.SkipSelf,ExperimentalService]],useFactory:function EXPERIMENTAL_SERVICE_PROVIDER_FACTORY(parentService){return parentService||new ExperimentalService}};let ExperimentalModule=class ExperimentalModule{};ExperimentalModule=(0,tslib_es6.gn)([(0,core.NgModule)({providers:[ExperimentalService,EXPERIMENTAL_SERVICE_PROVIDER]})],ExperimentalModule)},"./src/icon/icon.directive.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{a:()=>IconDirective});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_icon_service__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");let IconDirective=class IconDirective{constructor(elementRef,iconService){this.elementRef=elementRef,this.iconService=iconService,this.cdsIcon="",this.size="16",this.title="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaHidden="",this.isFocusable=!1}set ibmIcon(iconName){this.cdsIcon=iconName}renderIcon(iconName){const root=this.elementRef.nativeElement;let icon;try{icon=this.iconService.get(iconName,this.size.toString())}catch(error){return void console.warn(error)}const domParser=new DOMParser,rawSVG=icon.svg,svgElement=domParser.parseFromString(rawSVG,"image/svg+xml").documentElement;let node="SVG"!==root.tagName.toUpperCase()?svgElement:svgElement.firstChild;for(root.innerHTML="";node;)root.appendChild(root.ownerDocument.importNode(node,!0)),node=node.nextSibling;const svg="SVG"!==root.tagName.toUpperCase()?svgElement:root,xmlns="http://www.w3.org/2000/svg";svg.setAttribute("xmlns",xmlns);const attributes=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_1__.u9)({width:icon.attrs.width,height:icon.attrs.height,viewBox:icon.attrs.viewBox,title:this.title,"aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledBy,"aria-hidden":this.ariaHidden,focusable:this.isFocusable.toString(),fill:icon.attrs.fill}),attrKeys=Object.keys(attributes);for(let i=0;i<attrKeys.length;i++){const key=attrKeys[i],value=attributes[key];"title"!==key&&(value&&svg.setAttribute(key,value))}if(attributes.title){const title=document.createElementNS(xmlns,"title");title.textContent=attributes.title,IconDirective.titleIdCounter++,title.setAttribute("id",`${icon.name}-title-${IconDirective.titleIdCounter}`),svg.insertBefore(title,svg.firstElementChild),svg.setAttribute("aria-labelledby",`${icon.name}-title-${IconDirective.titleIdCounter}`)}}ngAfterViewInit(){this.renderIcon(this.cdsIcon)}ngOnChanges({cdsIcon}){cdsIcon&&!cdsIcon.isFirstChange()&&this.renderIcon(this.cdsIcon)}};IconDirective.titleIdCounter=0,IconDirective.ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.ElementRef},{type:_icon_service__WEBPACK_IMPORTED_MODULE_0__.C6}],IconDirective.propDecorators={ibmIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],cdsIcon:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],size:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],title:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabel:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaLabelledBy:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],ariaHidden:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}],isFocusable:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Input}]},IconDirective=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Directive)({selector:"[cdsIcon], [ibmIcon]"})],IconDirective)},"./src/icon/icon.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{QX:()=>IconModule});var tslib__WEBPACK_IMPORTED_MODULE_61__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_60__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_62__=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),_icon_directive__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./src/icon/icon.directive.ts"),_icon_service__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./src/icon/icon.service.ts"),_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@carbon/icons/es/add/16.js"),_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@carbon/icons/es/add/20.js"),_carbon_icons_es_arrow_down_16__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@carbon/icons/es/arrow--down/16.js"),_carbon_icons_es_arrows_vertical_16__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@carbon/icons/es/arrows--vertical/16.js"),_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@carbon/icons/es/bee/16.js"),_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/@carbon/icons/es/bee/20.js"),_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@carbon/icons/es/calendar/16.js"),_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/16.js"),_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/@carbon/icons/es/carbon/20.js"),_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/@carbon/icons/es/caret--down/16.js"),_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/@carbon/icons/es/caret--left/16.js"),_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/@carbon/icons/es/caret--right/16.js"),_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__("./node_modules/@carbon/icons/es/caret--up/16.js"),_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark/16.js"),_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/16.js"),_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--filled/20.js"),_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__("./node_modules/@carbon/icons/es/checkmark--outline/16.js"),_carbon_icons_es_checkbox_16__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__("./node_modules/@carbon/icons/es/checkbox/16.js"),_carbon_icons_es_checkbox_checked_filled_16__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__("./node_modules/@carbon/icons/es/checkbox--checked--filled/16.js"),_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--down/16.js"),_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__("./node_modules/@carbon/icons/es/chevron--right/16.js"),_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__("./node_modules/@carbon/icons/es/circle-dash/16.js"),_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__("./node_modules/@carbon/icons/es/close/16.js"),_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_25__=__webpack_require__("./node_modules/@carbon/icons/es/close/20.js"),_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_26__=__webpack_require__("./node_modules/@carbon/icons/es/copy/16.js"),_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_27__=__webpack_require__("./node_modules/@carbon/icons/es/copy/20.js"),_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_28__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/16.js"),_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_29__=__webpack_require__("./node_modules/@carbon/icons/es/data--2/20.js"),_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_30__=__webpack_require__("./node_modules/@carbon/icons/es/document/16.js"),_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_31__=__webpack_require__("./node_modules/@carbon/icons/es/document/20.js"),_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_32__=__webpack_require__("./node_modules/@carbon/icons/es/download/16.js"),_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_33__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/16.js"),_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_34__=__webpack_require__("./node_modules/@carbon/icons/es/error--filled/20.js"),_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_35__=__webpack_require__("./node_modules/@carbon/icons/es/fade/16.js"),_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_36__=__webpack_require__("./node_modules/@carbon/icons/es/fade/20.js"),_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_37__=__webpack_require__("./node_modules/@carbon/icons/es/folder/16.js"),_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_38__=__webpack_require__("./node_modules/@carbon/icons/es/incomplete/16.js"),_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_39__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/16.js"),_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_40__=__webpack_require__("./node_modules/@carbon/icons/es/information--filled/20.js"),_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_41__=__webpack_require__("./node_modules/@carbon/icons/es/information--square--filled/20.js"),_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_42__=__webpack_require__("./node_modules/@carbon/icons/es/menu/16.js"),_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_43__=__webpack_require__("./node_modules/@carbon/icons/es/menu/20.js"),_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_44__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--vertical/16.js"),_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_45__=__webpack_require__("./node_modules/@carbon/icons/es/overflow-menu--horizontal/16.js"),_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_46__=__webpack_require__("./node_modules/@carbon/icons/es/save/16.js"),_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_47__=__webpack_require__("./node_modules/@carbon/icons/es/search/16.js"),_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_48__=__webpack_require__("./node_modules/@carbon/icons/es/settings/16.js"),_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_49__=__webpack_require__("./node_modules/@carbon/icons/es/settings--adjust/16.js"),_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_50__=__webpack_require__("./node_modules/@carbon/icons/es/subtract/16.js"),_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_51__=__webpack_require__("./node_modules/@carbon/icons/es/trash-can/16.js"),_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_52__=__webpack_require__("./node_modules/@carbon/icons/es/warning/16.js"),_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_53__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/16.js"),_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_54__=__webpack_require__("./node_modules/@carbon/icons/es/warning--filled/20.js"),_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_55__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/16.js"),_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_56__=__webpack_require__("./node_modules/@carbon/icons/es/warning--alt--filled/20.js"),_carbon_icons_es_undo_16__WEBPACK_IMPORTED_MODULE_57__=__webpack_require__("./node_modules/@carbon/icons/es/undo/16.js"),_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_58__=__webpack_require__("./node_modules/@carbon/icons/es/view/16.js"),_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_59__=__webpack_require__("./node_modules/@carbon/icons/es/view--off/16.js");const ICON_SERVICE_PROVIDER={provide:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6,deps:[[new _angular_core__WEBPACK_IMPORTED_MODULE_60__.Optional,new _angular_core__WEBPACK_IMPORTED_MODULE_60__.SkipSelf,_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6]],useFactory:function ICON_SERVICE_PROVIDER_FACTORY(parentService){return parentService||new _icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}};let IconModule=class IconModule{constructor(iconService){this.iconService=iconService,iconService.registerAll([_carbon_icons_es_add_16__WEBPACK_IMPORTED_MODULE_2__.Z,_carbon_icons_es_add_20__WEBPACK_IMPORTED_MODULE_3__.Z,_carbon_icons_es_arrow_down_16__WEBPACK_IMPORTED_MODULE_4__.Z,_carbon_icons_es_arrows_vertical_16__WEBPACK_IMPORTED_MODULE_5__.Z,_carbon_icons_es_bee_16__WEBPACK_IMPORTED_MODULE_6__.Z,_carbon_icons_es_bee_20__WEBPACK_IMPORTED_MODULE_7__.Z,_carbon_icons_es_calendar_16__WEBPACK_IMPORTED_MODULE_8__.Z,_carbon_icons_es_carbon_16__WEBPACK_IMPORTED_MODULE_9__.Z,_carbon_icons_es_carbon_20__WEBPACK_IMPORTED_MODULE_10__.Z,_carbon_icons_es_caret_down_16__WEBPACK_IMPORTED_MODULE_11__.Z,_carbon_icons_es_caret_left_16__WEBPACK_IMPORTED_MODULE_12__.Z,_carbon_icons_es_caret_right_16__WEBPACK_IMPORTED_MODULE_13__.Z,_carbon_icons_es_caret_up_16__WEBPACK_IMPORTED_MODULE_14__.Z,_carbon_icons_es_checkmark_16__WEBPACK_IMPORTED_MODULE_15__.Z,_carbon_icons_es_checkmark_filled_16__WEBPACK_IMPORTED_MODULE_16__.Z,_carbon_icons_es_checkmark_filled_20__WEBPACK_IMPORTED_MODULE_17__.Z,_carbon_icons_es_checkmark_outline_16__WEBPACK_IMPORTED_MODULE_18__.Z,_carbon_icons_es_checkbox_16__WEBPACK_IMPORTED_MODULE_19__.Z,_carbon_icons_es_checkbox_checked_filled_16__WEBPACK_IMPORTED_MODULE_20__.Z,_carbon_icons_es_chevron_down_16__WEBPACK_IMPORTED_MODULE_21__.Z,_carbon_icons_es_chevron_right_16__WEBPACK_IMPORTED_MODULE_22__.Z,_carbon_icons_es_circle_dash_16__WEBPACK_IMPORTED_MODULE_23__.Z,_carbon_icons_es_close_16__WEBPACK_IMPORTED_MODULE_24__.Z,_carbon_icons_es_close_20__WEBPACK_IMPORTED_MODULE_25__.Z,_carbon_icons_es_copy_16__WEBPACK_IMPORTED_MODULE_26__.Z,_carbon_icons_es_copy_20__WEBPACK_IMPORTED_MODULE_27__.Z,_carbon_icons_es_data_2_16__WEBPACK_IMPORTED_MODULE_28__.Z,_carbon_icons_es_data_2_20__WEBPACK_IMPORTED_MODULE_29__.Z,_carbon_icons_es_document_16__WEBPACK_IMPORTED_MODULE_30__.Z,_carbon_icons_es_document_20__WEBPACK_IMPORTED_MODULE_31__.Z,_carbon_icons_es_download_16__WEBPACK_IMPORTED_MODULE_32__.Z,_carbon_icons_es_error_filled_16__WEBPACK_IMPORTED_MODULE_33__.Z,_carbon_icons_es_error_filled_20__WEBPACK_IMPORTED_MODULE_34__.Z,_carbon_icons_es_fade_16__WEBPACK_IMPORTED_MODULE_35__.Z,_carbon_icons_es_fade_20__WEBPACK_IMPORTED_MODULE_36__.Z,_carbon_icons_es_folder_16__WEBPACK_IMPORTED_MODULE_37__.Z,_carbon_icons_es_incomplete_16__WEBPACK_IMPORTED_MODULE_38__.Z,_carbon_icons_es_information_filled_16__WEBPACK_IMPORTED_MODULE_39__.Z,_carbon_icons_es_information_filled_20__WEBPACK_IMPORTED_MODULE_40__.Z,_carbon_icons_es_information_square_filled_20__WEBPACK_IMPORTED_MODULE_41__.Z,_carbon_icons_es_menu_16__WEBPACK_IMPORTED_MODULE_42__.Z,_carbon_icons_es_menu_20__WEBPACK_IMPORTED_MODULE_43__.Z,_carbon_icons_es_overflow_menu_vertical_16__WEBPACK_IMPORTED_MODULE_44__.Z,_carbon_icons_es_overflow_menu_horizontal_16__WEBPACK_IMPORTED_MODULE_45__.Z,_carbon_icons_es_save_16__WEBPACK_IMPORTED_MODULE_46__.Z,_carbon_icons_es_search_16__WEBPACK_IMPORTED_MODULE_47__.Z,_carbon_icons_es_settings_16__WEBPACK_IMPORTED_MODULE_48__.Z,_carbon_icons_es_settings_adjust_16__WEBPACK_IMPORTED_MODULE_49__.Z,_carbon_icons_es_subtract_16__WEBPACK_IMPORTED_MODULE_50__.Z,_carbon_icons_es_trash_can_16__WEBPACK_IMPORTED_MODULE_51__.Z,_carbon_icons_es_undo_16__WEBPACK_IMPORTED_MODULE_57__.Z,_carbon_icons_es_view_16__WEBPACK_IMPORTED_MODULE_58__.Z,_carbon_icons_es_view_off_16__WEBPACK_IMPORTED_MODULE_59__.Z,_carbon_icons_es_warning_16__WEBPACK_IMPORTED_MODULE_52__.Z,_carbon_icons_es_warning_filled_16__WEBPACK_IMPORTED_MODULE_53__.Z,_carbon_icons_es_warning_filled_20__WEBPACK_IMPORTED_MODULE_54__.Z,_carbon_icons_es_warning_alt_filled_16__WEBPACK_IMPORTED_MODULE_55__.Z,_carbon_icons_es_warning_alt_filled_20__WEBPACK_IMPORTED_MODULE_56__.Z])}};IconModule.ctorParameters=()=>[{type:_icon_service__WEBPACK_IMPORTED_MODULE_1__.C6}],IconModule=(0,tslib__WEBPACK_IMPORTED_MODULE_61__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_60__.NgModule)({declarations:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],exports:[_icon_directive__WEBPACK_IMPORTED_MODULE_0__.a],imports:[_angular_common__WEBPACK_IMPORTED_MODULE_62__.CommonModule],providers:[ICON_SERVICE_PROVIDER]})],IconModule)},"./src/icon/icon.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{C6:()=>IconService});var tslib__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/tslib/tslib.es6.js"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@carbon/icon-helpers/es/index.js");class IconNameNotFoundError extends Error{constructor(name){super(`Icon ${name} not found`)}}class IconSizeNotFoundError extends Error{constructor(size,name){super(`Size ${size} for ${name} not found`)}}class IconMemoryCache extends class IconCache{}{constructor(){super(...arguments),this.iconMap=new Map}get(name,size){if(!this.iconMap.has(name))throw new IconNameNotFoundError(name);const sizeMap=this.iconMap.get(name);if(!sizeMap.has(size))throw new IconSizeNotFoundError(size,name);return sizeMap.get(size)}set(name,size,descriptor){this.iconMap.has(name)||this.iconMap.set(name,new Map);this.iconMap.get(name).set(size,descriptor)}}let IconService=class IconService{constructor(){this.iconCache=new IconMemoryCache}registerAll(descriptors){descriptors.forEach((icon=>this.register(icon)))}register(descriptor){const{name}=descriptor;this.registerAs(name,descriptor)}registerAs(name,descriptor){let{size,attrs:{width}}=descriptor;this.iconCache.set(name,(size??width).toString(),descriptor)}get(name,size){try{const icon=this.iconCache.get(name,size.toString());return icon.svg||(icon.svg=(0,_carbon_icon_helpers__WEBPACK_IMPORTED_MODULE_0__.BB)(icon)),icon}catch(e){throw e}}configure(options){this.iconCache=options.cache}};IconService=(0,tslib__WEBPACK_IMPORTED_MODULE_1__.gn)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)()],IconService)},"./src/icon/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{ar:()=>icon_directive.a,QX:()=>icon_module.QX,C6:()=>icon_service.C6});var icon_directive=__webpack_require__("./src/icon/icon.directive.ts"),icon_module=__webpack_require__("./src/icon/icon.module.ts"),icon_service=__webpack_require__("./src/icon/icon.service.ts")},"./src/link/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{rU:()=>Link,LO:()=>LinkModule});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let Link=class Link{constructor(){this.baseClass=!0,this.inline=!1,this.visited=!1}get sizeSm(){return"sm"===this.size}get sizeMd(){return"md"===this.size}get sizeLg(){return"lg"===this.size}set disabled(disabled){this._disabled=disabled,this.tabindex=this.disabled?-1:null}get disabled(){return this._disabled}};Link.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--link"]}],tabindex:[{type:core.HostBinding,args:["attr.tabindex"]}],inline:[{type:core.Input},{type:core.HostBinding,args:["class.cds--link--inline"]}],size:[{type:core.Input}],sizeSm:[{type:core.HostBinding,args:["class.cds--link--sm"]}],sizeMd:[{type:core.HostBinding,args:["class.cds--link--md"]}],sizeLg:[{type:core.HostBinding,args:["class.cds--link--lg"]}],visited:[{type:core.Input},{type:core.HostBinding,args:["class.cds--link--visited"]}],disabled:[{type:core.Input},{type:core.HostBinding,args:["attr.aria-disabled"]},{type:core.HostBinding,args:["class.cds--link--disabled"]}]},Link=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsLink], [ibmLink]"})],Link);let LinkIconDirective=class LinkIconDirective{constructor(){this.iconClass=!0}};LinkIconDirective.propDecorators={iconClass:[{type:core.HostBinding,args:["class.cds--link__icon"]}]},LinkIconDirective=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[ibmLinkIcon], [cdsLinkIcon]"})],LinkIconDirective);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs");let LinkModule=class LinkModule{};LinkModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[Link,LinkIconDirective],exports:[Link,LinkIconDirective],imports:[common.CommonModule]})],LinkModule)},"./src/notification/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Yj:()=>BaseNotification,PQ:()=>NotificationModule,gq:()=>NotificationService});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let ActionableButton=class ActionableButton{constructor(){this.actionableButton=!0,this.type="button"}};ActionableButton.propDecorators={actionableButton:[{type:core.HostBinding,args:["class.cds--actionable-notification__action-button"]}],type:[{type:core.HostBinding,args:["attr.type"]}]},ActionableButton=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsActionableButton], [ibmActionableButton]"})],ActionableButton);let ActionableSubtitle=class ActionableSubtitle{constructor(){this.baseClass=!0}};ActionableSubtitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--actionable-notification__subtitle"]}]},ActionableSubtitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsActionableSubtitle], [ibmActionableSubtitle]"})],ActionableSubtitle);let ActionableTitle=class ActionableTitle{constructor(){this.baseClass=!0}};ActionableTitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--actionable-notification__title"]}]},ActionableTitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsActionableTitle], [ibmActionableTitle]"})],ActionableTitle);var isObservable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isObservable.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),i18n=__webpack_require__("./src/i18n/index.ts");let NotificationDisplayService=class NotificationDisplayService{constructor(applicationRef){this.applicationRef=applicationRef}close(notificationRef){notificationRef.hostView&&setTimeout((()=>{this.applicationRef.detachView(notificationRef.hostView),notificationRef.destroy()}),200)}};NotificationDisplayService.ctorParameters=()=>[{type:core.ApplicationRef}],NotificationDisplayService=(0,tslib_es6.gn)([(0,core.Injectable)()],NotificationDisplayService);let BaseNotification=class BaseNotification{constructor(notificationDisplayService,i18n){this.notificationDisplayService=notificationDisplayService,this.i18n=i18n,this.close=new core.EventEmitter,this.iconDictionary={error:"error--filled",info:"information--filled","info-square":"information--square--filled",success:"checkmark--filled",warning:"warning--filled","warning-alt":"warning--alt--filled"},this.defaultNotificationObj={title:"",message:"",type:"info",showClose:!0,closeLabel:this.i18n.get("NOTIFICATION.CLOSE_BUTTON"),role:"status"},this._notificationObj=Object.assign({},this.defaultNotificationObj)}get roleAttr(){return this._notificationObj.role}onClose(){this.close.emit()}onClick(action,event){action.click&&((0,isObservable.b)(action.click)?action.click.next({event,action}):action.click({event,action}))}destroy(){this.notificationDisplayService.close(this)}};BaseNotification.ctorParameters=()=>[{type:NotificationDisplayService},{type:i18n.oc}],BaseNotification.propDecorators={roleAttr:[{type:core.HostBinding,args:["attr.role"]}],close:[{type:core.Output}]},BaseNotification=(0,tslib_es6.gn)([(0,core.Component)({template:""})],BaseNotification);let ActionableNotification=class ActionableNotification extends BaseNotification{constructor(notificationDisplayService,i18n){super(notificationDisplayService,i18n),this.notificationDisplayService=notificationDisplayService,this.i18n=i18n,this.notificationID="actionable-notification-"+ActionableNotification.notificationCount++,this.notificationLabel=this.notificationID,this.notificationClass=!0,this.defaultNotificationObj={...this.defaultNotificationObj,variant:"inline",role:"alertdialog"}}get notificationObj(){return this._notificationObj}set notificationObj(obj){obj.closeLabel&&!(0,isObservable.b)(obj.closeLabel)&&(obj.closeLabel=(0,of.of)(obj.closeLabel)),this._notificationObj=Object.assign({},this.defaultNotificationObj,obj)}get toastVariant(){return"toast"===this.notificationObj.variant}get isError(){return"error"===this.notificationObj.type}get isInfo(){return"info"===this.notificationObj.type}get isInfoSquare(){return"info-square"===this.notificationObj.type}get isSuccess(){return"success"===this.notificationObj.type}get isWarning(){return"warning"===this.notificationObj.type}get isWarningAlt(){return"warning-alt"===this.notificationObj.type}get isLowContrast(){return this.notificationObj.lowContrast}get isCloseHidden(){return!this._notificationObj.showClose}};ActionableNotification.notificationCount=0,ActionableNotification.ctorParameters=()=>[{type:NotificationDisplayService},{type:i18n.oc}],ActionableNotification.propDecorators={notificationObj:[{type:core.Input}],notificationLabel:[{type:core.HostBinding,args:["attr.aria-labelledBy"]}],notificationClass:[{type:core.HostBinding,args:["class.cds--actionable-notification"]}],toastVariant:[{type:core.HostBinding,args:["class.cds--actionable-notification--toast"]}],isError:[{type:core.HostBinding,args:["class.cds--actionable-notification--error"]}],isInfo:[{type:core.HostBinding,args:["class.cds--actionable-notification--info"]}],isInfoSquare:[{type:core.HostBinding,args:["class.cds--actionable-notification--info-square"]}],isSuccess:[{type:core.HostBinding,args:["class.cds--actionable-notification--success"]}],isWarning:[{type:core.HostBinding,args:["class.cds--actionable-notification--warning"]}],isWarningAlt:[{type:core.HostBinding,args:["class.cds--actionable-notification--warning-alt"]}],isLowContrast:[{type:core.HostBinding,args:["class.cds--actionable-notification--low-contrast"]}],isCloseHidden:[{type:core.HostBinding,args:["class.cds--actionable-notification--hide-close-button"]}]},ActionableNotification=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-actionable-notification, ibm-actionable-notification",template:'\n\t\t<div class="cds--actionable-notification__details">\n\t\t\t<svg\n\t\t\t\t[cdsIcon]="iconDictionary[notificationObj.type]"\n\t\t\t\tsize="20"\n\t\t\t\t*ngIf="notificationObj.type"\n\t\t\t\t[ngClass]="{\n\t\t\t\t\t\'cds--inline-notification__icon\': notificationObj.variant === \'inline\',\n\t\t\t\t\t\'cds--toast-notification__icon\': notificationObj.variant === \'toast\'\n\t\t\t\t}"\n\t\t\t\tclass="cds--actionable-notification__icon">\n\t\t\t</svg>\n\t\t\t<div class="cds--actionable-notification__text-wrapper">\n\t\t\t\t<div class="cds--actionable-notification__content">\n\t\t\t\t\t<div\n\t\t\t\t\t\tcdsActionableTitle\n\t\t\t\t\t\t*ngIf="!notificationObj.template"\n\t\t\t\t\t\t[id]="notificationID"\n\t\t\t\t\t\t[innerHTML]="notificationObj.title">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div *ngIf="!notificationObj.template" cdsActionableSubtitle>\n\t\t\t\t\t\t<span [innerHTML]="notificationObj.message"></span>\n\t\t\t\t\t\t<ng-container *ngFor="let link of notificationObj.links">\n\t\t\t\t\t\t\t<a cdsLink [href]="link.href">{{link.text}}</a>\n\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngTemplateOutlet="notificationObj.template; context: { $implicit: notificationObj }"></ng-container>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<ng-container *ngIf="!notificationObj.actionsTemplate">\n\t\t\t<button\n\t\t\t\t*ngFor="let action of notificationObj.actions"\n\t\t\t\t(click)="onClick(action, $event)"\n\t\t\t\t[cdsButton]="notificationObj.variant === \'inline\' ? \'ghost\' : \'tertiary\'"\n\t\t\t\tsize="sm"\n\t\t\t\tcdsActionableButton>\n\t\t\t\t{{action.text}}\n\t\t\t</button>\n\t\t</ng-container>\n\t\t<ng-container *ngTemplateOutlet="notificationObj.actionsTemplate; context: { $implicit: notificationObj }"></ng-container>\n\t\t<button\n\t\t\t*ngIf="!isCloseHidden"\n\t\t\t(click)="onClose()"\n\t\t\tclass="cds--actionable-notification__close-button"\n\t\t\t[attr.aria-label]="notificationObj.closeLabel | async"\n\t\t\ttype="button">\n\t\t\t<svg cdsIcon="close" size="16" class="cds--actionable-notification__close-icon"></svg>\n\t\t</button>\n\t'})],ActionableNotification);let NotificationSubtitle=class NotificationSubtitle{constructor(){this.baseClass=!0}};NotificationSubtitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--inline-notification__subtitle"]}]},NotificationSubtitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsNotificationSubtitle], [ibmNotificationSubtitle]"})],NotificationSubtitle);let NotificationTitle=class NotificationTitle{constructor(){this.baseClass=!0}};NotificationTitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--inline-notification__title"]}]},NotificationTitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsNotificationTitle], [ibmNotificationTitle]"})],NotificationTitle);let Notification=class Notification extends BaseNotification{constructor(notificationDisplayService,i18n){super(notificationDisplayService,i18n),this.notificationDisplayService=notificationDisplayService,this.i18n=i18n,this.notificationID="notification-"+Notification.notificationCount++,this.notificationLabel=this.notificationID,this.notificationClass=!0}get notificationObj(){return this._notificationObj}set notificationObj(obj){obj.closeLabel&&!(0,isObservable.b)(obj.closeLabel)&&(obj.closeLabel=(0,of.of)(obj.closeLabel)),this._notificationObj=Object.assign({},this.defaultNotificationObj,obj)}get isError(){return"error"===this.notificationObj.type}get isInfo(){return"info"===this.notificationObj.type}get isInfoSquare(){return"info-square"===this.notificationObj.type}get isSuccess(){return"success"===this.notificationObj.type}get isWarning(){return"warning"===this.notificationObj.type}get isWarningAlt(){return"warning-alt"===this.notificationObj.type}get isLowContrast(){return this.notificationObj.lowContrast}get isCloseHidden(){return!this.notificationObj.showClose}};Notification.notificationCount=0,Notification.ctorParameters=()=>[{type:NotificationDisplayService},{type:i18n.oc}],Notification.propDecorators={notificationObj:[{type:core.Input}],notificationLabel:[{type:core.HostBinding,args:["attr.aria-labelledBy"]}],notificationClass:[{type:core.HostBinding,args:["class.cds--inline-notification"]}],isError:[{type:core.HostBinding,args:["class.cds--inline-notification--error"]}],isInfo:[{type:core.HostBinding,args:["class.cds--inline-notification--info"]}],isInfoSquare:[{type:core.HostBinding,args:["class.cds--inline-notification--info-square"]}],isSuccess:[{type:core.HostBinding,args:["class.cds--inline-notification--success"]}],isWarning:[{type:core.HostBinding,args:["class.cds--inline-notification--warning"]}],isWarningAlt:[{type:core.HostBinding,args:["class.cds--inline-notification--warning-alt"]}],isLowContrast:[{type:core.HostBinding,args:["class.cds--inline-notification--low-contrast"]}],isCloseHidden:[{type:core.HostBinding,args:["class.cds--inline-notification--hide-close-button"]}]},Notification=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification",template:'\n\t\t<div class="cds--inline-notification__details">\n\t\t\t<svg\n\t\t\t\t[cdsIcon]="iconDictionary[notificationObj.type]"\n\t\t\t\tsize="20"\n\t\t\t\t*ngIf="notificationObj.type"\n\t\t\t\tclass="cds--inline-notification__icon">\n\t\t\t</svg>\n\t\t\t<div class="cds--inline-notification__text-wrapper">\n\t\t\t\t<div\n\t\t\t\t\tcdsNotificationTitle\n\t\t\t\t\t*ngIf="!notificationObj.template"\n\t\t\t\t\t[innerHTML]="notificationObj.title"\n\t\t\t\t\t[id]="notificationID">\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf="!notificationObj.template" cdsNotificationSubtitle>\n\t\t\t\t\t<span [innerHTML]="notificationObj.message"></span>\n\t\t\t\t</div>\n\t\t\t\t<ng-container *ngTemplateOutlet="notificationObj.template; context: { $implicit: notificationObj}"></ng-container>\n\t\t\t</div>\n\t\t</div>\n\t\t<button\n\t\t\t*ngIf="!isCloseHidden"\n\t\t\t(click)="onClose()"\n\t\t\tclass="cds--inline-notification__close-button"\n\t\t\t[attr.aria-label]="notificationObj.closeLabel | async"\n\t\t\ttype="button">\n\t\t\t<svg cdsIcon="close" size="16" class="cds--inline-notification__close-icon"></svg>\n\t\t</button>\n\t'})],Notification);var src_button=__webpack_require__("./src/button/index.ts"),common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs");let Toast=class Toast extends BaseNotification{constructor(notificationDisplayService,i18n){super(notificationDisplayService,i18n),this.notificationDisplayService=notificationDisplayService,this.i18n=i18n,this.toastID="toast-"+Toast.toastCount++,this.toastClass=!0}set notificationObj(obj){obj.closeLabel&&!(0,isObservable.b)(obj.closeLabel)&&(obj.closeLabel=(0,of.of)(obj.closeLabel)),this._notificationObj=Object.assign({},this.defaultNotificationObj,obj)}get notificationObj(){return this._notificationObj}get isError(){return"error"===this.notificationObj.type}get isInfo(){return"info"===this.notificationObj.type}get isInfoSquare(){return"info-square"===this.notificationObj.type}get isSuccess(){return"success"===this.notificationObj.type}get isWarning(){return"warning"===this.notificationObj.type}get isWarningAlt(){return"warning-alt"===this.notificationObj.type}get isLowContrast(){return this.notificationObj.lowContrast}get isCloseHidden(){return!this.notificationObj.showClose}ngOnInit(){this.notificationObj.closeLabel||(this.notificationObj.closeLabel=this.i18n.get().NOTIFICATION.CLOSE_BUTTON)}};Toast.toastCount=0,Toast.ctorParameters=()=>[{type:NotificationDisplayService},{type:i18n.oc}],Toast.propDecorators={notificationObj:[{type:core.Input}],toastID:[{type:core.HostBinding,args:["attr.id"]}],toastClass:[{type:core.HostBinding,args:["class.cds--toast-notification"]}],isError:[{type:core.HostBinding,args:["class.cds--toast-notification--error"]}],isInfo:[{type:core.HostBinding,args:["class.cds--toast-notification--info"]}],isInfoSquare:[{type:core.HostBinding,args:["class.cds--toast-notification--info-square"]}],isSuccess:[{type:core.HostBinding,args:["class.cds--toast-notification--success"]}],isWarning:[{type:core.HostBinding,args:["class.cds--toast-notification--warning"]}],isWarningAlt:[{type:core.HostBinding,args:["class.cds--toast-notification--warning-alt"]}],isLowContrast:[{type:core.HostBinding,args:["class.cds--toast-notification--low-contrast"]}],isCloseHidden:[{type:core.HostBinding,args:["class.cds--toast-notification--hide-close-button"]}]},Toast=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-toast, ibm-toast",template:'\n\t\t<svg\n\t\t\t[cdsIcon]="iconDictionary[notificationObj.type]"\n\t\t\tsize="20"\n\t\t\t*ngIf="notificationObj.type"\n\t\t\tclass="cds--toast-notification__icon">\n\t\t</svg>\n\t\t<div class="cds--toast-notification__details">\n\t\t\t<h3 *ngIf="!notificationObj.template" cdsToastTitle [innerHTML]="notificationObj.title"></h3>\n\t\t\t<div *ngIf="!notificationObj.template && notificationObj.subtitle" cdsToastSubtitle>\n\t\t\t\t<span [innerHTML]="notificationObj.subtitle"></span>\n\t\t\t</div>\n\t\t\t<p *ngIf="!notificationObj.template && notificationObj.caption" cdsToastCaption [innerHTML]="notificationObj.caption"></p>\n\t\t\t<ng-container *ngTemplateOutlet="notificationObj.template; context: { $implicit: notificationObj }"></ng-container>\n\t\t</div>\n\t\t<button\n\t\t\t*ngIf="!isCloseHidden"\n\t\t\tclass="cds--toast-notification__close-button"\n\t\t\ttype="button"\n\t\t\t[attr.aria-label]="notificationObj.closeLabel | async"\n\t\t\t(click)="onClose()">\n\t\t\t<svg cdsIcon="close" size="16" class="cds--toast-notification__close-icon"></svg>\n\t\t</button>\n\t'})],Toast);let ToastTitle=class ToastTitle{constructor(){this.baseClass=!0}};ToastTitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--toast-notification__title"]}]},ToastTitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsToastTitle], [ibmToastTitle]"})],ToastTitle);let ToastSubtitle=class ToastSubtitle{constructor(){this.baseClass=!0}};ToastSubtitle.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--toast-notification__subtitle"]}]},ToastSubtitle=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsToastSubtitle], [ibmToastSubtitle]"})],ToastSubtitle);let ToastCaption=class ToastCaption{constructor(){this.baseClass=!0}};ToastCaption.propDecorators={baseClass:[{type:core.HostBinding,args:["class.cds--toast-notification__caption"]}]},ToastCaption=(0,tslib_es6.gn)([(0,core.Directive)({selector:"[cdsToastCaption], [ibmToastCaption]"})],ToastCaption);let NotificationService=class NotificationService{constructor(injector,viewContainer,ngZone){this.injector=injector,this.viewContainer=viewContainer,this.ngZone=ngZone,this.notificationRefs=new Array,this.onClose=new core.EventEmitter}showNotification(notificationObj,notificationComp=Notification){const notificationRef=this.viewContainer.createComponent(notificationComp);if(notificationRef.instance.notificationObj=notificationObj,this.notificationRefs.push(notificationRef),this.onClose=notificationRef.instance.close,notificationObj.target)document.querySelector(notificationObj.target).appendChild(notificationRef.location.nativeElement);else{let body=document.querySelector("body"),notificationClassName="notification-overlay",notificationList=body.querySelector(`.${notificationClassName}`);notificationList||(notificationList=document.createElement("div"),notificationList.className=notificationClassName,body.appendChild(notificationList)),notificationList.firstChild?notificationList.insertBefore(notificationRef.location.nativeElement,notificationList.firstChild):notificationList.appendChild(notificationRef.location.nativeElement)}return notificationObj.duration&&notificationObj.duration>0&&this.ngZone.runOutsideAngular((()=>{setTimeout((()=>{this.ngZone.run((()=>{this.close(notificationRef)}))}),notificationObj.duration)})),notificationObj.smart&&this.ngZone.runOutsideAngular((()=>{setTimeout((()=>{this.ngZone.run((()=>{this.close(notificationRef)}))}),this.getSmartTimeout(notificationObj))})),this.onClose.subscribe((()=>{this.close(notificationRef)})),notificationRef.instance.componentRef=notificationRef,notificationRef.instance}showToast(notificationObj,notificationComp=Toast){return this.showNotification(notificationObj,notificationComp)}showActionable(notificationObj,notificationComp=ActionableNotification){return this.showNotification(notificationObj,notificationComp)}close(notificationRef){if(notificationRef)if(notificationRef instanceof Notification)this.close(notificationRef.componentRef);else{notificationRef.destroy();const index=this.notificationRefs.indexOf(notificationRef);-1!==index&&this.notificationRefs.splice(index,1)}}getSmartTimeout(notificationObj){let timeout=600;switch(timeout+=notificationObj.duration||0,notificationObj.type){case"info":case"info-square":case"success":default:break;case"danger":timeout+=3e3;break;case"warning":case"warning-alt":timeout+=1500}return timeout+=450*notificationObj.message.trim().split(/\s+/).length,timeout}ngOnDestroy(){this.notificationRefs.forEach((ref=>{ref.destroy()}))}};NotificationService.ctorParameters=()=>[{type:core.Injector},{type:core.ViewContainerRef},{type:core.NgZone}],NotificationService=(0,tslib_es6.gn)([(0,core.Injectable)()],NotificationService);var experimental=__webpack_require__("./src/experimental/index.ts"),src_link=__webpack_require__("./src/link/index.ts"),icon=__webpack_require__("./src/icon/index.ts");let NotificationModule=class NotificationModule{};NotificationModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[ActionableButton,ActionableNotification,ActionableTitle,ActionableSubtitle,BaseNotification,Notification,Toast,ToastTitle,ToastSubtitle,ToastCaption,NotificationTitle,NotificationSubtitle],exports:[Notification,ActionableButton,ActionableNotification,ActionableTitle,ActionableSubtitle,Toast,ToastTitle,ToastSubtitle,ToastCaption,NotificationTitle,NotificationSubtitle],imports:[src_button.hJ,common.CommonModule,i18n.LU,experimental.OV,src_link.LO,icon.QX],providers:[NotificationService,NotificationDisplayService]})],NotificationModule)}}]);