@coolon/angular-ui-powerups 2.0.0-alpha.18 → 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/CHANGELOG.md +0 -112
  2. package/assets/form.scss +0 -33
  3. package/bundles/coolon-angular-ui-powerups.umd.js +323 -525
  4. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  6. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  7. package/coolon-angular-ui-powerups.d.ts +54 -55
  8. package/coolon-angular-ui-powerups.metadata.json +1 -1
  9. package/esm2015/coolon-angular-ui-powerups.js +52 -53
  10. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  11. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  12. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  13. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  14. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  15. package/esm2015/lib/components/components.module.js +12 -29
  16. package/esm2015/lib/components/components.module.js.map +1 -1
  17. package/esm2015/lib/components/components.module.metadata.json +1 -1
  18. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  19. package/esm2015/lib/components/forms/abstract-input.component.js +6 -26
  20. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  21. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  22. package/esm2015/lib/components/forms/abstract-list-input.component.js +6 -45
  23. package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
  24. package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
  25. package/esm2015/lib/components/forms/abstract-value-input.component.js +7 -40
  26. package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
  27. package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
  28. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +7 -4
  29. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  30. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  31. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  32. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  33. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  34. package/esm2015/lib/components/forms/number-input/number-input.component.js +7 -4
  35. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  36. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  37. package/esm2015/lib/components/forms/password-input/password-input.component.js +8 -5
  38. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  39. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  40. package/esm2015/lib/components/forms/select-input/select-input.component.js +5 -8
  41. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  42. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  43. package/esm2015/lib/components/forms/string-input/string-input.component.js +8 -4
  44. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  45. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  46. package/esm2015/lib/components/forms/text-input/text-input.component.js +7 -4
  47. package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
  48. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  49. package/esm2015/lib/components/index.js +1 -2
  50. package/esm2015/lib/components/index.js.map +1 -1
  51. package/esm2015/lib/components/index.metadata.json +1 -1
  52. package/esm2015/lib/components/table/cell-editors.js.map +1 -1
  53. package/esm2015/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  54. package/esm2015/lib/components/table/cell-protal-ref.js.map +1 -0
  55. package/esm2015/lib/components/table/{cell-portal-ref.metadata.json → cell-protal-ref.metadata.json} +1 -1
  56. package/esm2015/lib/components/table/column-model.js +11 -37
  57. package/esm2015/lib/components/table/column-model.js.map +1 -1
  58. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  59. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  60. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  61. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  62. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  63. package/esm2015/lib/components/table/table-model.js +5 -8
  64. package/esm2015/lib/components/table/table-model.js.map +1 -1
  65. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  66. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +7 -2
  67. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  68. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  69. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  70. package/esm2015/lib/place/place-component.js +1 -1
  71. package/esm2015/lib/place/place-component.js.map +1 -1
  72. package/esm2015/lib/place/place-router.js +8 -2
  73. package/esm2015/lib/place/place-router.js.map +1 -1
  74. package/esm2015/lib/place/place-router.metadata.json +1 -1
  75. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  76. package/esm2015/lib/place/route/parameter-decorators.js +3 -2
  77. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  78. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  79. package/esm5/coolon-angular-ui-powerups.js +52 -53
  80. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  81. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  82. package/esm5/lib/components/card-container/card-container.component.js +1 -1
  83. package/esm5/lib/components/components.module.js +12 -29
  84. package/esm5/lib/components/components.module.js.map +1 -1
  85. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  86. package/esm5/lib/components/forms/abstract-input.component.js +6 -34
  87. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  88. package/esm5/lib/components/forms/abstract-list-input.component.js +6 -50
  89. package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
  90. package/esm5/lib/components/forms/abstract-value-input.component.js +7 -45
  91. package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
  92. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +7 -4
  93. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  94. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  95. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  96. package/esm5/lib/components/forms/number-input/number-input.component.js +7 -4
  97. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  98. package/esm5/lib/components/forms/password-input/password-input.component.js +8 -5
  99. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  100. package/esm5/lib/components/forms/select-input/select-input.component.js +5 -8
  101. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  102. package/esm5/lib/components/forms/string-input/string-input.component.js +8 -4
  103. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  104. package/esm5/lib/components/forms/text-input/text-input.component.js +7 -4
  105. package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
  106. package/esm5/lib/components/index.js +1 -2
  107. package/esm5/lib/components/index.js.map +1 -1
  108. package/esm5/lib/components/table/cell-editors.js.map +1 -1
  109. package/esm5/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  110. package/esm5/lib/components/table/cell-protal-ref.js.map +1 -0
  111. package/esm5/lib/components/table/column-model.js +11 -37
  112. package/esm5/lib/components/table/column-model.js.map +1 -1
  113. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  114. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  115. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  116. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  117. package/esm5/lib/components/table/table-model.js +5 -8
  118. package/esm5/lib/components/table/table-model.js.map +1 -1
  119. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +7 -2
  120. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  121. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  122. package/esm5/lib/place/place-component.js +1 -1
  123. package/esm5/lib/place/place-component.js.map +1 -1
  124. package/esm5/lib/place/place-router.js +8 -2
  125. package/esm5/lib/place/place-router.js.map +1 -1
  126. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  127. package/esm5/lib/place/route/parameter-decorators.js +3 -2
  128. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  129. package/fesm2015/coolon-angular-ui-powerups.js +241 -421
  130. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  131. package/fesm5/coolon-angular-ui-powerups.js +256 -457
  132. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  133. package/lib/components/forms/abstract-input.component.d.ts +3 -12
  134. package/lib/components/forms/abstract-list-input.component.d.ts +3 -9
  135. package/lib/components/forms/abstract-value-input.component.d.ts +3 -8
  136. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
  137. package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +4 -8
  138. package/lib/components/forms/number-input/number-input.component.d.ts +2 -0
  139. package/lib/components/forms/password-input/password-input.component.d.ts +2 -0
  140. package/lib/components/forms/select-input/select-input.component.d.ts +2 -8
  141. package/lib/components/forms/string-input/string-input.component.d.ts +2 -1
  142. package/lib/components/forms/text-input/text-input.component.d.ts +2 -0
  143. package/lib/components/index.d.ts +1 -2
  144. package/lib/components/table/cell-editors.d.ts +3 -3
  145. package/lib/components/table/{cell-portal-ref.d.ts → cell-protal-ref.d.ts} +4 -4
  146. package/lib/components/table/column-model.d.ts +7 -15
  147. package/lib/components/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  148. package/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.d.ts +1 -1
  149. package/lib/components/table/table-model.d.ts +3 -14
  150. package/package.json +4 -4
  151. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -70
  152. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  153. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +0 -1
  154. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  155. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  156. package/esm2015/lib/components/table/cell-portal-ref.js.map +0 -1
  157. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -73
  158. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  159. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  160. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  161. package/esm5/lib/components/table/cell-portal-ref.js.map +0 -1
  162. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +0 -25
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/icon'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('lodash'), require('@coolon/typescript-utilities'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('immer'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('resize-observer-polyfill'), require('@angular/material/progress-spinner'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('rxjs')) :
3
- typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/icon', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', 'lodash', '@coolon/typescript-utilities', '@typescript-plus/fast-memoize-decorator/dist/src', 'immer', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', 'resize-observer-polyfill', '@angular/material/progress-spinner', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'rxjs'], factory) :
4
- (global = global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.icon, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.___default, global.typescriptUtilities, global.src, global.produce, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ResizeObserver, global.ng.material.progressSpinner, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.rxjs));
5
- }(this, (function (exports, common, core, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, icon, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, ___default, typescriptUtilities, src, produce, flexLayout, dialog, router, overlay, ResizeObserver, progressSpinner, list, fastMemoizeDecorator, reflectMetadata, animations$1, rxjs) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/icon'), require('@angular/material/table'), require('@coolon/pectin'), require('@coolon/typescript-utilities'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('lodash'), require('immer'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@angular/material/tooltip'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('resize-observer-polyfill'), require('@angular/material/progress-spinner'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('rxjs')) :
3
+ typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/button', '@angular/material/checkbox', '@angular/material/icon', '@angular/material/table', '@coolon/pectin', '@coolon/typescript-utilities', '@typescript-plus/fast-memoize-decorator/dist/src', 'lodash', 'immer', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@angular/material/tooltip', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', 'resize-observer-polyfill', '@angular/material/progress-spinner', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'rxjs'], factory) :
4
+ (global = global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.button, global.ng.material.checkbox, global.ng.material.icon, global.ng.material.table, global.pectin, global.typescriptUtilities, global.src, global.___default, global.produce, global.angularFontawesome, global.freeSolidSvgIcons, global.ng.material.tooltip, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ResizeObserver, global.ng.material.progressSpinner, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.rxjs));
5
+ }(this, (function (exports, common, core, forms, formField, input, select, tabs, animations, portal, scrolling, button, checkbox, icon, table, pectin, typescriptUtilities, src, ___default, produce, angularFontawesome, freeSolidSvgIcons, tooltip, flexLayout, dialog, router, overlay, ResizeObserver, progressSpinner, list, fastMemoizeDecorator, reflectMetadata, animations$1, rxjs) { 'use strict';
6
6
 
7
7
  var ___default__default = 'default' in ___default ? ___default['default'] : ___default;
8
8
  produce = produce && Object.prototype.hasOwnProperty.call(produce, 'default') ? produce['default'] : produce;
@@ -578,7 +578,7 @@
578
578
  core.Component({
579
579
  selector: 'aup-card-container',
580
580
  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",
581
- 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}"]
581
+ 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}"]
582
582
  }),
583
583
  __metadata("design:paramtypes", [])
584
584
  ], CardContainerComponent);
@@ -693,8 +693,6 @@
693
693
  __extends(AbstractInputComponent, _super);
694
694
  function AbstractInputComponent() {
695
695
  var _this = _super.call(this) || this;
696
- _this.onValueEditedListeners = new pectin.EventListenerList();
697
- _this.dense = false;
698
696
  // TODO: fix this.
699
697
  // tslint:disable-next-line:no-output-native
700
698
  _this.focus = new core.EventEmitter();
@@ -744,7 +742,7 @@
744
742
  };
745
743
  Object.defineProperty(AbstractInputComponent.prototype, "enabled", {
746
744
  get: function () {
747
- return this.formValueModel.enabled;
745
+ return this.inputModel.enabled;
748
746
  },
749
747
  enumerable: true,
750
748
  configurable: true
@@ -754,7 +752,7 @@
754
752
  };
755
753
  Object.defineProperty(AbstractInputComponent.prototype, "errorList", {
756
754
  get: function () {
757
- return this.formValueModel.errorList;
755
+ return this.inputModel.errorList;
758
756
  },
759
757
  enumerable: true,
760
758
  configurable: true
@@ -768,40 +766,19 @@
768
766
  });
769
767
  Object.defineProperty(AbstractInputComponent.prototype, "focusContext", {
770
768
  get: function () {
771
- return this.formValueModel.focusContext;
769
+ return this.inputModel.focusContext;
772
770
  },
773
771
  enumerable: true,
774
772
  configurable: true
775
773
  });
776
- Object.defineProperty(AbstractInputComponent.prototype, "floatLabel", {
777
- get: function () {
778
- return this.dense ? 'never' : this.userFloatLabel;
779
- },
780
- enumerable: true,
781
- configurable: true
782
- });
783
- Object.defineProperty(AbstractInputComponent.prototype, "showHint", {
784
- get: function () {
785
- return this.dense ? false : !!this.hint;
786
- },
787
- enumerable: true,
788
- configurable: true
789
- });
790
- /**
791
- * Invokes the callback when this components value is changed by a user edit.
792
- * @param callback
793
- */
794
- AbstractInputComponent.prototype.onValueEdited = function (callback) {
795
- return this.onValueEditedListeners.add(callback);
796
- };
797
774
  __decorate([
798
775
  core.Input(),
799
776
  __metadata("design:type", String)
800
777
  ], AbstractInputComponent.prototype, "label", void 0);
801
778
  __decorate([
802
- core.Input('floatLabel'),
779
+ core.Input(),
803
780
  __metadata("design:type", String)
804
- ], AbstractInputComponent.prototype, "userFloatLabel", void 0);
781
+ ], AbstractInputComponent.prototype, "floatLabel", void 0);
805
782
  __decorate([
806
783
  core.Input(),
807
784
  __metadata("design:type", String)
@@ -810,11 +787,6 @@
810
787
  core.Input(),
811
788
  __metadata("design:type", String)
812
789
  ], AbstractInputComponent.prototype, "placeholder", void 0);
813
- __decorate([
814
- core.HostBinding('class.dense'),
815
- core.Input(),
816
- __metadata("design:type", Object)
817
- ], AbstractInputComponent.prototype, "dense", void 0);
818
790
  __decorate([
819
791
  core.Input('command.focus'),
820
792
  __metadata("design:type", pectin.Command)
@@ -883,7 +855,7 @@
883
855
  var AbstractListInputComponent = /** @class */ (function (_super) {
884
856
  __extends(AbstractListInputComponent, _super);
885
857
  function AbstractListInputComponent() {
886
- var _this = _super.call(this) || this;
858
+ var _this = _super !== null && _super.apply(this, arguments) || this;
887
859
  /**
888
860
  * A backing model for all our @Input() valueModel properties which should be defined as follows.
889
861
  *
@@ -895,55 +867,11 @@
895
867
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
896
868
  */
897
869
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
898
- _this.formValueModel = _this.registerDisposable(new pectin.Form.DelegatingListModel());
899
- _this.componentListModel = new pectin.MutableListModel();
900
- _this.setValueIsInProgress = new pectin.Guard();
901
- _this.valueChange = new core.EventEmitter();
902
- var _a = pectin.Dsl.disposeWith(_this), when = _a.when, valueOf = _a.valueOf, chain = _a.chain;
903
- var binding = new pectin.Binding.Identity(_this.formValueModel, _this.componentListModel);
904
- var inExternalChange = valueOf.any(_this.setValueIsInProgress, chain(binding.direction).equals(pectin.Binding.Direction.RIGHT)).areTruthy();
905
- when(_this.componentListModel).changes(function (is, was) {
906
- _this.valueChange.emit(is);
907
- _this.onValueEditedListeners.fire(function (l) { return l(is, was); });
908
- }, {
909
- initialValue: 'ignore',
910
- // we never fire events during an external changes to the value. This allows
911
- // the component to behave when used in the conventional angular
912
- // fashion, i.e. [(value)]="..."
913
- unless: inExternalChange
914
- });
915
- pectin.DebugContext.tag(_this.formValueModel, _this.constructor.name + ".formValueModel");
870
+ _this.inputModel = _this.registerDisposable(new pectin.Form.DelegatingListModel());
916
871
  return _this;
917
872
  }
918
- Object.defineProperty(AbstractListInputComponent.prototype, "value", {
919
- // We add support for simple direct display of values by allowing components to be used
920
- // by `component.value = ...` This use of the component without a value model in tables
921
- // and the like.
922
- set: function (value) {
923
- var _this = this;
924
- this.setValueIsInProgress.whileTrue(function () {
925
- _this.componentListModel.value = value;
926
- });
927
- },
928
- enumerable: true,
929
- configurable: true
930
- });
931
- __decorate([
932
- core.Input(), pectin.TrackExternal({ delegateTo: 'formValueModel' }),
933
- __metadata("design:type", Object)
934
- ], AbstractListInputComponent.prototype, "listModel", void 0);
935
- __decorate([
936
- core.Input(),
937
- __metadata("design:type", Array),
938
- __metadata("design:paramtypes", [Array])
939
- ], AbstractListInputComponent.prototype, "value", null);
940
- __decorate([
941
- core.Output(),
942
- __metadata("design:type", Object)
943
- ], AbstractListInputComponent.prototype, "valueChange", void 0);
944
873
  AbstractListInputComponent = __decorate([
945
- core.Component({ template: '' }),
946
- __metadata("design:paramtypes", [])
874
+ core.Component({ template: '' })
947
875
  ], AbstractListInputComponent);
948
876
  return AbstractListInputComponent;
949
877
  }(AbstractInputComponent));
@@ -963,52 +891,14 @@
963
891
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
964
892
  */
965
893
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
966
- _this.formValueModel = _this.registerDisposable(new pectin.Form.DelegatingValueModel());
967
- _this.setValueInProgress = new pectin.Guard();
968
- _this.componentValueModel = new pectin.MutableValueModel();
969
- _this.valueChange = new core.EventEmitter();
970
- var _a = pectin.Dsl.disposeWith(_this), when = _a.when, chain = _a.chain, valueOf = _a.valueOf;
971
- var binding = new pectin.Binding.Identity(_this.formValueModel, _this.componentValueModel);
972
- var inExternalChange = valueOf.any(_this.setValueInProgress, chain(binding.direction).equals(pectin.Binding.Direction.RIGHT)).areTruthy();
973
- when(_this.componentValueModel).changes(function (is, was) {
974
- _this.valueChange.emit(is);
975
- _this.onValueEditedListeners.fire(function (l) { return l(is, was); });
976
- }, {
977
- initialValue: 'ignore',
978
- // we never fire events during an external set value operation. This allows
979
- // the component to behave when used in the conventional angular
980
- // fashion, i.e. [(value)]="..."
981
- unless: inExternalChange
894
+ _this.inputModel = _this.registerDisposable(new pectin.Form.DelegatingValueModel());
895
+ _this.inputModel.onTransactionStart(function (tx) {
896
+ tx.onRootTransactionFinalised(function () {
897
+ console.log({ changed: tx.hasChanged() });
898
+ });
982
899
  });
983
- pectin.DebugContext.tag(_this.formValueModel, _this.constructor.name + ".formValueModel");
984
900
  return _this;
985
901
  }
986
- Object.defineProperty(AbstractValueInputComponent.prototype, "value", {
987
- // We add support for simple direct display of values by allowing components to be used
988
- // by `component.value = ...` This use of the component without a value model in tables
989
- // and the like.
990
- set: function (value) {
991
- var _this = this;
992
- this.setValueInProgress.whileTrue(function () {
993
- _this.componentValueModel.value = value;
994
- });
995
- },
996
- enumerable: true,
997
- configurable: true
998
- });
999
- __decorate([
1000
- core.Input(), pectin.TrackExternal({ delegateTo: 'formValueModel' }),
1001
- __metadata("design:type", Object)
1002
- ], AbstractValueInputComponent.prototype, "valueModel", void 0);
1003
- __decorate([
1004
- core.Input(),
1005
- __metadata("design:type", Object),
1006
- __metadata("design:paramtypes", [Object])
1007
- ], AbstractValueInputComponent.prototype, "value", null);
1008
- __decorate([
1009
- core.Output(),
1010
- __metadata("design:type", Object)
1011
- ], AbstractValueInputComponent.prototype, "valueChange", void 0);
1012
902
  AbstractValueInputComponent = __decorate([
1013
903
  core.Component({ template: '' }),
1014
904
  __metadata("design:paramtypes", [])
@@ -1016,85 +906,20 @@
1016
906
  return AbstractValueInputComponent;
1017
907
  }(AbstractInputComponent));
1018
908
 
1019
- /**
1020
- * Using templates (not only supported for nil values:
1021
- * <aup-autocomplete-input [valueModel]="myModel" [options]="myOptions">
1022
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1023
- * </aup-autocomplete-input>
1024
- */
1025
- var AutocompleteInputComponent = /** @class */ (function (_super) {
1026
- __extends(AutocompleteInputComponent, _super);
1027
- function AutocompleteInputComponent() {
1028
- var _this = _super.call(this) || this;
1029
- _this.filterValue = new pectin.MutableValueModel();
1030
- _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
1031
- var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
1032
- var lowerCaseFilterValue = chain(_this.filterValue)
1033
- .map(function (v) { return ___default__default.isString(v) ? v.toLowerCase() : ''; });
1034
- _this.filteredOptions = chain(_this.optionsModel)
1035
- .select(function (option) {
1036
- return ___default__default.isEmpty(_this.filterValue.value) || _this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
1037
- }, { dependsOn: lowerCaseFilterValue });
1038
- return _this;
1039
- }
1040
- AutocompleteInputComponent.prototype.ngOnInit = function () {
1041
- };
1042
- AutocompleteInputComponent.prototype.formatOption = function (option) {
1043
- return this.optionLabelFormat(option);
1044
- };
1045
- AutocompleteInputComponent.prototype.updateFilter = function ($event) {
1046
- this.filterValue.value = $event;
1047
- };
1048
- AutocompleteInputComponent.prototype.onSelect = function ($event) {
1049
- this.valueModel.value = $event.option.value;
1050
- };
1051
- __decorate([
1052
- core.Input(), pectin.TrackExternal(),
1053
- __metadata("design:type", pectin.ListModel)
1054
- ], AutocompleteInputComponent.prototype, "optionsModel", void 0);
1055
- __decorate([
1056
- core.Input(), pectin.StoreInListModel('optionsModel'),
1057
- __metadata("design:type", Array)
1058
- ], AutocompleteInputComponent.prototype, "options", void 0);
1059
- __decorate([
1060
- core.Input(),
1061
- __metadata("design:type", Object)
1062
- ], AutocompleteInputComponent.prototype, "optionLabel", void 0);
1063
- __decorate([
1064
- core.Input(),
1065
- __metadata("design:type", Boolean)
1066
- ], AutocompleteInputComponent.prototype, "allowNil", void 0);
1067
- __decorate([
1068
- core.ContentChild('nilOptionTemplate'),
1069
- __metadata("design:type", core.TemplateRef)
1070
- ], AutocompleteInputComponent.prototype, "nilOptionTemplateRef", void 0);
1071
- __decorate([
1072
- core.Input(),
1073
- __metadata("design:type", Function)
1074
- ], AutocompleteInputComponent.prototype, "optionLabelFormat", void 0);
1075
- AutocompleteInputComponent = __decorate([
1076
- core.Component({
1077
- selector: 'aup-autocomplete-input',
1078
- 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",
1079
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1080
- }),
1081
- __metadata("design:paramtypes", [])
1082
- ], AutocompleteInputComponent);
1083
- return AutocompleteInputComponent;
1084
- }(AbstractValueInputComponent));
1085
-
1086
909
  var CheckboxInputComponent = /** @class */ (function (_super) {
1087
910
  __extends(CheckboxInputComponent, _super);
1088
911
  function CheckboxInputComponent() {
1089
912
  var _this = _super.call(this) || this;
1090
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1091
- // valueModel: Form.ValueModelBase<boolean> | IMutableValueModel<boolean>;
1092
913
  _this.color = 'accent';
1093
914
  _this.labelPosition = 'after';
1094
915
  return _this;
1095
916
  }
1096
917
  CheckboxInputComponent.prototype.ngOnInit = function () {
1097
918
  };
919
+ __decorate([
920
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
921
+ __metadata("design:type", Object)
922
+ ], CheckboxInputComponent.prototype, "valueModel", void 0);
1098
923
  __decorate([
1099
924
  core.Input(),
1100
925
  __metadata("design:type", String)
@@ -1106,73 +931,28 @@
1106
931
  CheckboxInputComponent = __decorate([
1107
932
  core.Component({
1108
933
  selector: 'aup-checkbox-input',
1109
- 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",
1110
- 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}"]
934
+ 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",
935
+ 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}"]
1111
936
  }),
1112
937
  __metadata("design:paramtypes", [])
1113
938
  ], CheckboxInputComponent);
1114
939
  return CheckboxInputComponent;
1115
940
  }(AbstractValueInputComponent));
1116
941
 
1117
- /**
1118
- * Using templates:
1119
- * <aup-multiple-select-input [valueModel]="myModel" [options]="myOptions">
1120
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1121
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1122
- * </aup-multiple-select_input>
1123
- */
1124
- var MultipleSelectInputComponent = /** @class */ (function (_super) {
1125
- __extends(MultipleSelectInputComponent, _super);
1126
- function MultipleSelectInputComponent() {
1127
- var _this = _super.call(this) || this;
1128
- _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
1129
- return _this;
1130
- }
1131
- MultipleSelectInputComponent.prototype.ngOnInit = function () {
1132
- };
1133
- __decorate([
1134
- core.Input(), pectin.TrackExternal(),
1135
- __metadata("design:type", pectin.ListModel)
1136
- ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
1137
- __decorate([
1138
- core.Input(), pectin.StoreInListModel('optionsModel'),
1139
- __metadata("design:type", Array)
1140
- ], MultipleSelectInputComponent.prototype, "options", void 0);
1141
- __decorate([
1142
- core.Input(),
1143
- __metadata("design:type", Object)
1144
- ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
1145
- __decorate([
1146
- core.ContentChild('optionTemplate'),
1147
- __metadata("design:type", core.TemplateRef)
1148
- ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
1149
- __decorate([
1150
- core.Input(),
1151
- __metadata("design:type", Function)
1152
- ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
1153
- MultipleSelectInputComponent = __decorate([
1154
- core.Component({
1155
- selector: 'aup-multiple-select-input',
1156
- 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",
1157
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1158
- }),
1159
- __metadata("design:paramtypes", [])
1160
- ], MultipleSelectInputComponent);
1161
- return MultipleSelectInputComponent;
1162
- }(AbstractListInputComponent));
1163
-
1164
942
  var NumberInputComponent = /** @class */ (function (_super) {
1165
943
  __extends(NumberInputComponent, _super);
1166
944
  function NumberInputComponent() {
1167
945
  var _this = _super.call(this) || this;
1168
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1169
- // valueModel: Form.ValueModelBase<number> | IMutableValueModel<number>;
1170
946
  _this.min = Number.MIN_SAFE_INTEGER;
1171
947
  _this.max = Number.MAX_SAFE_INTEGER;
1172
948
  return _this;
1173
949
  }
1174
950
  NumberInputComponent.prototype.ngOnInit = function () {
1175
951
  };
952
+ __decorate([
953
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
954
+ __metadata("design:type", Object)
955
+ ], NumberInputComponent.prototype, "valueModel", void 0);
1176
956
  __decorate([
1177
957
  core.Input(),
1178
958
  __metadata("design:type", Object)
@@ -1184,8 +964,8 @@
1184
964
  NumberInputComponent = __decorate([
1185
965
  core.Component({
1186
966
  selector: 'aup-number-input',
1187
- 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",
1188
- styles: [""]
967
+ 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",
968
+ 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}"]
1189
969
  }),
1190
970
  __metadata("design:paramtypes", [])
1191
971
  ], NumberInputComponent);
@@ -1194,31 +974,26 @@
1194
974
 
1195
975
  var PasswordInputComponent = /** @class */ (function (_super) {
1196
976
  __extends(PasswordInputComponent, _super);
1197
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1198
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1199
977
  function PasswordInputComponent() {
1200
978
  return _super.call(this) || this;
1201
979
  }
1202
980
  PasswordInputComponent.prototype.ngOnInit = function () {
1203
981
  };
982
+ __decorate([
983
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
984
+ __metadata("design:type", Object)
985
+ ], PasswordInputComponent.prototype, "valueModel", void 0);
1204
986
  PasswordInputComponent = __decorate([
1205
987
  core.Component({
1206
988
  selector: 'aup-password-input',
1207
- 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",
1208
- styles: [""]
989
+ 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",
990
+ 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}"]
1209
991
  }),
1210
992
  __metadata("design:paramtypes", [])
1211
993
  ], PasswordInputComponent);
1212
994
  return PasswordInputComponent;
1213
995
  }(AbstractValueInputComponent));
1214
996
 
1215
- /**
1216
- * Using templates:
1217
- * <aup-select-input [valueModel]="myModel" [options]="myOptions">
1218
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1219
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1220
- * </aup-select_input>
1221
- */
1222
997
  var SelectInputComponent = /** @class */ (function (_super) {
1223
998
  __extends(SelectInputComponent, _super);
1224
999
  function SelectInputComponent() {
@@ -1228,6 +1003,10 @@
1228
1003
  }
1229
1004
  SelectInputComponent.prototype.ngOnInit = function () {
1230
1005
  };
1006
+ __decorate([
1007
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1008
+ __metadata("design:type", Object)
1009
+ ], SelectInputComponent.prototype, "valueModel", void 0);
1231
1010
  __decorate([
1232
1011
  core.Input(), pectin.TrackExternal(),
1233
1012
  __metadata("design:type", pectin.ListModel)
@@ -1259,7 +1038,7 @@
1259
1038
  SelectInputComponent = __decorate([
1260
1039
  core.Component({
1261
1040
  selector: 'aup-select-input',
1262
- 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",
1041
+ 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",
1263
1042
  styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1264
1043
  }),
1265
1044
  __metadata("design:paramtypes", [])
@@ -1273,13 +1052,17 @@
1273
1052
  var _this = _super.call(this) || this;
1274
1053
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
1275
1054
  _this.clearCommand = pectin.Command.create(function () {
1276
- _this.componentValueModel.value = null;
1055
+ _this.valueModel.value = null;
1277
1056
  });
1278
- _this.clearCommand.disableWhile(chain.stringValue(_this.componentValueModel).isBlank());
1057
+ _this.clearCommand.disableWhile(chain.stringValue(_this.valueModel).isBlank());
1279
1058
  return _this;
1280
1059
  }
1281
1060
  StringInputComponent.prototype.ngOnInit = function () {
1282
1061
  };
1062
+ __decorate([
1063
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1064
+ __metadata("design:type", Object)
1065
+ ], StringInputComponent.prototype, "valueModel", void 0);
1283
1066
  __decorate([
1284
1067
  core.Input(), pectin.TrackExternal({ defaultValue: false }),
1285
1068
  __metadata("design:type", pectin.ValueModel)
@@ -1291,8 +1074,8 @@
1291
1074
  StringInputComponent = __decorate([
1292
1075
  core.Component({
1293
1076
  selector: 'aup-string-input',
1294
- 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",
1295
- styles: ["button[disabled]{visibility:hidden}"]
1077
+ 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",
1078
+ 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}"]
1296
1079
  }),
1297
1080
  __metadata("design:paramtypes", [])
1298
1081
  ], StringInputComponent);
@@ -1303,14 +1086,16 @@
1303
1086
  __extends(TextInputComponent, _super);
1304
1087
  function TextInputComponent() {
1305
1088
  var _this = _super.call(this) || this;
1306
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1307
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1308
1089
  _this.rows = 2;
1309
1090
  return _this;
1310
1091
  // const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1311
1092
  }
1312
1093
  TextInputComponent.prototype.ngOnInit = function () {
1313
1094
  };
1095
+ __decorate([
1096
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1097
+ __metadata("design:type", Object)
1098
+ ], TextInputComponent.prototype, "valueModel", void 0);
1314
1099
  __decorate([
1315
1100
  core.Input(),
1316
1101
  __metadata("design:type", Object)
@@ -1322,56 +1107,14 @@
1322
1107
  TextInputComponent = __decorate([
1323
1108
  core.Component({
1324
1109
  selector: 'aup-text-input',
1325
- 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",
1326
- styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}"]
1110
+ 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",
1111
+ 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}"]
1327
1112
  }),
1328
1113
  __metadata("design:paramtypes", [])
1329
1114
  ], TextInputComponent);
1330
1115
  return TextInputComponent;
1331
1116
  }(AbstractValueInputComponent));
1332
1117
 
1333
- var IconComponent = /** @class */ (function () {
1334
- function IconComponent() {
1335
- }
1336
- Object.defineProperty(IconComponent.prototype, "icon", {
1337
- get: function () {
1338
- return this._icon;
1339
- },
1340
- set: function (iconName) {
1341
- this._icon = iconName;
1342
- if (!iconName) {
1343
- this.errorMessage = 'icon is nil';
1344
- this.prefix = undefined;
1345
- return;
1346
- }
1347
- var colonIndex = iconName.indexOf(':');
1348
- if (colonIndex > 0) {
1349
- this.prefix = this.icon.slice(0, colonIndex);
1350
- this.suffix = this.icon.slice(colonIndex + 1);
1351
- }
1352
- if (this.prefix) {
1353
- this.errorMessage = "Unknown icon \"" + iconName + "\"";
1354
- }
1355
- this.errorMessage = "Unknown icon prefix \"" + this.prefix + "\"";
1356
- },
1357
- enumerable: true,
1358
- configurable: true
1359
- });
1360
- __decorate([
1361
- core.Input(),
1362
- __metadata("design:type", String),
1363
- __metadata("design:paramtypes", [String])
1364
- ], IconComponent.prototype, "icon", null);
1365
- IconComponent = __decorate([
1366
- core.Component({
1367
- selector: 'aup-icon',
1368
- 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",
1369
- 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}"]
1370
- })
1371
- ], IconComponent);
1372
- return IconComponent;
1373
- }());
1374
-
1375
1118
  var NoopComponent = /** @class */ (function () {
1376
1119
  function NoopComponent() {
1377
1120
  }
@@ -1582,7 +1325,6 @@
1582
1325
  typescriptUtilities.assert.isTruthy(host);
1583
1326
  host[HEADER_CELL_RENDERER_PORTAL] = new portal.ComponentPortal(this.componentType);
1584
1327
  };
1585
- // @Trace()
1586
1328
  CellHeaderPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
1587
1329
  this.initialiseHeader(portalComponent, host.column);
1588
1330
  };
@@ -1606,15 +1348,13 @@
1606
1348
  ComponentCellRendererPortalRef.prototype.initialiseHost = function (host, columnModel) {
1607
1349
  host[CELL_RENDERER_PORTAL] = new portal.ComponentPortal(this.componentType);
1608
1350
  };
1609
- // @Trace()
1610
1351
  ComponentCellRendererPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
1611
1352
  host[PORTAL_RENDERER_COMPONENT] = portalComponent;
1612
- this.updateComponent(portalComponent, host.getRowData(), true);
1353
+ this.updateComponent(portalComponent, host.getRowData());
1613
1354
  };
1614
- // @Trace()
1615
1355
  ComponentCellRendererPortalRef.prototype.pushState = function (host) {
1616
1356
  if (host[PORTAL_RENDERER_COMPONENT]) {
1617
- this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);
1357
+ this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData());
1618
1358
  }
1619
1359
  };
1620
1360
  return ComponentCellRendererPortalRef;
@@ -1656,7 +1396,6 @@
1656
1396
  TemplateCellRendererPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
1657
1397
  // don't care
1658
1398
  };
1659
- // @Trace()
1660
1399
  TemplateCellRendererPortalRef.prototype.pushState = function (host) {
1661
1400
  host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());
1662
1401
  host.fillCell = this.fillCell;
@@ -1938,37 +1677,24 @@
1938
1677
  }());
1939
1678
  var PropertyColumnModel = /** @class */ (function (_super) {
1940
1679
  __extends(PropertyColumnModel, _super);
1941
- function PropertyColumnModel(id, property, defaults) {
1942
- var _this = _super.call(this, id, defaults) || this;
1680
+ function PropertyColumnModel(property, defaults) {
1681
+ var _this = _super.call(this, property.toString(), defaults) || this;
1943
1682
  _this.property = property;
1944
1683
  _this._format = function (value) { return value; };
1945
1684
  _this.cellRenderer(DefaultCellRendererComponent);
1946
1685
  return _this;
1947
1686
  }
1948
- PropertyColumnModel.prototype.cellRenderer = function (componentType, onComponentInitOrOptions) {
1687
+ PropertyColumnModel.prototype.cellRenderer = function (componentType) {
1949
1688
  var _this = this;
1950
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
1951
- if (firstTime) {
1952
- if (___default__default.isFunction(onComponentInitOrOptions)) {
1953
- onComponentInitOrOptions(component);
1954
- }
1955
- else {
1956
- if (___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
1957
- onComponentInitOrOptions.onComponentInit(component);
1958
- }
1959
- }
1960
- }
1689
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
1961
1690
  component.value = _this._format(rowData.row[_this.property]);
1962
- if (!___default__default.isFunction(onComponentInitOrOptions) && ___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
1963
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
1964
- }
1965
1691
  }));
1966
1692
  return this;
1967
1693
  };
1968
- PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, onComponentInit) {
1694
+ PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, initialiseComponent) {
1969
1695
  var _this = this;
1970
1696
  var validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
1971
- var initialiser = ___default__default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
1697
+ var initialiser = ___default__default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
1972
1698
  this.configureCellEditor(new CellEditorPortalRef(editor, function (component, editSession) {
1973
1699
  var formValueModel = editSession.form.pluck(_this.property);
1974
1700
  if (validators) {
@@ -1993,8 +1719,8 @@
1993
1719
  }(ColumnModel));
1994
1720
  var ListPropertyColumnModel = /** @class */ (function (_super) {
1995
1721
  __extends(ListPropertyColumnModel, _super);
1996
- function ListPropertyColumnModel(id, property, defaults) {
1997
- var _this = _super.call(this, id, defaults) || this;
1722
+ function ListPropertyColumnModel(property, defaults) {
1723
+ var _this = _super.call(this, property.toString(), defaults) || this;
1998
1724
  _this.property = property;
1999
1725
  _this._format = function (value) { return value.map(function (v) { return v === null || v === void 0 ? void 0 : v.toString(); }).join(', '); };
2000
1726
  _this.cellRenderer(DefaultCellRendererComponent);
@@ -2041,23 +1767,10 @@
2041
1767
  _this.cellRenderer(DefaultCellRendererComponent);
2042
1768
  return _this;
2043
1769
  }
2044
- CustomValueColumnModel.prototype.cellRenderer = function (componentType, onComponentInitOrOptions) {
1770
+ CustomValueColumnModel.prototype.cellRenderer = function (componentType) {
2045
1771
  var _this = this;
2046
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
2047
- if (firstTime) {
2048
- if (___default__default.isFunction(onComponentInitOrOptions)) {
2049
- onComponentInitOrOptions(component);
2050
- }
2051
- else {
2052
- if (___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2053
- onComponentInitOrOptions.onComponentInit(component);
2054
- }
2055
- }
2056
- }
1772
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
2057
1773
  component.value = _this.getValue(rowData.row);
2058
- if (!___default__default.isFunction(onComponentInitOrOptions) && ___default__default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2059
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
2060
- }
2061
1774
  }));
2062
1775
  return this;
2063
1776
  };
@@ -2241,7 +1954,7 @@
2241
1954
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
2242
1955
  this.firstEditableColumn = chain(this.columns).select(function (c) { return c.hasEditorPortal(); }).first();
2243
1956
  this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(function (column) { return column.isRowSelectionExplicitlyEnabled(); }).isGreaterThanOrEqualTo(0);
2244
- this.addRowClass('enable-hover', function () { return _this.isRowSelectionEnabled(); });
1957
+ this.addRowClass("enable-hover", function () { return _this.isRowSelectionEnabled(); });
2245
1958
  }
2246
1959
  TableModel_1 = TableModel;
2247
1960
  TableModel.fromList = function (sourceOfTruth, builder) {
@@ -2269,11 +1982,11 @@
2269
1982
  enumerable: true,
2270
1983
  configurable: true
2271
1984
  });
2272
- TableModel.prototype.pluck = function (property, options) {
2273
- return this.addColumn(new PropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
1985
+ TableModel.prototype.pluck = function (property) {
1986
+ return this.addColumn(new PropertyColumnModel(property, this));
2274
1987
  };
2275
- TableModel.prototype.pluckList = function (property, options) {
2276
- return this.addColumn(new ListPropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
1988
+ TableModel.prototype.pluckList = function (property) {
1989
+ return this.addColumn(new ListPropertyColumnModel(property, this));
2277
1990
  };
2278
1991
  TableModel.prototype.addSelectionColumn = function (selectionModel) {
2279
1992
  pectin.assert.isNil(this.selectionColumnModel);
@@ -2287,9 +2000,6 @@
2287
2000
  TableModel.prototype.addCustomColumn = function (columnId, dataAccessor) {
2288
2001
  return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
2289
2002
  };
2290
- TableModel.prototype.addComponentColumn = function (columnId, component, onComponentInitOrOptions) {
2291
- return this.addColumn(new CustomValueColumnModel(columnId, this, function (row) { return row; })).cellRenderer(component, onComponentInitOrOptions);
2292
- };
2293
2003
  TableModel.prototype.addTemplateColumn = function (columnId) {
2294
2004
  return this.addColumn(new CustomTemplateColumnModel(columnId, this));
2295
2005
  };
@@ -2709,6 +2419,100 @@
2709
2419
  return VerticalFocusContainerComponent;
2710
2420
  }(FocusContainerComponent));
2711
2421
 
2422
+ var MultipleSelectInputComponent = /** @class */ (function (_super) {
2423
+ __extends(MultipleSelectInputComponent, _super);
2424
+ function MultipleSelectInputComponent() {
2425
+ var _this = _super.call(this) || this;
2426
+ _this.optionLabelFormat = function (option) { return (option && _this.optionLabel) ? option[_this.optionLabel] : option; };
2427
+ return _this;
2428
+ }
2429
+ MultipleSelectInputComponent.prototype.ngOnInit = function () {
2430
+ };
2431
+ __decorate([
2432
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
2433
+ __metadata("design:type", Object)
2434
+ ], MultipleSelectInputComponent.prototype, "listModel", void 0);
2435
+ __decorate([
2436
+ core.Input(), pectin.TrackExternal(),
2437
+ __metadata("design:type", pectin.ListModel)
2438
+ ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
2439
+ __decorate([
2440
+ core.Input(), pectin.StoreInListModel('optionsModel'),
2441
+ __metadata("design:type", Array)
2442
+ ], MultipleSelectInputComponent.prototype, "options", void 0);
2443
+ __decorate([
2444
+ core.Input(),
2445
+ __metadata("design:type", Object)
2446
+ ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
2447
+ __decorate([
2448
+ core.Input(),
2449
+ __metadata("design:type", Boolean)
2450
+ ], MultipleSelectInputComponent.prototype, "allowNil", void 0);
2451
+ __decorate([
2452
+ core.ContentChild('optionTemplate'),
2453
+ __metadata("design:type", core.TemplateRef)
2454
+ ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
2455
+ __decorate([
2456
+ core.ContentChild('nilOptionTemplate'),
2457
+ __metadata("design:type", core.TemplateRef)
2458
+ ], MultipleSelectInputComponent.prototype, "nilOptionTemplateRef", void 0);
2459
+ __decorate([
2460
+ core.Input(),
2461
+ __metadata("design:type", Function)
2462
+ ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
2463
+ MultipleSelectInputComponent = __decorate([
2464
+ core.Component({
2465
+ selector: 'aup-multiple-select-input',
2466
+ 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",
2467
+ styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2468
+ }),
2469
+ __metadata("design:paramtypes", [])
2470
+ ], MultipleSelectInputComponent);
2471
+ return MultipleSelectInputComponent;
2472
+ }(AbstractListInputComponent));
2473
+
2474
+ var IconComponent = /** @class */ (function () {
2475
+ function IconComponent() {
2476
+ }
2477
+ Object.defineProperty(IconComponent.prototype, "icon", {
2478
+ get: function () {
2479
+ return this._icon;
2480
+ },
2481
+ set: function (iconName) {
2482
+ this._icon = iconName;
2483
+ if (!iconName) {
2484
+ this.errorMessage = 'icon is nil';
2485
+ this.prefix = undefined;
2486
+ return;
2487
+ }
2488
+ var colonIndex = iconName.indexOf(':');
2489
+ if (colonIndex > 0) {
2490
+ this.prefix = this.icon.slice(0, colonIndex);
2491
+ this.suffix = this.icon.slice(colonIndex + 1);
2492
+ }
2493
+ if (this.prefix) {
2494
+ this.errorMessage = "Unknown icon \"" + iconName + "\"";
2495
+ }
2496
+ this.errorMessage = "Unknown icon prefix \"" + this.prefix + "\"";
2497
+ },
2498
+ enumerable: true,
2499
+ configurable: true
2500
+ });
2501
+ __decorate([
2502
+ core.Input(),
2503
+ __metadata("design:type", String),
2504
+ __metadata("design:paramtypes", [String])
2505
+ ], IconComponent.prototype, "icon", null);
2506
+ IconComponent = __decorate([
2507
+ core.Component({
2508
+ selector: 'aup-icon',
2509
+ 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",
2510
+ 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}"]
2511
+ })
2512
+ ], IconComponent);
2513
+ return IconComponent;
2514
+ }());
2515
+
2712
2516
  var ComponentsModule = /** @class */ (function () {
2713
2517
  function ComponentsModule(faIconLibrary) {
2714
2518
  faIconLibrary.addIconPacks(freeSolidSvgIcons.fas);
@@ -2727,8 +2531,6 @@
2727
2531
  TextInputComponent,
2728
2532
  PasswordInputComponent,
2729
2533
  SelectInputComponent,
2730
- MultipleSelectInputComponent,
2731
- AutocompleteInputComponent,
2732
2534
  CheckboxInputComponent,
2733
2535
  ScrollContainerComponent,
2734
2536
  NoopComponent,
@@ -2748,6 +2550,7 @@
2748
2550
  SelectHeaderCellRendererComponent,
2749
2551
  DefaultHeaderCellRendererComponent,
2750
2552
  TableHeaderCellRendererComponent,
2553
+ MultipleSelectInputComponent,
2751
2554
  IconComponent,
2752
2555
  SectionHeaderComponent
2753
2556
  ],
@@ -2767,8 +2570,7 @@
2767
2570
  portal.PortalModule,
2768
2571
  scrolling.CdkScrollableModule,
2769
2572
  angularFontawesome.FontAwesomeModule,
2770
- tooltip.MatTooltipModule,
2771
- autocomplete.MatAutocompleteModule
2573
+ tooltip.MatTooltipModule
2772
2574
  ],
2773
2575
  exports: [
2774
2576
  NumberInputComponent,
@@ -2777,8 +2579,6 @@
2777
2579
  PasswordInputComponent,
2778
2580
  CheckboxInputComponent,
2779
2581
  SelectInputComponent,
2780
- MultipleSelectInputComponent,
2781
- AutocompleteInputComponent,
2782
2582
  ScrollContainerComponent,
2783
2583
  NoopComponent,
2784
2584
  SwitchCaseComponent,
@@ -2791,23 +2591,12 @@
2791
2591
  TableComponent,
2792
2592
  EditRowControls,
2793
2593
  ColumnTemplateDirective,
2594
+ MultipleSelectInputComponent,
2794
2595
  IconComponent,
2795
2596
  SectionHeaderComponent
2796
2597
  ],
2797
2598
  providers: [
2798
- FocusBindingFactory
2799
- // {
2800
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
2801
- // type: 'string',
2802
- // editorClass: StringInputComponent
2803
- // }, multi: true
2804
- // },
2805
- // {
2806
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
2807
- // type: 'number',
2808
- // editorClass: NumberInputComponent
2809
- // }, multi: true
2810
- // }
2599
+ FocusBindingFactory,
2811
2600
  ]
2812
2601
  }),
2813
2602
  __metadata("design:paramtypes", [angularFontawesome.FaIconLibrary])
@@ -3246,7 +3035,6 @@
3246
3035
  ActivityContainerComponent.prototype.registerDisposable = function (disposable) {
3247
3036
  return this.garbage.registerDisposable(disposable);
3248
3037
  };
3249
- // @Trace()
3250
3038
  ActivityContainerComponent.prototype.dispose = function () {
3251
3039
  // TODO: think about auto cancelling any outstanding activity on dispose.
3252
3040
  // See NavigationState.Navigating for a use-case.
@@ -3395,6 +3183,12 @@
3395
3183
  core.ViewChildren(ActivityOutletComponent),
3396
3184
  __metadata("design:type", core.QueryList)
3397
3185
  ], ActivityContainerComponent.prototype, "activityOutlets", void 0);
3186
+ __decorate([
3187
+ pectin.Trace(),
3188
+ __metadata("design:type", Function),
3189
+ __metadata("design:paramtypes", []),
3190
+ __metadata("design:returntype", void 0)
3191
+ ], ActivityContainerComponent.prototype, "dispose", null);
3398
3192
  ActivityContainerComponent = __decorate([
3399
3193
  core.Component({
3400
3194
  selector: 'aup-activity-container',
@@ -3443,7 +3237,7 @@
3443
3237
  }());
3444
3238
 
3445
3239
  var inplaceMonitorCount = 0;
3446
- exports.ɵbw = /** @class */ (function () {
3240
+ exports.ɵbv = /** @class */ (function () {
3447
3241
  function InteractionService(modelInteractionContextFactory) {
3448
3242
  this.modelInteractionContextFactory = modelInteractionContextFactory;
3449
3243
  this.garbage = new pectin.GarbageCollector();
@@ -3588,7 +3382,7 @@
3588
3382
  return ApiAdapter;
3589
3383
  }());
3590
3384
  InteractionService.ApiAdapter = ApiAdapter;
3591
- })(exports.ɵbw || (exports.ɵbw = {}));
3385
+ })(exports.ɵbv || (exports.ɵbv = {}));
3592
3386
 
3593
3387
  var InPlaceInteractionContextComponent = /** @class */ (function (_super) {
3594
3388
  __extends(InPlaceInteractionContextComponent, _super);
@@ -3646,7 +3440,7 @@
3646
3440
  return this.activityContainerComponent.startActivity(activityType, data, options);
3647
3441
  };
3648
3442
  InPlaceInteractionContextComponent.ctorParameters = function () { return [
3649
- { type: exports.ɵbw },
3443
+ { type: exports.ɵbv },
3650
3444
  { type: undefined, decorators: [{ type: core.Inject, args: [tabs.MAT_TABS_CONFIG,] }, { type: core.Optional }] }
3651
3445
  ]; };
3652
3446
  __decorate([
@@ -3664,7 +3458,7 @@
3664
3458
  styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
3665
3459
  }),
3666
3460
  __param(1, core.Inject(tabs.MAT_TABS_CONFIG)), __param(1, core.Optional()),
3667
- __metadata("design:paramtypes", [exports.ɵbw, Object])
3461
+ __metadata("design:paramtypes", [exports.ɵbv, Object])
3668
3462
  ], InPlaceInteractionContextComponent);
3669
3463
  return InPlaceInteractionContextComponent;
3670
3464
  }(DisposableComponent));
@@ -4203,7 +3997,7 @@
4203
3997
  AlertDialogComponent
4204
3998
  ],
4205
3999
  providers: [
4206
- exports.ɵbw
4000
+ exports.ɵbv
4207
4001
  // {
4208
4002
  // provide: MAT_TABS_CONFIG, useValue: { animationDuration: "2s" }
4209
4003
  // }
@@ -4478,7 +4272,7 @@
4478
4272
  pectin.assert.isNil(this.visitModel.value);
4479
4273
  var when = pectin.Dsl.disposeWith(this).when;
4480
4274
  this.visitModel.value = visit;
4481
- pectin.DebugContext.getOrCreate(this.visitModel).tag(this.placeDefinition.component.name + ".visitModel");
4275
+ pectin.DebugContext.get(this.visitModel).tag(this.placeDefinition.component.name + ".visitModel");
4482
4276
  this.placeDefinition.getVisitParameterDefs().forEach(function (parameterDef) { return _this.installBinding(parameterDef); });
4483
4277
  when.valueOf(this.visitModel).changes(function (current, previous) {
4484
4278
  notifyVisitChanged(current, previous);
@@ -5325,7 +5119,7 @@
5325
5119
  return PopStateNavigation;
5326
5120
  }(AbstractPopStateNavigation));
5327
5121
 
5328
- exports.ɵbz = /** @class */ (function () {
5122
+ exports.ɵby = /** @class */ (function () {
5329
5123
  function PlaceHistory() {
5330
5124
  this._archive = new Map();
5331
5125
  this.placeHistoryDepth = 4;
@@ -5462,7 +5256,7 @@
5462
5256
  // }
5463
5257
  //
5464
5258
  // }
5465
- })(exports.ɵbz || (exports.ɵbz = {}));
5259
+ })(exports.ɵby || (exports.ɵby = {}));
5466
5260
 
5467
5261
  exports.UrlSnapshot = /** @class */ (function () {
5468
5262
  // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.
@@ -5626,6 +5420,75 @@
5626
5420
  return UrlService;
5627
5421
  }());
5628
5422
 
5423
+ var Visit = /** @class */ (function () {
5424
+ function Visit(placeDefinition, visitParameters) {
5425
+ if (visitParameters === void 0) { visitParameters = {}; }
5426
+ this.placeDefinition = placeDefinition;
5427
+ this.visitParameters = visitParameters;
5428
+ }
5429
+ // @Trace()
5430
+ Visit.prototype.getRouteId = function () {
5431
+ return this.placeDefinition.getRouteIdFrom(this);
5432
+ };
5433
+ // @Trace()
5434
+ Visit.prototype.hasRouteId = function () {
5435
+ return !___default.isNil(this.getRouteId());
5436
+ };
5437
+ /**
5438
+ * Returns the value of the place parameter with the specified name. The parameter
5439
+ * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
5440
+ * same as the the ValueModel property name.
5441
+ * @param parameterName the field name of the property model or the `as` option if specified.
5442
+ */
5443
+ Visit.prototype.getParameter = function (parameterName) {
5444
+ return this.visitParameters[parameterName];
5445
+ };
5446
+ // @Trace()
5447
+ Visit.prototype.hasParameter = function (parameterName) {
5448
+ return Object.keys(this.visitParameters).includes(parameterName);
5449
+ };
5450
+ Visit.prototype.replace = function (parameter, value) {
5451
+ var _a;
5452
+ return new Visit(this.placeDefinition, __assign(__assign({}, this.visitParameters), (_a = {}, _a[parameter.name] = value, _a)));
5453
+ };
5454
+ Visit.prototype.mergeRouteParameters = function (routeParams) {
5455
+ var _this = this;
5456
+ // todo: whitelist parameters.
5457
+ var routeParameterKeys = Object.keys(routeParams);
5458
+ var params = {};
5459
+ this.placeDefinition.getVisitParameterDefs().forEach(function (def) {
5460
+ if (def.isRouteId || def.isRouteParameter) {
5461
+ if (routeParameterKeys.includes(def.name)) {
5462
+ params[def.name] = routeParams[def.name];
5463
+ }
5464
+ }
5465
+ else {
5466
+ // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
5467
+ // defaults and remember sanitisation process.
5468
+ var value = _this.getParameter(def.name);
5469
+ if (_this.hasParameter(def.name)) {
5470
+ params[def.name] = value;
5471
+ }
5472
+ }
5473
+ });
5474
+ return new Visit(this.placeDefinition, params);
5475
+ };
5476
+ Visit.prototype.hasRoutingChangedFrom = function (other) {
5477
+ var samePlace = other.placeDefinition === this.placeDefinition;
5478
+ var sameRouteParameters = ___default.isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
5479
+ return !samePlace || !sameRouteParameters;
5480
+ };
5481
+ Visit.prototype.hasChangedFrom = function (other) {
5482
+ var sameNonRouteParameters = ___default.isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
5483
+ return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
5484
+ };
5485
+ Visit.prototype.toDebugString = function () {
5486
+ var _this = this;
5487
+ return Object.keys(this.visitParameters).map(function (k) { return k + "=" + _this.visitParameters[k]; }).join(",");
5488
+ };
5489
+ return Visit;
5490
+ }());
5491
+
5629
5492
  var PlaceRouter = /** @class */ (function (_super) {
5630
5493
  __extends(PlaceRouter, _super);
5631
5494
  function PlaceRouter(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
@@ -5821,7 +5684,6 @@
5821
5684
  enumerable: true,
5822
5685
  configurable: true
5823
5686
  });
5824
- // @Trace()
5825
5687
  PlaceRouter.prototype.pushVisitChangesToRoute = function (previous, next) {
5826
5688
  return __awaiter(this, void 0, void 0, function () {
5827
5689
  var _this = this;
@@ -5917,93 +5779,30 @@
5917
5779
  PlaceRouter.ctorParameters = function () { return [
5918
5780
  { type: router.Router },
5919
5781
  { type: common.Location },
5920
- { type: exports.ɵbw },
5782
+ { type: exports.ɵbv },
5921
5783
  { type: UrlService },
5922
- { type: exports.ɵbz }
5784
+ { type: exports.ɵby }
5923
5785
  ]; };
5924
- PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵbw), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵbz)); }, token: PlaceRouter, providedIn: "root" });
5786
+ PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵbv), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵby)); }, token: PlaceRouter, providedIn: "root" });
5787
+ __decorate([
5788
+ pectin.Trace(),
5789
+ __metadata("design:type", Function),
5790
+ __metadata("design:paramtypes", [Visit, Visit]),
5791
+ __metadata("design:returntype", Promise)
5792
+ ], PlaceRouter.prototype, "pushVisitChangesToRoute", null);
5925
5793
  PlaceRouter = __decorate([
5926
5794
  core.Injectable({
5927
5795
  providedIn: 'root'
5928
5796
  }),
5929
5797
  __metadata("design:paramtypes", [router.Router,
5930
5798
  common.Location,
5931
- exports.ɵbw,
5799
+ exports.ɵbv,
5932
5800
  UrlService,
5933
- exports.ɵbz])
5801
+ exports.ɵby])
5934
5802
  ], PlaceRouter);
5935
5803
  return PlaceRouter;
5936
5804
  }(pectin.GarbageCollector));
5937
5805
 
5938
- var Visit = /** @class */ (function () {
5939
- function Visit(placeDefinition, visitParameters) {
5940
- if (visitParameters === void 0) { visitParameters = {}; }
5941
- this.placeDefinition = placeDefinition;
5942
- this.visitParameters = visitParameters;
5943
- }
5944
- // @Trace()
5945
- Visit.prototype.getRouteId = function () {
5946
- return this.placeDefinition.getRouteIdFrom(this);
5947
- };
5948
- // @Trace()
5949
- Visit.prototype.hasRouteId = function () {
5950
- return !___default.isNil(this.getRouteId());
5951
- };
5952
- /**
5953
- * Returns the value of the place parameter with the specified name. The parameter
5954
- * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
5955
- * same as the the ValueModel property name.
5956
- * @param parameterName the field name of the property model or the `as` option if specified.
5957
- */
5958
- Visit.prototype.getParameter = function (parameterName) {
5959
- return this.visitParameters[parameterName];
5960
- };
5961
- // @Trace()
5962
- Visit.prototype.hasParameter = function (parameterName) {
5963
- return Object.keys(this.visitParameters).includes(parameterName);
5964
- };
5965
- Visit.prototype.replace = function (parameter, value) {
5966
- var _a;
5967
- return new Visit(this.placeDefinition, __assign(__assign({}, this.visitParameters), (_a = {}, _a[parameter.name] = value, _a)));
5968
- };
5969
- Visit.prototype.mergeRouteParameters = function (routeParams) {
5970
- var _this = this;
5971
- // todo: whitelist parameters.
5972
- var routeParameterKeys = Object.keys(routeParams);
5973
- var params = {};
5974
- this.placeDefinition.getVisitParameterDefs().forEach(function (def) {
5975
- if (def.isRouteId || def.isRouteParameter) {
5976
- if (routeParameterKeys.includes(def.name)) {
5977
- params[def.name] = routeParams[def.name];
5978
- }
5979
- }
5980
- else {
5981
- // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
5982
- // defaults and remember sanitisation process.
5983
- var value = _this.getParameter(def.name);
5984
- if (_this.hasParameter(def.name)) {
5985
- params[def.name] = value;
5986
- }
5987
- }
5988
- });
5989
- return new Visit(this.placeDefinition, params);
5990
- };
5991
- Visit.prototype.hasRoutingChangedFrom = function (other) {
5992
- var samePlace = other.placeDefinition === this.placeDefinition;
5993
- var sameRouteParameters = ___default.isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
5994
- return !samePlace || !sameRouteParameters;
5995
- };
5996
- Visit.prototype.hasChangedFrom = function (other) {
5997
- var sameNonRouteParameters = ___default.isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
5998
- return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
5999
- };
6000
- Visit.prototype.toDebugString = function () {
6001
- var _this = this;
6002
- return Object.keys(this.visitParameters).map(function (k) { return k + "=" + _this.visitParameters[k]; }).join(",");
6003
- };
6004
- return Visit;
6005
- }());
6006
-
6007
5806
  var AUP_PLACE_CONFIG = new core.InjectionToken('AUP_PLACE_CONFIG');
6008
5807
 
6009
5808
  // Freezes the state of the components at the start of the animation.
@@ -7018,7 +6817,8 @@
7018
6817
  binding: null
7019
6818
  };
7020
6819
  var tag = tagPrefix + "(" + prototype.constructor.name + "." + propertyKey.toString() + ")";
7021
- pectin.DebugContext.getOrCreate(mechanics.backingModel).tag(tag);
6820
+ pectin.DebugContext.get(mechanics.backingModel).tag(tag);
6821
+ pectin.Logger.get(mechanics.backingModel).tag(tag);
7022
6822
  Object.defineProperty(prototype, propertyKey, {
7023
6823
  get: function () {
7024
6824
  return mechanics.backingModel;
@@ -7089,7 +6889,6 @@
7089
6889
  exports.AddItemInteractionContextComponent = AddItemInteractionContextComponent;
7090
6890
  exports.AlertDialogComponent = AlertDialogComponent;
7091
6891
  exports.AngularUiPowerupsModule = AngularUiPowerupsModule;
7092
- exports.AutocompleteInputComponent = AutocompleteInputComponent;
7093
6892
  exports.BusyOverlayComponent = BusyOverlayComponent;
7094
6893
  exports.CELL_EDITOR_PORTAL = CELL_EDITOR_PORTAL;
7095
6894
  exports.CELL_RENDERER_PORTAL = CELL_RENDERER_PORTAL;
@@ -7133,7 +6932,7 @@
7133
6932
  exports.InPlaceInteractionContextComponent = InPlaceInteractionContextComponent;
7134
6933
  exports.InteractionContextTriggerFor = InteractionContextTriggerFor;
7135
6934
  exports.InteractionModule = InteractionModule;
7136
- exports.InteractionService = exports.ɵbw;
6935
+ exports.InteractionService = exports.ɵbv;
7137
6936
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
7138
6937
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
7139
6938
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
@@ -7153,7 +6952,7 @@
7153
6952
  exports.PlaceComponentDeactivationHandler = PlaceComponentDeactivationHandler;
7154
6953
  exports.PlaceDefinition = PlaceDefinition;
7155
6954
  exports.PlaceGuard = PlaceGuard;
7156
- exports.PlaceHistory = exports.ɵbz;
6955
+ exports.PlaceHistory = exports.ɵby;
7157
6956
  exports.PlaceModule = PlaceModule;
7158
6957
  exports.PlaceOutletComponent = PlaceOutletComponent;
7159
6958
  exports.PlaceRouter = PlaceRouter;
@@ -7203,51 +7002,50 @@
7203
7002
  exports.ɵ0 = ɵ0;
7204
7003
  exports.ɵa = DirectivesModule;
7205
7004
  exports.ɵb = CommandDirective;
7206
- exports.ɵba = CardContainerComponent;
7207
- exports.ɵbb = TableComponent;
7208
- exports.ɵbc = EditRowControls;
7209
- exports.ɵbd = ColumnTemplateDirective;
7210
- exports.ɵbe = DefaultCellRendererComponent;
7211
- exports.ɵbf = TableCellRendererComponent;
7212
- exports.ɵbg = SelectCellRendererComponent;
7213
- exports.ɵbh = SelectHeaderCellRendererComponent;
7214
- exports.ɵbi = DefaultHeaderCellRendererComponent;
7215
- exports.ɵbj = TableHeaderCellRendererComponent;
7216
- exports.ɵbk = IconComponent;
7217
- exports.ɵbl = SectionHeaderComponent;
7218
- exports.ɵbm = PlaceModule;
7219
- exports.ɵbn = ComponentsModule;
7220
- exports.ɵbo = EmptyStateComponent;
7221
- exports.ɵbp = BusyOverlayComponent;
7222
- exports.ɵbq = PlaceOutletComponent;
7223
- exports.ɵbr = leftRightPlaceAnimation;
7224
- exports.ɵbs = LEFT_RIGHT_PLACE_ANIMATION;
7225
- exports.ɵbt = AUP_PLACE_CONFIG;
7226
- exports.ɵbv = PlaceRouter;
7227
- exports.ɵbx = ModalInteractionContextFactory;
7228
- exports.ɵby = UrlService;
7005
+ exports.ɵba = EditRowControls;
7006
+ exports.ɵbb = ColumnTemplateDirective;
7007
+ exports.ɵbc = DefaultCellRendererComponent;
7008
+ exports.ɵbd = TableCellRendererComponent;
7009
+ exports.ɵbe = SelectCellRendererComponent;
7010
+ exports.ɵbf = SelectHeaderCellRendererComponent;
7011
+ exports.ɵbg = DefaultHeaderCellRendererComponent;
7012
+ exports.ɵbh = TableHeaderCellRendererComponent;
7013
+ exports.ɵbi = MultipleSelectInputComponent;
7014
+ exports.ɵbj = IconComponent;
7015
+ exports.ɵbk = SectionHeaderComponent;
7016
+ exports.ɵbl = PlaceModule;
7017
+ exports.ɵbm = ComponentsModule;
7018
+ exports.ɵbn = EmptyStateComponent;
7019
+ exports.ɵbo = BusyOverlayComponent;
7020
+ exports.ɵbp = PlaceOutletComponent;
7021
+ exports.ɵbq = leftRightPlaceAnimation;
7022
+ exports.ɵbr = LEFT_RIGHT_PLACE_ANIMATION;
7023
+ exports.ɵbs = AUP_PLACE_CONFIG;
7024
+ exports.ɵbu = PlaceRouter;
7025
+ exports.ɵbw = ModalInteractionContextFactory;
7026
+ exports.ɵbx = UrlService;
7027
+ exports.ɵbz = TabbedPlaceNavigationComponent;
7229
7028
  exports.ɵc = FocusBindingDirective;
7230
- exports.ɵca = TabbedPlaceNavigationComponent;
7231
- exports.ɵcb = AbstractPlaceNavigationComponent;
7232
- exports.ɵcc = ListPlaceNavComponent;
7233
- exports.ɵcd = SidePlaceNavigationComponent;
7234
- exports.ɵce = InteractionModule;
7235
- exports.ɵcf = ActivityContainerComponent;
7236
- exports.ɵcg = AbstractInteractionContext;
7237
- exports.ɵch = ActivityOutletComponent;
7238
- exports.ɵci = ConfirmationDialogComponent;
7239
- exports.ɵcj = ACTIVITY_DATA;
7240
- exports.ɵck = Activity;
7241
- exports.ɵcm = ConfirmThenDialogComponent;
7242
- exports.ɵcn = AlertDialogComponent;
7243
- exports.ɵcp = InPlaceInteractionContextComponent;
7244
- exports.ɵcq = AddItemInteractionContextComponent;
7245
- exports.ɵcr = ActivityActionsComponent;
7246
- exports.ɵcs = PopupInteractionContextComponent;
7247
- exports.ɵct = StringInputActivity;
7248
- exports.ɵcu = AbstractInputActivity;
7249
- exports.ɵcv = SelectInputActivity;
7250
- exports.ɵcw = InteractionContextTriggerFor;
7029
+ exports.ɵca = AbstractPlaceNavigationComponent;
7030
+ exports.ɵcb = ListPlaceNavComponent;
7031
+ exports.ɵcc = SidePlaceNavigationComponent;
7032
+ exports.ɵcd = InteractionModule;
7033
+ exports.ɵce = ActivityContainerComponent;
7034
+ exports.ɵcf = AbstractInteractionContext;
7035
+ exports.ɵcg = ActivityOutletComponent;
7036
+ exports.ɵch = ConfirmationDialogComponent;
7037
+ exports.ɵci = ACTIVITY_DATA;
7038
+ exports.ɵcj = Activity;
7039
+ exports.ɵcl = ConfirmThenDialogComponent;
7040
+ exports.ɵcm = AlertDialogComponent;
7041
+ exports.ɵco = InPlaceInteractionContextComponent;
7042
+ exports.ɵcp = AddItemInteractionContextComponent;
7043
+ exports.ɵcq = ActivityActionsComponent;
7044
+ exports.ɵcr = PopupInteractionContextComponent;
7045
+ exports.ɵcs = StringInputActivity;
7046
+ exports.ɵct = AbstractInputActivity;
7047
+ exports.ɵcu = SelectInputActivity;
7048
+ exports.ɵcv = InteractionContextTriggerFor;
7251
7049
  exports.ɵd = DisposableComponent;
7252
7050
  exports.ɵe = FocusBindingFactory;
7253
7051
  exports.ɵf = ComponentsModule;
@@ -7259,18 +7057,18 @@
7259
7057
  exports.ɵl = TextInputComponent;
7260
7058
  exports.ɵm = PasswordInputComponent;
7261
7059
  exports.ɵn = SelectInputComponent;
7262
- exports.ɵo = MultipleSelectInputComponent;
7263
- exports.ɵp = AutocompleteInputComponent;
7264
- exports.ɵq = CheckboxInputComponent;
7265
- exports.ɵr = ScrollContainerComponent;
7266
- exports.ɵs = NoopComponent;
7267
- exports.ɵt = SwitchCaseOption;
7268
- exports.ɵu = SwitchCaseWhenDirective;
7269
- exports.ɵv = SwitchCaseDefaultDirective;
7270
- exports.ɵw = SwitchCaseComponent;
7271
- exports.ɵx = FocusContainerComponent;
7272
- exports.ɵy = VerticalFocusContainerComponent;
7273
- exports.ɵz = FocusableComponent;
7060
+ exports.ɵo = CheckboxInputComponent;
7061
+ exports.ɵp = ScrollContainerComponent;
7062
+ exports.ɵq = NoopComponent;
7063
+ exports.ɵr = SwitchCaseOption;
7064
+ exports.ɵs = SwitchCaseWhenDirective;
7065
+ exports.ɵt = SwitchCaseDefaultDirective;
7066
+ exports.ɵu = SwitchCaseComponent;
7067
+ exports.ɵv = FocusContainerComponent;
7068
+ exports.ɵw = VerticalFocusContainerComponent;
7069
+ exports.ɵx = FocusableComponent;
7070
+ exports.ɵy = CardContainerComponent;
7071
+ exports.ɵz = TableComponent;
7274
7072
 
7275
7073
  Object.defineProperty(exports, '__esModule', { value: true });
7276
7074