@theseam/ui-common 0.2.16 → 0.3.1

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 (97) hide show
  1. package/breadcrumbs/_breadcrumbs-theme.scss +3 -0
  2. package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +10 -0
  3. package/breadcrumbs/styles/_utilities.scss +3 -0
  4. package/breadcrumbs/styles/_variables.scss +1 -0
  5. package/breadcrumbs/theseam-ui-common-breadcrumbs.metadata.json +1 -1
  6. package/bundles/theseam-ui-common-breadcrumbs.umd.js +2 -1
  7. package/bundles/theseam-ui-common-breadcrumbs.umd.js.map +1 -1
  8. package/bundles/theseam-ui-common-datatable.umd.js.map +1 -1
  9. package/bundles/theseam-ui-common-framework.umd.js +18 -15
  10. package/bundles/theseam-ui-common-framework.umd.js.map +1 -1
  11. package/bundles/theseam-ui-common-scrollbar.umd.js +1 -1
  12. package/bundles/theseam-ui-common-scrollbar.umd.js.map +1 -1
  13. package/bundles/theseam-ui-common-table-cell-types.umd.js +89 -4
  14. package/bundles/theseam-ui-common-table-cell-types.umd.js.map +1 -1
  15. package/bundles/theseam-ui-common-tel-input.umd.js +59 -7
  16. package/bundles/theseam-ui-common-tel-input.umd.js.map +1 -1
  17. package/bundles/theseam-ui-common-testing.umd.js.map +1 -1
  18. package/bundles/theseam-ui-common-utils.umd.js.map +1 -1
  19. package/bundles/theseam-ui-common-viewers.umd.js +269 -4
  20. package/bundles/theseam-ui-common-viewers.umd.js.map +1 -1
  21. package/bundles/theseam-ui-common-widget.umd.js +1 -1
  22. package/esm2015/breadcrumbs/breadcrumbs/breadcrumbs.component.js +4 -3
  23. package/esm2015/datatable/models/columns-alteration.js +1 -1
  24. package/esm2015/datatable/models/columns-alterations/hide-column.columns-alteration.js +1 -1
  25. package/esm2015/datatable/models/columns-alterations/sort.columns-alteration.js +1 -1
  26. package/esm2015/datatable/models/columns-alterations/width.columns-alteration.js +1 -1
  27. package/esm2015/datatable/models/internal-column-props.js +1 -1
  28. package/esm2015/datatable/services/columns-alterations-manager.service.js +1 -1
  29. package/esm2015/datatable/utils/map-columns-alterations-states.js +1 -1
  30. package/esm2015/framework/base-layout/base-layout.component.js +3 -3
  31. package/esm2015/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.js +5 -5
  32. package/esm2015/framework/top-bar/top-bar-title/top-bar-title.component.js +4 -3
  33. package/esm2015/framework/top-bar/top-bar.component.js +10 -8
  34. package/esm2015/graphql/models/gql-datatable-accessor.js +1 -1
  35. package/esm2015/scrollbar/overlay-scrollbar.directive.js +2 -2
  36. package/esm2015/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.js +1 -1
  37. package/esm2015/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.js +17 -2
  38. package/esm2015/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.js +1 -1
  39. package/esm2015/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.js +16 -2
  40. package/esm2015/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.js +1 -1
  41. package/esm2015/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.js +16 -2
  42. package/esm2015/table-cell-types/table-cell-type-string/table-cell-type-string-config.js +1 -1
  43. package/esm2015/table-cell-types/table-cell-type-string/table-cell-type-string.component.js +32 -4
  44. package/esm2015/tel-input/tel-input/tel-input.component.js +10 -2
  45. package/esm2015/tel-input/tel-input.directive.js +50 -5
  46. package/esm2015/testing/current-tick-time.js +1 -1
  47. package/esm2015/utils/array-move.js +1 -1
  48. package/esm2015/utils/router/is-empty-url-route.js +1 -1
  49. package/esm2015/viewers/html-template-viewer/html-template-viewer.component.js +219 -0
  50. package/esm2015/viewers/html-template-viewer/html-template-viewer.module.js +23 -0
  51. package/esm2015/viewers/html-template-viewer/index.js +3 -0
  52. package/esm2015/viewers/public-api.js +2 -1
  53. package/esm2015/widget/widget/widget.component.js +1 -1
  54. package/fesm2015/theseam-ui-common-breadcrumbs.js +3 -2
  55. package/fesm2015/theseam-ui-common-breadcrumbs.js.map +1 -1
  56. package/fesm2015/theseam-ui-common-datatable.js.map +1 -1
  57. package/fesm2015/theseam-ui-common-framework.js +15 -12
  58. package/fesm2015/theseam-ui-common-framework.js.map +1 -1
  59. package/fesm2015/theseam-ui-common-scrollbar.js +1 -1
  60. package/fesm2015/theseam-ui-common-scrollbar.js.map +1 -1
  61. package/fesm2015/theseam-ui-common-table-cell-types.js +74 -5
  62. package/fesm2015/theseam-ui-common-table-cell-types.js.map +1 -1
  63. package/fesm2015/theseam-ui-common-tel-input.js +58 -6
  64. package/fesm2015/theseam-ui-common-tel-input.js.map +1 -1
  65. package/fesm2015/theseam-ui-common-testing.js.map +1 -1
  66. package/fesm2015/theseam-ui-common-utils.js.map +1 -1
  67. package/fesm2015/theseam-ui-common-viewers.js +237 -2
  68. package/fesm2015/theseam-ui-common-viewers.js.map +1 -1
  69. package/fesm2015/theseam-ui-common-widget.js +1 -1
  70. package/framework/base-layout/base-layout.component.scss +14 -0
  71. package/framework/base-layout/styles/_variables.scss +14 -0
  72. package/framework/theseam-ui-common-framework.metadata.json +1 -1
  73. package/framework/top-bar/_top-bar-theme.scss +5 -0
  74. package/framework/top-bar/styles/_utilities.scss +3 -0
  75. package/framework/top-bar/styles/_variables.scss +18 -0
  76. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +3 -1
  77. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.scss +15 -0
  78. package/framework/top-bar/top-bar-title/top-bar-title.component.scss +6 -0
  79. package/framework/top-bar/top-bar.component.d.ts +3 -0
  80. package/framework/top-bar/top-bar.component.scss +39 -0
  81. package/package.json +1 -1
  82. package/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.d.ts +5 -0
  83. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +5 -0
  84. package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +5 -0
  85. package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +8 -0
  86. package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +9 -0
  87. package/table-cell-types/theseam-ui-common-table-cell-types.metadata.json +1 -1
  88. package/tel-input/tel-input.directive.d.ts +7 -3
  89. package/tel-input/theseam-ui-common-tel-input.metadata.json +1 -1
  90. package/viewers/html-template-viewer/html-template-viewer.component.d.ts +67 -0
  91. package/viewers/html-template-viewer/html-template-viewer.module.d.ts +2 -0
  92. package/viewers/html-template-viewer/index.d.ts +2 -0
  93. package/viewers/public-api.d.ts +1 -0
  94. package/viewers/theseam-ui-common-viewers.metadata.json +1 -1
  95. package/widget/styles/_variables.scss +2 -0
  96. package/widget/theseam-ui-common-widget.metadata.json +1 -1
  97. package/widget/widget/widget.component.scss +2 -0
@@ -142,7 +142,7 @@
142
142
  set: function (value) {
143
143
  this._disabled = !coercion.coerceBooleanProperty(value);
144
144
  if (!this._disabled) {
145
- this._scrollbars.initializeInstance(this._ref.nativeElement);
145
+ this._scrollbars.initializeInstance(this._ref.nativeElement, this._options);
146
146
  }
147
147
  else {
148
148
  this._scrollbars.destroyInstance(this._ref.nativeElement);
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-scrollbar.umd.js","sources":["../../../projects/ui-common/scrollbar/overlay-scrollbars-config.ts","../../../projects/ui-common/scrollbar/overlay-scrollbars.service.ts","../../../projects/ui-common/scrollbar/overlay-scrollbar.directive.ts","../../../projects/ui-common/scrollbar/scrollbar.module.ts","../../../projects/ui-common/scrollbar/theseam-ui-common-scrollbar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\n\nimport { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\nexport const _OverlayScrollbarDefaults: IOverlayScrollbarsConfig = {\n className: 'os-theme-dark os-theme-no-hover',\n sizeAutoCapable: false,\n paddingAbsolute: true,\n autoUpdate: true\n}\n\nexport function mergeOverlayScrollbarsConfigs(a: IOverlayScrollbarsConfig, b: IOverlayScrollbarsConfig) {\n return { ...a, ...b }\n}\n\n/** Injection token that can be used to specify overlayscrollbars options. */\nexport const LIB_OVERLAY_SCROLLBARS_CONFIG = new InjectionToken<IOverlayScrollbarsConfig>('seamOverlayScrollbarsConfig')\n","import { Platform } from '@angular/cdk/platform'\nimport { forwardRef, inject, Injectable, InjectionToken, Injector, INJECTOR, NgZone } from '@angular/core'\nimport { fromEvent, Subscription } from 'rxjs'\n\nimport OverlayScrollbars from 'overlayscrollbars'\n\nimport { LIB_OVERLAY_SCROLLBARS_CONFIG } from './overlay-scrollbars-config'\nimport { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OverlayScrollbarsService {\n\n private _inputEventSubscription = Subscription.EMPTY\n\n constructor(\n private _ngZone: NgZone,\n private injector: Injector,\n private _platform: Platform\n ) { }\n\n public initializeInstance(element: HTMLElement, options?: IOverlayScrollbarsConfig): void {\n if (!this.isInstanceEnabled(element) &&\n // The 'overlayscrollbars' library is causing an issue on iOS. Since iOS\n // already has native overlay scrollbars it shouldn't really effect the\n // app layout.\n !(this._isTextarea(element) && this._platform.IOS)\n ) {\n this._ngZone.runOutsideAngular(() => {\n OverlayScrollbars(element, this._applyConfigDefaults(options))\n\n if (this._isTextarea(element)) {\n // TODO: Make this more accurate. Right now this is just relying on\n // the fact that timing out for 100ms is usually enough time to wait\n // for update to correctly calculate.\n // NOTE: This may be fixed in a newer version to not need this hack.\n fromEvent(element, 'change').subscribe(_ => {\n this._ngZone.run(() => {\n setTimeout(() => {\n if (this.isInstanceEnabled(element)) {\n this.getInstance(element).update()\n }\n }, 100)\n })\n })\n }\n })\n }\n }\n\n public destroyInstance(element: HTMLElement): void {\n if (this.isInstanceEnabled(element)) {\n this._ngZone.runOutsideAngular(() => {\n this.getInstance(element).destroy()\n if (this._inputEventSubscription && !this._inputEventSubscription.closed) {\n this._inputEventSubscription.unsubscribe()\n }\n })\n }\n }\n\n public getInstance(element: HTMLElement): OverlayScrollbars {\n return OverlayScrollbars(element) as OverlayScrollbars\n }\n\n public isInstanceEnabled(element: HTMLElement): boolean {\n return !!this.getInstance(element)\n }\n\n public setOptions(element: HTMLElement, options: IOverlayScrollbarsConfig): boolean {\n if (!this.isInstanceEnabled(element)) { return false }\n\n this.getInstance(element).options(this._applyConfigDefaults(options))\n\n return true\n }\n\n public getOptions(element: HTMLElement): IOverlayScrollbarsConfig {\n return this.getInstance(element).options()\n }\n\n private _applyConfigDefaults(config?: IOverlayScrollbarsConfig): IOverlayScrollbarsConfig {\n const _config: IOverlayScrollbarsConfig = this.injector.get(LIB_OVERLAY_SCROLLBARS_CONFIG)\n return {..._config, ...config}\n }\n\n /** Determines if the component host is a textarea. */\n protected _isTextarea(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'textarea'\n }\n\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { AfterViewInit, Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core'\n\nimport OverlayScrollbars from 'overlayscrollbars'\n\nimport { OverlayScrollbarsService } from './overlay-scrollbars.service'\n\nimport type { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\n@Directive({\n selector: '[seamOverlayScrollbar]',\n exportAs: 'seamOverlayScrollbar'\n})\nexport class OverlayScrollbarDirective implements OnInit, AfterViewInit, OnDestroy {\n static ngAcceptInputType_seamOverlayScrollbar: IOverlayScrollbarsConfig | undefined | null | ''\n\n private _disabled = false\n\n @Input()\n set seamOverlayScrollbar(value: IOverlayScrollbarsConfig | undefined | null) { this.options = value }\n\n @Input()\n get overlayScrollbarEnabled(): boolean {\n return this._scrollbars.isInstanceEnabled(this._ref.nativeElement)\n }\n set overlayScrollbarEnabled(value: boolean) {\n this._disabled = !coerceBooleanProperty(value)\n if (!this._disabled) {\n this._scrollbars.initializeInstance(this._ref.nativeElement)\n } else {\n this._scrollbars.destroyInstance(this._ref.nativeElement)\n }\n }\n\n set options(value: IOverlayScrollbarsConfig | undefined | null) {\n this._options = value || {}\n this._scrollbars.setOptions(this._ref.nativeElement, this._options)\n }\n get options() {\n if (this._scrollbars.isInstanceEnabled(this._ref.nativeElement)) {\n return this._scrollbars.getOptions(this._ref.nativeElement)\n }\n return this._options\n }\n private _options: IOverlayScrollbarsConfig = {}\n\n constructor(\n private _ref: ElementRef,\n private _scrollbars: OverlayScrollbarsService\n ) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n if (!this._disabled) {\n this._scrollbars.initializeInstance(this._ref.nativeElement, this._options)\n }\n }\n\n ngOnDestroy() {\n this._scrollbars.destroyInstance(this._ref.nativeElement)\n }\n\n get instance(): OverlayScrollbars {\n return this._scrollbars.getInstance(this._ref.nativeElement)\n }\n\n}\n","import { PlatformModule } from '@angular/cdk/platform'\nimport { NgModule } from '@angular/core'\n\nimport { OverlayScrollbarDirective } from './overlay-scrollbar.directive'\nimport { LIB_OVERLAY_SCROLLBARS_CONFIG, _OverlayScrollbarDefaults } from './overlay-scrollbars-config'\n\n@NgModule({\n declarations: [\n OverlayScrollbarDirective\n ],\n imports: [\n PlatformModule\n ],\n providers: [\n { provide: LIB_OVERLAY_SCROLLBARS_CONFIG, useValue: _OverlayScrollbarDefaults }\n ],\n exports: [\n OverlayScrollbarDirective\n ]\n})\nexport class TheSeamScrollbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","Subscription","OverlayScrollbars","fromEvent","Injectable","NgZone","Injector","Platform","coerceBooleanProperty","Directive","ElementRef","Input","NgModule","PlatformModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAIa,yBAAyB,GAA6B;QACjE,SAAS,EAAE,iCAAiC;QAC5C,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,IAAI;MACjB;aAEe,6BAA6B,CAAC,CAA2B,EAAE,CAA2B;QACpG,uCAAY,CAAC,GAAK,CAAC,EAAE;IACvB,CAAC;IAED;QACa,6BAA6B,GAAG,IAAIA,iBAAc,CAA2B,6BAA6B;;;QCArH,kCACU,OAAe,EACf,QAAkB,EAClB,SAAmB;YAFnB,YAAO,GAAP,OAAO,CAAQ;YACf,aAAQ,GAAR,QAAQ,CAAU;YAClB,cAAS,GAAT,SAAS,CAAU;YALrB,4BAAuB,GAAGC,iBAAY,CAAC,KAAK,CAAA;SAM/C;QAEE,qDAAkB,GAAlB,UAAmB,OAAoB,EAAE,OAAkC;YAA3E,iBA2BN;YA1BC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;;;;gBAIlC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAClD;gBACA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAC7BC,qCAAiB,CAAC,OAAO,EAAE,KAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;oBAE9D,IAAI,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;;;;;wBAK7BC,cAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAA,CAAC;4BACtC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gCACf,UAAU,CAAC;oCACT,IAAI,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;wCACnC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;qCACnC;iCACF,EAAE,GAAG,CAAC,CAAA;6BACR,CAAC,CAAA;yBACH,CAAC,CAAA;qBACH;iBACF,CAAC,CAAA;aACH;SACF;QAEM,kDAAe,GAAf,UAAgB,OAAoB;YAApC,iBASN;YARC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAC7B,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;oBACnC,IAAI,KAAI,CAAC,uBAAuB,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE;wBACxE,KAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAA;qBAC3C;iBACF,CAAC,CAAA;aACH;SACF;QAEM,8CAAW,GAAX,UAAY,OAAoB;YACrC,OAAOD,qCAAiB,CAAC,OAAO,CAAsB,CAAA;SACvD;QAEM,oDAAiB,GAAjB,UAAkB,OAAoB;YAC3C,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;SACnC;QAEM,6CAAU,GAAV,UAAW,OAAoB,EAAE,OAAiC;YACvE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAA;aAAE;YAEtD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;YAErE,OAAO,IAAI,CAAA;SACZ;QAEM,6CAAU,GAAV,UAAW,OAAoB;YACpC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;SAC3C;QAEO,uDAAoB,GAApB,UAAqB,MAAiC;YAC5D,IAAM,OAAO,GAA6B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;YAC1F,uCAAW,OAAO,GAAK,MAAM,EAAC;SAC/B;;QAGS,8CAAW,GAAX,UAAY,OAAoB;YACxC,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,UAAU,CAAA;SACrD;;;;;gBAjFFE,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;gBAV4EC,SAAM;gBAA1BC,WAAQ;gBADxDC,WAAQ;;;;QC8Cf,mCACU,IAAgB,EAChB,WAAqC;YADrC,SAAI,GAAJ,IAAI,CAAY;YAChB,gBAAW,GAAX,WAAW,CAA0B;YAhCvC,cAAS,GAAG,KAAK,CAAA;YA4BjB,aAAQ,GAA6B,EAAE,CAAA;SAK1C;QA/BL,sBACI,2DAAoB;iBADxB,UACyB,KAAkD,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA,EAAE;;;WAAA;QAErG,sBACI,8DAAuB;iBAD3B;gBAEE,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;aACnE;iBACD,UAA4B,KAAc;gBACxC,IAAI,CAAC,SAAS,GAAG,CAACC,8BAAqB,CAAC,KAAK,CAAC,CAAA;gBAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACnB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;iBAC7D;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;iBAC1D;aACF;;;WARA;QAUD,sBAAI,8CAAO;iBAIX;gBACE,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;iBAC5D;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAA;aACrB;iBATD,UAAY,KAAkD;gBAC5D,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,EAAE,CAAA;gBAC3B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;aACpE;;;WAAA;QAcD,4CAAQ,GAAR,eAAc;QAEd,mDAAe,GAAf;YACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;aAC5E;SACF;QAED,+CAAW,GAAX;YACE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;SAC1D;QAED,sBAAI,+CAAQ;iBAAZ;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;aAC7D;;;WAAA;;;;gBAxDFC,YAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,QAAQ,EAAE,sBAAsB;iBACjC;;;gBAXkCC,aAAU;gBAIpC,wBAAwB;;;uCAa9BC,QAAK;0CAGLA,QAAK;;;aCPgD,yBAAyB;;QAMjF;;;;;gBAdCC,WAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,yBAAyB;qBAC1B;oBACD,OAAO,EAAE;wBACPC,iBAAc;qBACf;oBACD,SAAS,EAAE;wBACT,EAAE,OAAO,EAAE,6BAA6B,EAAE,QAAQ,IAA2B,EAAE;qBAChF;oBACD,OAAO,EAAE;wBACP,yBAAyB;qBAC1B;iBACF;;;ICnBD;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"theseam-ui-common-scrollbar.umd.js","sources":["../../../projects/ui-common/scrollbar/overlay-scrollbars-config.ts","../../../projects/ui-common/scrollbar/overlay-scrollbars.service.ts","../../../projects/ui-common/scrollbar/overlay-scrollbar.directive.ts","../../../projects/ui-common/scrollbar/scrollbar.module.ts","../../../projects/ui-common/scrollbar/theseam-ui-common-scrollbar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\n\nimport { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\nexport const _OverlayScrollbarDefaults: IOverlayScrollbarsConfig = {\n className: 'os-theme-dark os-theme-no-hover',\n sizeAutoCapable: false,\n paddingAbsolute: true,\n autoUpdate: true\n}\n\nexport function mergeOverlayScrollbarsConfigs(a: IOverlayScrollbarsConfig, b: IOverlayScrollbarsConfig) {\n return { ...a, ...b }\n}\n\n/** Injection token that can be used to specify overlayscrollbars options. */\nexport const LIB_OVERLAY_SCROLLBARS_CONFIG = new InjectionToken<IOverlayScrollbarsConfig>('seamOverlayScrollbarsConfig')\n","import { Platform } from '@angular/cdk/platform'\nimport { forwardRef, inject, Injectable, InjectionToken, Injector, INJECTOR, NgZone } from '@angular/core'\nimport { fromEvent, Subscription } from 'rxjs'\n\nimport OverlayScrollbars from 'overlayscrollbars'\n\nimport { LIB_OVERLAY_SCROLLBARS_CONFIG } from './overlay-scrollbars-config'\nimport { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OverlayScrollbarsService {\n\n private _inputEventSubscription = Subscription.EMPTY\n\n constructor(\n private _ngZone: NgZone,\n private injector: Injector,\n private _platform: Platform\n ) { }\n\n public initializeInstance(element: HTMLElement, options?: IOverlayScrollbarsConfig): void {\n if (!this.isInstanceEnabled(element) &&\n // The 'overlayscrollbars' library is causing an issue on iOS. Since iOS\n // already has native overlay scrollbars it shouldn't really effect the\n // app layout.\n !(this._isTextarea(element) && this._platform.IOS)\n ) {\n this._ngZone.runOutsideAngular(() => {\n OverlayScrollbars(element, this._applyConfigDefaults(options))\n\n if (this._isTextarea(element)) {\n // TODO: Make this more accurate. Right now this is just relying on\n // the fact that timing out for 100ms is usually enough time to wait\n // for update to correctly calculate.\n // NOTE: This may be fixed in a newer version to not need this hack.\n fromEvent(element, 'change').subscribe(_ => {\n this._ngZone.run(() => {\n setTimeout(() => {\n if (this.isInstanceEnabled(element)) {\n this.getInstance(element).update()\n }\n }, 100)\n })\n })\n }\n })\n }\n }\n\n public destroyInstance(element: HTMLElement): void {\n if (this.isInstanceEnabled(element)) {\n this._ngZone.runOutsideAngular(() => {\n this.getInstance(element).destroy()\n if (this._inputEventSubscription && !this._inputEventSubscription.closed) {\n this._inputEventSubscription.unsubscribe()\n }\n })\n }\n }\n\n public getInstance(element: HTMLElement): OverlayScrollbars {\n return OverlayScrollbars(element) as OverlayScrollbars\n }\n\n public isInstanceEnabled(element: HTMLElement): boolean {\n return !!this.getInstance(element)\n }\n\n public setOptions(element: HTMLElement, options: IOverlayScrollbarsConfig): boolean {\n if (!this.isInstanceEnabled(element)) { return false }\n\n this.getInstance(element).options(this._applyConfigDefaults(options))\n\n return true\n }\n\n public getOptions(element: HTMLElement): IOverlayScrollbarsConfig {\n return this.getInstance(element).options()\n }\n\n private _applyConfigDefaults(config?: IOverlayScrollbarsConfig): IOverlayScrollbarsConfig {\n const _config: IOverlayScrollbarsConfig = this.injector.get(LIB_OVERLAY_SCROLLBARS_CONFIG)\n return {..._config, ...config}\n }\n\n /** Determines if the component host is a textarea. */\n protected _isTextarea(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'textarea'\n }\n\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { AfterViewInit, Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core'\n\nimport OverlayScrollbars from 'overlayscrollbars'\n\nimport { OverlayScrollbarsService } from './overlay-scrollbars.service'\n\nimport type { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\n@Directive({\n selector: '[seamOverlayScrollbar]',\n exportAs: 'seamOverlayScrollbar'\n})\nexport class OverlayScrollbarDirective implements OnInit, AfterViewInit, OnDestroy {\n static ngAcceptInputType_seamOverlayScrollbar: IOverlayScrollbarsConfig | undefined | null | ''\n\n private _disabled = false\n\n @Input()\n set seamOverlayScrollbar(value: IOverlayScrollbarsConfig | undefined | null) { this.options = value }\n\n @Input()\n get overlayScrollbarEnabled(): boolean {\n return this._scrollbars.isInstanceEnabled(this._ref.nativeElement)\n }\n set overlayScrollbarEnabled(value: boolean) {\n this._disabled = !coerceBooleanProperty(value)\n if (!this._disabled) {\n this._scrollbars.initializeInstance(this._ref.nativeElement, this._options)\n } else {\n this._scrollbars.destroyInstance(this._ref.nativeElement)\n }\n }\n\n set options(value: IOverlayScrollbarsConfig | undefined | null) {\n this._options = value || {}\n this._scrollbars.setOptions(this._ref.nativeElement, this._options)\n }\n get options() {\n if (this._scrollbars.isInstanceEnabled(this._ref.nativeElement)) {\n return this._scrollbars.getOptions(this._ref.nativeElement)\n }\n return this._options\n }\n private _options: IOverlayScrollbarsConfig = {}\n\n constructor(\n private _ref: ElementRef,\n private _scrollbars: OverlayScrollbarsService\n ) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n if (!this._disabled) {\n this._scrollbars.initializeInstance(this._ref.nativeElement, this._options)\n }\n }\n\n ngOnDestroy() {\n this._scrollbars.destroyInstance(this._ref.nativeElement)\n }\n\n get instance(): OverlayScrollbars {\n return this._scrollbars.getInstance(this._ref.nativeElement)\n }\n\n}\n","import { PlatformModule } from '@angular/cdk/platform'\nimport { NgModule } from '@angular/core'\n\nimport { OverlayScrollbarDirective } from './overlay-scrollbar.directive'\nimport { LIB_OVERLAY_SCROLLBARS_CONFIG, _OverlayScrollbarDefaults } from './overlay-scrollbars-config'\n\n@NgModule({\n declarations: [\n OverlayScrollbarDirective\n ],\n imports: [\n PlatformModule\n ],\n providers: [\n { provide: LIB_OVERLAY_SCROLLBARS_CONFIG, useValue: _OverlayScrollbarDefaults }\n ],\n exports: [\n OverlayScrollbarDirective\n ]\n})\nexport class TheSeamScrollbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","Subscription","OverlayScrollbars","fromEvent","Injectable","NgZone","Injector","Platform","coerceBooleanProperty","Directive","ElementRef","Input","NgModule","PlatformModule"],"mappings":"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"}
@@ -43,11 +43,24 @@
43
43
  TableCellTypeCurrencyComponent.prototype._formatCurrency = function (currentValue, tableData) {
44
44
  var _a;
45
45
  var config = (_a = tableData === null || tableData === void 0 ? void 0 : tableData.colData) === null || _a === void 0 ? void 0 : _a.cellTypeConfig;
46
+ var defaultToEmpty = utils.notNullOrUndefined(config === null || config === void 0 ? void 0 : config.defaultToEmpty) ?
47
+ this._parseConfigValue(coercion.coerceBooleanProperty(config === null || config === void 0 ? void 0 : config.defaultToEmpty), tableData) : true;
48
+ var valueIsNumeric = utils.isNumeric(currentValue);
49
+ if (!valueIsNumeric) {
50
+ if (defaultToEmpty) {
51
+ // return empty string instead of $0 when currentValue is empty or unparseable
52
+ return '';
53
+ }
54
+ else {
55
+ // set non-numeric value to 0 so it can be formatted the same as other numbers
56
+ currentValue = 0;
57
+ }
58
+ }
46
59
  var locale = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.locale, tableData) || 'en-US';
47
60
  var currency = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.currency, tableData) || '$';
48
61
  var currencyCode = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.currencyCode, tableData) || 'USD';
49
62
  var minIntegerDigits = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.minIntegerDigits, tableData) || 1;
50
- var minFractionDigits = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.minFractionDigits, tableData) || 0;
63
+ var minFractionDigits = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.minFractionDigits, tableData) || 2;
51
64
  var maxFractionDigits = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.maxFractionDigits, tableData) || 2;
52
65
  var format = minIntegerDigits + "." + minFractionDigits + "-" + maxFractionDigits;
53
66
  return common.formatCurrency(currentValue, locale, currency, currencyCode, format);
@@ -165,8 +178,22 @@
165
178
  TableCellTypeDecimalComponent.prototype._formatDecimal = function (currentValue, tableData) {
166
179
  var _a;
167
180
  var config = (_a = tableData === null || tableData === void 0 ? void 0 : tableData.colData) === null || _a === void 0 ? void 0 : _a.cellTypeConfig;
181
+ var defaultToEmpty = utils.notNullOrUndefined(config === null || config === void 0 ? void 0 : config.defaultToEmpty) ?
182
+ this._parseConfigValue(coercion.coerceBooleanProperty(config === null || config === void 0 ? void 0 : config.defaultToEmpty), tableData) : true;
168
183
  var formatDecimal = utils.notNullOrUndefined(config === null || config === void 0 ? void 0 : config.formatNumber) ?
169
184
  this._parseConfigValue(coercion.coerceBooleanProperty(config === null || config === void 0 ? void 0 : config.formatNumber), tableData) : true;
185
+ var valueIsNumeric = utils.isNumeric(currentValue);
186
+ // unparseable values are OK to return as long as we're not trying to format them
187
+ if (!valueIsNumeric && formatDecimal) {
188
+ if (defaultToEmpty) {
189
+ // return empty string instead of 0 when currentValue is empty or unparseable
190
+ return '';
191
+ }
192
+ else {
193
+ // set non-numeric value to 0 so it can be formatted the same as other numbers
194
+ currentValue = 0;
195
+ }
196
+ }
170
197
  var locale = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.locale, tableData) || 'en-US';
171
198
  var minIntegerDigits = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.minIntegerDigits, tableData) || 1;
172
199
  var minFractionDigits = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.minFractionDigits, tableData) || 0;
@@ -405,8 +432,22 @@
405
432
  TableCellTypeIntegerComponent.prototype._formatInteger = function (currentValue, tableData) {
406
433
  var _a;
407
434
  var config = (_a = tableData === null || tableData === void 0 ? void 0 : tableData.colData) === null || _a === void 0 ? void 0 : _a.cellTypeConfig;
435
+ var defaultToEmpty = utils.notNullOrUndefined(config === null || config === void 0 ? void 0 : config.defaultToEmpty) ?
436
+ this._parseConfigValue(coercion.coerceBooleanProperty(config === null || config === void 0 ? void 0 : config.defaultToEmpty), tableData) : true;
408
437
  var formatInteger = utils.notNullOrUndefined(config === null || config === void 0 ? void 0 : config.formatNumber) ?
409
438
  this._parseConfigValue(coercion.coerceBooleanProperty(config === null || config === void 0 ? void 0 : config.formatNumber), tableData) : true;
439
+ var valueIsNumeric = utils.isNumeric(currentValue);
440
+ // unparseable values are OK to return as long as we're not trying to format them
441
+ if (!valueIsNumeric && formatInteger) {
442
+ if (defaultToEmpty) {
443
+ // return empty string instead of 0 when currentValue is empty or unparseable
444
+ return '';
445
+ }
446
+ else {
447
+ // set non-numeric value to 0 so it can be formatted the same as other numbers
448
+ currentValue = 0;
449
+ }
450
+ }
410
451
  var locale = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.locale, tableData) || 'en-US';
411
452
  var minIntegerDigits = this._parseConfigValue(config === null || config === void 0 ? void 0 : config.minIntegerDigits, tableData) || 1;
412
453
  var format = minIntegerDigits + ".0-0";
@@ -776,7 +817,7 @@
776
817
  set: function (value) {
777
818
  this._config = value;
778
819
  if (value) {
779
- this.setAction(value.action);
820
+ this.setConfig(value);
780
821
  }
781
822
  },
782
823
  enumerable: false,
@@ -784,7 +825,7 @@
784
825
  });
785
826
  Object.defineProperty(TableCellTypeStringComponent.prototype, "title", {
786
827
  get: function () { return this._title; },
787
- set: function (value) { this.title = value; },
828
+ set: function (value) { this._title = value; },
788
829
  enumerable: false,
789
830
  configurable: true
790
831
  });
@@ -793,6 +834,28 @@
793
834
  enumerable: false,
794
835
  configurable: true
795
836
  });
837
+ Object.defineProperty(TableCellTypeStringComponent.prototype, "style", {
838
+ get: function () { return this._style; },
839
+ set: function (value) { this._style = value; },
840
+ enumerable: false,
841
+ configurable: true
842
+ });
843
+ Object.defineProperty(TableCellTypeStringComponent.prototype, "_styleAttr", {
844
+ get: function () { return this.style; },
845
+ enumerable: false,
846
+ configurable: true
847
+ });
848
+ Object.defineProperty(TableCellTypeStringComponent.prototype, "classAttr", {
849
+ get: function () { return this._class; },
850
+ set: function (value) { this._class = value; },
851
+ enumerable: false,
852
+ configurable: true
853
+ });
854
+ Object.defineProperty(TableCellTypeStringComponent.prototype, "_classAttr", {
855
+ get: function () { return this.classAttr; },
856
+ enumerable: false,
857
+ configurable: true
858
+ });
796
859
  TableCellTypeStringComponent.prototype.ngOnInit = function () {
797
860
  var _this = this;
798
861
  var _data = this._tableData;
@@ -854,6 +917,24 @@
854
917
  this._detectMimeContent = detectMimeContent;
855
918
  this._queryParams = queryParams;
856
919
  };
920
+ TableCellTypeStringComponent.prototype.setConfig = function (config) {
921
+ if (!config) {
922
+ return;
923
+ }
924
+ var title = this._parseConfigValue(config.titleAttr);
925
+ if (title) {
926
+ this.title = title;
927
+ }
928
+ var style = this._parseConfigValue(config.styleAttr);
929
+ if (style) {
930
+ this.style = style;
931
+ }
932
+ var classAttr = this._parseConfigValue(config.classAttr);
933
+ if (classAttr) {
934
+ this.classAttr = classAttr;
935
+ }
936
+ this.setAction(config.action);
937
+ };
857
938
  TableCellTypeStringComponent.prototype._parseConfigValue = function (val) {
858
939
  var _this = this;
859
940
  var contextFn = function () { return _this._tableCellTypeHelpers.getValueContext(val, _this._tableCellData); };
@@ -897,7 +978,11 @@
897
978
  value: [{ type: core.Input }],
898
979
  config: [{ type: core.Input }],
899
980
  title: [{ type: core.Input }],
900
- _titleAttr: [{ type: core.HostBinding, args: ['attr.title',] }]
981
+ _titleAttr: [{ type: core.HostBinding, args: ['attr.title',] }],
982
+ style: [{ type: core.Input }],
983
+ _styleAttr: [{ type: core.HostBinding, args: ['attr.style',] }],
984
+ classAttr: [{ type: core.Input }],
985
+ _classAttr: [{ type: core.HostBinding, args: ['class',] }]
901
986
  };
902
987
 
903
988
  var ɵ0 = {