@coolon/angular-ui-powerups 2.0.0-alpha.18 → 2.0.0-alpha.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 (162) hide show
  1. package/CHANGELOG.md +0 -112
  2. package/assets/form.scss +0 -33
  3. package/bundles/coolon-angular-ui-powerups.umd.js +323 -525
  4. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  6. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  7. package/coolon-angular-ui-powerups.d.ts +54 -55
  8. package/coolon-angular-ui-powerups.metadata.json +1 -1
  9. package/esm2015/coolon-angular-ui-powerups.js +52 -53
  10. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  11. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  12. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  13. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  14. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  15. package/esm2015/lib/components/components.module.js +12 -29
  16. package/esm2015/lib/components/components.module.js.map +1 -1
  17. package/esm2015/lib/components/components.module.metadata.json +1 -1
  18. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  19. package/esm2015/lib/components/forms/abstract-input.component.js +6 -26
  20. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  21. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  22. package/esm2015/lib/components/forms/abstract-list-input.component.js +6 -45
  23. package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
  24. package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
  25. package/esm2015/lib/components/forms/abstract-value-input.component.js +7 -40
  26. package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
  27. package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
  28. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +7 -4
  29. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  30. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  31. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  32. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  33. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  34. package/esm2015/lib/components/forms/number-input/number-input.component.js +7 -4
  35. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  36. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  37. package/esm2015/lib/components/forms/password-input/password-input.component.js +8 -5
  38. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  39. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  40. package/esm2015/lib/components/forms/select-input/select-input.component.js +5 -8
  41. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  42. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  43. package/esm2015/lib/components/forms/string-input/string-input.component.js +8 -4
  44. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  45. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  46. package/esm2015/lib/components/forms/text-input/text-input.component.js +7 -4
  47. package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
  48. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  49. package/esm2015/lib/components/index.js +1 -2
  50. package/esm2015/lib/components/index.js.map +1 -1
  51. package/esm2015/lib/components/index.metadata.json +1 -1
  52. package/esm2015/lib/components/table/cell-editors.js.map +1 -1
  53. package/esm2015/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  54. package/esm2015/lib/components/table/cell-protal-ref.js.map +1 -0
  55. package/esm2015/lib/components/table/{cell-portal-ref.metadata.json → cell-protal-ref.metadata.json} +1 -1
  56. package/esm2015/lib/components/table/column-model.js +11 -37
  57. package/esm2015/lib/components/table/column-model.js.map +1 -1
  58. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  59. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  60. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  61. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  62. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  63. package/esm2015/lib/components/table/table-model.js +5 -8
  64. package/esm2015/lib/components/table/table-model.js.map +1 -1
  65. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  66. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +7 -2
  67. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  68. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  69. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  70. package/esm2015/lib/place/place-component.js +1 -1
  71. package/esm2015/lib/place/place-component.js.map +1 -1
  72. package/esm2015/lib/place/place-router.js +8 -2
  73. package/esm2015/lib/place/place-router.js.map +1 -1
  74. package/esm2015/lib/place/place-router.metadata.json +1 -1
  75. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  76. package/esm2015/lib/place/route/parameter-decorators.js +3 -2
  77. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  78. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  79. package/esm5/coolon-angular-ui-powerups.js +52 -53
  80. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  81. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  82. package/esm5/lib/components/card-container/card-container.component.js +1 -1
  83. package/esm5/lib/components/components.module.js +12 -29
  84. package/esm5/lib/components/components.module.js.map +1 -1
  85. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  86. package/esm5/lib/components/forms/abstract-input.component.js +6 -34
  87. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  88. package/esm5/lib/components/forms/abstract-list-input.component.js +6 -50
  89. package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
  90. package/esm5/lib/components/forms/abstract-value-input.component.js +7 -45
  91. package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
  92. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +7 -4
  93. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  94. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  95. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  96. package/esm5/lib/components/forms/number-input/number-input.component.js +7 -4
  97. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  98. package/esm5/lib/components/forms/password-input/password-input.component.js +8 -5
  99. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  100. package/esm5/lib/components/forms/select-input/select-input.component.js +5 -8
  101. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  102. package/esm5/lib/components/forms/string-input/string-input.component.js +8 -4
  103. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  104. package/esm5/lib/components/forms/text-input/text-input.component.js +7 -4
  105. package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
  106. package/esm5/lib/components/index.js +1 -2
  107. package/esm5/lib/components/index.js.map +1 -1
  108. package/esm5/lib/components/table/cell-editors.js.map +1 -1
  109. package/esm5/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  110. package/esm5/lib/components/table/cell-protal-ref.js.map +1 -0
  111. package/esm5/lib/components/table/column-model.js +11 -37
  112. package/esm5/lib/components/table/column-model.js.map +1 -1
  113. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  114. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  115. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  116. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  117. package/esm5/lib/components/table/table-model.js +5 -8
  118. package/esm5/lib/components/table/table-model.js.map +1 -1
  119. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +7 -2
  120. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  121. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  122. package/esm5/lib/place/place-component.js +1 -1
  123. package/esm5/lib/place/place-component.js.map +1 -1
  124. package/esm5/lib/place/place-router.js +8 -2
  125. package/esm5/lib/place/place-router.js.map +1 -1
  126. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  127. package/esm5/lib/place/route/parameter-decorators.js +3 -2
  128. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  129. package/fesm2015/coolon-angular-ui-powerups.js +241 -421
  130. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  131. package/fesm5/coolon-angular-ui-powerups.js +256 -457
  132. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  133. package/lib/components/forms/abstract-input.component.d.ts +3 -12
  134. package/lib/components/forms/abstract-list-input.component.d.ts +3 -9
  135. package/lib/components/forms/abstract-value-input.component.d.ts +3 -8
  136. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
  137. package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +4 -8
  138. package/lib/components/forms/number-input/number-input.component.d.ts +2 -0
  139. package/lib/components/forms/password-input/password-input.component.d.ts +2 -0
  140. package/lib/components/forms/select-input/select-input.component.d.ts +2 -8
  141. package/lib/components/forms/string-input/string-input.component.d.ts +2 -1
  142. package/lib/components/forms/text-input/text-input.component.d.ts +2 -0
  143. package/lib/components/index.d.ts +1 -2
  144. package/lib/components/table/cell-editors.d.ts +3 -3
  145. package/lib/components/table/{cell-portal-ref.d.ts → cell-protal-ref.d.ts} +4 -4
  146. package/lib/components/table/column-model.d.ts +7 -15
  147. package/lib/components/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  148. package/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.d.ts +1 -1
  149. package/lib/components/table/table-model.d.ts +3 -14
  150. package/package.json +4 -4
  151. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -70
  152. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  153. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +0 -1
  154. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  155. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  156. package/esm2015/lib/components/table/cell-portal-ref.js.map +0 -1
  157. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -73
  158. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  159. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  160. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  161. package/esm5/lib/components/table/cell-portal-ref.js.map +0 -1
  162. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +0 -25
@@ -9,19 +9,18 @@ import { MatTabsModule, MatTabGroup, MAT_TABS_CONFIG } from '@angular/material/t
9
9
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
10
10
  import { ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
11
11
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
12
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
13
12
  import { MatButtonModule } from '@angular/material/button';
14
13
  import { MatCheckboxModule } from '@angular/material/checkbox';
15
14
  import { MatIconModule } from '@angular/material/icon';
16
15
  import { MatTableModule } from '@angular/material/table';
17
- import { MatTooltipModule } from '@angular/material/tooltip';
18
- import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
19
- import { fas } from '@fortawesome/free-solid-svg-icons';
20
- import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, Command, FocusManager, EventListenerList, Form, MutableListModel, Guard, Binding, DebugContext, MutableValueModel, ListModel, StoreInListModel, ValueModel, StoreInValueModel, MultipleSelectionModel, DirtyTrackingForm, DelegatingCommand, Deferred, Functions } from '@coolon/pectin';
21
- import ___default, { isEqual, isNil } from 'lodash';
16
+ import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, Command, FocusManager, Form, ListModel, StoreInListModel, ValueModel, StoreInValueModel, MutableValueModel, MultipleSelectionModel, MutableListModel, DirtyTrackingForm, DelegatingCommand, Deferred, Trace, Guard, DebugContext, Binding, Functions } from '@coolon/pectin';
22
17
  import { assert as assert$1, Opts, lang as lang$1, Klass } from '@coolon/typescript-utilities';
23
18
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
19
+ import ___default, { isEqual, isNil } from 'lodash';
24
20
  import produce from 'immer';
21
+ import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
22
+ import { fas } from '@fortawesome/free-solid-svg-icons';
23
+ import { MatTooltipModule } from '@angular/material/tooltip';
25
24
  import { FlexModule, GridModule } from '@angular/flex-layout';
26
25
  import { MatDialogModule, MatDialog, MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
27
26
  import { RouterModule, UrlSegment, Router, UrlSerializer, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterOutlet } from '@angular/router';
@@ -370,7 +369,7 @@ CardContainerComponent = __decorate([
370
369
  Component({
371
370
  selector: 'aup-card-container',
372
371
  template: "<div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <aup-icon icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n\n</div>\n",
373
- styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}.aup-input-component.dense mat-form-field.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(0)}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
372
+ styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
374
373
  }),
375
374
  __metadata("design:paramtypes", [])
376
375
  ], CardContainerComponent);
@@ -468,8 +467,6 @@ FocusableComponent = __decorate([
468
467
  let AbstractInputComponent = class AbstractInputComponent extends DisposableComponent {
469
468
  constructor() {
470
469
  super();
471
- this.onValueEditedListeners = new EventListenerList();
472
- this.dense = false;
473
470
  // TODO: fix this.
474
471
  // tslint:disable-next-line:no-output-native
475
472
  this.focus = new EventEmitter();
@@ -517,32 +514,19 @@ let AbstractInputComponent = class AbstractInputComponent extends DisposableComp
517
514
  return this.enabled.value;
518
515
  }
519
516
  get enabled() {
520
- return this.formValueModel.enabled;
517
+ return this.inputModel.enabled;
521
518
  }
522
519
  hasErrors() {
523
520
  return !this.errorList.query().isEmpty();
524
521
  }
525
522
  get errorList() {
526
- return this.formValueModel.errorList;
523
+ return this.inputModel.errorList;
527
524
  }
528
525
  get firstError() {
529
526
  return this.hasErrors() ? this.errorList.value[0] : null;
530
527
  }
531
528
  get focusContext() {
532
- return this.formValueModel.focusContext;
533
- }
534
- get floatLabel() {
535
- return this.dense ? 'never' : this.userFloatLabel;
536
- }
537
- get showHint() {
538
- return this.dense ? false : !!this.hint;
539
- }
540
- /**
541
- * Invokes the callback when this components value is changed by a user edit.
542
- * @param callback
543
- */
544
- onValueEdited(callback) {
545
- return this.onValueEditedListeners.add(callback);
529
+ return this.inputModel.focusContext;
546
530
  }
547
531
  };
548
532
  __decorate([
@@ -550,9 +534,9 @@ __decorate([
550
534
  __metadata("design:type", String)
551
535
  ], AbstractInputComponent.prototype, "label", void 0);
552
536
  __decorate([
553
- Input('floatLabel'),
537
+ Input(),
554
538
  __metadata("design:type", String)
555
- ], AbstractInputComponent.prototype, "userFloatLabel", void 0);
539
+ ], AbstractInputComponent.prototype, "floatLabel", void 0);
556
540
  __decorate([
557
541
  Input(),
558
542
  __metadata("design:type", String)
@@ -561,11 +545,6 @@ __decorate([
561
545
  Input(),
562
546
  __metadata("design:type", String)
563
547
  ], AbstractInputComponent.prototype, "placeholder", void 0);
564
- __decorate([
565
- HostBinding('class.dense'),
566
- Input(),
567
- __metadata("design:type", Object)
568
- ], AbstractInputComponent.prototype, "dense", void 0);
569
548
  __decorate([
570
549
  Input('command.focus'),
571
550
  __metadata("design:type", Command)
@@ -631,7 +610,7 @@ AbstractInputComponent = __decorate([
631
610
 
632
611
  let AbstractListInputComponent = class AbstractListInputComponent extends AbstractInputComponent {
633
612
  constructor() {
634
- super();
613
+ super(...arguments);
635
614
  /**
636
615
  * A backing model for all our @Input() valueModel properties which should be defined as follows.
637
616
  *
@@ -643,50 +622,11 @@ let AbstractListInputComponent = class AbstractListInputComponent extends Abstra
643
622
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
644
623
  */
645
624
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
646
- this.formValueModel = this.registerDisposable(new Form.DelegatingListModel());
647
- this.componentListModel = new MutableListModel();
648
- this.setValueIsInProgress = new Guard();
649
- this.valueChange = new EventEmitter();
650
- const { when, valueOf, chain } = Dsl.disposeWith(this);
651
- const binding = new Binding.Identity(this.formValueModel, this.componentListModel);
652
- const inExternalChange = valueOf.any(this.setValueIsInProgress, chain(binding.direction).equals(Binding.Direction.RIGHT)).areTruthy();
653
- when(this.componentListModel).changes((is, was) => {
654
- this.valueChange.emit(is);
655
- this.onValueEditedListeners.fire(l => l(is, was));
656
- }, {
657
- initialValue: 'ignore',
658
- // we never fire events during an external changes to the value. This allows
659
- // the component to behave when used in the conventional angular
660
- // fashion, i.e. [(value)]="..."
661
- unless: inExternalChange
662
- });
663
- DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
664
- }
665
- // We add support for simple direct display of values by allowing components to be used
666
- // by `component.value = ...` This use of the component without a value model in tables
667
- // and the like.
668
- set value(value) {
669
- this.setValueIsInProgress.whileTrue(() => {
670
- this.componentListModel.value = value;
671
- });
625
+ this.inputModel = this.registerDisposable(new Form.DelegatingListModel());
672
626
  }
673
627
  };
674
- __decorate([
675
- Input(), TrackExternal({ delegateTo: 'formValueModel' }),
676
- __metadata("design:type", Object)
677
- ], AbstractListInputComponent.prototype, "listModel", void 0);
678
- __decorate([
679
- Input(),
680
- __metadata("design:type", Array),
681
- __metadata("design:paramtypes", [Array])
682
- ], AbstractListInputComponent.prototype, "value", null);
683
- __decorate([
684
- Output(),
685
- __metadata("design:type", Object)
686
- ], AbstractListInputComponent.prototype, "valueChange", void 0);
687
628
  AbstractListInputComponent = __decorate([
688
- Component({ template: '' }),
689
- __metadata("design:paramtypes", [])
629
+ Component({ template: '' })
690
630
  ], AbstractListInputComponent);
691
631
 
692
632
  let AbstractValueInputComponent = class AbstractValueInputComponent extends AbstractInputComponent {
@@ -703,127 +643,32 @@ let AbstractValueInputComponent = class AbstractValueInputComponent extends Abst
703
643
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
704
644
  */
705
645
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
706
- this.formValueModel = this.registerDisposable(new Form.DelegatingValueModel());
707
- this.setValueInProgress = new Guard();
708
- this.componentValueModel = new MutableValueModel();
709
- this.valueChange = new EventEmitter();
710
- const { when, chain, valueOf } = Dsl.disposeWith(this);
711
- const binding = new Binding.Identity(this.formValueModel, this.componentValueModel);
712
- const inExternalChange = valueOf.any(this.setValueInProgress, chain(binding.direction).equals(Binding.Direction.RIGHT)).areTruthy();
713
- when(this.componentValueModel).changes((is, was) => {
714
- this.valueChange.emit(is);
715
- this.onValueEditedListeners.fire(l => l(is, was));
716
- }, {
717
- initialValue: 'ignore',
718
- // we never fire events during an external set value operation. This allows
719
- // the component to behave when used in the conventional angular
720
- // fashion, i.e. [(value)]="..."
721
- unless: inExternalChange
722
- });
723
- DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
724
- }
725
- // We add support for simple direct display of values by allowing components to be used
726
- // by `component.value = ...` This use of the component without a value model in tables
727
- // and the like.
728
- set value(value) {
729
- this.setValueInProgress.whileTrue(() => {
730
- this.componentValueModel.value = value;
646
+ this.inputModel = this.registerDisposable(new Form.DelegatingValueModel());
647
+ this.inputModel.onTransactionStart(tx => {
648
+ tx.onRootTransactionFinalised(() => {
649
+ console.log({ changed: tx.hasChanged() });
650
+ });
731
651
  });
732
652
  }
733
653
  };
734
- __decorate([
735
- Input(), TrackExternal({ delegateTo: 'formValueModel' }),
736
- __metadata("design:type", Object)
737
- ], AbstractValueInputComponent.prototype, "valueModel", void 0);
738
- __decorate([
739
- Input(),
740
- __metadata("design:type", Object),
741
- __metadata("design:paramtypes", [Object])
742
- ], AbstractValueInputComponent.prototype, "value", null);
743
- __decorate([
744
- Output(),
745
- __metadata("design:type", Object)
746
- ], AbstractValueInputComponent.prototype, "valueChange", void 0);
747
654
  AbstractValueInputComponent = __decorate([
748
655
  Component({ template: '' }),
749
656
  __metadata("design:paramtypes", [])
750
657
  ], AbstractValueInputComponent);
751
658
 
752
- /**
753
- * Using templates (not only supported for nil values:
754
- * <aup-autocomplete-input [valueModel]="myModel" [options]="myOptions">
755
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
756
- * </aup-autocomplete-input>
757
- */
758
- let AutocompleteInputComponent = class AutocompleteInputComponent extends AbstractValueInputComponent {
759
- constructor() {
760
- super();
761
- this.filterValue = new MutableValueModel();
762
- this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
763
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
764
- const lowerCaseFilterValue = chain(this.filterValue)
765
- .map(v => ___default.isString(v) ? v.toLowerCase() : '');
766
- this.filteredOptions = chain(this.optionsModel)
767
- .select(option => {
768
- return ___default.isEmpty(this.filterValue.value) || this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
769
- }, { dependsOn: lowerCaseFilterValue });
770
- }
771
- ngOnInit() {
772
- }
773
- formatOption(option) {
774
- return this.optionLabelFormat(option);
775
- }
776
- updateFilter($event) {
777
- this.filterValue.value = $event;
778
- }
779
- onSelect($event) {
780
- this.valueModel.value = $event.option.value;
781
- }
782
- };
783
- __decorate([
784
- Input(), TrackExternal(),
785
- __metadata("design:type", ListModel)
786
- ], AutocompleteInputComponent.prototype, "optionsModel", void 0);
787
- __decorate([
788
- Input(), StoreInListModel('optionsModel'),
789
- __metadata("design:type", Array)
790
- ], AutocompleteInputComponent.prototype, "options", void 0);
791
- __decorate([
792
- Input(),
793
- __metadata("design:type", Object)
794
- ], AutocompleteInputComponent.prototype, "optionLabel", void 0);
795
- __decorate([
796
- Input(),
797
- __metadata("design:type", Boolean)
798
- ], AutocompleteInputComponent.prototype, "allowNil", void 0);
799
- __decorate([
800
- ContentChild('nilOptionTemplate'),
801
- __metadata("design:type", TemplateRef)
802
- ], AutocompleteInputComponent.prototype, "nilOptionTemplateRef", void 0);
803
- __decorate([
804
- Input(),
805
- __metadata("design:type", Function)
806
- ], AutocompleteInputComponent.prototype, "optionLabelFormat", void 0);
807
- AutocompleteInputComponent = __decorate([
808
- Component({
809
- selector: 'aup-autocomplete-input',
810
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"string\"\n matInput\n [matAutocomplete]=\"autocomplete\"\n placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValueModel.value\"\n (ngModelChange)=\"updateFilter($event)\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-autocomplete #autocomplete [displayWith]=\"optionLabelFormat\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"onSelect($event)\">\n <mat-option *ngFor=\"let option of filteredOptions.value; let i = index\"\n [value]=\"option\"\n >{{formatOption(option)}}</mat-option>\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n </mat-autocomplete>\n\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
811
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
812
- }),
813
- __metadata("design:paramtypes", [])
814
- ], AutocompleteInputComponent);
815
-
816
659
  let CheckboxInputComponent = class CheckboxInputComponent extends AbstractValueInputComponent {
817
660
  constructor() {
818
661
  super();
819
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
820
- // valueModel: Form.ValueModelBase<boolean> | IMutableValueModel<boolean>;
821
662
  this.color = 'accent';
822
663
  this.labelPosition = 'after';
823
664
  }
824
665
  ngOnInit() {
825
666
  }
826
667
  };
668
+ __decorate([
669
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
670
+ __metadata("design:type", Object)
671
+ ], CheckboxInputComponent.prototype, "valueModel", void 0);
827
672
  __decorate([
828
673
  Input(),
829
674
  __metadata("design:type", String)
@@ -835,67 +680,25 @@ __decorate([
835
680
  CheckboxInputComponent = __decorate([
836
681
  Component({
837
682
  selector: 'aup-checkbox-input',
838
- template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"componentValueModel.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n",
839
- styles: [":host{display:inline-flex;flex-direction:column;padding:24px 0 16px}:host.dense{padding:6px 0 2px}mat-error,mat-hint{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}"]
683
+ template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"valueModel.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n",
684
+ styles: [":host{display:inline-flex;flex-direction:column;margin-top:24px;margin-bottom:16px}mat-error,mat-hint{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}"]
840
685
  }),
841
686
  __metadata("design:paramtypes", [])
842
687
  ], CheckboxInputComponent);
843
688
 
844
- /**
845
- * Using templates:
846
- * <aup-multiple-select-input [valueModel]="myModel" [options]="myOptions">
847
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
848
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
849
- * </aup-multiple-select_input>
850
- */
851
- let MultipleSelectInputComponent = class MultipleSelectInputComponent extends AbstractListInputComponent {
852
- constructor() {
853
- super();
854
- this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
855
- }
856
- ngOnInit() {
857
- }
858
- };
859
- __decorate([
860
- Input(), TrackExternal(),
861
- __metadata("design:type", ListModel)
862
- ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
863
- __decorate([
864
- Input(), StoreInListModel('optionsModel'),
865
- __metadata("design:type", Array)
866
- ], MultipleSelectInputComponent.prototype, "options", void 0);
867
- __decorate([
868
- Input(),
869
- __metadata("design:type", Object)
870
- ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
871
- __decorate([
872
- ContentChild('optionTemplate'),
873
- __metadata("design:type", TemplateRef)
874
- ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
875
- __decorate([
876
- Input(),
877
- __metadata("design:type", Function)
878
- ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
879
- MultipleSelectInputComponent = __decorate([
880
- Component({
881
- selector: 'aup-multiple-select-input',
882
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"componentListModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
883
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
884
- }),
885
- __metadata("design:paramtypes", [])
886
- ], MultipleSelectInputComponent);
887
-
888
689
  let NumberInputComponent = class NumberInputComponent extends AbstractValueInputComponent {
889
690
  constructor() {
890
691
  super();
891
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
892
- // valueModel: Form.ValueModelBase<number> | IMutableValueModel<number>;
893
692
  this.min = Number.MIN_SAFE_INTEGER;
894
693
  this.max = Number.MAX_SAFE_INTEGER;
895
694
  }
896
695
  ngOnInit() {
897
696
  }
898
697
  };
698
+ __decorate([
699
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
700
+ __metadata("design:type", Object)
701
+ ], NumberInputComponent.prototype, "valueModel", void 0);
899
702
  __decorate([
900
703
  Input(),
901
704
  __metadata("design:type", Object)
@@ -907,37 +710,32 @@ __decorate([
907
710
  NumberInputComponent = __decorate([
908
711
  Component({
909
712
  selector: 'aup-number-input',
910
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
911
- styles: [""]
713
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
714
+ styles: [":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}:host-context(aup-table-cell-renderer) mat-form-field div.mat-form-field-infix{width:auto}"]
912
715
  }),
913
716
  __metadata("design:paramtypes", [])
914
717
  ], NumberInputComponent);
915
718
 
916
719
  let PasswordInputComponent = class PasswordInputComponent extends AbstractValueInputComponent {
917
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
918
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
919
720
  constructor() {
920
721
  super();
921
722
  }
922
723
  ngOnInit() {
923
724
  }
924
725
  };
726
+ __decorate([
727
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
728
+ __metadata("design:type", Object)
729
+ ], PasswordInputComponent.prototype, "valueModel", void 0);
925
730
  PasswordInputComponent = __decorate([
926
731
  Component({
927
732
  selector: 'aup-password-input',
928
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
929
- styles: [""]
733
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
734
+ styles: [":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}:host-context(aup-table-cell-renderer) mat-form-field div.mat-form-field-infix{width:auto}"]
930
735
  }),
931
736
  __metadata("design:paramtypes", [])
932
737
  ], PasswordInputComponent);
933
738
 
934
- /**
935
- * Using templates:
936
- * <aup-select-input [valueModel]="myModel" [options]="myOptions">
937
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
938
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
939
- * </aup-select_input>
940
- */
941
739
  let SelectInputComponent = class SelectInputComponent extends AbstractValueInputComponent {
942
740
  constructor() {
943
741
  super();
@@ -946,6 +744,10 @@ let SelectInputComponent = class SelectInputComponent extends AbstractValueInput
946
744
  ngOnInit() {
947
745
  }
948
746
  };
747
+ __decorate([
748
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
749
+ __metadata("design:type", Object)
750
+ ], SelectInputComponent.prototype, "valueModel", void 0);
949
751
  __decorate([
950
752
  Input(), TrackExternal(),
951
753
  __metadata("design:type", ListModel)
@@ -977,7 +779,7 @@ __decorate([
977
779
  SelectInputComponent = __decorate([
978
780
  Component({
979
781
  selector: 'aup-select-input',
980
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
782
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
981
783
  styles: [":host{display:inline-block}mat-form-field{width:100%}"]
982
784
  }),
983
785
  __metadata("design:paramtypes", [])
@@ -988,13 +790,17 @@ let StringInputComponent = class StringInputComponent extends AbstractValueInput
988
790
  super();
989
791
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
990
792
  this.clearCommand = Command.create(() => {
991
- this.componentValueModel.value = null;
793
+ this.valueModel.value = null;
992
794
  });
993
- this.clearCommand.disableWhile(chain.stringValue(this.componentValueModel).isBlank());
795
+ this.clearCommand.disableWhile(chain.stringValue(this.valueModel).isBlank());
994
796
  }
995
797
  ngOnInit() {
996
798
  }
997
799
  };
800
+ __decorate([
801
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
802
+ __metadata("design:type", Object)
803
+ ], StringInputComponent.prototype, "valueModel", void 0);
998
804
  __decorate([
999
805
  Input(), TrackExternal({ defaultValue: false }),
1000
806
  __metadata("design:type", ValueModel)
@@ -1006,8 +812,8 @@ __decorate([
1006
812
  StringInputComponent = __decorate([
1007
813
  Component({
1008
814
  selector: 'aup-string-input',
1009
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n",
1010
- styles: ["button[disabled]{visibility:hidden}"]
815
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n",
816
+ styles: [":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}:host-context(aup-table-cell-renderer) mat-form-field div.mat-form-field-infix{width:auto}button[disabled]{visibility:hidden}"]
1011
817
  }),
1012
818
  __metadata("design:paramtypes", [])
1013
819
  ], StringInputComponent);
@@ -1015,14 +821,16 @@ StringInputComponent = __decorate([
1015
821
  let TextInputComponent = class TextInputComponent extends AbstractValueInputComponent {
1016
822
  constructor() {
1017
823
  super();
1018
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1019
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1020
824
  this.rows = 2;
1021
825
  // const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1022
826
  }
1023
827
  ngOnInit() {
1024
828
  }
1025
829
  };
830
+ __decorate([
831
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
832
+ __metadata("design:type", Object)
833
+ ], TextInputComponent.prototype, "valueModel", void 0);
1026
834
  __decorate([
1027
835
  Input(),
1028
836
  __metadata("design:type", Object)
@@ -1034,47 +842,12 @@ __decorate([
1034
842
  TextInputComponent = __decorate([
1035
843
  Component({
1036
844
  selector: 'aup-text-input',
1037
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
1038
- styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}"]
845
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
846
+ styles: [":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}:host-context(aup-table-cell-renderer) mat-form-field div.mat-form-field-infix{width:auto}button[disabled]{visibility:hidden}textarea{overflow:auto}"]
1039
847
  }),
1040
848
  __metadata("design:paramtypes", [])
1041
849
  ], TextInputComponent);
1042
850
 
1043
- let IconComponent = class IconComponent {
1044
- set icon(iconName) {
1045
- this._icon = iconName;
1046
- if (!iconName) {
1047
- this.errorMessage = 'icon is nil';
1048
- this.prefix = undefined;
1049
- return;
1050
- }
1051
- const colonIndex = iconName.indexOf(':');
1052
- if (colonIndex > 0) {
1053
- this.prefix = this.icon.slice(0, colonIndex);
1054
- this.suffix = this.icon.slice(colonIndex + 1);
1055
- }
1056
- if (this.prefix) {
1057
- this.errorMessage = `Unknown icon "${iconName}"`;
1058
- }
1059
- this.errorMessage = `Unknown icon prefix "${this.prefix}"`;
1060
- }
1061
- get icon() {
1062
- return this._icon;
1063
- }
1064
- };
1065
- __decorate([
1066
- Input(),
1067
- __metadata("design:type", String),
1068
- __metadata("design:paramtypes", [String])
1069
- ], IconComponent.prototype, "icon", null);
1070
- IconComponent = __decorate([
1071
- Component({
1072
- selector: 'aup-icon',
1073
- template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"'svg'\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"'mat'\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"'fab'\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
1074
- styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
1075
- })
1076
- ], IconComponent);
1077
-
1078
851
  let NoopComponent = class NoopComponent {
1079
852
  constructor() {
1080
853
  }
@@ -1259,7 +1032,6 @@ class CellHeaderPortalRef extends CellPortalRef {
1259
1032
  assert$1.isTruthy(host);
1260
1033
  host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
1261
1034
  }
1262
- // @Trace()
1263
1035
  onPortalAttached(host, portalComponent) {
1264
1036
  this.initialiseHeader(portalComponent, host.column);
1265
1037
  }
@@ -1275,15 +1047,13 @@ class ComponentCellRendererPortalRef extends CellRendererPortalRef {
1275
1047
  initialiseHost(host, columnModel) {
1276
1048
  host[CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
1277
1049
  }
1278
- // @Trace()
1279
1050
  onPortalAttached(host, portalComponent) {
1280
1051
  host[PORTAL_RENDERER_COMPONENT] = portalComponent;
1281
- this.updateComponent(portalComponent, host.getRowData(), true);
1052
+ this.updateComponent(portalComponent, host.getRowData());
1282
1053
  }
1283
- // @Trace()
1284
1054
  pushState(host) {
1285
1055
  if (host[PORTAL_RENDERER_COMPONENT]) {
1286
- this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);
1056
+ this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData());
1287
1057
  }
1288
1058
  }
1289
1059
  }
@@ -1320,7 +1090,6 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
1320
1090
  onPortalAttached(host, portalComponent) {
1321
1091
  // don't care
1322
1092
  }
1323
- // @Trace()
1324
1093
  pushState(host) {
1325
1094
  host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());
1326
1095
  host.fillCell = this.fillCell;
@@ -1577,34 +1346,21 @@ __decorate([
1577
1346
  __metadata("design:returntype", Object)
1578
1347
  ], ColumnModel.prototype, "getColumnTextProperties", null);
1579
1348
  class PropertyColumnModel extends ColumnModel {
1580
- constructor(id, property, defaults) {
1581
- super(id, defaults);
1349
+ constructor(property, defaults) {
1350
+ super(property.toString(), defaults);
1582
1351
  this.property = property;
1583
1352
  this._format = (value) => value;
1584
1353
  this.cellRenderer(DefaultCellRendererComponent);
1585
1354
  }
1586
- cellRenderer(componentType, onComponentInitOrOptions) {
1587
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
1588
- if (firstTime) {
1589
- if (___default.isFunction(onComponentInitOrOptions)) {
1590
- onComponentInitOrOptions(component);
1591
- }
1592
- else {
1593
- if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
1594
- onComponentInitOrOptions.onComponentInit(component);
1595
- }
1596
- }
1597
- }
1355
+ cellRenderer(componentType) {
1356
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
1598
1357
  component.value = this._format(rowData.row[this.property]);
1599
- if (!___default.isFunction(onComponentInitOrOptions) && ___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
1600
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
1601
- }
1602
1358
  }));
1603
1359
  return this;
1604
1360
  }
1605
- cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
1361
+ cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
1606
1362
  const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
1607
- const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
1363
+ const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
1608
1364
  this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
1609
1365
  const formValueModel = editSession.form.pluck(this.property);
1610
1366
  if (validators) {
@@ -1627,8 +1383,8 @@ class PropertyColumnModel extends ColumnModel {
1627
1383
  }
1628
1384
  }
1629
1385
  class ListPropertyColumnModel extends ColumnModel {
1630
- constructor(id, property, defaults) {
1631
- super(id, defaults);
1386
+ constructor(property, defaults) {
1387
+ super(property.toString(), defaults);
1632
1388
  this.property = property;
1633
1389
  this._format = (value) => value.map(v => v === null || v === void 0 ? void 0 : v.toString()).join(', ');
1634
1390
  this.cellRenderer(DefaultCellRendererComponent);
@@ -1669,22 +1425,9 @@ class CustomValueColumnModel extends ColumnModel {
1669
1425
  this.getValue = getValue;
1670
1426
  this.cellRenderer(DefaultCellRendererComponent);
1671
1427
  }
1672
- cellRenderer(componentType, onComponentInitOrOptions) {
1673
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
1674
- if (firstTime) {
1675
- if (___default.isFunction(onComponentInitOrOptions)) {
1676
- onComponentInitOrOptions(component);
1677
- }
1678
- else {
1679
- if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
1680
- onComponentInitOrOptions.onComponentInit(component);
1681
- }
1682
- }
1683
- }
1428
+ cellRenderer(componentType) {
1429
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
1684
1430
  component.value = this.getValue(rowData.row);
1685
- if (!___default.isFunction(onComponentInitOrOptions) && ___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
1686
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
1687
- }
1688
1431
  }));
1689
1432
  return this;
1690
1433
  }
@@ -1857,7 +1600,7 @@ let TableModel = TableModel_1 = class TableModel {
1857
1600
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
1858
1601
  this.firstEditableColumn = chain(this.columns).select(c => c.hasEditorPortal()).first();
1859
1602
  this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(column => column.isRowSelectionExplicitlyEnabled()).isGreaterThanOrEqualTo(0);
1860
- this.addRowClass('enable-hover', () => this.isRowSelectionEnabled());
1603
+ this.addRowClass("enable-hover", () => this.isRowSelectionEnabled());
1861
1604
  }
1862
1605
  static fromList(sourceOfTruth, builder) {
1863
1606
  const model = new TableModel_1(sourceOfTruth);
@@ -1875,11 +1618,11 @@ let TableModel = TableModel_1 = class TableModel {
1875
1618
  get columns() {
1876
1619
  return this._columns.readonly;
1877
1620
  }
1878
- pluck(property, options) {
1879
- return this.addColumn(new PropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
1621
+ pluck(property) {
1622
+ return this.addColumn(new PropertyColumnModel(property, this));
1880
1623
  }
1881
- pluckList(property, options) {
1882
- return this.addColumn(new ListPropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
1624
+ pluckList(property) {
1625
+ return this.addColumn(new ListPropertyColumnModel(property, this));
1883
1626
  }
1884
1627
  addSelectionColumn(selectionModel) {
1885
1628
  assert.isNil(this.selectionColumnModel);
@@ -1893,9 +1636,6 @@ let TableModel = TableModel_1 = class TableModel {
1893
1636
  addCustomColumn(columnId, dataAccessor) {
1894
1637
  return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
1895
1638
  }
1896
- addComponentColumn(columnId, component, onComponentInitOrOptions) {
1897
- return this.addColumn(new CustomValueColumnModel(columnId, this, row => row)).cellRenderer(component, onComponentInitOrOptions);
1898
- }
1899
1639
  addTemplateColumn(columnId) {
1900
1640
  return this.addColumn(new CustomTemplateColumnModel(columnId, this));
1901
1641
  }
@@ -2300,6 +2040,90 @@ VerticalFocusContainerComponent = __decorate([
2300
2040
  __metadata("design:paramtypes", [FocusManager])
2301
2041
  ], VerticalFocusContainerComponent);
2302
2042
 
2043
+ let MultipleSelectInputComponent = class MultipleSelectInputComponent extends AbstractListInputComponent {
2044
+ constructor() {
2045
+ super();
2046
+ this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
2047
+ }
2048
+ ngOnInit() {
2049
+ }
2050
+ };
2051
+ __decorate([
2052
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
2053
+ __metadata("design:type", Object)
2054
+ ], MultipleSelectInputComponent.prototype, "listModel", void 0);
2055
+ __decorate([
2056
+ Input(), TrackExternal(),
2057
+ __metadata("design:type", ListModel)
2058
+ ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
2059
+ __decorate([
2060
+ Input(), StoreInListModel('optionsModel'),
2061
+ __metadata("design:type", Array)
2062
+ ], MultipleSelectInputComponent.prototype, "options", void 0);
2063
+ __decorate([
2064
+ Input(),
2065
+ __metadata("design:type", Object)
2066
+ ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
2067
+ __decorate([
2068
+ Input(),
2069
+ __metadata("design:type", Boolean)
2070
+ ], MultipleSelectInputComponent.prototype, "allowNil", void 0);
2071
+ __decorate([
2072
+ ContentChild('optionTemplate'),
2073
+ __metadata("design:type", TemplateRef)
2074
+ ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
2075
+ __decorate([
2076
+ ContentChild('nilOptionTemplate'),
2077
+ __metadata("design:type", TemplateRef)
2078
+ ], MultipleSelectInputComponent.prototype, "nilOptionTemplateRef", void 0);
2079
+ __decorate([
2080
+ Input(),
2081
+ __metadata("design:type", Function)
2082
+ ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
2083
+ MultipleSelectInputComponent = __decorate([
2084
+ Component({
2085
+ selector: 'aup-multiple-select-input',
2086
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"listModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2087
+ styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2088
+ }),
2089
+ __metadata("design:paramtypes", [])
2090
+ ], MultipleSelectInputComponent);
2091
+
2092
+ let IconComponent = class IconComponent {
2093
+ set icon(iconName) {
2094
+ this._icon = iconName;
2095
+ if (!iconName) {
2096
+ this.errorMessage = 'icon is nil';
2097
+ this.prefix = undefined;
2098
+ return;
2099
+ }
2100
+ const colonIndex = iconName.indexOf(':');
2101
+ if (colonIndex > 0) {
2102
+ this.prefix = this.icon.slice(0, colonIndex);
2103
+ this.suffix = this.icon.slice(colonIndex + 1);
2104
+ }
2105
+ if (this.prefix) {
2106
+ this.errorMessage = `Unknown icon "${iconName}"`;
2107
+ }
2108
+ this.errorMessage = `Unknown icon prefix "${this.prefix}"`;
2109
+ }
2110
+ get icon() {
2111
+ return this._icon;
2112
+ }
2113
+ };
2114
+ __decorate([
2115
+ Input(),
2116
+ __metadata("design:type", String),
2117
+ __metadata("design:paramtypes", [String])
2118
+ ], IconComponent.prototype, "icon", null);
2119
+ IconComponent = __decorate([
2120
+ Component({
2121
+ selector: 'aup-icon',
2122
+ template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"'svg'\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"'mat'\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"'fab'\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
2123
+ styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
2124
+ })
2125
+ ], IconComponent);
2126
+
2303
2127
  let ComponentsModule = class ComponentsModule {
2304
2128
  constructor(faIconLibrary) {
2305
2129
  faIconLibrary.addIconPacks(fas);
@@ -2319,8 +2143,6 @@ ComponentsModule = __decorate([
2319
2143
  TextInputComponent,
2320
2144
  PasswordInputComponent,
2321
2145
  SelectInputComponent,
2322
- MultipleSelectInputComponent,
2323
- AutocompleteInputComponent,
2324
2146
  CheckboxInputComponent,
2325
2147
  ScrollContainerComponent,
2326
2148
  NoopComponent,
@@ -2340,6 +2162,7 @@ ComponentsModule = __decorate([
2340
2162
  SelectHeaderCellRendererComponent,
2341
2163
  DefaultHeaderCellRendererComponent,
2342
2164
  TableHeaderCellRendererComponent,
2165
+ MultipleSelectInputComponent,
2343
2166
  IconComponent,
2344
2167
  SectionHeaderComponent
2345
2168
  ],
@@ -2359,8 +2182,7 @@ ComponentsModule = __decorate([
2359
2182
  PortalModule,
2360
2183
  CdkScrollableModule,
2361
2184
  FontAwesomeModule,
2362
- MatTooltipModule,
2363
- MatAutocompleteModule
2185
+ MatTooltipModule
2364
2186
  ],
2365
2187
  exports: [
2366
2188
  NumberInputComponent,
@@ -2369,8 +2191,6 @@ ComponentsModule = __decorate([
2369
2191
  PasswordInputComponent,
2370
2192
  CheckboxInputComponent,
2371
2193
  SelectInputComponent,
2372
- MultipleSelectInputComponent,
2373
- AutocompleteInputComponent,
2374
2194
  ScrollContainerComponent,
2375
2195
  NoopComponent,
2376
2196
  SwitchCaseComponent,
@@ -2383,23 +2203,12 @@ ComponentsModule = __decorate([
2383
2203
  TableComponent,
2384
2204
  EditRowControls,
2385
2205
  ColumnTemplateDirective,
2206
+ MultipleSelectInputComponent,
2386
2207
  IconComponent,
2387
2208
  SectionHeaderComponent
2388
2209
  ],
2389
2210
  providers: [
2390
- FocusBindingFactory
2391
- // {
2392
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
2393
- // type: 'string',
2394
- // editorClass: StringInputComponent
2395
- // }, multi: true
2396
- // },
2397
- // {
2398
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
2399
- // type: 'number',
2400
- // editorClass: NumberInputComponent
2401
- // }, multi: true
2402
- // }
2211
+ FocusBindingFactory,
2403
2212
  ]
2404
2213
  }),
2405
2214
  __metadata("design:paramtypes", [FaIconLibrary])
@@ -2772,7 +2581,6 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
2772
2581
  registerDisposable(disposable) {
2773
2582
  return this.garbage.registerDisposable(disposable);
2774
2583
  }
2775
- // @Trace()
2776
2584
  dispose() {
2777
2585
  // TODO: think about auto cancelling any outstanding activity on dispose.
2778
2586
  // See NavigationState.Navigating for a use-case.
@@ -2912,6 +2720,12 @@ __decorate([
2912
2720
  ViewChildren(ActivityOutletComponent),
2913
2721
  __metadata("design:type", QueryList)
2914
2722
  ], ActivityContainerComponent.prototype, "activityOutlets", void 0);
2723
+ __decorate([
2724
+ Trace(),
2725
+ __metadata("design:type", Function),
2726
+ __metadata("design:paramtypes", []),
2727
+ __metadata("design:returntype", void 0)
2728
+ ], ActivityContainerComponent.prototype, "dispose", null);
2915
2729
  ActivityContainerComponent = __decorate([
2916
2730
  Component({
2917
2731
  selector: 'aup-activity-container',
@@ -3898,7 +3712,7 @@ let PlaceComponent = PlaceComponent_1 = class PlaceComponent extends DisposableC
3898
3712
  assert.isNil(this.visitModel.value);
3899
3713
  const { when } = Dsl.disposeWith(this);
3900
3714
  this.visitModel.value = visit;
3901
- DebugContext.getOrCreate(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
3715
+ DebugContext.get(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
3902
3716
  this.placeDefinition.getVisitParameterDefs().forEach(parameterDef => this.installBinding(parameterDef));
3903
3717
  when.valueOf(this.visitModel).changes((current, previous) => {
3904
3718
  notifyVisitChanged(current, previous);
@@ -4938,6 +4752,70 @@ UrlService = __decorate([
4938
4752
  __metadata("design:paramtypes", [Router, Location, UrlSerializer])
4939
4753
  ], UrlService);
4940
4754
 
4755
+ class Visit {
4756
+ constructor(placeDefinition, visitParameters = {}) {
4757
+ this.placeDefinition = placeDefinition;
4758
+ this.visitParameters = visitParameters;
4759
+ }
4760
+ // @Trace()
4761
+ getRouteId() {
4762
+ return this.placeDefinition.getRouteIdFrom(this);
4763
+ }
4764
+ // @Trace()
4765
+ hasRouteId() {
4766
+ return !isNil(this.getRouteId());
4767
+ }
4768
+ /**
4769
+ * Returns the value of the place parameter with the specified name. The parameter
4770
+ * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
4771
+ * same as the the ValueModel property name.
4772
+ * @param parameterName the field name of the property model or the `as` option if specified.
4773
+ */
4774
+ getParameter(parameterName) {
4775
+ return this.visitParameters[parameterName];
4776
+ }
4777
+ // @Trace()
4778
+ hasParameter(parameterName) {
4779
+ return Object.keys(this.visitParameters).includes(parameterName);
4780
+ }
4781
+ replace(parameter, value) {
4782
+ return new Visit(this.placeDefinition, Object.assign(Object.assign({}, this.visitParameters), { [parameter.name]: value }));
4783
+ }
4784
+ mergeRouteParameters(routeParams) {
4785
+ // todo: whitelist parameters.
4786
+ const routeParameterKeys = Object.keys(routeParams);
4787
+ const params = {};
4788
+ this.placeDefinition.getVisitParameterDefs().forEach(def => {
4789
+ if (def.isRouteId || def.isRouteParameter) {
4790
+ if (routeParameterKeys.includes(def.name)) {
4791
+ params[def.name] = routeParams[def.name];
4792
+ }
4793
+ }
4794
+ else {
4795
+ // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
4796
+ // defaults and remember sanitisation process.
4797
+ const value = this.getParameter(def.name);
4798
+ if (this.hasParameter(def.name)) {
4799
+ params[def.name] = value;
4800
+ }
4801
+ }
4802
+ });
4803
+ return new Visit(this.placeDefinition, params);
4804
+ }
4805
+ hasRoutingChangedFrom(other) {
4806
+ const samePlace = other.placeDefinition === this.placeDefinition;
4807
+ const sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
4808
+ return !samePlace || !sameRouteParameters;
4809
+ }
4810
+ hasChangedFrom(other) {
4811
+ const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
4812
+ return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
4813
+ }
4814
+ toDebugString() {
4815
+ return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(",");
4816
+ }
4817
+ }
4818
+
4941
4819
  let PlaceRouter = class PlaceRouter extends GarbageCollector {
4942
4820
  constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
4943
4821
  super();
@@ -5099,7 +4977,6 @@ let PlaceRouter = class PlaceRouter extends GarbageCollector {
5099
4977
  get activeVisits() {
5100
4978
  return this._activeVisits.readonly;
5101
4979
  }
5102
- // @Trace()
5103
4980
  pushVisitChangesToRoute(previous, next) {
5104
4981
  return __awaiter(this, void 0, void 0, function* () {
5105
4982
  this.placeHistory.updateVisit(next);
@@ -5196,6 +5073,12 @@ PlaceRouter.ctorParameters = () => [
5196
5073
  { type: PlaceHistory }
5197
5074
  ];
5198
5075
  PlaceRouter.ɵprov = ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(ɵɵinject(Router), ɵɵinject(Location), ɵɵinject(InteractionService), ɵɵinject(UrlService), ɵɵinject(PlaceHistory)); }, token: PlaceRouter, providedIn: "root" });
5076
+ __decorate([
5077
+ Trace(),
5078
+ __metadata("design:type", Function),
5079
+ __metadata("design:paramtypes", [Visit, Visit]),
5080
+ __metadata("design:returntype", Promise)
5081
+ ], PlaceRouter.prototype, "pushVisitChangesToRoute", null);
5199
5082
  PlaceRouter = __decorate([
5200
5083
  Injectable({
5201
5084
  providedIn: 'root'
@@ -5207,70 +5090,6 @@ PlaceRouter = __decorate([
5207
5090
  PlaceHistory])
5208
5091
  ], PlaceRouter);
5209
5092
 
5210
- class Visit {
5211
- constructor(placeDefinition, visitParameters = {}) {
5212
- this.placeDefinition = placeDefinition;
5213
- this.visitParameters = visitParameters;
5214
- }
5215
- // @Trace()
5216
- getRouteId() {
5217
- return this.placeDefinition.getRouteIdFrom(this);
5218
- }
5219
- // @Trace()
5220
- hasRouteId() {
5221
- return !isNil(this.getRouteId());
5222
- }
5223
- /**
5224
- * Returns the value of the place parameter with the specified name. The parameter
5225
- * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
5226
- * same as the the ValueModel property name.
5227
- * @param parameterName the field name of the property model or the `as` option if specified.
5228
- */
5229
- getParameter(parameterName) {
5230
- return this.visitParameters[parameterName];
5231
- }
5232
- // @Trace()
5233
- hasParameter(parameterName) {
5234
- return Object.keys(this.visitParameters).includes(parameterName);
5235
- }
5236
- replace(parameter, value) {
5237
- return new Visit(this.placeDefinition, Object.assign(Object.assign({}, this.visitParameters), { [parameter.name]: value }));
5238
- }
5239
- mergeRouteParameters(routeParams) {
5240
- // todo: whitelist parameters.
5241
- const routeParameterKeys = Object.keys(routeParams);
5242
- const params = {};
5243
- this.placeDefinition.getVisitParameterDefs().forEach(def => {
5244
- if (def.isRouteId || def.isRouteParameter) {
5245
- if (routeParameterKeys.includes(def.name)) {
5246
- params[def.name] = routeParams[def.name];
5247
- }
5248
- }
5249
- else {
5250
- // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
5251
- // defaults and remember sanitisation process.
5252
- const value = this.getParameter(def.name);
5253
- if (this.hasParameter(def.name)) {
5254
- params[def.name] = value;
5255
- }
5256
- }
5257
- });
5258
- return new Visit(this.placeDefinition, params);
5259
- }
5260
- hasRoutingChangedFrom(other) {
5261
- const samePlace = other.placeDefinition === this.placeDefinition;
5262
- const sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
5263
- return !samePlace || !sameRouteParameters;
5264
- }
5265
- hasChangedFrom(other) {
5266
- const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
5267
- return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
5268
- }
5269
- toDebugString() {
5270
- return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(",");
5271
- }
5272
- }
5273
-
5274
5093
  const AUP_PLACE_CONFIG = new InjectionToken('AUP_PLACE_CONFIG');
5275
5094
 
5276
5095
  // Freezes the state of the components at the start of the animation.
@@ -6156,7 +5975,8 @@ function installMechanics(prototype, propertyKey, backingModel, tagPrefix, isEmp
6156
5975
  binding: null
6157
5976
  };
6158
5977
  const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
6159
- DebugContext.getOrCreate(mechanics.backingModel).tag(tag);
5978
+ DebugContext.get(mechanics.backingModel).tag(tag);
5979
+ Logger.get(mechanics.backingModel).tag(tag);
6160
5980
  Object.defineProperty(prototype, propertyKey, {
6161
5981
  get: function () {
6162
5982
  return mechanics.backingModel;
@@ -6218,5 +6038,5 @@ function VisitParameterList(options) {
6218
6038
  * Generated bundle index. Do not edit.
6219
6039
  */
6220
6040
 
6221
- export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandDirective, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupInteractionContextComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TemplateCellRendererPortalRef, TextInputComponent, UrlService, UrlSnapshot, VerticalFocusContainerComponent, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0, DirectivesModule as ɵa, CommandDirective as ɵb, CardContainerComponent as ɵba, TableComponent as ɵbb, EditRowControls as ɵbc, ColumnTemplateDirective as ɵbd, DefaultCellRendererComponent as ɵbe, TableCellRendererComponent as ɵbf, SelectCellRendererComponent as ɵbg, SelectHeaderCellRendererComponent as ɵbh, DefaultHeaderCellRendererComponent as ɵbi, TableHeaderCellRendererComponent as ɵbj, IconComponent as ɵbk, SectionHeaderComponent as ɵbl, PlaceModule as ɵbm, ComponentsModule as ɵbn, EmptyStateComponent as ɵbo, BusyOverlayComponent as ɵbp, PlaceOutletComponent as ɵbq, leftRightPlaceAnimation as ɵbr, LEFT_RIGHT_PLACE_ANIMATION as ɵbs, AUP_PLACE_CONFIG as ɵbt, PlaceRouter as ɵbv, InteractionService as ɵbw, ModalInteractionContextFactory as ɵbx, UrlService as ɵby, PlaceHistory as ɵbz, FocusBindingDirective as ɵc, TabbedPlaceNavigationComponent as ɵca, AbstractPlaceNavigationComponent as ɵcb, ListPlaceNavComponent as ɵcc, SidePlaceNavigationComponent as ɵcd, InteractionModule as ɵce, ActivityContainerComponent as ɵcf, AbstractInteractionContext as ɵcg, ActivityOutletComponent as ɵch, ConfirmationDialogComponent as ɵci, ACTIVITY_DATA as ɵcj, Activity as ɵck, ConfirmThenDialogComponent as ɵcm, AlertDialogComponent as ɵcn, InPlaceInteractionContextComponent as ɵcp, AddItemInteractionContextComponent as ɵcq, ActivityActionsComponent as ɵcr, PopupInteractionContextComponent as ɵcs, StringInputActivity as ɵct, AbstractInputActivity as ɵcu, SelectInputActivity as ɵcv, InteractionContextTriggerFor as ɵcw, DisposableComponent as ɵd, FocusBindingFactory as ɵe, ComponentsModule as ɵf, AbstractInputComponent as ɵg, AbstractValueInputComponent as ɵh, AbstractListInputComponent as ɵi, NumberInputComponent as ɵj, StringInputComponent as ɵk, TextInputComponent as ɵl, PasswordInputComponent as ɵm, SelectInputComponent as ɵn, MultipleSelectInputComponent as ɵo, AutocompleteInputComponent as ɵp, CheckboxInputComponent as ɵq, ScrollContainerComponent as ɵr, NoopComponent as ɵs, SwitchCaseOption as ɵt, SwitchCaseWhenDirective as ɵu, SwitchCaseDefaultDirective as ɵv, SwitchCaseComponent as ɵw, FocusContainerComponent as ɵx, VerticalFocusContainerComponent as ɵy, FocusableComponent as ɵz };
6041
+ export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandDirective, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupInteractionContextComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TemplateCellRendererPortalRef, TextInputComponent, UrlService, UrlSnapshot, VerticalFocusContainerComponent, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0, DirectivesModule as ɵa, CommandDirective as ɵb, EditRowControls as ɵba, ColumnTemplateDirective as ɵbb, DefaultCellRendererComponent as ɵbc, TableCellRendererComponent as ɵbd, SelectCellRendererComponent as ɵbe, SelectHeaderCellRendererComponent as ɵbf, DefaultHeaderCellRendererComponent as ɵbg, TableHeaderCellRendererComponent as ɵbh, MultipleSelectInputComponent as ɵbi, IconComponent as ɵbj, SectionHeaderComponent as ɵbk, PlaceModule as ɵbl, ComponentsModule as ɵbm, EmptyStateComponent as ɵbn, BusyOverlayComponent as ɵbo, PlaceOutletComponent as ɵbp, leftRightPlaceAnimation as ɵbq, LEFT_RIGHT_PLACE_ANIMATION as ɵbr, AUP_PLACE_CONFIG as ɵbs, PlaceRouter as ɵbu, InteractionService as ɵbv, ModalInteractionContextFactory as ɵbw, UrlService as ɵbx, PlaceHistory as ɵby, TabbedPlaceNavigationComponent as ɵbz, FocusBindingDirective as ɵc, AbstractPlaceNavigationComponent as ɵca, ListPlaceNavComponent as ɵcb, SidePlaceNavigationComponent as ɵcc, InteractionModule as ɵcd, ActivityContainerComponent as ɵce, AbstractInteractionContext as ɵcf, ActivityOutletComponent as ɵcg, ConfirmationDialogComponent as ɵch, ACTIVITY_DATA as ɵci, Activity as ɵcj, ConfirmThenDialogComponent as ɵcl, AlertDialogComponent as ɵcm, InPlaceInteractionContextComponent as ɵco, AddItemInteractionContextComponent as ɵcp, ActivityActionsComponent as ɵcq, PopupInteractionContextComponent as ɵcr, StringInputActivity as ɵcs, AbstractInputActivity as ɵct, SelectInputActivity as ɵcu, InteractionContextTriggerFor as ɵcv, DisposableComponent as ɵd, FocusBindingFactory as ɵe, ComponentsModule as ɵf, AbstractInputComponent as ɵg, AbstractValueInputComponent as ɵh, AbstractListInputComponent as ɵi, NumberInputComponent as ɵj, StringInputComponent as ɵk, TextInputComponent as ɵl, PasswordInputComponent as ɵm, SelectInputComponent as ɵn, CheckboxInputComponent as ɵo, ScrollContainerComponent as ɵp, NoopComponent as ɵq, SwitchCaseOption as ɵr, SwitchCaseWhenDirective as ɵs, SwitchCaseDefaultDirective as ɵt, SwitchCaseComponent as ɵu, FocusContainerComponent as ɵv, VerticalFocusContainerComponent as ɵw, FocusableComponent as ɵx, CardContainerComponent as ɵy, TableComponent as ɵz };
6222
6042
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map