@coolon/angular-ui-powerups 2.0.0-alpha.19 → 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 -119
  2. package/assets/form.scss +0 -33
  3. package/bundles/coolon-angular-ui-powerups.umd.js +323 -537
  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 -51
  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 -46
  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 -56
  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 -51
  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 -433
  130. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  131. package/fesm5/coolon-angular-ui-powerups.js +256 -469
  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 -10
  135. package/lib/components/forms/abstract-value-input.component.d.ts +3 -9
  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,56 +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
- if (!this.listHolder) {
671
- this.listHolder = new MutableListModel(value);
672
- this.listModel = this.listHolder;
673
- }
674
- else {
675
- this.listHolder.value = value;
676
- }
677
- });
625
+ this.inputModel = this.registerDisposable(new Form.DelegatingListModel());
678
626
  }
679
627
  };
680
- __decorate([
681
- Input(), TrackExternal({ delegateTo: 'formValueModel' }),
682
- __metadata("design:type", Object)
683
- ], AbstractListInputComponent.prototype, "listModel", void 0);
684
- __decorate([
685
- Input(),
686
- __metadata("design:type", Array),
687
- __metadata("design:paramtypes", [Array])
688
- ], AbstractListInputComponent.prototype, "value", null);
689
- __decorate([
690
- Output(),
691
- __metadata("design:type", Object)
692
- ], AbstractListInputComponent.prototype, "valueChange", void 0);
693
628
  AbstractListInputComponent = __decorate([
694
- Component({ template: '' }),
695
- __metadata("design:paramtypes", [])
629
+ Component({ template: '' })
696
630
  ], AbstractListInputComponent);
697
631
 
698
632
  let AbstractValueInputComponent = class AbstractValueInputComponent extends AbstractInputComponent {
@@ -709,133 +643,32 @@ let AbstractValueInputComponent = class AbstractValueInputComponent extends Abst
709
643
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
710
644
  */
711
645
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
712
- this.formValueModel = this.registerDisposable(new Form.DelegatingValueModel());
713
- this.setValueInProgress = new Guard();
714
- this.componentValueModel = new MutableValueModel();
715
- this.valueChange = new EventEmitter();
716
- const { when, chain, valueOf } = Dsl.disposeWith(this);
717
- const binding = new Binding.Identity(this.formValueModel, this.componentValueModel);
718
- const inExternalChange = valueOf.any(this.setValueInProgress, chain(binding.direction).equals(Binding.Direction.RIGHT)).areTruthy();
719
- when(this.componentValueModel).changes((is, was) => {
720
- this.valueChange.emit(is);
721
- this.onValueEditedListeners.fire(l => l(is, was));
722
- }, {
723
- initialValue: 'ignore',
724
- // we never fire events during an external set value operation. This allows
725
- // the component to behave when used in the conventional angular
726
- // fashion, i.e. [(value)]="..."
727
- unless: inExternalChange
728
- });
729
- DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
730
- }
731
- // We add support for simple direct display of values by allowing components to be used
732
- // by `component.value = ...` This use of the component without a value model in tables
733
- // and the like.
734
- set value(value) {
735
- this.setValueInProgress.whileTrue(() => {
736
- if (!this.plainValueHolder) {
737
- this.plainValueHolder = new MutableValueModel(value);
738
- this.valueModel = this.plainValueHolder;
739
- }
740
- else {
741
- this.plainValueHolder.value = value;
742
- }
646
+ this.inputModel = this.registerDisposable(new Form.DelegatingValueModel());
647
+ this.inputModel.onTransactionStart(tx => {
648
+ tx.onRootTransactionFinalised(() => {
649
+ console.log({ changed: tx.hasChanged() });
650
+ });
743
651
  });
744
652
  }
745
653
  };
746
- __decorate([
747
- Input(), TrackExternal({ delegateTo: 'formValueModel' }),
748
- __metadata("design:type", Object)
749
- ], AbstractValueInputComponent.prototype, "valueModel", void 0);
750
- __decorate([
751
- Input(),
752
- __metadata("design:type", Object),
753
- __metadata("design:paramtypes", [Object])
754
- ], AbstractValueInputComponent.prototype, "value", null);
755
- __decorate([
756
- Output(),
757
- __metadata("design:type", Object)
758
- ], AbstractValueInputComponent.prototype, "valueChange", void 0);
759
654
  AbstractValueInputComponent = __decorate([
760
655
  Component({ template: '' }),
761
656
  __metadata("design:paramtypes", [])
762
657
  ], AbstractValueInputComponent);
763
658
 
764
- /**
765
- * Using templates (not only supported for nil values:
766
- * <aup-autocomplete-input [valueModel]="myModel" [options]="myOptions">
767
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
768
- * </aup-autocomplete-input>
769
- */
770
- let AutocompleteInputComponent = class AutocompleteInputComponent extends AbstractValueInputComponent {
771
- constructor() {
772
- super();
773
- this.filterValue = new MutableValueModel();
774
- this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
775
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
776
- const lowerCaseFilterValue = chain(this.filterValue)
777
- .map(v => ___default.isString(v) ? v.toLowerCase() : '');
778
- this.filteredOptions = chain(this.optionsModel)
779
- .select(option => {
780
- return ___default.isEmpty(this.filterValue.value) || this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
781
- }, { dependsOn: lowerCaseFilterValue });
782
- }
783
- ngOnInit() {
784
- }
785
- formatOption(option) {
786
- return this.optionLabelFormat(option);
787
- }
788
- updateFilter($event) {
789
- this.filterValue.value = $event;
790
- }
791
- onSelect($event) {
792
- this.valueModel.value = $event.option.value;
793
- }
794
- };
795
- __decorate([
796
- Input(), TrackExternal(),
797
- __metadata("design:type", ListModel)
798
- ], AutocompleteInputComponent.prototype, "optionsModel", void 0);
799
- __decorate([
800
- Input(), StoreInListModel('optionsModel'),
801
- __metadata("design:type", Array)
802
- ], AutocompleteInputComponent.prototype, "options", void 0);
803
- __decorate([
804
- Input(),
805
- __metadata("design:type", Object)
806
- ], AutocompleteInputComponent.prototype, "optionLabel", void 0);
807
- __decorate([
808
- Input(),
809
- __metadata("design:type", Boolean)
810
- ], AutocompleteInputComponent.prototype, "allowNil", void 0);
811
- __decorate([
812
- ContentChild('nilOptionTemplate'),
813
- __metadata("design:type", TemplateRef)
814
- ], AutocompleteInputComponent.prototype, "nilOptionTemplateRef", void 0);
815
- __decorate([
816
- Input(),
817
- __metadata("design:type", Function)
818
- ], AutocompleteInputComponent.prototype, "optionLabelFormat", void 0);
819
- AutocompleteInputComponent = __decorate([
820
- Component({
821
- selector: 'aup-autocomplete-input',
822
- 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",
823
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
824
- }),
825
- __metadata("design:paramtypes", [])
826
- ], AutocompleteInputComponent);
827
-
828
659
  let CheckboxInputComponent = class CheckboxInputComponent extends AbstractValueInputComponent {
829
660
  constructor() {
830
661
  super();
831
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
832
- // valueModel: Form.ValueModelBase<boolean> | IMutableValueModel<boolean>;
833
662
  this.color = 'accent';
834
663
  this.labelPosition = 'after';
835
664
  }
836
665
  ngOnInit() {
837
666
  }
838
667
  };
668
+ __decorate([
669
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
670
+ __metadata("design:type", Object)
671
+ ], CheckboxInputComponent.prototype, "valueModel", void 0);
839
672
  __decorate([
840
673
  Input(),
841
674
  __metadata("design:type", String)
@@ -847,67 +680,25 @@ __decorate([
847
680
  CheckboxInputComponent = __decorate([
848
681
  Component({
849
682
  selector: 'aup-checkbox-input',
850
- 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",
851
- 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}"]
852
685
  }),
853
686
  __metadata("design:paramtypes", [])
854
687
  ], CheckboxInputComponent);
855
688
 
856
- /**
857
- * Using templates:
858
- * <aup-multiple-select-input [valueModel]="myModel" [options]="myOptions">
859
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
860
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
861
- * </aup-multiple-select_input>
862
- */
863
- let MultipleSelectInputComponent = class MultipleSelectInputComponent extends AbstractListInputComponent {
864
- constructor() {
865
- super();
866
- this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
867
- }
868
- ngOnInit() {
869
- }
870
- };
871
- __decorate([
872
- Input(), TrackExternal(),
873
- __metadata("design:type", ListModel)
874
- ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
875
- __decorate([
876
- Input(), StoreInListModel('optionsModel'),
877
- __metadata("design:type", Array)
878
- ], MultipleSelectInputComponent.prototype, "options", void 0);
879
- __decorate([
880
- Input(),
881
- __metadata("design:type", Object)
882
- ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
883
- __decorate([
884
- ContentChild('optionTemplate'),
885
- __metadata("design:type", TemplateRef)
886
- ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
887
- __decorate([
888
- Input(),
889
- __metadata("design:type", Function)
890
- ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
891
- MultipleSelectInputComponent = __decorate([
892
- Component({
893
- selector: 'aup-multiple-select-input',
894
- 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",
895
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
896
- }),
897
- __metadata("design:paramtypes", [])
898
- ], MultipleSelectInputComponent);
899
-
900
689
  let NumberInputComponent = class NumberInputComponent extends AbstractValueInputComponent {
901
690
  constructor() {
902
691
  super();
903
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
904
- // valueModel: Form.ValueModelBase<number> | IMutableValueModel<number>;
905
692
  this.min = Number.MIN_SAFE_INTEGER;
906
693
  this.max = Number.MAX_SAFE_INTEGER;
907
694
  }
908
695
  ngOnInit() {
909
696
  }
910
697
  };
698
+ __decorate([
699
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
700
+ __metadata("design:type", Object)
701
+ ], NumberInputComponent.prototype, "valueModel", void 0);
911
702
  __decorate([
912
703
  Input(),
913
704
  __metadata("design:type", Object)
@@ -919,37 +710,32 @@ __decorate([
919
710
  NumberInputComponent = __decorate([
920
711
  Component({
921
712
  selector: 'aup-number-input',
922
- 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",
923
- 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}"]
924
715
  }),
925
716
  __metadata("design:paramtypes", [])
926
717
  ], NumberInputComponent);
927
718
 
928
719
  let PasswordInputComponent = class PasswordInputComponent extends AbstractValueInputComponent {
929
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
930
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
931
720
  constructor() {
932
721
  super();
933
722
  }
934
723
  ngOnInit() {
935
724
  }
936
725
  };
726
+ __decorate([
727
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
728
+ __metadata("design:type", Object)
729
+ ], PasswordInputComponent.prototype, "valueModel", void 0);
937
730
  PasswordInputComponent = __decorate([
938
731
  Component({
939
732
  selector: 'aup-password-input',
940
- 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",
941
- 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}"]
942
735
  }),
943
736
  __metadata("design:paramtypes", [])
944
737
  ], PasswordInputComponent);
945
738
 
946
- /**
947
- * Using templates:
948
- * <aup-select-input [valueModel]="myModel" [options]="myOptions">
949
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
950
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
951
- * </aup-select_input>
952
- */
953
739
  let SelectInputComponent = class SelectInputComponent extends AbstractValueInputComponent {
954
740
  constructor() {
955
741
  super();
@@ -958,6 +744,10 @@ let SelectInputComponent = class SelectInputComponent extends AbstractValueInput
958
744
  ngOnInit() {
959
745
  }
960
746
  };
747
+ __decorate([
748
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
749
+ __metadata("design:type", Object)
750
+ ], SelectInputComponent.prototype, "valueModel", void 0);
961
751
  __decorate([
962
752
  Input(), TrackExternal(),
963
753
  __metadata("design:type", ListModel)
@@ -989,7 +779,7 @@ __decorate([
989
779
  SelectInputComponent = __decorate([
990
780
  Component({
991
781
  selector: 'aup-select-input',
992
- 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",
993
783
  styles: [":host{display:inline-block}mat-form-field{width:100%}"]
994
784
  }),
995
785
  __metadata("design:paramtypes", [])
@@ -1000,13 +790,17 @@ let StringInputComponent = class StringInputComponent extends AbstractValueInput
1000
790
  super();
1001
791
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1002
792
  this.clearCommand = Command.create(() => {
1003
- this.componentValueModel.value = null;
793
+ this.valueModel.value = null;
1004
794
  });
1005
- this.clearCommand.disableWhile(chain.stringValue(this.componentValueModel).isBlank());
795
+ this.clearCommand.disableWhile(chain.stringValue(this.valueModel).isBlank());
1006
796
  }
1007
797
  ngOnInit() {
1008
798
  }
1009
799
  };
800
+ __decorate([
801
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
802
+ __metadata("design:type", Object)
803
+ ], StringInputComponent.prototype, "valueModel", void 0);
1010
804
  __decorate([
1011
805
  Input(), TrackExternal({ defaultValue: false }),
1012
806
  __metadata("design:type", ValueModel)
@@ -1018,8 +812,8 @@ __decorate([
1018
812
  StringInputComponent = __decorate([
1019
813
  Component({
1020
814
  selector: 'aup-string-input',
1021
- 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",
1022
- 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}"]
1023
817
  }),
1024
818
  __metadata("design:paramtypes", [])
1025
819
  ], StringInputComponent);
@@ -1027,14 +821,16 @@ StringInputComponent = __decorate([
1027
821
  let TextInputComponent = class TextInputComponent extends AbstractValueInputComponent {
1028
822
  constructor() {
1029
823
  super();
1030
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1031
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1032
824
  this.rows = 2;
1033
825
  // const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1034
826
  }
1035
827
  ngOnInit() {
1036
828
  }
1037
829
  };
830
+ __decorate([
831
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
832
+ __metadata("design:type", Object)
833
+ ], TextInputComponent.prototype, "valueModel", void 0);
1038
834
  __decorate([
1039
835
  Input(),
1040
836
  __metadata("design:type", Object)
@@ -1046,47 +842,12 @@ __decorate([
1046
842
  TextInputComponent = __decorate([
1047
843
  Component({
1048
844
  selector: 'aup-text-input',
1049
- 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",
1050
- 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}"]
1051
847
  }),
1052
848
  __metadata("design:paramtypes", [])
1053
849
  ], TextInputComponent);
1054
850
 
1055
- let IconComponent = class IconComponent {
1056
- set icon(iconName) {
1057
- this._icon = iconName;
1058
- if (!iconName) {
1059
- this.errorMessage = 'icon is nil';
1060
- this.prefix = undefined;
1061
- return;
1062
- }
1063
- const colonIndex = iconName.indexOf(':');
1064
- if (colonIndex > 0) {
1065
- this.prefix = this.icon.slice(0, colonIndex);
1066
- this.suffix = this.icon.slice(colonIndex + 1);
1067
- }
1068
- if (this.prefix) {
1069
- this.errorMessage = `Unknown icon "${iconName}"`;
1070
- }
1071
- this.errorMessage = `Unknown icon prefix "${this.prefix}"`;
1072
- }
1073
- get icon() {
1074
- return this._icon;
1075
- }
1076
- };
1077
- __decorate([
1078
- Input(),
1079
- __metadata("design:type", String),
1080
- __metadata("design:paramtypes", [String])
1081
- ], IconComponent.prototype, "icon", null);
1082
- IconComponent = __decorate([
1083
- Component({
1084
- selector: 'aup-icon',
1085
- 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",
1086
- 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}"]
1087
- })
1088
- ], IconComponent);
1089
-
1090
851
  let NoopComponent = class NoopComponent {
1091
852
  constructor() {
1092
853
  }
@@ -1271,7 +1032,6 @@ class CellHeaderPortalRef extends CellPortalRef {
1271
1032
  assert$1.isTruthy(host);
1272
1033
  host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
1273
1034
  }
1274
- // @Trace()
1275
1035
  onPortalAttached(host, portalComponent) {
1276
1036
  this.initialiseHeader(portalComponent, host.column);
1277
1037
  }
@@ -1287,15 +1047,13 @@ class ComponentCellRendererPortalRef extends CellRendererPortalRef {
1287
1047
  initialiseHost(host, columnModel) {
1288
1048
  host[CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
1289
1049
  }
1290
- // @Trace()
1291
1050
  onPortalAttached(host, portalComponent) {
1292
1051
  host[PORTAL_RENDERER_COMPONENT] = portalComponent;
1293
- this.updateComponent(portalComponent, host.getRowData(), true);
1052
+ this.updateComponent(portalComponent, host.getRowData());
1294
1053
  }
1295
- // @Trace()
1296
1054
  pushState(host) {
1297
1055
  if (host[PORTAL_RENDERER_COMPONENT]) {
1298
- this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);
1056
+ this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData());
1299
1057
  }
1300
1058
  }
1301
1059
  }
@@ -1332,7 +1090,6 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
1332
1090
  onPortalAttached(host, portalComponent) {
1333
1091
  // don't care
1334
1092
  }
1335
- // @Trace()
1336
1093
  pushState(host) {
1337
1094
  host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());
1338
1095
  host.fillCell = this.fillCell;
@@ -1589,34 +1346,21 @@ __decorate([
1589
1346
  __metadata("design:returntype", Object)
1590
1347
  ], ColumnModel.prototype, "getColumnTextProperties", null);
1591
1348
  class PropertyColumnModel extends ColumnModel {
1592
- constructor(id, property, defaults) {
1593
- super(id, defaults);
1349
+ constructor(property, defaults) {
1350
+ super(property.toString(), defaults);
1594
1351
  this.property = property;
1595
1352
  this._format = (value) => value;
1596
1353
  this.cellRenderer(DefaultCellRendererComponent);
1597
1354
  }
1598
- cellRenderer(componentType, onComponentInitOrOptions) {
1599
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
1600
- if (firstTime) {
1601
- if (___default.isFunction(onComponentInitOrOptions)) {
1602
- onComponentInitOrOptions(component);
1603
- }
1604
- else {
1605
- if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
1606
- onComponentInitOrOptions.onComponentInit(component);
1607
- }
1608
- }
1609
- }
1355
+ cellRenderer(componentType) {
1356
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
1610
1357
  component.value = this._format(rowData.row[this.property]);
1611
- if (!___default.isFunction(onComponentInitOrOptions) && ___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
1612
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
1613
- }
1614
1358
  }));
1615
1359
  return this;
1616
1360
  }
1617
- cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
1361
+ cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
1618
1362
  const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
1619
- const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
1363
+ const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
1620
1364
  this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
1621
1365
  const formValueModel = editSession.form.pluck(this.property);
1622
1366
  if (validators) {
@@ -1639,8 +1383,8 @@ class PropertyColumnModel extends ColumnModel {
1639
1383
  }
1640
1384
  }
1641
1385
  class ListPropertyColumnModel extends ColumnModel {
1642
- constructor(id, property, defaults) {
1643
- super(id, defaults);
1386
+ constructor(property, defaults) {
1387
+ super(property.toString(), defaults);
1644
1388
  this.property = property;
1645
1389
  this._format = (value) => value.map(v => v === null || v === void 0 ? void 0 : v.toString()).join(', ');
1646
1390
  this.cellRenderer(DefaultCellRendererComponent);
@@ -1681,22 +1425,9 @@ class CustomValueColumnModel extends ColumnModel {
1681
1425
  this.getValue = getValue;
1682
1426
  this.cellRenderer(DefaultCellRendererComponent);
1683
1427
  }
1684
- cellRenderer(componentType, onComponentInitOrOptions) {
1685
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
1686
- if (firstTime) {
1687
- if (___default.isFunction(onComponentInitOrOptions)) {
1688
- onComponentInitOrOptions(component);
1689
- }
1690
- else {
1691
- if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
1692
- onComponentInitOrOptions.onComponentInit(component);
1693
- }
1694
- }
1695
- }
1428
+ cellRenderer(componentType) {
1429
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
1696
1430
  component.value = this.getValue(rowData.row);
1697
- if (!___default.isFunction(onComponentInitOrOptions) && ___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
1698
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
1699
- }
1700
1431
  }));
1701
1432
  return this;
1702
1433
  }
@@ -1869,7 +1600,7 @@ let TableModel = TableModel_1 = class TableModel {
1869
1600
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
1870
1601
  this.firstEditableColumn = chain(this.columns).select(c => c.hasEditorPortal()).first();
1871
1602
  this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(column => column.isRowSelectionExplicitlyEnabled()).isGreaterThanOrEqualTo(0);
1872
- this.addRowClass('enable-hover', () => this.isRowSelectionEnabled());
1603
+ this.addRowClass("enable-hover", () => this.isRowSelectionEnabled());
1873
1604
  }
1874
1605
  static fromList(sourceOfTruth, builder) {
1875
1606
  const model = new TableModel_1(sourceOfTruth);
@@ -1887,11 +1618,11 @@ let TableModel = TableModel_1 = class TableModel {
1887
1618
  get columns() {
1888
1619
  return this._columns.readonly;
1889
1620
  }
1890
- pluck(property, options) {
1891
- 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));
1892
1623
  }
1893
- pluckList(property, options) {
1894
- 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));
1895
1626
  }
1896
1627
  addSelectionColumn(selectionModel) {
1897
1628
  assert.isNil(this.selectionColumnModel);
@@ -1905,9 +1636,6 @@ let TableModel = TableModel_1 = class TableModel {
1905
1636
  addCustomColumn(columnId, dataAccessor) {
1906
1637
  return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
1907
1638
  }
1908
- addComponentColumn(columnId, component, onComponentInitOrOptions) {
1909
- return this.addColumn(new CustomValueColumnModel(columnId, this, row => row)).cellRenderer(component, onComponentInitOrOptions);
1910
- }
1911
1639
  addTemplateColumn(columnId) {
1912
1640
  return this.addColumn(new CustomTemplateColumnModel(columnId, this));
1913
1641
  }
@@ -2312,6 +2040,90 @@ VerticalFocusContainerComponent = __decorate([
2312
2040
  __metadata("design:paramtypes", [FocusManager])
2313
2041
  ], VerticalFocusContainerComponent);
2314
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
+
2315
2127
  let ComponentsModule = class ComponentsModule {
2316
2128
  constructor(faIconLibrary) {
2317
2129
  faIconLibrary.addIconPacks(fas);
@@ -2331,8 +2143,6 @@ ComponentsModule = __decorate([
2331
2143
  TextInputComponent,
2332
2144
  PasswordInputComponent,
2333
2145
  SelectInputComponent,
2334
- MultipleSelectInputComponent,
2335
- AutocompleteInputComponent,
2336
2146
  CheckboxInputComponent,
2337
2147
  ScrollContainerComponent,
2338
2148
  NoopComponent,
@@ -2352,6 +2162,7 @@ ComponentsModule = __decorate([
2352
2162
  SelectHeaderCellRendererComponent,
2353
2163
  DefaultHeaderCellRendererComponent,
2354
2164
  TableHeaderCellRendererComponent,
2165
+ MultipleSelectInputComponent,
2355
2166
  IconComponent,
2356
2167
  SectionHeaderComponent
2357
2168
  ],
@@ -2371,8 +2182,7 @@ ComponentsModule = __decorate([
2371
2182
  PortalModule,
2372
2183
  CdkScrollableModule,
2373
2184
  FontAwesomeModule,
2374
- MatTooltipModule,
2375
- MatAutocompleteModule
2185
+ MatTooltipModule
2376
2186
  ],
2377
2187
  exports: [
2378
2188
  NumberInputComponent,
@@ -2381,8 +2191,6 @@ ComponentsModule = __decorate([
2381
2191
  PasswordInputComponent,
2382
2192
  CheckboxInputComponent,
2383
2193
  SelectInputComponent,
2384
- MultipleSelectInputComponent,
2385
- AutocompleteInputComponent,
2386
2194
  ScrollContainerComponent,
2387
2195
  NoopComponent,
2388
2196
  SwitchCaseComponent,
@@ -2395,23 +2203,12 @@ ComponentsModule = __decorate([
2395
2203
  TableComponent,
2396
2204
  EditRowControls,
2397
2205
  ColumnTemplateDirective,
2206
+ MultipleSelectInputComponent,
2398
2207
  IconComponent,
2399
2208
  SectionHeaderComponent
2400
2209
  ],
2401
2210
  providers: [
2402
- FocusBindingFactory
2403
- // {
2404
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
2405
- // type: 'string',
2406
- // editorClass: StringInputComponent
2407
- // }, multi: true
2408
- // },
2409
- // {
2410
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
2411
- // type: 'number',
2412
- // editorClass: NumberInputComponent
2413
- // }, multi: true
2414
- // }
2211
+ FocusBindingFactory,
2415
2212
  ]
2416
2213
  }),
2417
2214
  __metadata("design:paramtypes", [FaIconLibrary])
@@ -2784,7 +2581,6 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
2784
2581
  registerDisposable(disposable) {
2785
2582
  return this.garbage.registerDisposable(disposable);
2786
2583
  }
2787
- // @Trace()
2788
2584
  dispose() {
2789
2585
  // TODO: think about auto cancelling any outstanding activity on dispose.
2790
2586
  // See NavigationState.Navigating for a use-case.
@@ -2924,6 +2720,12 @@ __decorate([
2924
2720
  ViewChildren(ActivityOutletComponent),
2925
2721
  __metadata("design:type", QueryList)
2926
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);
2927
2729
  ActivityContainerComponent = __decorate([
2928
2730
  Component({
2929
2731
  selector: 'aup-activity-container',
@@ -3910,7 +3712,7 @@ let PlaceComponent = PlaceComponent_1 = class PlaceComponent extends DisposableC
3910
3712
  assert.isNil(this.visitModel.value);
3911
3713
  const { when } = Dsl.disposeWith(this);
3912
3714
  this.visitModel.value = visit;
3913
- DebugContext.getOrCreate(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
3715
+ DebugContext.get(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
3914
3716
  this.placeDefinition.getVisitParameterDefs().forEach(parameterDef => this.installBinding(parameterDef));
3915
3717
  when.valueOf(this.visitModel).changes((current, previous) => {
3916
3718
  notifyVisitChanged(current, previous);
@@ -4950,6 +4752,70 @@ UrlService = __decorate([
4950
4752
  __metadata("design:paramtypes", [Router, Location, UrlSerializer])
4951
4753
  ], UrlService);
4952
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
+
4953
4819
  let PlaceRouter = class PlaceRouter extends GarbageCollector {
4954
4820
  constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
4955
4821
  super();
@@ -5111,7 +4977,6 @@ let PlaceRouter = class PlaceRouter extends GarbageCollector {
5111
4977
  get activeVisits() {
5112
4978
  return this._activeVisits.readonly;
5113
4979
  }
5114
- // @Trace()
5115
4980
  pushVisitChangesToRoute(previous, next) {
5116
4981
  return __awaiter(this, void 0, void 0, function* () {
5117
4982
  this.placeHistory.updateVisit(next);
@@ -5208,6 +5073,12 @@ PlaceRouter.ctorParameters = () => [
5208
5073
  { type: PlaceHistory }
5209
5074
  ];
5210
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);
5211
5082
  PlaceRouter = __decorate([
5212
5083
  Injectable({
5213
5084
  providedIn: 'root'
@@ -5219,70 +5090,6 @@ PlaceRouter = __decorate([
5219
5090
  PlaceHistory])
5220
5091
  ], PlaceRouter);
5221
5092
 
5222
- class Visit {
5223
- constructor(placeDefinition, visitParameters = {}) {
5224
- this.placeDefinition = placeDefinition;
5225
- this.visitParameters = visitParameters;
5226
- }
5227
- // @Trace()
5228
- getRouteId() {
5229
- return this.placeDefinition.getRouteIdFrom(this);
5230
- }
5231
- // @Trace()
5232
- hasRouteId() {
5233
- return !isNil(this.getRouteId());
5234
- }
5235
- /**
5236
- * Returns the value of the place parameter with the specified name. The parameter
5237
- * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
5238
- * same as the the ValueModel property name.
5239
- * @param parameterName the field name of the property model or the `as` option if specified.
5240
- */
5241
- getParameter(parameterName) {
5242
- return this.visitParameters[parameterName];
5243
- }
5244
- // @Trace()
5245
- hasParameter(parameterName) {
5246
- return Object.keys(this.visitParameters).includes(parameterName);
5247
- }
5248
- replace(parameter, value) {
5249
- return new Visit(this.placeDefinition, Object.assign(Object.assign({}, this.visitParameters), { [parameter.name]: value }));
5250
- }
5251
- mergeRouteParameters(routeParams) {
5252
- // todo: whitelist parameters.
5253
- const routeParameterKeys = Object.keys(routeParams);
5254
- const params = {};
5255
- this.placeDefinition.getVisitParameterDefs().forEach(def => {
5256
- if (def.isRouteId || def.isRouteParameter) {
5257
- if (routeParameterKeys.includes(def.name)) {
5258
- params[def.name] = routeParams[def.name];
5259
- }
5260
- }
5261
- else {
5262
- // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
5263
- // defaults and remember sanitisation process.
5264
- const value = this.getParameter(def.name);
5265
- if (this.hasParameter(def.name)) {
5266
- params[def.name] = value;
5267
- }
5268
- }
5269
- });
5270
- return new Visit(this.placeDefinition, params);
5271
- }
5272
- hasRoutingChangedFrom(other) {
5273
- const samePlace = other.placeDefinition === this.placeDefinition;
5274
- const sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
5275
- return !samePlace || !sameRouteParameters;
5276
- }
5277
- hasChangedFrom(other) {
5278
- const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
5279
- return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
5280
- }
5281
- toDebugString() {
5282
- return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(",");
5283
- }
5284
- }
5285
-
5286
5093
  const AUP_PLACE_CONFIG = new InjectionToken('AUP_PLACE_CONFIG');
5287
5094
 
5288
5095
  // Freezes the state of the components at the start of the animation.
@@ -6168,7 +5975,8 @@ function installMechanics(prototype, propertyKey, backingModel, tagPrefix, isEmp
6168
5975
  binding: null
6169
5976
  };
6170
5977
  const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
6171
- DebugContext.getOrCreate(mechanics.backingModel).tag(tag);
5978
+ DebugContext.get(mechanics.backingModel).tag(tag);
5979
+ Logger.get(mechanics.backingModel).tag(tag);
6172
5980
  Object.defineProperty(prototype, propertyKey, {
6173
5981
  get: function () {
6174
5982
  return mechanics.backingModel;
@@ -6230,5 +6038,5 @@ function VisitParameterList(options) {
6230
6038
  * Generated bundle index. Do not edit.
6231
6039
  */
6232
6040
 
6233
- 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 };
6234
6042
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map