@coolon/angular-ui-powerups 1.3.5 → 1.3.7

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 (72) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +123 -180
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  6. package/coolon-angular-ui-powerups.d.ts +13 -13
  7. package/coolon-angular-ui-powerups.metadata.json +1 -1
  8. package/esm2015/coolon-angular-ui-powerups.js +13 -13
  9. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  10. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  11. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  12. package/esm2015/lib/components/focusable.component.js +1 -1
  13. package/esm2015/lib/components/focusable.component.js.map +1 -1
  14. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  15. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  16. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  17. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  18. package/esm2015/lib/components/forms/number-input/number-input.component.js +1 -1
  19. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  20. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  21. package/esm2015/lib/components/forms/password-input/password-input.component.js +1 -1
  22. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  23. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  24. package/esm2015/lib/components/forms/select-input/select-input.component.js +1 -1
  25. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  26. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  27. package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
  28. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  29. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  30. package/esm2015/lib/directives/focus-binding-factory.js +2 -1
  31. package/esm2015/lib/directives/focus-binding-factory.js.map +1 -1
  32. package/esm2015/lib/directives/focus-binding.directive.js +11 -62
  33. package/esm2015/lib/directives/focus-binding.directive.js.map +1 -1
  34. package/esm2015/lib/directives/focus-binding.directive.metadata.json +1 -1
  35. package/esm2015/lib/directives/focus-binding.js +1 -0
  36. package/esm2015/lib/directives/focus-binding.js.map +1 -1
  37. package/esm2015/lib/directives/focus-binding.metadata.json +1 -1
  38. package/esm2015/lib/place/route/visit-sanitiser.js +2 -9
  39. package/esm2015/lib/place/route/visit-sanitiser.js.map +1 -1
  40. package/esm2015/lib/place/route/visit-sanitiser.metadata.json +1 -1
  41. package/esm5/coolon-angular-ui-powerups.js +13 -13
  42. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  43. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  44. package/esm5/lib/components/focusable.component.js +1 -1
  45. package/esm5/lib/components/focusable.component.js.map +1 -1
  46. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  47. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  48. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  49. package/esm5/lib/components/forms/number-input/number-input.component.js +1 -1
  50. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  51. package/esm5/lib/components/forms/password-input/password-input.component.js +1 -1
  52. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  53. package/esm5/lib/components/forms/select-input/select-input.component.js +1 -1
  54. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  55. package/esm5/lib/components/forms/string-input/string-input.component.js +1 -1
  56. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  57. package/esm5/lib/directives/focus-binding-factory.js +2 -1
  58. package/esm5/lib/directives/focus-binding-factory.js.map +1 -1
  59. package/esm5/lib/directives/focus-binding.directive.js +11 -65
  60. package/esm5/lib/directives/focus-binding.directive.js.map +1 -1
  61. package/esm5/lib/directives/focus-binding.js +1 -0
  62. package/esm5/lib/directives/focus-binding.js.map +1 -1
  63. package/esm5/lib/place/route/visit-sanitiser.js +2 -9
  64. package/esm5/lib/place/route/visit-sanitiser.js.map +1 -1
  65. package/fesm2015/coolon-angular-ui-powerups.js +93 -147
  66. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  67. package/fesm5/coolon-angular-ui-powerups.js +109 -166
  68. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  69. package/lib/components/forms/abstract-input.component.d.ts +1 -1
  70. package/lib/directives/focus-binding-factory.d.ts +2 -2
  71. package/lib/directives/focus-binding.directive.d.ts +6 -11
  72. package/package.json +13 -5
@@ -1 +1 @@
1
- {"version":3,"file":"string-input.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/forms/string-input/string-input.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,OAAO,EACP,GAAG,EAGH,iBAAiB,EACjB,aAAa,EACb,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAOrE,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,sBAA8B;IAatE;QACE,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,QAAQ;IACR,CAAC;CAEF,CAAA;AAtBC;IADC,KAAK,EAAE,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,0BAA0B,EAAE,CAAC;;wDACJ;AAG/D;IADC,KAAK,EAAE,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;8BAC9B,UAAU;8DAAU;AAGtC;IADC,KAAK,EAAE,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;;yDAC1B;AATV,oBAAoB;IALhC,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,ovBAA4C;;KAE7C,CAAC;;GACW,oBAAoB,CAyBhC;SAzBY,oBAAoB","sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport {\n Command,\n Dsl,\n FormValueModel,\n MutableValueModel,\n StoreInValueModel,\n TrackExternal,\n ValueModel\n} from '@coolon/pectin';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'aup-string-input',\n templateUrl: './string-input.component.html',\n styleUrls: ['./string-input.component.scss']\n})\nexport class StringInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n @Input() @TrackExternal({ delegateTo: 'delegatingFormValueModel' })\n valueModel: FormValueModel<string> | MutableValueModel<string>;\n\n @Input() @TrackExternal({ defaultValue: false })\n enableClearModel: ValueModel<boolean>;\n\n @Input() @StoreInValueModel('enableClearModel')\n enableClear: boolean;\n\n readonly clearCommand: Command<void>;\n\n constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.clearCommand = Command.create(() => {\n this.valueModel.value = null;\n });\n this.clearCommand.disableWhile(chain.stringValue(this.valueModel).isBlank());\n }\n\n ngOnInit() {\n }\n\n}\n"]}
1
+ {"version":3,"file":"string-input.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/forms/string-input/string-input.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,OAAO,EACP,GAAG,EAGH,iBAAiB,EACjB,aAAa,EACb,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAOrE,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,sBAA8B;IAatE;QACE,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,QAAQ;IACR,CAAC;CAEF,CAAA;AAtBC;IADC,KAAK,EAAE,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,0BAA0B,EAAE,CAAC;;wDACJ;AAG/D;IADC,KAAK,EAAE,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;8BAC9B,UAAU;8DAAU;AAGtC;IADC,KAAK,EAAE,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;;yDAC1B;AATV,oBAAoB;IALhC,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,+wBAA4C;;KAE7C,CAAC;;GACW,oBAAoB,CAyBhC;SAzBY,oBAAoB","sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport {\n Command,\n Dsl,\n FormValueModel,\n MutableValueModel,\n StoreInValueModel,\n TrackExternal,\n ValueModel\n} from '@coolon/pectin';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'aup-string-input',\n templateUrl: './string-input.component.html',\n styleUrls: ['./string-input.component.scss']\n})\nexport class StringInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n @Input() @TrackExternal({ delegateTo: 'delegatingFormValueModel' })\n valueModel: FormValueModel<string> | MutableValueModel<string>;\n\n @Input() @TrackExternal({ defaultValue: false })\n enableClearModel: ValueModel<boolean>;\n\n @Input() @StoreInValueModel('enableClearModel')\n enableClear: boolean;\n\n readonly clearCommand: Command<void>;\n\n constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.clearCommand = Command.create(() => {\n this.valueModel.value = null;\n });\n this.clearCommand.disableWhile(chain.stringValue(this.valueModel).isBlank());\n }\n\n ngOnInit() {\n }\n\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"StringInputComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-input.component","name":"AbstractInputComponent","line":17,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"aup-string-input","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]=\"valueModel\"\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 <mat-icon>close</mat-icon>\n </button>\n</mat-form-field>\n\n","styles":[":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}button[disabled]{visibility:hidden}"]}]}],"members":{"valueModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":19,"character":12},"arguments":[{"delegateTo":"delegatingFormValueModel"}]}]}],"enableClearModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":22,"character":12},"arguments":[{"defaultValue":false}]}]}],"enableClear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":25,"character":12},"arguments":["enableClearModel"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"StringInputComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-input.component","name":"AbstractInputComponent","line":17,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"aup-string-input","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]=\"delegatingFormValueModel.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 <mat-icon>close</mat-icon>\n </button>\n</mat-form-field>\n\n","styles":[":host{display:block}input,mat-form-field{width:100%}input mat-hint.faux-error,mat-form-field mat-hint.faux-error{color:#f44336}button[disabled]{visibility:hidden}"]}]}],"members":{"valueModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":19,"character":12},"arguments":[{"delegateTo":"delegatingFormValueModel"}]}]}],"enableClearModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":22,"character":12},"arguments":[{"defaultValue":false}]}]}],"enableClear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":25,"character":12},"arguments":["enableClearModel"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
@@ -10,8 +10,9 @@ let FocusBindingFactory = class FocusBindingFactory {
10
10
  // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642
11
11
  this.document = document;
12
12
  }
13
+ // @Trace()
13
14
  createBinding(el, focusContext) {
14
- return new FocusBinding(el.nativeElement, this.ngZone, this.document, focusContext);
15
+ return new FocusBinding(el, this.ngZone, this.document, focusContext);
15
16
  }
16
17
  };
17
18
  FocusBindingFactory.ctorParameters = () => [
@@ -1 +1 @@
1
- {"version":3,"file":"focus-binding-factory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/directives/focus-binding-factory.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;;AAK/C,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAI9B,YAA6C,MAAc,EAAoB,QAAa;QAA/C,WAAM,GAAN,MAAM,CAAQ;QACzD,kHAAkH;QAClH,IAAI,CAAC,QAAQ,GAAG,QAAoB,CAAC;IACvC,CAAC;IAED,aAAa,CAAC,EAAc,EAAE,YAAkC;QAC9D,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACtF,CAAC;CACF,CAAA;;YARsD,MAAM,uBAA9C,MAAM,SAAC,MAAM;4CAAoC,MAAM,SAAC,QAAQ;;;AAJlE,mBAAmB;IAH/B,UAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;IAKa,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA,EAAmC,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;qCAAzB,MAAM;GAJhD,mBAAmB,CAY/B;SAZY,mBAAmB","sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { ElementRef, Inject, Injectable, NgZone } from '@angular/core';\nimport { FocusManager } from '@coolon/pectin';\nimport { FocusBinding } from './focus-binding';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FocusBindingFactory {\n\n private document: Document;\n\n constructor(@Inject(NgZone) private readonly ngZone: NgZone, @Inject(DOCUMENT) document: any) {\n // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.document = document as Document;\n }\n\n createBinding(el: ElementRef, focusContext: FocusManager.Context): FocusBinding {\n return new FocusBinding(el.nativeElement, this.ngZone, this.document, focusContext);\n }\n}\n"]}
1
+ {"version":3,"file":"focus-binding-factory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/directives/focus-binding-factory.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;;AAK/C,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAI9B,YAA6C,MAAc,EAAoB,QAAa;QAA/C,WAAM,GAAN,MAAM,CAAQ;QACzD,kHAAkH;QAClH,IAAI,CAAC,QAAQ,GAAG,QAAoB,CAAC;IACvC,CAAC;IAED,WAAW;IACX,aAAa,CAAC,EAAe,EAAE,YAAkC;QAC/D,OAAO,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;CACF,CAAA;;YATsD,MAAM,uBAA9C,MAAM,SAAC,MAAM;4CAAoC,MAAM,SAAC,QAAQ;;;AAJlE,mBAAmB;IAH/B,UAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;IAKa,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA,EAAmC,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;qCAAzB,MAAM;GAJhD,mBAAmB,CAa/B;SAbY,mBAAmB","sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { ElementRef, Inject, Injectable, NgZone } from '@angular/core';\nimport { FocusManager, Trace } from '@coolon/pectin';\nimport { FocusBinding } from './focus-binding';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FocusBindingFactory {\n\n private document: Document;\n\n constructor(@Inject(NgZone) private readonly ngZone: NgZone, @Inject(DOCUMENT) document: any) {\n // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.document = document as Document;\n }\n\n // @Trace()\n createBinding(el: HTMLElement, focusContext: FocusManager.Context): FocusBinding {\n return new FocusBinding(el, this.ngZone, this.document, focusContext);\n }\n}\n"]}
@@ -1,93 +1,44 @@
1
1
  import { __decorate, __metadata, __param } from "tslib";
2
- import { DOCUMENT } from '@angular/common';
3
- import { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, NgZone, OnInit } from '@angular/core';
4
- import { Dsl, HasFocusTracking, Logger } from '@coolon/pectin';
2
+ import { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, OnInit } from '@angular/core';
3
+ import { FocusManager, Logger } from '@coolon/pectin';
5
4
  import { DisposableComponent } from '../components/disposable-component';
5
+ import { FocusBindingFactory } from './focus-binding-factory';
6
6
  let FocusBindingDirective = class FocusBindingDirective extends DisposableComponent {
7
- constructor(el, ngZone, document) {
7
+ constructor(el, focusBindingFactory) {
8
8
  super();
9
9
  this.el = el;
10
- this.ngZone = ngZone;
11
- // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642
12
- this.document = document;
10
+ this.focusBindingFactory = focusBindingFactory;
13
11
  }
14
12
  onFocusIn() {
15
13
  if (this.hasBinding()) {
16
- this.pectinFocusBinding.focusContext.notifyFocusIn();
14
+ this.pectinFocusBinding.notifyFocusIn();
17
15
  }
18
16
  }
19
17
  onFocusOut() {
20
18
  if (this.hasBinding()) {
21
- this.pectinFocusBinding.focusContext.notifyFocusOut();
19
+ this.pectinFocusBinding.notifyFocusOut();
22
20
  }
23
21
  }
24
22
  ngOnInit() {
25
23
  }
26
24
  ngAfterViewInit() {
27
- // TODO: Make this also track the current enabled/disabled state.
28
25
  if (this.hasBinding()) {
29
- const { when } = Dsl.disposeWith(this);
30
- when.valueOf(this.pectinFocusBinding.focusContext.focused).changes((focused) => {
31
- if (focused && !this.alreadyHasFocus()) {
32
- this.tryAndFocus();
33
- }
34
- }, { initialValue: 'triggerChange' });
26
+ this.registerDisposable(this.focusBindingFactory.createBinding(this.focusTarget, this.pectinFocusBinding));
35
27
  }
36
28
  else {
37
29
  Logger.get(this).warn('pectinFocusBinding was nil');
38
30
  }
39
31
  }
40
32
  hasBinding() {
41
- return !!this.pectinFocusBinding && !!this.pectinFocusBinding.focusContext;
42
- }
43
- // Hook method for debugging via tracing.
44
- alreadyHasFocus() {
45
- return this.isFocused(this.focusTarget);
46
- }
47
- // Hook method for debugging via tracing.
48
- isFocused(element) {
49
- return this.document.activeElement === element;
50
- }
51
- tryAndFocus(retries = 5) {
52
- if (this.modelShouldStillHaveFocus() && this.canFocus()) {
53
- if (!this.alreadyHasFocus()) {
54
- this.focusTarget.focus();
55
- }
56
- // if we didn't get the focus we try again later.
57
- if (!this.alreadyHasFocus()) {
58
- Logger.get(this).log(`focus failed, trying ${retries} more times`);
59
- if (retries > 0) {
60
- // try again on the next paint
61
- // TODO: is there an angular way of doing this without calling a window function.
62
- requestAnimationFrame(() => {
63
- this.tryAndFocus(retries - 1);
64
- });
65
- }
66
- else {
67
- Logger.get(this).warn(`Tried to focus but gave up as the component wasn't enabled or visible.`);
68
- }
69
- }
70
- }
33
+ return !!this.pectinFocusBinding && !!this.pectinFocusBinding;
71
34
  }
72
35
  get focusTarget() {
73
36
  return this.focusBindingTarget || this.el.nativeElement;
74
37
  }
75
- // Hook method for debugging via tracing.
76
- modelShouldStillHaveFocus() {
77
- return this.hasBinding() && this.pectinFocusBinding.focusContext.focused.value;
78
- }
79
- // Hook method for debugging via tracing.
80
- canFocus() {
81
- const dimension = this.focusTarget.getBoundingClientRect();
82
- const hasSize = dimension.height >= 0 && dimension.height >= 0;
83
- // tslint:disable-next-line:no-string-literal
84
- return hasSize && !this.focusTarget['disabled'];
85
- }
86
38
  };
87
39
  FocusBindingDirective.ctorParameters = () => [
88
40
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
89
- { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
90
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
41
+ { type: FocusBindingFactory }
91
42
  ];
92
43
  __decorate([
93
44
  Input(),
@@ -115,10 +66,8 @@ FocusBindingDirective = __decorate([
115
66
  selector: '[pectinFocusBinding]'
116
67
  }),
117
68
  __param(0, Inject(ElementRef)),
118
- __param(1, Inject(NgZone)),
119
- __param(2, Inject(DOCUMENT)),
120
69
  __metadata("design:paramtypes", [ElementRef,
121
- NgZone, Object])
70
+ FocusBindingFactory])
122
71
  ], FocusBindingDirective);
123
72
  export { FocusBindingDirective };
124
73
  //# sourceMappingURL=focus-binding.directive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-binding.directive.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/directives/focus-binding.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, NgZone, OnInit } from '@angular/core';\nimport { Dsl, HasFocusTracking, Logger } from '@coolon/pectin';\nimport { DisposableComponent } from '../components/disposable-component';\n\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinFocusBinding]'\n})\nexport class FocusBindingDirective extends DisposableComponent implements OnInit, AfterViewInit {\n\n private readonly document: Document;\n\n @Input() pectinFocusBinding: HasFocusTracking;\n @Input() focusBindingTarget: HTMLElement;\n\n @HostListener('focusin')\n onFocusIn() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.focusContext.notifyFocusIn();\n }\n }\n\n @HostListener('focusout')\n onFocusOut() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.focusContext.notifyFocusOut();\n }\n }\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) document: any) {\n super();\n // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.document = document as Document;\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n // TODO: Make this also track the current enabled/disabled state.\n if (this.hasBinding()) {\n const { when } = Dsl.disposeWith(this);\n when.valueOf(this.pectinFocusBinding.focusContext.focused).changes((focused) => {\n if (focused && !this.alreadyHasFocus()) {\n this.tryAndFocus();\n }\n }, {initialValue: 'triggerChange'});\n } else {\n Logger.get(this).warn('pectinFocusBinding was nil');\n }\n }\n\n private hasBinding() {\n return !!this.pectinFocusBinding && !!this.pectinFocusBinding.focusContext;\n }\n\n// Hook method for debugging via tracing.\n alreadyHasFocus() {\n return this.isFocused(this.focusTarget);\n }\n\n // Hook method for debugging via tracing.\n isFocused(element: Element): boolean {\n return this.document.activeElement === element;\n }\n\n tryAndFocus(retries: number = 5) {\n if (this.modelShouldStillHaveFocus() && this.canFocus()) {\n if (!this.alreadyHasFocus()) {\n this.focusTarget.focus();\n }\n // if we didn't get the focus we try again later.\n if (!this.alreadyHasFocus()) {\n Logger.get(this).log(`focus failed, trying ${retries} more times`);\n if (retries > 0) {\n // try again on the next paint\n // TODO: is there an angular way of doing this without calling a window function.\n requestAnimationFrame(() => {\n this.tryAndFocus(retries - 1);\n });\n } else {\n Logger.get(this).warn(`Tried to focus but gave up as the component wasn't enabled or visible.`);\n }\n }\n }\n }\n\n get focusTarget(): HTMLElement {\n return this.focusBindingTarget || this.el.nativeElement;\n }\n\n // Hook method for debugging via tracing.\n modelShouldStillHaveFocus() {\n return this.hasBinding() && this.pectinFocusBinding.focusContext.focused.value;\n }\n\n // Hook method for debugging via tracing.\n canFocus(): boolean {\n const dimension = this.focusTarget.getBoundingClientRect();\n const hasSize = dimension.height >= 0 && dimension.height >= 0;\n // tslint:disable-next-line:no-string-literal\n return hasSize && !this.focusTarget['disabled'];\n }\n}\n"]}
1
+ {"version":3,"file":"focus-binding.directive.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/directives/focus-binding.directive.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAO9D,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,mBAAmB;IAoB5D,YAAiD,EAAc,EAC1C,mBAAwC;QAC3D,KAAK,EAAE,CAAC;QAFuC,OAAE,GAAF,EAAE,CAAY;QAC1C,wBAAmB,GAAnB,mBAAmB,CAAqB;IAE7D,CAAC;IAhBD,SAAS;QACP,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;SACzC;IACH,CAAC;IAGD,UAAU;QACR,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC;SAC1C;IACH,CAAC;IAOD,QAAQ;IACR,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5G;aAAM;YACL,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;SACrD;IACH,CAAC;IAEO,UAAU;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAChE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;IAC1D,CAAC;CAEF,CAAA;;YAxBsD,UAAU,uBAAlD,MAAM,SAAC,UAAU;YACY,mBAAmB;;AAlBpD;IAAR,KAAK,EAAE;;iEAA0C;AACzC;IAAR,KAAK,EAAE;8BAAqB,WAAW;iEAAC;AAGzC;IADC,YAAY,CAAC,SAAS,CAAC;;;;sDAKvB;AAGD;IADC,YAAY,CAAC,UAAU,CAAC;;;;uDAKxB;AAlBU,qBAAqB;IAJjC,SAAS,CAAC;QACT,8CAA8C;QAC9C,QAAQ,EAAE,sBAAsB;KACjC,CAAC;IAqBa,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;qCAAsB,UAAU;QACrB,mBAAmB;GArBlD,qBAAqB,CA4CjC;SA5CY,qBAAqB","sourcesContent":["import { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, OnInit } from '@angular/core';\nimport { FocusManager, Logger } from '@coolon/pectin';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { FocusBindingFactory } from './focus-binding-factory';\n\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinFocusBinding]'\n})\nexport class FocusBindingDirective extends DisposableComponent implements OnInit, AfterViewInit {\n\n\n @Input() pectinFocusBinding: FocusManager.Context; // TODO: Support @TrackExternal()\n @Input() focusBindingTarget: HTMLElement;\n\n @HostListener('focusin')\n onFocusIn() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.notifyFocusIn();\n }\n }\n\n @HostListener('focusout')\n onFocusOut() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.notifyFocusOut();\n }\n }\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef,\n readonly focusBindingFactory: FocusBindingFactory) {\n super();\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n if (this.hasBinding()) {\n this.registerDisposable(this.focusBindingFactory.createBinding(this.focusTarget, this.pectinFocusBinding));\n } else {\n Logger.get(this).warn('pectinFocusBinding was nil');\n }\n }\n\n private hasBinding() {\n return !!this.pectinFocusBinding && !!this.pectinFocusBinding;\n }\n\n get focusTarget(): HTMLElement {\n return this.focusBindingTarget || this.el.nativeElement;\n }\n\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"FocusBindingDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../components/disposable-component","name":"DisposableComponent","line":10,"character":43},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[pectinFocusBinding]"}]}],"members":{"pectinFocusBinding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"focusBindingTarget":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"onFocusIn":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["focusin"]}]}],"onFocusOut":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":24,"character":3},"arguments":["focusout"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":31,"character":22}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":32,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":32,"character":22}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":33,"character":22}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":31,"character":55},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":32,"character":55},{"__symbolic":"reference","name":"any"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"hasBinding":[{"__symbolic":"method"}],"alreadyHasFocus":[{"__symbolic":"method"}],"isFocused":[{"__symbolic":"method"}],"tryAndFocus":[{"__symbolic":"method"}],"modelShouldStillHaveFocus":[{"__symbolic":"method"}],"canFocus":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"FocusBindingDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../components/disposable-component","name":"DisposableComponent","line":10,"character":43},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[pectinFocusBinding]"}]}],"members":{"pectinFocusBinding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"focusBindingTarget":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"onFocusIn":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":16,"character":3},"arguments":["focusin"]}]}],"onFocusOut":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":23,"character":3},"arguments":["focusout"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":30,"character":22}]}],null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":30,"character":55},{"__symbolic":"reference","module":"./focus-binding-factory","name":"FocusBindingFactory","line":31,"character":44}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"hasBinding":[{"__symbolic":"method"}]}}}}]
@@ -3,6 +3,7 @@ import { DOCUMENT } from '@angular/common';
3
3
  import { Inject, NgZone } from '@angular/core';
4
4
  import { Dsl, FocusManager, GarbageCollector, Logger } from '@coolon/pectin';
5
5
  let FocusBinding = class FocusBinding extends GarbageCollector {
6
+ // TODO: update to support alternate focus mechanisms so we can interoperate with mat-checkbox
6
7
  constructor(focusTargetElement, ngZone, document, focusContext) {
7
8
  super();
8
9
  this.focusTargetElement = focusTargetElement;
@@ -1 +1 @@
1
- {"version":3,"file":"focus-binding.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/directives/focus-binding.ts"],"names":[],"mappings":"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","sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { ElementRef, Inject, Injectable, NgZone } from '@angular/core';\nimport { Dsl, FocusManager, GarbageCollector, Logger } from '@coolon/pectin';\n\nexport class FocusBinding extends GarbageCollector {\n\n private readonly document: Document;\n\n constructor(private readonly focusTargetElement: HTMLElement,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) document: any,\n readonly focusContext: FocusManager.Context) {\n super();\n // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.document = document as Document;\n\n // TODO: Make this also track the current enabled/disabled state.\n const { when } = Dsl.disposeWith(this);\n when.valueOf(this.focusContext.focused).changes((focused) => {\n if (focused && !this.alreadyHasFocus()) {\n this.tryAndFocus();\n }\n }, { initialValue: 'triggerChangeUnlessNil' });\n }\n\n onFocusIn() {\n this.focusContext.notifyFocusIn();\n }\n\n onFocusOut() {\n this.focusContext.notifyFocusOut();\n }\n\n // Hook method for debugging via tracing.\n alreadyHasFocus() {\n return this.isElementFocused(this.focusTarget);\n }\n\n // Hook method for debugging via tracing.\n isElementFocused(element: Element): boolean {\n return this.document.activeElement === element;\n }\n\n tryAndFocus(retries: number = 5) {\n if (this.modelShouldStillHaveFocus() && this.canFocus()) {\n if (!this.alreadyHasFocus()) {\n this.focusTarget.focus();\n }\n // if we didn't get the focus we try again later.\n if (!this.alreadyHasFocus()) {\n Logger.get(this).log(`focus failed, trying ${retries} more times`);\n if (retries > 0) {\n // try again on the next paint\n // TODO: is there an angular way of doing this without calling a window function.\n requestAnimationFrame(() => {\n this.tryAndFocus(retries - 1);\n });\n } else {\n Logger.get(this).warn(`Tried to focus but gave up as the component wasn't enabled or visible.`);\n }\n }\n }\n }\n\n get focusTarget(): HTMLElement {\n return this.focusTargetElement;\n }\n\n // Hook method for debugging via tracing.\n modelShouldStillHaveFocus() {\n return this.focusContext.focused.value;\n }\n\n // Hook method for debugging via tracing.\n canFocus(): boolean {\n const dimension = this.focusTarget.getBoundingClientRect();\n const hasSize = dimension.height >= 0 && dimension.height >= 0;\n // tslint:disable-next-line:no-string-literal\n return hasSize && !this.focusTarget['disabled'];\n }\n}\n"]}
1
+ {"version":3,"file":"focus-binding.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/directives/focus-binding.ts"],"names":[],"mappings":"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","sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Inject, NgZone } from '@angular/core';\nimport { Dsl, FocusManager, GarbageCollector, Logger } from '@coolon/pectin';\n\nexport class FocusBinding extends GarbageCollector {\n\n private readonly document: Document;\n\n // TODO: update to support alternate focus mechanisms so we can interoperate with mat-checkbox\n constructor(private readonly focusTargetElement: HTMLElement,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) document: any,\n readonly focusContext: FocusManager.Context) {\n super();\n // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.document = document as Document;\n\n // TODO: Make this also track the current enabled/disabled state.\n const { when } = Dsl.disposeWith(this);\n when.valueOf(this.focusContext.focused).changes((focused) => {\n if (focused && !this.alreadyHasFocus()) {\n this.tryAndFocus();\n }\n }, { initialValue: 'triggerChangeUnlessNil' });\n }\n\n onFocusIn() {\n this.focusContext.notifyFocusIn();\n }\n\n onFocusOut() {\n this.focusContext.notifyFocusOut();\n }\n\n // Hook method for debugging via tracing.\n alreadyHasFocus() {\n return this.isElementFocused(this.focusTarget);\n }\n\n // Hook method for debugging via tracing.\n isElementFocused(element: Element): boolean {\n return this.document.activeElement === element;\n }\n\n tryAndFocus(retries: number = 5) {\n if (this.modelShouldStillHaveFocus() && this.canFocus()) {\n if (!this.alreadyHasFocus()) {\n this.focusTarget.focus();\n }\n // if we didn't get the focus we try again later.\n if (!this.alreadyHasFocus()) {\n Logger.get(this).log(`focus failed, trying ${retries} more times`);\n if (retries > 0) {\n // try again on the next paint\n // TODO: is there an angular way of doing this without calling a window function.\n requestAnimationFrame(() => {\n this.tryAndFocus(retries - 1);\n });\n } else {\n Logger.get(this).warn(`Tried to focus but gave up as the component wasn't enabled or visible.`);\n }\n }\n }\n }\n\n get focusTarget(): HTMLElement {\n return this.focusTargetElement;\n }\n\n // Hook method for debugging via tracing.\n modelShouldStillHaveFocus() {\n return this.focusContext.focused.value;\n }\n\n // Hook method for debugging via tracing.\n canFocus(): boolean {\n const dimension = this.focusTarget.getBoundingClientRect();\n const hasSize = dimension.height >= 0 && dimension.height >= 0;\n // tslint:disable-next-line:no-string-literal\n return hasSize && !this.focusTarget['disabled'];\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"FocusBinding":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"GarbageCollector","line":4,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":9,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":9,"character":22}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":10,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":10,"character":22}]}],null],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":8,"character":51,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":9,"character":55},{"__symbolic":"reference","name":"any"},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"FocusManager","line":11,"character":37},"member":"Context"}]}],"onFocusIn":[{"__symbolic":"method"}],"onFocusOut":[{"__symbolic":"method"}],"alreadyHasFocus":[{"__symbolic":"method"}],"isElementFocused":[{"__symbolic":"method"}],"tryAndFocus":[{"__symbolic":"method"}],"modelShouldStillHaveFocus":[{"__symbolic":"method"}],"canFocus":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"FocusBinding":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"GarbageCollector","line":4,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":10,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":10,"character":22}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":11,"character":22}]}],null],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":9,"character":51,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":10,"character":55},{"__symbolic":"reference","name":"any"},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"FocusManager","line":12,"character":37},"member":"Context"}]}],"onFocusIn":[{"__symbolic":"method"}],"onFocusOut":[{"__symbolic":"method"}],"alreadyHasFocus":[{"__symbolic":"method"}],"isElementFocused":[{"__symbolic":"method"}],"tryAndFocus":[{"__symbolic":"method"}],"modelShouldStillHaveFocus":[{"__symbolic":"method"}],"canFocus":[{"__symbolic":"method"}]}}}}]
@@ -1,6 +1,4 @@
1
- import { __awaiter, __decorate, __metadata } from "tslib";
2
- import { Trace } from '@coolon/pectin';
3
- import { Visit } from '../visit';
1
+ import { __awaiter } from "tslib";
4
2
  export class VisitSanitiser {
5
3
  constructor(navigationSession, activatedRoute, router, placeHistory, injector) {
6
4
  this.navigationSession = navigationSession;
@@ -9,6 +7,7 @@ export class VisitSanitiser {
9
7
  this.placeHistory = placeHistory;
10
8
  this.injector = injector;
11
9
  }
10
+ // @Trace()
12
11
  sanitise(visit) {
13
12
  return __awaiter(this, void 0, void 0, function* () {
14
13
  const placeDef = visit.placeDefinition;
@@ -42,10 +41,4 @@ export class VisitSanitiser {
42
41
  });
43
42
  }
44
43
  }
45
- __decorate([
46
- Trace(),
47
- __metadata("design:type", Function),
48
- __metadata("design:paramtypes", [Visit]),
49
- __metadata("design:returntype", Promise)
50
- ], VisitSanitiser.prototype, "sanitise", null);
51
44
  //# sourceMappingURL=visit-sanitiser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visit-sanitiser.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/route/visit-sanitiser.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,OAAO,cAAc;IACzB,YAAoB,iBAAoC,EAAU,cAAsC,EAAU,MAAc,EAAU,YAA0B,EAAU,QAAkB;QAA5K,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAU,mBAAc,GAAd,cAAc,CAAwB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,aAAQ,GAAR,QAAQ,CAAU;IAEhM,CAAC;IAGK,QAAQ,CAAC,KAAY;;YACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC;YACvC,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE;gBACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACtI,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,cAAc,EAAC,CAAC,CAAC;gBACvC,oCAAoC;gBACpC,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE;oBAClD,+DAA+D;oBAC/D,qCAAqC;oBACrC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;iBAClD;aACF;YAED,2EAA2E;YAC3E,MAAM,aAAa,GAAG,QAAQ,CAAC,qBAAqB,CAAC;gBACnD,sBAAsB,EAAE,IAAI;gBAC5B,yBAAyB,EAAE,IAAI;aAChC,CAAC,CAAC;YACH,IAAI,cAAc,GAAU,KAAK,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACtI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE;oBACzC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;iBAC9D;aACF;YAED,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QACvE,CAAC;KAAA;CAEF;AAjCC;IADC,KAAK,EAAE;;qCACc,KAAK;;8CA+B1B","sourcesContent":["import { Injector } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport { NavigationSession } from '../navigation/session/navigation-session';\nimport { PlaceHistory } from '../place-history';\nimport { Visit } from '../visit';\n\nexport class VisitSanitiser {\n constructor(private navigationSession: NavigationSession, private activatedRoute: ActivatedRouteSnapshot, private router: Router, private placeHistory: PlaceHistory, private injector: Injector) {\n\n }\n\n @Trace()\n async sanitise(visit: Visit): Promise<Visit> {\n const placeDef = visit.placeDefinition;\n if (placeDef.hasRouteId()) {\n const routeIdDef = placeDef.getRouteIdParameterDef();\n const routeId = visit.getRouteId();\n const sanitisedValue = await routeIdDef.sanitise(routeId, visit, this.placeHistory, this.injector, this.navigationSession.isPopState);\n console.log({routeId, sanitisedValue});\n // ###------- EARLY EXIT --------###\n if (routeIdDef.hasChanged(routeId, sanitisedValue)) {\n // if the route id has changed we redirect immediately as other\n // parameter sanitisers might use it.\n return visit.replace(routeIdDef, sanitisedValue);\n }\n }\n\n // if we didn't replace the routeId we continue the url present parameters.\n const parameterDefs = placeDef.getVisitParameterDefs({\n includeRouteParameters: true,\n includeNonRouteParameters: true\n });\n let sanitisedVisit: Visit = visit;\n for (let i = 0; i < parameterDefs.length; i++) {\n const def = parameterDefs[i];\n const value = visit.getParameter(def.name);\n const sanitisedValue = await def.sanitise(value, sanitisedVisit, this.placeHistory, this.injector, this.navigationSession.isPopState);\n if (def.hasChanged(value, sanitisedValue)) {\n sanitisedVisit = sanitisedVisit.replace(def, sanitisedValue);\n }\n }\n\n return sanitisedVisit.hasChangedFrom(visit) ? sanitisedVisit : visit;\n }\n\n}\n"]}
1
+ {"version":3,"file":"visit-sanitiser.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/route/visit-sanitiser.ts"],"names":[],"mappings":";AAOA,MAAM,OAAO,cAAc;IACzB,YAAoB,iBAAoC,EAAU,cAAsC,EAAU,MAAc,EAAU,YAA0B,EAAU,QAAkB;QAA5K,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAU,mBAAc,GAAd,cAAc,CAAwB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,aAAQ,GAAR,QAAQ,CAAU;IAEhM,CAAC;IAED,WAAW;IACL,QAAQ,CAAC,KAAY;;YACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC;YACvC,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE;gBACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACtI,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,cAAc,EAAC,CAAC,CAAC;gBACvC,oCAAoC;gBACpC,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE;oBAClD,+DAA+D;oBAC/D,qCAAqC;oBACrC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;iBAClD;aACF;YAED,2EAA2E;YAC3E,MAAM,aAAa,GAAG,QAAQ,CAAC,qBAAqB,CAAC;gBACnD,sBAAsB,EAAE,IAAI;gBAC5B,yBAAyB,EAAE,IAAI;aAChC,CAAC,CAAC;YACH,IAAI,cAAc,GAAU,KAAK,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACtI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE;oBACzC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;iBAC9D;aACF;YAED,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QACvE,CAAC;KAAA;CAEF","sourcesContent":["import { Injector } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport { NavigationSession } from '../navigation/session/navigation-session';\nimport { PlaceHistory } from '../place-history';\nimport { Visit } from '../visit';\n\nexport class VisitSanitiser {\n constructor(private navigationSession: NavigationSession, private activatedRoute: ActivatedRouteSnapshot, private router: Router, private placeHistory: PlaceHistory, private injector: Injector) {\n\n }\n\n // @Trace()\n async sanitise(visit: Visit): Promise<Visit> {\n const placeDef = visit.placeDefinition;\n if (placeDef.hasRouteId()) {\n const routeIdDef = placeDef.getRouteIdParameterDef();\n const routeId = visit.getRouteId();\n const sanitisedValue = await routeIdDef.sanitise(routeId, visit, this.placeHistory, this.injector, this.navigationSession.isPopState);\n console.log({routeId, sanitisedValue});\n // ###------- EARLY EXIT --------###\n if (routeIdDef.hasChanged(routeId, sanitisedValue)) {\n // if the route id has changed we redirect immediately as other\n // parameter sanitisers might use it.\n return visit.replace(routeIdDef, sanitisedValue);\n }\n }\n\n // if we didn't replace the routeId we continue the url present parameters.\n const parameterDefs = placeDef.getVisitParameterDefs({\n includeRouteParameters: true,\n includeNonRouteParameters: true\n });\n let sanitisedVisit: Visit = visit;\n for (let i = 0; i < parameterDefs.length; i++) {\n const def = parameterDefs[i];\n const value = visit.getParameter(def.name);\n const sanitisedValue = await def.sanitise(value, sanitisedVisit, this.placeHistory, this.injector, this.navigationSession.isPopState);\n if (def.hasChanged(value, sanitisedValue)) {\n sanitisedVisit = sanitisedVisit.replace(def, sanitisedValue);\n }\n }\n\n return sanitisedVisit.hasChangedFrom(visit) ? sanitisedVisit : visit;\n }\n\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"VisitSanitiser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../navigation/session/navigation-session","name":"NavigationSession","line":8,"character":41},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRouteSnapshot","line":8,"character":84},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":8,"character":124},{"__symbolic":"reference","module":"../place-history","name":"PlaceHistory","line":8,"character":154},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":8,"character":186}]}],"sanitise":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"Trace","line":12,"character":3}}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"VisitSanitiser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../navigation/session/navigation-session","name":"NavigationSession","line":8,"character":41},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRouteSnapshot","line":8,"character":84},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":8,"character":124},{"__symbolic":"reference","module":"../place-history","name":"PlaceHistory","line":8,"character":154},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":8,"character":186}]}],"sanitise":[{"__symbolic":"method"}]}}}}]
@@ -2,22 +2,22 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- export { ComponentsModule as ɵe } from './lib/components/components.module';
5
+ export { ComponentsModule as ɵf } from './lib/components/components.module';
6
6
  export { DisposableComponent as ɵd } from './lib/components/disposable-component';
7
- export { FocusContainerComponent as ɵr } from './lib/components/focus-container/focus-container.component';
8
- export { FocusableComponent as ɵs } from './lib/components/focusable.component';
9
- export { AbstractInputComponent as ɵg } from './lib/components/forms/abstract-input.component';
10
- export { CheckboxInputComponent as ɵk } from './lib/components/forms/checkbox-input/checkbox-input.component';
11
- export { NumberInputComponent as ɵf } from './lib/components/forms/number-input/number-input.component';
12
- export { PasswordInputComponent as ɵi } from './lib/components/forms/password-input/password-input.component';
13
- export { SelectInputComponent as ɵj } from './lib/components/forms/select-input/select-input.component';
14
- export { StringInputComponent as ɵh } from './lib/components/forms/string-input/string-input.component';
15
- export { NoopComponent as ɵm } from './lib/components/noop/noop.component';
16
- export { ScrollContainerComponent as ɵl } from './lib/components/scroll-container/scroll-container.component';
17
- export { SwitchCaseComponent as ɵq, SwitchCaseDefaultDirective as ɵp, SwitchCaseOption as ɵn, SwitchCaseWhenDirective as ɵo } from './lib/components/switch-case/switch-case.component';
7
+ export { FocusContainerComponent as ɵs } from './lib/components/focus-container/focus-container.component';
8
+ export { FocusableComponent as ɵt } from './lib/components/focusable.component';
9
+ export { AbstractInputComponent as ɵh } from './lib/components/forms/abstract-input.component';
10
+ export { CheckboxInputComponent as ɵl } from './lib/components/forms/checkbox-input/checkbox-input.component';
11
+ export { NumberInputComponent as ɵg } from './lib/components/forms/number-input/number-input.component';
12
+ export { PasswordInputComponent as ɵj } from './lib/components/forms/password-input/password-input.component';
13
+ export { SelectInputComponent as ɵk } from './lib/components/forms/select-input/select-input.component';
14
+ export { StringInputComponent as ɵi } from './lib/components/forms/string-input/string-input.component';
15
+ export { NoopComponent as ɵn } from './lib/components/noop/noop.component';
16
+ export { ScrollContainerComponent as ɵm } from './lib/components/scroll-container/scroll-container.component';
17
+ export { SwitchCaseComponent as ɵr, SwitchCaseDefaultDirective as ɵq, SwitchCaseOption as ɵo, SwitchCaseWhenDirective as ɵp } from './lib/components/switch-case/switch-case.component';
18
18
  export { CommandDirective as ɵb } from './lib/directives/command.directive';
19
19
  export { DirectivesModule as ɵa } from './lib/directives/directives.module';
20
- export { FocusBindingFactory as ɵt } from './lib/directives/focus-binding-factory';
20
+ export { FocusBindingFactory as ɵe } from './lib/directives/focus-binding-factory';
21
21
  export { FocusBindingDirective as ɵc } from './lib/directives/focus-binding.directive';
22
22
  export { AbstractInteractionContext as ɵbm } from './lib/interaction/abstract-interaction-context';
23
23
  export { ACTIVITY_DATA as ɵbp, Activity as ɵbq } from './lib/interaction/activity';
@@ -1 +1 @@
1
- {"version":3,"file":"coolon-angular-ui-powerups.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["coolon-angular-ui-powerups.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ComponentsModule as ɵe} from './lib/components/components.module';\nexport {DisposableComponent as ɵd} from './lib/components/disposable-component';\nexport {FocusContainerComponent as ɵr} from './lib/components/focus-container/focus-container.component';\nexport {FocusableComponent as ɵs} from './lib/components/focusable.component';\nexport {AbstractInputComponent as ɵg} from './lib/components/forms/abstract-input.component';\nexport {CheckboxInputComponent as ɵk} from './lib/components/forms/checkbox-input/checkbox-input.component';\nexport {NumberInputComponent as ɵf} from './lib/components/forms/number-input/number-input.component';\nexport {PasswordInputComponent as ɵi} from './lib/components/forms/password-input/password-input.component';\nexport {SelectInputComponent as ɵj} from './lib/components/forms/select-input/select-input.component';\nexport {StringInputComponent as ɵh} from './lib/components/forms/string-input/string-input.component';\nexport {NoopComponent as ɵm} from './lib/components/noop/noop.component';\nexport {ScrollContainerComponent as ɵl} from './lib/components/scroll-container/scroll-container.component';\nexport {SwitchCaseComponent as ɵq,SwitchCaseDefaultDirective as ɵp,SwitchCaseOption as ɵn,SwitchCaseWhenDirective as ɵo} from './lib/components/switch-case/switch-case.component';\nexport {CommandDirective as ɵb} from './lib/directives/command.directive';\nexport {DirectivesModule as ɵa} from './lib/directives/directives.module';\nexport {FocusBindingFactory as ɵt} from './lib/directives/focus-binding-factory';\nexport {FocusBindingDirective as ɵc} from './lib/directives/focus-binding.directive';\nexport {AbstractInteractionContext as ɵbm} from './lib/interaction/abstract-interaction-context';\nexport {ACTIVITY_DATA as ɵbp,Activity as ɵbq} from './lib/interaction/activity';\nexport {Alert as ɵbu} from './lib/interaction/alert';\nexport {ActivityContainerComponent as ɵbl} from './lib/interaction/components/activity-container/activity-container.component';\nexport {ActivityOutletComponent as ɵbn} from './lib/interaction/components/activity-container/activity-outlet/activity-outlet.component';\nexport {AlertDialogComponent as ɵbt} from './lib/interaction/components/alert-dialog/alert-dialog.component';\nexport {ConfirmThenDialogComponent as ɵbs} from './lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component';\nexport {ConfirmationDialogComponent as ɵbo} from './lib/interaction/components/confirmation-dialog/confirmation-dialog.component';\nexport {InPlaceInteractionContextComponent as ɵbv} from './lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component';\nexport {Confirm as ɵbr} from './lib/interaction/confirm';\nexport {InteractionModule as ɵbk} from './lib/interaction/interaction.module';\nexport {InteractionService as ɵbd} from './lib/interaction/services/interaction.service';\nexport {ModalInteractionContextFactory as ɵbe} from './lib/interaction/services/modal-interaction-context.factory';\nexport {AbstractPlaceNavigationComponent as ɵbi} from './lib/place/components/abstract-place-navigation.component';\nexport {BusyOverlayComponent as ɵw} from './lib/place/components/busy-overlay/busy-overlay.component';\nexport {EmptyStateComponent as ɵv} from './lib/place/components/empty-state/empty-state.component';\nexport {ListPlaceNavComponent as ɵbj} from './lib/place/components/list-place-nav/list-place-nav.component';\nexport {PlaceOutletComponent as ɵx} from './lib/place/components/place-outlet/place-outlet.component';\nexport {LEFT_RIGHT_PLACE_ANIMATION as ɵz,leftRightPlaceAnimation as ɵy} from './lib/place/components/place-outlet/route-animations';\nexport {TabbedPlaceNavigationComponent as ɵbh} from './lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component';\nexport {AUP_PLACE_CONFIG as ɵba,PlaceConfig as ɵbb} from './lib/place/place-config';\nexport {PlaceHistory as ɵbg} from './lib/place/place-history';\nexport {PlaceRouter as ɵbc} from './lib/place/place-router';\nexport {PlaceModule as ɵu} from './lib/place/place.module';\nexport {UrlService as ɵbf} from './lib/place/url-service';"]}
1
+ {"version":3,"file":"coolon-angular-ui-powerups.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["coolon-angular-ui-powerups.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ComponentsModule as ɵf} from './lib/components/components.module';\nexport {DisposableComponent as ɵd} from './lib/components/disposable-component';\nexport {FocusContainerComponent as ɵs} from './lib/components/focus-container/focus-container.component';\nexport {FocusableComponent as ɵt} from './lib/components/focusable.component';\nexport {AbstractInputComponent as ɵh} from './lib/components/forms/abstract-input.component';\nexport {CheckboxInputComponent as ɵl} from './lib/components/forms/checkbox-input/checkbox-input.component';\nexport {NumberInputComponent as ɵg} from './lib/components/forms/number-input/number-input.component';\nexport {PasswordInputComponent as ɵj} from './lib/components/forms/password-input/password-input.component';\nexport {SelectInputComponent as ɵk} from './lib/components/forms/select-input/select-input.component';\nexport {StringInputComponent as ɵi} from './lib/components/forms/string-input/string-input.component';\nexport {NoopComponent as ɵn} from './lib/components/noop/noop.component';\nexport {ScrollContainerComponent as ɵm} from './lib/components/scroll-container/scroll-container.component';\nexport {SwitchCaseComponent as ɵr,SwitchCaseDefaultDirective as ɵq,SwitchCaseOption as ɵo,SwitchCaseWhenDirective as ɵp} from './lib/components/switch-case/switch-case.component';\nexport {CommandDirective as ɵb} from './lib/directives/command.directive';\nexport {DirectivesModule as ɵa} from './lib/directives/directives.module';\nexport {FocusBindingFactory as ɵe} from './lib/directives/focus-binding-factory';\nexport {FocusBindingDirective as ɵc} from './lib/directives/focus-binding.directive';\nexport {AbstractInteractionContext as ɵbm} from './lib/interaction/abstract-interaction-context';\nexport {ACTIVITY_DATA as ɵbp,Activity as ɵbq} from './lib/interaction/activity';\nexport {Alert as ɵbu} from './lib/interaction/alert';\nexport {ActivityContainerComponent as ɵbl} from './lib/interaction/components/activity-container/activity-container.component';\nexport {ActivityOutletComponent as ɵbn} from './lib/interaction/components/activity-container/activity-outlet/activity-outlet.component';\nexport {AlertDialogComponent as ɵbt} from './lib/interaction/components/alert-dialog/alert-dialog.component';\nexport {ConfirmThenDialogComponent as ɵbs} from './lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component';\nexport {ConfirmationDialogComponent as ɵbo} from './lib/interaction/components/confirmation-dialog/confirmation-dialog.component';\nexport {InPlaceInteractionContextComponent as ɵbv} from './lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component';\nexport {Confirm as ɵbr} from './lib/interaction/confirm';\nexport {InteractionModule as ɵbk} from './lib/interaction/interaction.module';\nexport {InteractionService as ɵbd} from './lib/interaction/services/interaction.service';\nexport {ModalInteractionContextFactory as ɵbe} from './lib/interaction/services/modal-interaction-context.factory';\nexport {AbstractPlaceNavigationComponent as ɵbi} from './lib/place/components/abstract-place-navigation.component';\nexport {BusyOverlayComponent as ɵw} from './lib/place/components/busy-overlay/busy-overlay.component';\nexport {EmptyStateComponent as ɵv} from './lib/place/components/empty-state/empty-state.component';\nexport {ListPlaceNavComponent as ɵbj} from './lib/place/components/list-place-nav/list-place-nav.component';\nexport {PlaceOutletComponent as ɵx} from './lib/place/components/place-outlet/place-outlet.component';\nexport {LEFT_RIGHT_PLACE_ANIMATION as ɵz,leftRightPlaceAnimation as ɵy} from './lib/place/components/place-outlet/route-animations';\nexport {TabbedPlaceNavigationComponent as ɵbh} from './lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component';\nexport {AUP_PLACE_CONFIG as ɵba,PlaceConfig as ɵbb} from './lib/place/place-config';\nexport {PlaceHistory as ɵbg} from './lib/place/place-history';\nexport {PlaceRouter as ɵbc} from './lib/place/place-router';\nexport {PlaceModule as ɵu} from './lib/place/place.module';\nexport {UrlService as ɵbf} from './lib/place/url-service';"]}