@fundamental-ngx/core 0.35.1 → 0.35.2-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +4 -2
  6. package/avatar-group/esm2020/directives/avatar-group-overflow-button.directive.mjs +5 -1
  7. package/avatar-group/fesm2015/fundamental-ngx-core-avatar-group.mjs +4 -0
  8. package/avatar-group/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  9. package/avatar-group/fesm2020/fundamental-ngx-core-avatar-group.mjs +4 -0
  10. package/avatar-group/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  11. package/avatar-group/package.json +1 -1
  12. package/bar/package.json +1 -1
  13. package/breadcrumb/package.json +1 -1
  14. package/busy-indicator/package.json +1 -1
  15. package/button/package.json +1 -1
  16. package/calendar/package.json +1 -1
  17. package/card/package.json +1 -1
  18. package/carousel/package.json +1 -1
  19. package/checkbox/package.json +1 -1
  20. package/combobox/package.json +1 -1
  21. package/date-picker/package.json +1 -1
  22. package/datetime/package.json +1 -1
  23. package/datetime-picker/package.json +1 -1
  24. package/dialog/package.json +1 -1
  25. package/dynamic-page/package.json +1 -1
  26. package/dynamic-side-content/package.json +1 -1
  27. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +5 -1
  28. package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +17 -26
  29. package/esm2020/fundamental-ngx.module.mjs +8 -4
  30. package/esm2020/input-group/input-group.component.mjs +3 -3
  31. package/esm2020/overflow-layout/directives/overflow-expand.directive.mjs +36 -0
  32. package/esm2020/overflow-layout/directives/overflow-item-container-ref.directive.mjs +46 -0
  33. package/esm2020/overflow-layout/directives/overflow-item-ref.directive.mjs +57 -0
  34. package/esm2020/overflow-layout/directives/overflow-layout-item-container.directive.mjs +26 -0
  35. package/esm2020/overflow-layout/directives/overflow-layout-item.directive.mjs +100 -0
  36. package/esm2020/overflow-layout/directives/overflow-layout-popover-content.directive.mjs +68 -0
  37. package/esm2020/overflow-layout/fundamental-ngx-core-overflow-layout.mjs +5 -0
  38. package/esm2020/overflow-layout/index.mjs +15 -0
  39. package/esm2020/overflow-layout/interfaces/overflow-container.interface.mjs +2 -0
  40. package/esm2020/overflow-layout/interfaces/overflow-expand.interface.mjs +2 -0
  41. package/esm2020/overflow-layout/interfaces/overflow-item-ref.interface.mjs +2 -0
  42. package/esm2020/overflow-layout/interfaces/overflow-item.interface.mjs +2 -0
  43. package/esm2020/overflow-layout/interfaces/overflow-popover-content.interface.mjs +2 -0
  44. package/esm2020/overflow-layout/overflow-layout.component.mjs +300 -0
  45. package/esm2020/overflow-layout/overflow-layout.module.mjs +52 -0
  46. package/esm2020/overflow-layout/tokens/overflow-container.token.mjs +3 -0
  47. package/esm2020/overflow-layout/tokens/overflow-expand.token.mjs +3 -0
  48. package/esm2020/overflow-layout/tokens/overflow-item-ref.token.mjs +3 -0
  49. package/esm2020/overflow-layout/tokens/overflow-item.token.mjs +3 -0
  50. package/esm2020/public_api.mjs +2 -1
  51. package/esm2020/select/select.component.mjs +1 -2
  52. package/facets/package.json +1 -1
  53. package/feed-input/package.json +1 -1
  54. package/feed-list-item/package.json +1 -1
  55. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +4 -0
  56. package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  57. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +16 -25
  58. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  59. package/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
  60. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  61. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +672 -0
  62. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
  63. package/fesm2015/fundamental-ngx-core-select.mjs +0 -1
  64. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  65. package/fesm2015/fundamental-ngx-core.mjs +8 -3
  66. package/fesm2015/fundamental-ngx-core.mjs.map +1 -1
  67. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +4 -0
  68. package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  69. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +16 -25
  70. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  71. package/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
  72. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  73. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +660 -0
  74. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
  75. package/fesm2020/fundamental-ngx-core-select.mjs +0 -1
  76. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  77. package/fesm2020/fundamental-ngx-core.mjs +8 -3
  78. package/fesm2020/fundamental-ngx-core.mjs.map +1 -1
  79. package/file-uploader/package.json +1 -1
  80. package/fixed-card-layout/esm2020/fixed-card-layout.component.mjs +17 -26
  81. package/fixed-card-layout/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +16 -25
  82. package/fixed-card-layout/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  83. package/fixed-card-layout/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +16 -25
  84. package/fixed-card-layout/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  85. package/fixed-card-layout/fixed-card-layout.component.d.ts +4 -6
  86. package/fixed-card-layout/package.json +1 -1
  87. package/flexible-column-layout/package.json +1 -1
  88. package/form/package.json +1 -1
  89. package/formatted-text/package.json +1 -1
  90. package/fundamental-ngx.module.d.ts +2 -1
  91. package/grid-list/package.json +1 -1
  92. package/icon/package.json +1 -1
  93. package/illustrated-message/package.json +1 -1
  94. package/infinite-scroll/package.json +1 -1
  95. package/info-label/package.json +1 -1
  96. package/inline-help/package.json +1 -1
  97. package/input-group/esm2020/input-group.component.mjs +3 -3
  98. package/input-group/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
  99. package/input-group/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  100. package/input-group/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
  101. package/input-group/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  102. package/input-group/package.json +1 -1
  103. package/layout-grid/package.json +1 -1
  104. package/layout-panel/package.json +1 -1
  105. package/link/package.json +1 -1
  106. package/list/package.json +1 -1
  107. package/menu/package.json +1 -1
  108. package/message-box/package.json +1 -1
  109. package/message-strip/package.json +1 -1
  110. package/message-toast/package.json +1 -1
  111. package/micro-process-flow/package.json +1 -1
  112. package/mobile-mode/package.json +1 -1
  113. package/multi-input/package.json +1 -1
  114. package/nested-list/package.json +1 -1
  115. package/notification/package.json +1 -1
  116. package/object-identifier/package.json +1 -1
  117. package/object-marker/package.json +1 -1
  118. package/object-number/package.json +1 -1
  119. package/object-status/package.json +1 -1
  120. package/overflow-layout/README.md +7 -0
  121. package/overflow-layout/directives/overflow-expand.directive.d.ts +15 -0
  122. package/overflow-layout/directives/overflow-item-container-ref.directive.d.ts +25 -0
  123. package/overflow-layout/directives/overflow-item-ref.directive.d.ts +42 -0
  124. package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +16 -0
  125. package/overflow-layout/directives/overflow-layout-item.directive.d.ts +38 -0
  126. package/overflow-layout/directives/overflow-layout-popover-content.directive.d.ts +31 -0
  127. package/overflow-layout/esm2020/directives/overflow-expand.directive.mjs +36 -0
  128. package/overflow-layout/esm2020/directives/overflow-item-container-ref.directive.mjs +46 -0
  129. package/overflow-layout/esm2020/directives/overflow-item-ref.directive.mjs +57 -0
  130. package/overflow-layout/esm2020/directives/overflow-layout-item-container.directive.mjs +26 -0
  131. package/overflow-layout/esm2020/directives/overflow-layout-item.directive.mjs +100 -0
  132. package/overflow-layout/esm2020/directives/overflow-layout-popover-content.directive.mjs +68 -0
  133. package/overflow-layout/esm2020/fundamental-ngx-core-overflow-layout.mjs +5 -0
  134. package/overflow-layout/esm2020/index.mjs +15 -0
  135. package/overflow-layout/esm2020/interfaces/overflow-container.interface.mjs +2 -0
  136. package/overflow-layout/esm2020/interfaces/overflow-expand.interface.mjs +2 -0
  137. package/overflow-layout/esm2020/interfaces/overflow-item-ref.interface.mjs +2 -0
  138. package/overflow-layout/esm2020/interfaces/overflow-item.interface.mjs +2 -0
  139. package/overflow-layout/esm2020/interfaces/overflow-popover-content.interface.mjs +2 -0
  140. package/overflow-layout/esm2020/overflow-layout.component.mjs +300 -0
  141. package/overflow-layout/esm2020/overflow-layout.module.mjs +52 -0
  142. package/overflow-layout/esm2020/tokens/overflow-container.token.mjs +3 -0
  143. package/overflow-layout/esm2020/tokens/overflow-expand.token.mjs +3 -0
  144. package/overflow-layout/esm2020/tokens/overflow-item-ref.token.mjs +3 -0
  145. package/overflow-layout/esm2020/tokens/overflow-item.token.mjs +3 -0
  146. package/overflow-layout/fesm2015/fundamental-ngx-core-overflow-layout.mjs +672 -0
  147. package/overflow-layout/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
  148. package/overflow-layout/fesm2020/fundamental-ngx-core-overflow-layout.mjs +660 -0
  149. package/overflow-layout/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
  150. package/overflow-layout/fundamental-ngx-core-overflow-layout.d.ts +5 -0
  151. package/overflow-layout/index.d.ts +14 -0
  152. package/overflow-layout/interfaces/overflow-container.interface.d.ts +4 -0
  153. package/overflow-layout/interfaces/overflow-expand.interface.d.ts +11 -0
  154. package/overflow-layout/interfaces/overflow-item-ref.interface.d.ts +38 -0
  155. package/overflow-layout/interfaces/overflow-item.interface.d.ts +20 -0
  156. package/overflow-layout/interfaces/overflow-popover-content.interface.d.ts +11 -0
  157. package/overflow-layout/overflow-layout.component.d.ts +131 -0
  158. package/overflow-layout/overflow-layout.module.d.ts +16 -0
  159. package/overflow-layout/package.json +53 -0
  160. package/overflow-layout/tokens/overflow-container.token.d.ts +3 -0
  161. package/overflow-layout/tokens/overflow-expand.token.d.ts +3 -0
  162. package/overflow-layout/tokens/overflow-item-ref.token.d.ts +3 -0
  163. package/overflow-layout/tokens/overflow-item.token.d.ts +3 -0
  164. package/package.json +9 -1
  165. package/pagination/package.json +1 -1
  166. package/panel/package.json +1 -1
  167. package/popover/package.json +1 -1
  168. package/product-switch/package.json +1 -1
  169. package/progress-indicator/package.json +1 -1
  170. package/public_api.d.ts +1 -0
  171. package/quick-view/package.json +1 -1
  172. package/radio/package.json +1 -1
  173. package/rating-indicator/package.json +1 -1
  174. package/resizable-card-layout/package.json +1 -1
  175. package/scroll-spy/package.json +1 -1
  176. package/scrollbar/package.json +1 -1
  177. package/segmented-button/package.json +1 -1
  178. package/select/esm2020/select.component.mjs +1 -2
  179. package/select/fesm2015/fundamental-ngx-core-select.mjs +0 -1
  180. package/select/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  181. package/select/fesm2020/fundamental-ngx-core-select.mjs +0 -1
  182. package/select/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  183. package/select/package.json +1 -1
  184. package/shared/package.json +1 -1
  185. package/shellbar/package.json +1 -1
  186. package/side-navigation/package.json +1 -1
  187. package/slider/package.json +1 -1
  188. package/split-button/package.json +1 -1
  189. package/splitter/package.json +1 -1
  190. package/status-indicator/package.json +1 -1
  191. package/step-input/package.json +1 -1
  192. package/switch/package.json +1 -1
  193. package/table/package.json +1 -1
  194. package/tabs/package.json +1 -1
  195. package/text/package.json +1 -1
  196. package/theming/package.json +1 -1
  197. package/tile/package.json +1 -1
  198. package/time/package.json +1 -1
  199. package/time-picker/package.json +1 -1
  200. package/timeline/package.json +1 -1
  201. package/title/package.json +1 -1
  202. package/token/package.json +1 -1
  203. package/toolbar/package.json +1 -1
  204. package/tree/package.json +1 -1
  205. package/upload-collection/package.json +1 -1
  206. package/utils/package.json +1 -1
  207. package/vertical-navigation/package.json +1 -1
  208. package/wizard/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-input-group.mjs","sources":["../../../../libs/core/src/lib/input-group/input-group-directives.ts","../../../../libs/core/src/lib/input-group/input-group.component.ts","../../../../libs/core/src/lib/input-group/input-group.component.html","../../../../libs/core/src/lib/input-group/input-group.module.ts","../../../../libs/core/src/lib/input-group/fundamental-ngx-core-input-group.ts"],"sourcesContent":["import {\n AfterContentInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2\n} from '@angular/core';\nimport { InputGroupPlacement } from './types';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-input-group-input]'\n})\nexport class InputGroupInputDirective implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n @Input()\n compact?: boolean;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return ['fd-input', 'fd-input-group__input', this.compact ? 'fd-input--compact' : ''];\n }\n\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-textarea-group-input]'\n})\nexport class InputGroupTextareaDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-input-group-addon]'\n})\nexport class InputGroupAddOnDirective implements OnInit, OnChanges, CssClassBuilder, AfterContentInit, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n @HostBinding('class.fd-input-group__addon')\n fdInputGroupAddonClass = true;\n\n /**\n * The placement of the add-on. Options include *before* and *after*\n */\n @Input()\n placement: InputGroupPlacement = 'after';\n\n /** Whether to apply compact mode to the AddOn. */\n @Input()\n compact?: boolean;\n\n /**\n * The placement of the add-on. Options include *before* and *after*\n */\n @Input()\n type: string;\n\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state?: FormStates;\n\n /**\n * Whether the icon add-on or the text add-on is a button.\n */\n @Input()\n button = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private renderer: Renderer2,\n @Optional() private _contentDensityService: ContentDensityService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n /** Add fd-input-group__button to button child element */\n const button = this.elementRef().nativeElement.querySelector('button');\n if (button) {\n this.renderer.addClass(button, 'fd-input-group__button');\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-input-group__addon',\n this.button ? 'fd-input-group__addon--button' : '',\n this.type ? 'fd-input-group__addon--' + this.type : '',\n this.state ? 'is-' + this.state : '',\n this.compact ? 'fd-input-group__addon--compact' : ''\n ];\n }\n\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n forwardRef,\n ViewEncapsulation,\n ContentChild,\n TemplateRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ElementRef,\n OnDestroy,\n OnInit,\n Optional,\n AfterViewInit,\n ViewChild,\n isDevMode\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { filter, fromEvent, map, merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { FormStates, Nullable } from '@fundamental-ngx/core/shared';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { registerFormItemControl, FormItemControl } from '@fundamental-ngx/core/form';\n\nimport { InputGroupAddOnDirective, InputGroupInputDirective } from './input-group-directives';\nimport { InputGroupPlacement } from './types';\n\nlet addOnNonButtonRandomId = 0;\nlet addOnButtonRandomId = 0;\nlet addOnInputRandomId = 0;\n\n/**\n * The component that represents an input group.\n * The input group includes form inputs with add-ons that allow the user to better understand the information being entered.\n *\n * ```html\n * <fd-input-group placement=\"after\" addOnText=\"$\" placeholder=\"Amount\">\n * </fd-input-group>\n * ```\n */\n@Component({\n selector: 'fd-input-group',\n templateUrl: './input-group.component.html',\n styleUrls: ['./input-group.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputGroupComponent),\n multi: true\n },\n registerFormItemControl(InputGroupComponent)\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InputGroupComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy, FormItemControl {\n /** @deprecated Input template, use fd-input-group-input directive instead. */\n @Input()\n set inputTemplate(value: TemplateRef<any>) {\n if (isDevMode()) {\n console.warn('\"inputTemplate\" is deprecated. Use \"fd-input-group-input\" directive instead');\n }\n\n this._inputTemplate = value;\n }\n get inputTemplate(): TemplateRef<any> {\n return this._inputTemplate;\n }\n\n /**\n * The placement of the add-on.\n * Options include *before* and *after*\n */\n @Input()\n placement: InputGroupPlacement = 'after';\n\n /** Whether the input group is in compact mode. */\n @Input()\n compact?: boolean;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the input group is inline. */\n @Input()\n inline = false;\n\n /** Placeholder for the input group. */\n @Input()\n placeholder: string;\n\n /** The text for the add-on. */\n @Input()\n addOnText: string;\n\n /** Whether AddOn Button should be focusable */\n @Input()\n buttonFocusable = true;\n\n /** The type of the input, used in Input Group. By default value is set to 'text' */\n @Input()\n type = 'text';\n\n /** The icon value for the add-on. */\n @Input()\n glyph: Nullable<string>;\n\n /** Whether the icon add-on or the text add-on is a button. */\n @Input()\n button: boolean;\n\n /** Whether the input group is disabled. */\n @Input()\n disabled: boolean;\n\n /** Whether the input group is readonly. */\n @Input()\n readonly: boolean;\n\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state: Nullable<FormStates>;\n\n /**\n * Whether the input group is a popover control\n */\n @Input()\n isControl = false;\n\n /**\n * Whether should show focus outline\n */\n @Input()\n showFocus = true;\n\n /** @hidden */\n @Input()\n isExpanded = false;\n\n /** Label applied to button with glyph element. */\n @Input()\n glyphAriaLabel: Nullable<string>;\n\n /** The tooltip for the input group icon. */\n @Input()\n iconTitle: Nullable<string>;\n\n /** @deprecated renamed to \"ariaLabelledBy\" */\n @Input()\n set ariaLabelledby(value: Nullable<string>) {\n if (isDevMode()) {\n console.warn('\"ariaLabelledby\" is deprecated. Use \"ariaLabelledBy\" instead');\n }\n this.ariaLabelledBy = value;\n }\n\n /** the associated ids for the input aria-labelledby field */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Event emitted when the add-on button is clicked. */\n @Output()\n addOnButtonClicked = new EventEmitter<Event>();\n\n /**\n * Event emitted when the native clear button is clicked, or when native search is executed.\n * Works only for native search for input[type=\"search\"]\n */\n @Output()\n search = new EventEmitter<Event>();\n\n /** @hidden */\n @ContentChild(InputGroupInputDirective)\n inputElement: InputGroupInputDirective;\n\n /** @hidden */\n @ViewChild(InputGroupInputDirective)\n localInputElement: InputGroupInputDirective;\n\n /** @hidden */\n @ContentChild(InputGroupAddOnDirective)\n addOnElement: InputGroupAddOnDirective;\n\n /** @hidden */\n _inputTextValue: string;\n\n /** @hidden */\n _inputId = `fd-input-group-input-id-${addOnInputRandomId++}`;\n\n /** @hidden */\n _addOnNonButtonId = `fd-input-group-non-button-id-${addOnNonButtonRandomId++}`;\n\n /** @hidden */\n _addOnButtonId = `fd-input-group-button-id-${addOnButtonRandomId++}`;\n\n /** @hidden */\n _inputFocused$: Observable<boolean>;\n\n /**\n * Whether the input group is in the shellbar. Only for internal use by combobox component.\n * @hidden\n */\n inShellbar = false;\n\n /** @hidden */\n private _inputTemplate: TemplateRef<any>;\n\n /** An RxJS Subject that will kill the stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n onChange: any = () => {};\n\n /** @hidden */\n onTouched: any = () => {};\n\n /** Get the value of the text input. */\n get inputText(): string {\n return this._inputTextValue;\n }\n\n /** Set the value of the text input. */\n set inputText(value) {\n this._inputTextValue = value;\n\n this.onChange(value);\n this.onTouched();\n }\n\n /** @hidden\n * Calculate the correct ids for input aria-labelledby\n */\n get _inputAriaLabelledBy(): string {\n let ariaLabelledByIds = this.ariaLabelledBy ? this.ariaLabelledBy + ' ' : '';\n\n if (!this.button) {\n ariaLabelledByIds += this._addOnNonButtonId;\n }\n\n return ariaLabelledByIds;\n }\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n @Optional() private readonly _contentDensityService: ContentDensityService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._contentDensityService._isCompactDensity.pipe(takeUntil(this._onDestroy$)).subscribe((isCompact) => {\n this.compact = isCompact;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenInputFocus();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n writeValue(value: any): void {\n this._inputTextValue = value;\n\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n registerOnChange(fn): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n setInShellbar(value: boolean): void {\n this.inShellbar = value;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n _buttonClicked($event: MouseEvent): void {\n this.addOnButtonClicked.emit($event);\n }\n\n /** @hidden */\n _onSearchEvent(event: Event): void {\n this.search.emit(event);\n }\n\n /** @hidden */\n _preventFocus(event: MouseEvent): void {\n if (!this.buttonFocusable) {\n event.preventDefault();\n }\n }\n\n /** @hidden */\n private _listenInputFocus(): void {\n const inputElement =\n this.inputElement?.elementRef()?.nativeElement || this.localInputElement?.elementRef()?.nativeElement;\n\n if (!inputElement) {\n return;\n }\n\n this._inputFocused$ = merge(\n fromEvent(inputElement, 'focusin').pipe(map(() => true)),\n fromEvent(inputElement, 'focusout').pipe(map(() => false))\n ).pipe(\n filter(() => this.showFocus),\n takeUntil(this._onDestroy$)\n );\n\n this._changeDetectorRef.markForCheck();\n }\n}\n","<div\n class=\"fd-input-group\"\n [class.fd-input-group--inline]=\"inline\"\n [class.is-disabled]=\"disabled\"\n [class.is-readonly]=\"readonly\"\n [class.fd-shellbar__input-group]=\"inShellbar\"\n [class.fd-input-group--control]=\"isControl\"\n [class.is-focus]=\"_inputFocused$ | async\"\n [class]=\"state ? 'is-' + state : ' '\"\n>\n <ng-container *ngIf=\"placement === 'after' && !inputElement\">\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"!addOnElement && (glyph || addOnText)\">\n <span\n *ngIf=\"button\"\n fd-input-group-addon\n [compact]=\"compact\"\n [button]=\"true\"\n [placement]=\"placement\"\n [class.fd-shellbar__input-group-addon]=\"inShellbar\"\n >\n <button\n fd-button\n class=\"fd-input-group__button\"\n type=\"button\"\n [fdType]=\"inShellbar ? 'standard' : 'transparent'\"\n [compact]=\"compact\"\n [id]=\"_addOnButtonId\"\n [attr.tabindex]=\"buttonFocusable ? 0 : -1\"\n [attr.title]=\"iconTitle || glyphAriaLabel || glyph\"\n [glyph]=\"glyph\"\n [class.fd-shellbar__button]=\"inShellbar\"\n [class.is-expanded]=\"isExpanded\"\n [attr.aria-expanded]=\"inShellbar ? isExpanded : null\"\n [ariaLabel]=\"glyphAriaLabel || glyph || addOnText\"\n [attr.aria-controls]=\"input\"\n [disabled]=\"disabled\"\n (mousedown)=\"_preventFocus($event)\"\n (click)=\"_buttonClicked($event)\"\n >\n <ng-container *ngIf=\"!glyph\">{{ addOnText }}</ng-container>\n </button>\n </span>\n\n <span\n *ngIf=\"!button\"\n fd-input-group-addon\n [id]=\"_addOnNonButtonId\"\n [compact]=\"compact\"\n [placement]=\"placement\"\n [attr.aria-label]=\"glyphAriaLabel || glyph || addOnText\"\n [attr.title]=\"iconTitle || glyph || addOnText\"\n >\n <ng-container *ngIf=\"!glyph\">{{ addOnText }}</ng-container>\n\n <span *ngIf=\"glyph\" [className]=\"'sap-icon--' + glyph\"></span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"placement === 'before' && !inputElement\">\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #input>\n <ng-container *ngIf=\"inputTemplate\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </ng-container>\n\n <input\n *ngIf=\"!inputTemplate\"\n [(ngModel)]=\"inputText\"\n [id]=\"_inputId\"\n [attr.aria-labelledby]=\"_inputAriaLabelledBy\"\n [class.fd-shellbar__input-group-input]=\"inShellbar\"\n fd-input-group-input\n [compact]=\"compact\"\n [type]=\"type\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-required]=\"required\"\n (search)=\"_onSearchEvent($event)\"\n />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { InputGroupComponent } from './input-group.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport {\n InputGroupAddOnDirective,\n InputGroupInputDirective,\n InputGroupTextareaDirective\n} from './input-group-directives';\n\n@NgModule({\n declarations: [\n InputGroupComponent,\n InputGroupInputDirective,\n InputGroupTextareaDirective,\n InputGroupAddOnDirective\n ],\n imports: [CommonModule, ButtonModule, IconModule, FormsModule],\n exports: [InputGroupComponent, InputGroupInputDirective, InputGroupTextareaDirective, InputGroupAddOnDirective]\n})\nexport class InputGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-input-group.mjs","sources":["../../../../libs/core/src/lib/input-group/input-group-directives.ts","../../../../libs/core/src/lib/input-group/input-group.component.ts","../../../../libs/core/src/lib/input-group/input-group.component.html","../../../../libs/core/src/lib/input-group/input-group.module.ts","../../../../libs/core/src/lib/input-group/fundamental-ngx-core-input-group.ts"],"sourcesContent":["import {\n AfterContentInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2\n} from '@angular/core';\nimport { InputGroupPlacement } from './types';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-input-group-input]'\n})\nexport class InputGroupInputDirective implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n @Input()\n compact?: boolean;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return ['fd-input', 'fd-input-group__input', this.compact ? 'fd-input--compact' : ''];\n }\n\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-textarea-group-input]'\n})\nexport class InputGroupTextareaDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-input-group-addon]'\n})\nexport class InputGroupAddOnDirective implements OnInit, OnChanges, CssClassBuilder, AfterContentInit, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n @HostBinding('class.fd-input-group__addon')\n fdInputGroupAddonClass = true;\n\n /**\n * The placement of the add-on. Options include *before* and *after*\n */\n @Input()\n placement: InputGroupPlacement = 'after';\n\n /** Whether to apply compact mode to the AddOn. */\n @Input()\n compact?: boolean;\n\n /**\n * The placement of the add-on. Options include *before* and *after*\n */\n @Input()\n type: string;\n\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state?: FormStates;\n\n /**\n * Whether the icon add-on or the text add-on is a button.\n */\n @Input()\n button = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private renderer: Renderer2,\n @Optional() private _contentDensityService: ContentDensityService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n /** Add fd-input-group__button to button child element */\n const button = this.elementRef().nativeElement.querySelector('button');\n if (button) {\n this.renderer.addClass(button, 'fd-input-group__button');\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-input-group__addon',\n this.button ? 'fd-input-group__addon--button' : '',\n this.type ? 'fd-input-group__addon--' + this.type : '',\n this.state ? 'is-' + this.state : '',\n this.compact ? 'fd-input-group__addon--compact' : ''\n ];\n }\n\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n forwardRef,\n ViewEncapsulation,\n ContentChild,\n TemplateRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ElementRef,\n OnDestroy,\n OnInit,\n Optional,\n AfterViewInit,\n ViewChild,\n isDevMode\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { filter, fromEvent, map, merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { FormStates, Nullable } from '@fundamental-ngx/core/shared';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { registerFormItemControl, FormItemControl } from '@fundamental-ngx/core/form';\n\nimport { InputGroupAddOnDirective, InputGroupInputDirective } from './input-group-directives';\nimport { InputGroupPlacement } from './types';\n\nlet addOnNonButtonRandomId = 0;\nlet addOnButtonRandomId = 0;\nlet addOnInputRandomId = 0;\n\n/**\n * The component that represents an input group.\n * The input group includes form inputs with add-ons that allow the user to better understand the information being entered.\n *\n * ```html\n * <fd-input-group placement=\"after\" addOnText=\"$\" placeholder=\"Amount\">\n * </fd-input-group>\n * ```\n */\n@Component({\n selector: 'fd-input-group',\n templateUrl: './input-group.component.html',\n styleUrls: ['./input-group.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputGroupComponent),\n multi: true\n },\n registerFormItemControl(InputGroupComponent)\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InputGroupComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy, FormItemControl {\n /** @deprecated Input template, use fd-input-group-input directive instead. */\n @Input()\n set inputTemplate(value: TemplateRef<any>) {\n if (isDevMode()) {\n console.warn('\"inputTemplate\" is deprecated. Use \"fd-input-group-input\" directive instead');\n }\n\n this._inputTemplate = value;\n }\n get inputTemplate(): TemplateRef<any> {\n return this._inputTemplate;\n }\n\n /**\n * The placement of the add-on.\n * Options include *before* and *after*\n */\n @Input()\n placement: InputGroupPlacement = 'after';\n\n /** Whether the input group is in compact mode. */\n @Input()\n compact?: boolean;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the input group is inline. */\n @Input()\n inline = false;\n\n /** Placeholder for the input group. */\n @Input()\n placeholder: string;\n\n /** The text for the add-on. */\n @Input()\n addOnText: string;\n\n /** Whether AddOn Button should be focusable */\n @Input()\n buttonFocusable = true;\n\n /** The type of the input, used in Input Group. By default value is set to 'text' */\n @Input()\n type = 'text';\n\n /** The icon value for the add-on. */\n @Input()\n glyph: Nullable<string>;\n\n /** Whether the icon add-on or the text add-on is a button. */\n @Input()\n button: boolean;\n\n /** Whether the input group is disabled. */\n @Input()\n disabled: boolean;\n\n /** Whether the input group is readonly. */\n @Input()\n readonly: boolean;\n\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state: Nullable<FormStates>;\n\n /**\n * Whether the input group is a popover control\n */\n @Input()\n isControl = false;\n\n /**\n * Whether should show focus outline\n */\n @Input()\n showFocus = true;\n\n /** @hidden */\n @Input()\n isExpanded = false;\n\n /** Label applied to button with glyph element. */\n @Input()\n glyphAriaLabel: Nullable<string>;\n\n /** The tooltip for the input group icon. */\n @Input()\n iconTitle: Nullable<string>;\n\n /** @deprecated renamed to \"ariaLabelledBy\" */\n @Input()\n set ariaLabelledby(value: Nullable<string>) {\n if (isDevMode()) {\n console.warn('\"ariaLabelledby\" is deprecated. Use \"ariaLabelledBy\" instead');\n }\n this.ariaLabelledBy = value;\n }\n\n /** the associated ids for the input aria-labelledby field */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Event emitted when the add-on button is clicked. */\n @Output()\n addOnButtonClicked = new EventEmitter<Event>();\n\n /**\n * Event emitted when the native clear button is clicked, or when native search is executed.\n * Works only for native search for input[type=\"search\"]\n */\n @Output()\n search = new EventEmitter<Event>();\n\n /** @hidden */\n @ContentChild(InputGroupInputDirective)\n inputElement: InputGroupInputDirective;\n\n /** @hidden */\n @ViewChild(InputGroupInputDirective)\n localInputElement: InputGroupInputDirective;\n\n /** @hidden */\n @ContentChild(InputGroupAddOnDirective)\n addOnElement: InputGroupAddOnDirective;\n\n /** @hidden */\n _inputTextValue: string;\n\n /** @hidden */\n _inputId = `fd-input-group-input-id-${addOnInputRandomId++}`;\n\n /** @hidden */\n _addOnNonButtonId = `fd-input-group-non-button-id-${addOnNonButtonRandomId++}`;\n\n /** @hidden */\n _addOnButtonId = `fd-input-group-button-id-${addOnButtonRandomId++}`;\n\n /** @hidden */\n _inputFocused$: Observable<boolean>;\n\n /**\n * Whether the input group is in the shellbar. Only for internal use by combobox component.\n * @hidden\n */\n inShellbar = false;\n\n /** @hidden */\n private _inputTemplate: TemplateRef<any>;\n\n /** An RxJS Subject that will kill the stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n onChange: any = () => {};\n\n /** @hidden */\n onTouched: any = () => {};\n\n /** Get the value of the text input. */\n get inputText(): string {\n return this._inputTextValue;\n }\n\n /** Set the value of the text input. */\n set inputText(value) {\n this._inputTextValue = value;\n\n this.onChange(value);\n this.onTouched();\n }\n\n /** @hidden\n * Calculate the correct ids for input aria-labelledby\n */\n get _inputAriaLabelledBy(): string {\n let ariaLabelledByIds = this.ariaLabelledBy ? this.ariaLabelledBy + ' ' : '';\n\n if (!this.button) {\n ariaLabelledByIds += this._addOnNonButtonId;\n }\n\n return ariaLabelledByIds;\n }\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n @Optional() private readonly _contentDensityService: ContentDensityService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._contentDensityService._isCompactDensity.pipe(takeUntil(this._onDestroy$)).subscribe((isCompact) => {\n this.compact = isCompact;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenInputFocus();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n writeValue(value: any): void {\n this._inputTextValue = value;\n\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n registerOnChange(fn): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n setInShellbar(value: boolean): void {\n this.inShellbar = value;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n _buttonClicked($event: MouseEvent): void {\n this.addOnButtonClicked.emit($event);\n }\n\n /** @hidden */\n _onSearchEvent(event: Event): void {\n this.search.emit(event);\n }\n\n /** @hidden */\n _preventFocus(event: MouseEvent): void {\n if (!this.buttonFocusable) {\n event.preventDefault();\n }\n }\n\n /** @hidden */\n private _listenInputFocus(): void {\n const inputElement =\n this.inputElement?.elementRef()?.nativeElement || this.localInputElement?.elementRef()?.nativeElement;\n\n if (!inputElement) {\n return;\n }\n\n this._inputFocused$ = merge(\n fromEvent(inputElement, 'focusin').pipe(map(() => true)),\n fromEvent(inputElement, 'focusout').pipe(map(() => false))\n ).pipe(\n filter(() => this.showFocus),\n takeUntil(this._onDestroy$)\n );\n\n this._changeDetectorRef.markForCheck();\n }\n}\n","<div\n class=\"fd-input-group\"\n [class.fd-input-group--inline]=\"inline\"\n [class.is-disabled]=\"disabled\"\n [class.is-readonly]=\"readonly\"\n [class.fd-shellbar__input-group]=\"inShellbar\"\n [class.fd-input-group--control]=\"isControl\"\n [class.is-focus]=\"_inputFocused$ | async\"\n [class]=\"state ? 'is-' + state : ' '\"\n>\n <ng-container *ngIf=\"placement === 'after' && !inputElement\">\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"!addOnElement && (glyph || addOnText)\">\n <span\n *ngIf=\"button\"\n fd-input-group-addon\n [compact]=\"compact\"\n [button]=\"true\"\n [placement]=\"placement\"\n [class.fd-shellbar__input-group-addon]=\"inShellbar\"\n >\n <button\n fd-button\n class=\"fd-input-group__button\"\n type=\"button\"\n [fdType]=\"inShellbar ? 'standard' : 'transparent'\"\n [compact]=\"compact\"\n [id]=\"_addOnButtonId\"\n [attr.tabindex]=\"buttonFocusable ? 0 : -1\"\n [attr.title]=\"iconTitle || glyphAriaLabel || glyph\"\n [glyph]=\"glyph\"\n [class.fd-shellbar__button]=\"inShellbar\"\n [class.is-expanded]=\"isExpanded\"\n [attr.aria-expanded]=\"inShellbar ? isExpanded : null\"\n [ariaLabel]=\"glyphAriaLabel || glyph || addOnText\"\n [attr.aria-controls]=\"_inputId\"\n [disabled]=\"disabled\"\n (mousedown)=\"_preventFocus($event)\"\n (click)=\"_buttonClicked($event)\"\n >\n <ng-container *ngIf=\"!glyph\">{{ addOnText }}</ng-container>\n </button>\n </span>\n\n <span\n *ngIf=\"!button\"\n fd-input-group-addon\n [id]=\"_addOnNonButtonId\"\n [compact]=\"compact\"\n [placement]=\"placement\"\n [attr.aria-label]=\"glyphAriaLabel || glyph || addOnText\"\n [attr.title]=\"iconTitle || glyph || addOnText\"\n >\n <ng-container *ngIf=\"!glyph\">{{ addOnText }}</ng-container>\n\n <span *ngIf=\"glyph\" [className]=\"'sap-icon--' + glyph\"></span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"placement === 'before' && !inputElement\">\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #input>\n <ng-container *ngIf=\"inputTemplate\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </ng-container>\n\n <input\n *ngIf=\"!inputTemplate\"\n [(ngModel)]=\"inputText\"\n [id]=\"_inputId\"\n [attr.aria-labelledby]=\"_inputAriaLabelledBy\"\n [class.fd-shellbar__input-group-input]=\"inShellbar\"\n fd-input-group-input\n [compact]=\"compact\"\n [type]=\"type\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-required]=\"required\"\n (search)=\"_onSearchEvent($event)\"\n />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { InputGroupComponent } from './input-group.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport {\n InputGroupAddOnDirective,\n InputGroupInputDirective,\n InputGroupTextareaDirective\n} from './input-group-directives';\n\n@NgModule({\n declarations: [\n InputGroupComponent,\n InputGroupInputDirective,\n InputGroupTextareaDirective,\n InputGroupAddOnDirective\n ],\n imports: [CommonModule, ButtonModule, IconModule, FormsModule],\n exports: [InputGroupComponent, InputGroupInputDirective, InputGroupTextareaDirective, InputGroupAddOnDirective]\n})\nexport class InputGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}