@theseam/ui-common 1.0.0-beta.6 → 1.0.0-beta.8

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 (149) hide show
  1. package/breadcrumbs/index.d.ts +1 -2
  2. package/buttons/index.d.ts +20 -13
  3. package/datatable/index.d.ts +8 -8
  4. package/dynamic/index.d.ts +5 -5
  5. package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
  6. package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
  7. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
  8. package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
  10. package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
  11. package/fesm2022/theseam-ui-common-card.mjs +21 -21
  12. package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
  13. package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
  14. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
  15. package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
  16. package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
  17. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
  18. package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  19. package/fesm2022/theseam-ui-common-core.mjs +31 -11
  20. package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
  21. package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
  22. package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
  23. package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
  24. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
  25. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
  26. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
  27. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
  28. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  29. package/fesm2022/theseam-ui-common-datatable.mjs +592 -388
  30. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  31. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
  32. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  33. package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
  34. package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
  35. package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
  36. package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
  37. package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
  38. package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
  39. package/fesm2022/theseam-ui-common-form-field.mjs +120 -74
  40. package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
  41. package/fesm2022/theseam-ui-common-framework.mjs +669 -543
  42. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
  43. package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
  44. package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
  45. package/fesm2022/theseam-ui-common-graphql.mjs +252 -195
  46. package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
  47. package/fesm2022/theseam-ui-common-icon.mjs +125 -89
  48. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
  49. package/fesm2022/theseam-ui-common-layout.mjs +18 -26
  50. package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
  51. package/fesm2022/theseam-ui-common-loading.mjs +19 -28
  52. package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
  53. package/fesm2022/theseam-ui-common-menu.mjs +124 -95
  54. package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
  55. package/fesm2022/theseam-ui-common-modal.mjs +177 -129
  56. package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
  57. package/fesm2022/theseam-ui-common-models.mjs +3 -3
  58. package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
  59. package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
  60. package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
  61. package/fesm2022/theseam-ui-common-popover.mjs +81 -88
  62. package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
  63. package/fesm2022/theseam-ui-common-progress.mjs +15 -19
  64. package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
  65. package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
  66. package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
  67. package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
  68. package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
  69. package/fesm2022/theseam-ui-common-services.mjs +41 -26
  70. package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
  71. package/fesm2022/theseam-ui-common-shared.mjs +123 -67
  72. package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
  73. package/fesm2022/theseam-ui-common-storage.mjs +9 -6
  74. package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
  75. package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
  76. package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
  77. package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
  78. package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
  79. package/fesm2022/theseam-ui-common-table-cell-type.mjs +34 -38
  80. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
  81. package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
  82. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
  83. package/fesm2022/theseam-ui-common-table.mjs +50 -39
  84. package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
  85. package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
  86. package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
  87. package/fesm2022/theseam-ui-common-testing.mjs +13 -10
  88. package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
  89. package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
  90. package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
  91. package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
  92. package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
  93. package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
  94. package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
  95. package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
  96. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
  97. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
  98. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  99. package/fesm2022/theseam-ui-common-utils.mjs +113 -77
  100. package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
  101. package/fesm2022/theseam-ui-common-validators.mjs +10 -9
  102. package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
  103. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
  104. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  105. package/fesm2022/theseam-ui-common-viewers.mjs +79 -56
  106. package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
  107. package/fesm2022/theseam-ui-common-widget.mjs +288 -314
  108. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
  109. package/framework/base-layout/base-layout.component.scss +9 -4
  110. package/framework/base-layout/styles/_variables.scss +4 -9
  111. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
  112. package/framework/index.d.ts +6 -6
  113. package/framework/nav/nav-item/nav-item.component.scss +7 -6
  114. package/framework/nav/styles/_themes/light/_variables.scss +21 -5
  115. package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
  116. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
  117. package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
  118. package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
  119. package/graphql/index.d.ts +5 -5
  120. package/modal/README.md +5 -5
  121. package/modal/index.d.ts +1 -1
  122. package/models/index.d.ts +1 -1
  123. package/package.json +41 -41
  124. package/popover/index.d.ts +0 -2
  125. package/progress/progress-circle/styles/_variables.scss +15 -3
  126. package/story-helpers/index.d.ts +11 -1
  127. package/styles/bootstrap/_bootstrap.scss +34 -34
  128. package/styles/bootstrap/_bs-styles.scss +4 -8
  129. package/styles/bootstrap/_bs-utilities.scss +4 -4
  130. package/styles/bootstrap/_bs-variables.scss +65 -70
  131. package/styles/common/_forms.scss +9 -10
  132. package/styles/common/_global.scss +0 -1
  133. package/styles/common/_hacks.scss +1 -1
  134. package/styles/common/_table.scss +0 -1
  135. package/styles/common/_text.scss +3 -1
  136. package/styles/theme.scss +1 -1
  137. package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
  138. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
  139. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
  140. package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
  141. package/styles/vendor/quill/_quill.scss +15 -9
  142. package/tel-input/README.md +27 -27
  143. package/utils/index.d.ts +3 -3
  144. package/viewers/index.d.ts +9 -2
  145. package/widget/_widget-theme.scss +1 -1
  146. package/widget/styles/_variables.scss +2 -2
  147. package/widget/widget/widget.component.scss +0 -2
  148. package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
  149. package/widget/widget-footer/widget-footer.component.scss +0 -1
@@ -36,7 +36,9 @@ class IconComponent {
36
36
  * If the input icon is a string an `img` element will be used with icon as `src`.
37
37
  * If the input is not a string it will be assumed to be a font-awesome IconProp object.
38
38
  */
39
- get icon() { return this._iconUrl || this._iconObj; }
39
+ get icon() {
40
+ return this._iconUrl || this._iconObj;
41
+ }
40
42
  set icon(value) {
41
43
  if (typeof value === 'string') {
42
44
  this._iconUrl = value;
@@ -65,7 +67,9 @@ class IconComponent {
65
67
  * Toggles whether an image that has thrown the `onerror` event should show
66
68
  * the `defaultIcon` instead.
67
69
  */
68
- get showDefaultOnError() { return this._showDefaultOnError; }
70
+ get showDefaultOnError() {
71
+ return this._showDefaultOnError;
72
+ }
69
73
  set showDefaultOnError(value) {
70
74
  this._showDefaultOnError = coerceBooleanProperty(value);
71
75
  if (this._hasError) {
@@ -85,7 +89,9 @@ class IconComponent {
85
89
  /**
86
90
  * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.
87
91
  */
88
- get defaultIcon() { return this._defaultIconUrl || this._defaultIconObj; }
92
+ get defaultIcon() {
93
+ return this._defaultIconUrl || this._defaultIconObj;
94
+ }
89
95
  set defaultIcon(value) {
90
96
  if (typeof value === 'string') {
91
97
  this._defaultIconUrl = value;
@@ -107,21 +113,28 @@ class IconComponent {
107
113
  _defaultIconUrl;
108
114
  _defaultIconObj;
109
115
  iconType;
110
- get _iconTypeAttr() { return this.iconType; }
116
+ get _iconTypeAttr() {
117
+ return this.iconType;
118
+ }
111
119
  _hasError = false;
112
120
  _imgError(event) {
113
121
  this._hasError = true;
114
- if (this._showDefaultOnError && (this._defaultIconUrl || this._defaultIconObj)) {
122
+ if (this._showDefaultOnError &&
123
+ (this._defaultIconUrl || this._defaultIconObj)) {
115
124
  this._iconUrlBeforeError = this._iconUrl;
116
125
  this._iconObjBeforeError = this._iconObj;
117
126
  this._iconUrl = this._defaultIconUrl;
118
127
  this._iconObj = this._defaultIconObj;
119
128
  }
120
129
  }
121
- get _cssDisabled() { return this.disabled || null; }
122
- get _cssNoGreyscale() { return !this.grayscaleOnDisable; }
123
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
124
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: IconComponent, isStandalone: false, selector: "seam-icon", inputs: { grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon", size: "size", showDefaultOnError: "showDefaultOnError", defaultIcon: "defaultIcon", iconType: "iconType" }, host: { properties: { "attr.icon-type": "this._iconTypeAttr", "class.disabled": "this._cssDisabled", "class.no-grayscale": "this._cssNoGreyscale" } }, ngImport: i0, template: "<fa-icon *ngIf=\"_iconObj\"\n class=\"seam-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n [size]=\"size || undefined\">\n</fa-icon>\n\n<ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url(&quot;#gray&quot;)\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"seam-icon--img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\" (error)=\"_imgError($event)\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n</ng-container>\n\n<ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n", styles: [":host{display:inline-block}:host:disabled:not(.no-grayscale),:host.disabled:not(.no-grayscale){filter:grayscale(1)}:host[icon-type=styled-square]{border:1px solid #dee2e6;border-radius:8px}:host[icon-type=styled-square],:host[icon-type=borderless-styled-square]{-webkit-user-select:none;user-select:none;overflow:hidden;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:inline-flex;vertical-align:top}:host[icon-type=styled-square] img,:host[icon-type=borderless-styled-square] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=styled-square] .seam-icon--fa,:host[icon-type=borderless-styled-square] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}:host[icon-type=styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa,:host[icon-type=borderless-styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}:host[icon-type=image-fill]{max-height:100%;max-width:100%;width:100%;height:100%}:host[icon-type=image-fill] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=image-fill] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%}:host[icon-type=image-fill] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}.grey-fix{visibility:hidden;display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
130
+ get _cssDisabled() {
131
+ return this.disabled || null;
132
+ }
133
+ get _cssNoGreyscale() {
134
+ return !this.grayscaleOnDisable;
135
+ }
136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: IconComponent, isStandalone: false, selector: "seam-icon", inputs: { grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon", size: "size", showDefaultOnError: "showDefaultOnError", defaultIcon: "defaultIcon", iconType: "iconType" }, host: { properties: { "attr.icon-type": "this._iconTypeAttr", "class.disabled": "this._cssDisabled", "class.no-grayscale": "this._cssNoGreyscale" } }, ngImport: i0, template: "<fa-icon\n *ngIf=\"_iconObj\"\n class=\"seam-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n [size]=\"size || undefined\"\n>\n</fa-icon>\n\n<ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span\n class=\"grayscale-fix\"\n style=\"display: inline-block; position: relative\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n id=\"svgroot\"\n style=\"position: absolute; left: 0; right: 0\"\n viewBox=\"0 0 48 48\"\n width=\"100%\"\n height=\"100%\"\n >\n <defs>\n <filter id=\"gray\">\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </defs>\n <image\n filter='url(\"#gray\")'\n preserveAspectRatio=\"none meet\"\n x=\"0\"\n y=\"0\"\n width=\"48\"\n height=\"48\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\"\n />\n </svg>\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n style=\"display: block; visibility: hidden\"\n alt=\"Icon\"\n [src]=\"_iconUrl\"\n (error)=\"_imgError($event)\"\n />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n (error)=\"_imgError($event)\"\n />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n (error)=\"_imgError($event)\"\n />\n </ng-container>\n</ng-container>\n\n<ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n", styles: [":host{display:inline-block}:host:disabled:not(.no-grayscale),:host.disabled:not(.no-grayscale){filter:grayscale(1)}:host[icon-type=styled-square]{border:1px solid #dee2e6;border-radius:8px}:host[icon-type=styled-square],:host[icon-type=borderless-styled-square]{-webkit-user-select:none;user-select:none;overflow:hidden;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:inline-flex;vertical-align:top}:host[icon-type=styled-square] img,:host[icon-type=borderless-styled-square] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=styled-square] .seam-icon--fa,:host[icon-type=borderless-styled-square] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}:host[icon-type=styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa,:host[icon-type=borderless-styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}:host[icon-type=image-fill]{max-height:100%;max-width:100%;width:100%;height:100%}:host[icon-type=image-fill] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=image-fill] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%}:host[icon-type=image-fill] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}.grey-fix{visibility:hidden;display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
125
138
  }
126
139
  __decorate([
127
140
  InputBoolean()
@@ -129,9 +142,9 @@ __decorate([
129
142
  __decorate([
130
143
  InputBoolean()
131
144
  ], IconComponent.prototype, "disabled", void 0);
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconComponent, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IconComponent, decorators: [{
133
146
  type: Component,
134
- args: [{ selector: 'seam-icon', standalone: false, template: "<fa-icon *ngIf=\"_iconObj\"\n class=\"seam-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n [size]=\"size || undefined\">\n</fa-icon>\n\n<ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url(&quot;#gray&quot;)\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"seam-icon--img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\" (error)=\"_imgError($event)\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n</ng-container>\n\n<ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n", styles: [":host{display:inline-block}:host:disabled:not(.no-grayscale),:host.disabled:not(.no-grayscale){filter:grayscale(1)}:host[icon-type=styled-square]{border:1px solid #dee2e6;border-radius:8px}:host[icon-type=styled-square],:host[icon-type=borderless-styled-square]{-webkit-user-select:none;user-select:none;overflow:hidden;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:inline-flex;vertical-align:top}:host[icon-type=styled-square] img,:host[icon-type=borderless-styled-square] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=styled-square] .seam-icon--fa,:host[icon-type=borderless-styled-square] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}:host[icon-type=styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa,:host[icon-type=borderless-styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}:host[icon-type=image-fill]{max-height:100%;max-width:100%;width:100%;height:100%}:host[icon-type=image-fill] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=image-fill] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%}:host[icon-type=image-fill] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}.grey-fix{visibility:hidden;display:block}\n"] }]
147
+ args: [{ selector: 'seam-icon', standalone: false, template: "<fa-icon\n *ngIf=\"_iconObj\"\n class=\"seam-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n [size]=\"size || undefined\"\n>\n</fa-icon>\n\n<ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span\n class=\"grayscale-fix\"\n style=\"display: inline-block; position: relative\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n id=\"svgroot\"\n style=\"position: absolute; left: 0; right: 0\"\n viewBox=\"0 0 48 48\"\n width=\"100%\"\n height=\"100%\"\n >\n <defs>\n <filter id=\"gray\">\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </defs>\n <image\n filter='url(\"#gray\")'\n preserveAspectRatio=\"none meet\"\n x=\"0\"\n y=\"0\"\n width=\"48\"\n height=\"48\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\"\n />\n </svg>\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n style=\"display: block; visibility: hidden\"\n alt=\"Icon\"\n [src]=\"_iconUrl\"\n (error)=\"_imgError($event)\"\n />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n (error)=\"_imgError($event)\"\n />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n (error)=\"_imgError($event)\"\n />\n </ng-container>\n</ng-container>\n\n<ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n", styles: [":host{display:inline-block}:host:disabled:not(.no-grayscale),:host.disabled:not(.no-grayscale){filter:grayscale(1)}:host[icon-type=styled-square]{border:1px solid #dee2e6;border-radius:8px}:host[icon-type=styled-square],:host[icon-type=borderless-styled-square]{-webkit-user-select:none;user-select:none;overflow:hidden;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:inline-flex;vertical-align:top}:host[icon-type=styled-square] img,:host[icon-type=borderless-styled-square] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=styled-square] .seam-icon--fa,:host[icon-type=borderless-styled-square] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}:host[icon-type=styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa,:host[icon-type=borderless-styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}:host[icon-type=image-fill]{max-height:100%;max-width:100%;width:100%;height:100%}:host[icon-type=image-fill] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=image-fill] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%}:host[icon-type=image-fill] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}.grey-fix{visibility:hidden;display:block}\n"] }]
135
148
  }], propDecorators: { grayscaleOnDisable: [{
136
149
  type: Input
137
150
  }], disabled: [{
@@ -199,28 +212,56 @@ class IconBtnComponent {
199
212
  _cssPadding0 = true;
200
213
  _btn = true;
201
214
  _textNoWrap = true;
202
- get _btnDefault() { return this.isBtnTheme('default'); }
203
- get _btnPrimary() { return this.isBtnTheme('primary'); }
204
- get _btnSecondary() { return this.isBtnTheme('secondary'); }
205
- get _btnSuccess() { return this.isBtnTheme('success'); }
206
- get _btnDanger() { return this.isBtnTheme('danger'); }
207
- get _btnWarning() { return this.isBtnTheme('warning'); }
208
- get _btnInfo() { return this.isBtnTheme('info'); }
209
- get _btnLight() { return this.isBtnTheme('light'); }
210
- get _btnDark() { return this.isBtnTheme('dark'); }
211
- get _btnLightGray() { return this.isBtnTheme('lightgray'); }
212
- get _btnSizeSm() { return this.btnSize === 'sm'; }
213
- get _btnSizeLg() { return this.btnSize === 'lg'; }
215
+ get _btnDefault() {
216
+ return this.isBtnTheme('default');
217
+ }
218
+ get _btnPrimary() {
219
+ return this.isBtnTheme('primary');
220
+ }
221
+ get _btnSecondary() {
222
+ return this.isBtnTheme('secondary');
223
+ }
224
+ get _btnSuccess() {
225
+ return this.isBtnTheme('success');
226
+ }
227
+ get _btnDanger() {
228
+ return this.isBtnTheme('danger');
229
+ }
230
+ get _btnWarning() {
231
+ return this.isBtnTheme('warning');
232
+ }
233
+ get _btnInfo() {
234
+ return this.isBtnTheme('info');
235
+ }
236
+ get _btnLight() {
237
+ return this.isBtnTheme('light');
238
+ }
239
+ get _btnDark() {
240
+ return this.isBtnTheme('dark');
241
+ }
242
+ get _btnLightGray() {
243
+ return this.isBtnTheme('lightgray');
244
+ }
245
+ get _btnSizeSm() {
246
+ return this.btnSize === 'sm';
247
+ }
248
+ get _btnSizeLg() {
249
+ return this.btnSize === 'lg';
250
+ }
214
251
  btnTheme = 'default';
215
252
  badgeTheme = 'light';
216
253
  badgeText = '';
217
254
  btnSize;
218
- get type() { return this._type; }
255
+ get type() {
256
+ return this._type;
257
+ }
219
258
  set type(value) {
220
259
  this._type = value;
221
260
  }
222
261
  _type;
223
- get role() { return this._role; }
262
+ get role() {
263
+ return this._role;
264
+ }
224
265
  set role(value) {
225
266
  this._role = value;
226
267
  }
@@ -246,16 +287,18 @@ class IconBtnComponent {
246
287
  _isAnchor() {
247
288
  return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button';
248
289
  }
249
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconBtnComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
250
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: IconBtnComponent, isStandalone: false, selector: "button[seamIconBtn]", inputs: { grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon", size: "size", showDefaultOnError: "showDefaultOnError", iconType: "iconType", btnTheme: "btnTheme", badgeTheme: "badgeTheme", badgeText: "badgeText", btnSize: "btnSize", type: "type", role: "role" }, host: { properties: { "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.p-0": "this._cssPadding0", "class.btn": "this._btn", "class.text-nowrap": "this._textNoWrap", "class.btn-default": "this._btnDefault", "class.btn-primary": "this._btnPrimary", "class.btn-secondary": "this._btnSecondary", "class.btn-success": "this._btnSuccess", "class.btn-danger": "this._btnDanger", "class.btn-warning": "this._btnWarning", "class.btn-info": "this._btnInfo", "class.btn-light": "this._btnLight", "class.btn-dark": "this._btnDark", "class.btn-lightgray": "this._btnLightGray", "class.btn-sm": "this._btnSizeSm", "class.btn-lg": "this._btnSizeLg" } }, ngImport: i0, template: `
251
- <seam-icon *ngIf="icon"
290
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IconBtnComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
291
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: IconBtnComponent, isStandalone: false, selector: "button[seamIconBtn]", inputs: { grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon", size: "size", showDefaultOnError: "showDefaultOnError", iconType: "iconType", btnTheme: "btnTheme", badgeTheme: "badgeTheme", badgeText: "badgeText", btnSize: "btnSize", type: "type", role: "role" }, host: { properties: { "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.p-0": "this._cssPadding0", "class.btn": "this._btn", "class.text-nowrap": "this._textNoWrap", "class.btn-default": "this._btnDefault", "class.btn-primary": "this._btnPrimary", "class.btn-secondary": "this._btnSecondary", "class.btn-success": "this._btnSuccess", "class.btn-danger": "this._btnDanger", "class.btn-warning": "this._btnWarning", "class.btn-info": "this._btnInfo", "class.btn-light": "this._btnLight", "class.btn-dark": "this._btnDark", "class.btn-lightgray": "this._btnLightGray", "class.btn-sm": "this._btnSizeSm", "class.btn-lg": "this._btnSizeLg" } }, ngImport: i0, template: `
292
+ <seam-icon
293
+ *ngIf="icon"
252
294
  [grayscaleOnDisable]="grayscaleOnDisable"
253
295
  [disabled]="disabled"
254
296
  [iconClass]="iconClass"
255
297
  [icon]="icon"
256
298
  [size]="size"
257
299
  [showDefaultOnError]="showDefaultOnError"
258
- [iconType]="iconType">
300
+ [iconType]="iconType"
301
+ >
259
302
  </seam-icon>
260
303
  <ng-content select=".sr-only,seam-icon-notification"></ng-content>
261
304
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }] });
@@ -269,17 +312,19 @@ __decorate([
269
312
  __decorate([
270
313
  InputBoolean()
271
314
  ], IconBtnComponent.prototype, "showDefaultOnError", void 0);
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconBtnComponent, decorators: [{
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IconBtnComponent, decorators: [{
273
316
  type: Component,
274
317
  args: [{ selector: 'button[seamIconBtn]', template: `
275
- <seam-icon *ngIf="icon"
318
+ <seam-icon
319
+ *ngIf="icon"
276
320
  [grayscaleOnDisable]="grayscaleOnDisable"
277
321
  [disabled]="disabled"
278
322
  [iconClass]="iconClass"
279
323
  [icon]="icon"
280
324
  [size]="size"
281
325
  [showDefaultOnError]="showDefaultOnError"
282
- [iconType]="iconType">
326
+ [iconType]="iconType"
327
+ >
283
328
  </seam-icon>
284
329
  <ng-content select=".sr-only,seam-icon-notification"></ng-content>
285
330
  `, host: {
@@ -364,8 +409,8 @@ const pulseAnimation = animation([
364
409
  animate('{{ timings }}', keyframes([
365
410
  style({ transform: 'scale(1)', offset: 0 }),
366
411
  style({ transform: 'scale({{ scale }})', offset: 0.5 }),
367
- style({ transform: 'scale(1)', offset: 1 })
368
- ]))
412
+ style({ transform: 'scale(1)', offset: 1 }),
413
+ ])),
369
414
  ]);
370
415
  class IconNotificationComponent {
371
416
  _elementRef;
@@ -410,20 +455,25 @@ class IconNotificationComponent {
410
455
  this._elementRef = _elementRef;
411
456
  }
412
457
  ngOnInit() {
413
- if (this._elementRef && this._elementRef.nativeElement && this._elementRef.nativeElement.parentElement) {
458
+ if (this._elementRef &&
459
+ this._elementRef.nativeElement &&
460
+ this._elementRef.nativeElement.parentElement) {
414
461
  this._elementRef.nativeElement.parentElement.style.position = 'relative';
415
462
  }
416
463
  }
417
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconNotificationComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
418
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: IconNotificationComponent, isStandalone: false, selector: "seam-icon-notification", inputs: { count: "count", hidden: "hidden", grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon", showDefaultOnError: "showDefaultOnError", size: "size", iconType: "iconType" }, host: { properties: { "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" } }, ngImport: i0, template: `
419
- <seam-icon *ngIf="icon && !hidden" [@counterChange]="count"
464
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IconNotificationComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
465
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: IconNotificationComponent, isStandalone: false, selector: "seam-icon-notification", inputs: { count: "count", hidden: "hidden", grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon", showDefaultOnError: "showDefaultOnError", size: "size", iconType: "iconType" }, host: { properties: { "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" } }, ngImport: i0, template: `
466
+ <seam-icon
467
+ *ngIf="icon && !hidden"
468
+ [@counterChange]="count"
420
469
  [grayscaleOnDisable]="grayscaleOnDisable"
421
470
  [disabled]="disabled"
422
471
  [iconClass]="iconClass"
423
472
  [icon]="icon"
424
473
  [size]="size"
425
474
  [showDefaultOnError]="showDefaultOnError"
426
- [iconType]="iconType">
475
+ [iconType]="iconType"
476
+ >
427
477
  </seam-icon>
428
478
  <ng-content select=".sr-only"></ng-content>
429
479
  `, isInline: true, styles: [":host{position:absolute;inset:0}seam-icon{position:absolute;top:4px;right:4px;width:25%!important;height:25%!important;min-width:15px;min-height:15px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }], animations: [
@@ -431,10 +481,10 @@ class IconNotificationComponent {
431
481
  transition(':increment', useAnimation(pulseAnimation, {
432
482
  params: {
433
483
  timings: '400ms ease-in-out',
434
- scale: 1.2
435
- }
436
- }))
437
- ])
484
+ scale: 1.2,
485
+ },
486
+ })),
487
+ ]),
438
488
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
439
489
  }
440
490
  __decorate([
@@ -449,17 +499,20 @@ __decorate([
449
499
  __decorate([
450
500
  InputBoolean()
451
501
  ], IconNotificationComponent.prototype, "showDefaultOnError", void 0);
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: IconNotificationComponent, decorators: [{
502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IconNotificationComponent, decorators: [{
453
503
  type: Component,
454
504
  args: [{ selector: 'seam-icon-notification', template: `
455
- <seam-icon *ngIf="icon && !hidden" [@counterChange]="count"
505
+ <seam-icon
506
+ *ngIf="icon && !hidden"
507
+ [@counterChange]="count"
456
508
  [grayscaleOnDisable]="grayscaleOnDisable"
457
509
  [disabled]="disabled"
458
510
  [iconClass]="iconClass"
459
511
  [icon]="icon"
460
512
  [size]="size"
461
513
  [showDefaultOnError]="showDefaultOnError"
462
- [iconType]="iconType">
514
+ [iconType]="iconType"
515
+ >
463
516
  </seam-icon>
464
517
  <ng-content select=".sr-only"></ng-content>
465
518
  `, host: {
@@ -470,10 +523,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
470
523
  transition(':increment', useAnimation(pulseAnimation, {
471
524
  params: {
472
525
  timings: '400ms ease-in-out',
473
- scale: 1.2
474
- }
475
- }))
476
- ])
526
+ scale: 1.2,
527
+ },
528
+ })),
529
+ ]),
477
530
  ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{position:absolute;inset:0}seam-icon{position:absolute;top:4px;right:4px;width:25%!important;height:25%!important;min-width:15px;min-height:15px}\n"] }]
478
531
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { count: [{
479
532
  type: Input
@@ -496,51 +549,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
496
549
  }] } });
497
550
 
498
551
  class TheSeamIconModule {
499
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
500
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: TheSeamIconModule, declarations: [IconComponent,
501
- IconBtnComponent,
502
- IconNotificationComponent], imports: [CommonModule,
503
- FontAwesomeModule], exports: [IconComponent,
504
- IconBtnComponent,
505
- IconNotificationComponent] });
506
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamIconModule, imports: [CommonModule,
507
- FontAwesomeModule] });
552
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
553
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamIconModule, declarations: [IconComponent, IconBtnComponent, IconNotificationComponent], imports: [CommonModule, FontAwesomeModule], exports: [IconComponent, IconBtnComponent, IconNotificationComponent] });
554
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamIconModule, imports: [CommonModule, FontAwesomeModule] });
508
555
  }
509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamIconModule, decorators: [{
556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamIconModule, decorators: [{
510
557
  type: NgModule,
511
558
  args: [{
512
- declarations: [
513
- IconComponent,
514
- IconBtnComponent,
515
- IconNotificationComponent
516
- ],
517
- imports: [
518
- CommonModule,
519
- FontAwesomeModule
520
- ],
521
- exports: [
522
- IconComponent,
523
- IconBtnComponent,
524
- IconNotificationComponent
525
- ]
559
+ declarations: [IconComponent, IconBtnComponent, IconNotificationComponent],
560
+ imports: [CommonModule, FontAwesomeModule],
561
+ exports: [IconComponent, IconBtnComponent, IconNotificationComponent],
526
562
  }]
527
563
  }] });
528
564
 
529
565
  const FILE_EXTENSION_ICONS = {
530
- 'pdf': faFilePdf,
531
- 'doc': faFileWord,
532
- 'docx': faFileWord,
533
- 'xls': faFileExcel,
534
- 'xlsx': faFileExcel,
535
- 'gif': faFileImage,
536
- 'jpg': faFileImage,
537
- 'jpeg': faFileImage,
538
- 'png': faFileImage,
539
- 'zip': faFileArchive,
540
- 'ppt': faFilePowerpoint,
541
- 'pptx': faFilePowerpoint,
542
- 'txt': faFileAlt,
543
- 'json': faFileAlt
566
+ pdf: faFilePdf,
567
+ doc: faFileWord,
568
+ docx: faFileWord,
569
+ xls: faFileExcel,
570
+ xlsx: faFileExcel,
571
+ gif: faFileImage,
572
+ jpg: faFileImage,
573
+ jpeg: faFileImage,
574
+ png: faFileImage,
575
+ zip: faFileArchive,
576
+ ppt: faFilePowerpoint,
577
+ pptx: faFilePowerpoint,
578
+ txt: faFileAlt,
579
+ json: faFileAlt,
544
580
  };
545
581
  const DEFAULT_FILE_EXTENSION_ICON = faFile;
546
582
  function fileExtensionIcon(extension, defaultIfNotFound = true) {
@@ -632,7 +668,7 @@ const knownIcons = {
632
668
  faUserEdit,
633
669
  faUserTimes,
634
670
  faUsers,
635
- faUserPlus
671
+ faUserPlus,
636
672
  };
637
673
  function getKnownIcon(iconStr) {
638
674
  return knownIcons[iconStr];
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-icon.mjs","sources":["../../../projects/ui-common/icon/icon/icon.component.ts","../../../projects/ui-common/icon/icon/icon.component.html","../../../projects/ui-common/icon/icon-btn/icon-btn.component.ts","../../../projects/ui-common/icon/icon-notification/icon-notification.component.ts","../../../projects/ui-common/icon/icon.module.ts","../../../projects/ui-common/icon/utils/file-extension-icon.ts","../../../projects/ui-common/icon/utils/get-known-icon.ts","../../../projects/ui-common/icon/theseam-ui-common-icon.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Component, HostBinding, Input } from '@angular/core'\n\nimport { IconProp, SizeProp } from '@fortawesome/fontawesome-svg-core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { SeamIcon } from '../icon'\n\n//\n// TODO: Ensure all inputs correctly update the state whenever changed, not just\n// on initial load.\n//\n\n// Browsers that do not support css grayscale filter.\nconst needToFix = /(MSIE 10)|(Trident.*rv:11\\.0)|( Edge\\/[\\d.]+$)/.test(navigator.userAgent)\n\nexport type TheSeamIconType = 'borderless-styled-square' | 'styled-square' | 'image-fill' | undefined\n\n@Component({\n selector: 'seam-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n standalone: false\n})\nexport class IconComponent {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_showDefaultOnError: BooleanInput\n\n needToFix = needToFix\n\n /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */\n @Input() @InputBoolean() disabled = false\n\n /**\n * Placed on the `.seam-icon--fa` and `seam-icon--img` elements.\n */\n @Input() iconClass: string | undefined | null\n\n /**\n * The icon to display.\n *\n * If the input icon is a string an `img` element will be used with icon as `src`.\n * If the input is not a string it will be assumed to be a font-awesome IconProp object.\n */\n @Input()\n get icon(): SeamIcon | undefined | null { return this._iconUrl || this._iconObj }\n set icon(value: SeamIcon | undefined | null) {\n if (typeof value === 'string') {\n this._iconUrl = value\n this._iconObj = undefined\n } else {\n this._iconUrl = undefined\n this._iconObj = value\n }\n\n this._iconUrlBeforeError = undefined\n this._iconObjBeforeError = undefined\n\n if (!this._iconUrl && !this._iconObj) {\n this._iconUrl = this._defaultIconUrl\n this._iconObj = this._defaultIconObj\n }\n }\n\n public _iconUrl: string | undefined | null\n public _iconObj: IconProp | undefined | null\n\n private _iconUrlBeforeError: string | undefined | null\n private _iconObjBeforeError: IconProp | undefined | null\n\n /**\n * NOTE: Only works for fa-icon for now.\n */\n @Input() size: SizeProp | undefined | null\n\n /**\n * Toggles whether an image that has thrown the `onerror` event should show\n * the `defaultIcon` instead.\n */\n @Input()\n get showDefaultOnError(): boolean { return this._showDefaultOnError }\n set showDefaultOnError(value: boolean) {\n this._showDefaultOnError = coerceBooleanProperty(value)\n if (this._hasError) {\n if (this._iconUrlBeforeError || this._iconObjBeforeError) {\n this._iconUrl = this._iconUrlBeforeError\n this._iconObj = this._iconObjBeforeError\n this._iconUrlBeforeError = undefined\n this._iconObjBeforeError = undefined\n } else if (this._showDefaultOnError) {\n this._iconUrl = this._defaultIconUrl\n this._iconObj = this._defaultIconObj\n }\n }\n }\n private _showDefaultOnError = false\n\n /**\n * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.\n */\n @Input()\n get defaultIcon(): SeamIcon | undefined | null { return this._defaultIconUrl || this._defaultIconObj }\n set defaultIcon(value: SeamIcon | undefined | null) {\n if (typeof value === 'string') {\n this._defaultIconUrl = value\n this._defaultIconObj = undefined\n } else {\n this._defaultIconUrl = undefined\n this._defaultIconObj = value\n }\n\n if (!this._defaultIconUrl && !this._defaultIconObj) {\n this._iconUrl = this._iconUrlBeforeError\n this._iconObj = this._iconObjBeforeError\n }\n\n if (!this._iconUrl && !this._iconObj) {\n this._iconUrl = this._defaultIconUrl\n this._iconObj = this._defaultIconObj\n }\n }\n\n public _defaultIconUrl: string | undefined | null\n public _defaultIconObj: IconProp | undefined | null\n\n @Input() iconType: TheSeamIconType | undefined | null\n\n @HostBinding('attr.icon-type')\n get _iconTypeAttr() { return this.iconType }\n\n private _hasError = false\n\n public _imgError(event: ErrorEvent): void {\n this._hasError = true\n if (this._showDefaultOnError && (this._defaultIconUrl || this._defaultIconObj)) {\n this._iconUrlBeforeError = this._iconUrl\n this._iconObjBeforeError = this._iconObj\n this._iconUrl = this._defaultIconUrl\n this._iconObj = this._defaultIconObj\n }\n }\n\n @HostBinding('class.disabled')\n get _cssDisabled() { return this.disabled || null }\n\n @HostBinding('class.no-grayscale')\n get _cssNoGreyscale() { return !this.grayscaleOnDisable }\n\n}\n","<fa-icon *ngIf=\"_iconObj\"\n class=\"seam-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n [size]=\"size || undefined\">\n</fa-icon>\n\n<ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url(&quot;#gray&quot;)\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"seam-icon--img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\" (error)=\"_imgError($event)\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n</ng-container>\n\n<ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, DoCheck, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core'\n\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport type { ThemeTypes } from '@theseam/ui-common/models'\n\nimport type { SeamIcon } from '../icon'\nimport type { TheSeamIconType } from '../icon/icon.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamIconBtn]',\n template: `\n <seam-icon *ngIf=\"icon\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n [iconClass]=\"iconClass\"\n [icon]=\"icon\"\n [size]=\"size\"\n [showDefaultOnError]=\"showDefaultOnError\"\n [iconType]=\"iconType\">\n </seam-icon>\n <ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n `,\n styles: [],\n host: {\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n standalone: false\n})\nexport class IconBtnComponent implements DoCheck {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_showDefaultOnError: BooleanInput\n\n /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */\n @Input() @InputBoolean() disabled = false\n\n /**\n * Placed on the `.seam-icon--fa` and `seam-icon--img` elements.\n */\n @Input() iconClass: string | undefined | null\n\n /**\n * The icon to display.\n *\n * If the input icon is a string an `img` element will be used with icon as `src`.\n * If the input is not a string it will be assumed to be a font-awesome IconProp object.\n */\n @Input() icon: SeamIcon | undefined | null\n\n /**\n * NOTE: Only works for fa-icon for now.\n */\n @Input() size: SizeProp | undefined | null\n\n /**\n * Toggles whether an image that has thrown the `onerror` event should show\n * the `defaultIcon` instead.\n */\n @Input() @InputBoolean() showDefaultOnError = false\n\n /**\n * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.\n *\n * NOTE: Not supported for icon-btn yet.\n */\n // @Input() defaultIcon: SeamIcon\n\n @Input() iconType: TheSeamIconType | undefined | null = 'image-fill'\n\n @HostBinding('class.p-0') _cssPadding0 = true\n\n @HostBinding('class.btn') _btn = true\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @HostBinding('class.btn-default') get _btnDefault() { return this.isBtnTheme('default') }\n @HostBinding('class.btn-primary') get _btnPrimary() { return this.isBtnTheme('primary') }\n @HostBinding('class.btn-secondary') get _btnSecondary() { return this.isBtnTheme('secondary') }\n @HostBinding('class.btn-success') get _btnSuccess() { return this.isBtnTheme('success') }\n @HostBinding('class.btn-danger') get _btnDanger() { return this.isBtnTheme('danger') }\n @HostBinding('class.btn-warning') get _btnWarning() { return this.isBtnTheme('warning') }\n @HostBinding('class.btn-info') get _btnInfo() { return this.isBtnTheme('info') }\n @HostBinding('class.btn-light') get _btnLight() { return this.isBtnTheme('light') }\n @HostBinding('class.btn-dark') get _btnDark() { return this.isBtnTheme('dark') }\n @HostBinding('class.btn-lightgray') get _btnLightGray() { return this.isBtnTheme('lightgray') }\n\n @HostBinding('class.btn-sm') get _btnSizeSm() { return this.btnSize === 'sm' }\n @HostBinding('class.btn-lg') get _btnSizeLg() { return this.btnSize === 'lg' }\n\n @Input() btnTheme: ThemeTypes | undefined | null = 'default'\n @Input() badgeTheme: ThemeTypes | undefined | null = 'light'\n @Input() badgeText: string | undefined | null = ''\n\n @Input() btnSize: 'sm' | 'lg' | undefined | null\n\n @Input()\n get type(): string | undefined | null { return this._type }\n set type(value: string | undefined | null) {\n this._type = value\n }\n private _type: string | undefined | null\n\n @Input()\n get role(): string | undefined | null { return this._role }\n set role(value: string | undefined | null) {\n this._role = value\n }\n private _role: string | undefined | null\n\n constructor(\n private _elementRef: ElementRef<HTMLButtonElement | HTMLAnchorElement>,\n private _renderer: Renderer2\n ) { }\n\n ngDoCheck() {\n if (this._isButton()) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'type', this._type || 'button')\n } else if (this._isAnchor()) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'role', this._role || 'button')\n }\n }\n\n public isBtnTheme(type: ThemeTypes): boolean {\n return this.btnTheme === type\n }\n\n protected _isButton() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n protected _isAnchor() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n}\n","import { animate, animation, keyframes, style, transition, trigger, useAnimation } from '@angular/animations'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit } from '@angular/core'\n\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core'\nimport { faCircle } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { SeamIcon } from '../icon'\nimport type { TheSeamIconType } from '../icon/icon.component'\n\nexport const pulseAnimation = animation([\n style({ transform: 'scale(1)' }),\n animate(\n '{{ timings }}',\n keyframes([\n style({ transform: 'scale(1)', offset: 0 }),\n style({ transform: 'scale({{ scale }})', offset: 0.5 }),\n style({ transform: 'scale(1)', offset: 1 })\n ])\n )\n])\n\n@Component({\n selector: 'seam-icon-notification',\n template: `\n <seam-icon *ngIf=\"icon && !hidden\" [@counterChange]=\"count\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n [iconClass]=\"iconClass\"\n [icon]=\"icon\"\n [size]=\"size\"\n [showDefaultOnError]=\"showDefaultOnError\"\n [iconType]=\"iconType\">\n </seam-icon>\n <ng-content select=\".sr-only\"></ng-content>\n `,\n styles: [`\n :host {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n }\n\n seam-icon {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 25% !important;\n height: 25% !important;\n min-width: 15px;\n min-height: 15px;\n }\n `],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n animations: [\n trigger('counterChange', [\n transition(':increment', useAnimation(pulseAnimation, {\n params: {\n timings: '400ms ease-in-out',\n scale: 1.2\n }\n }))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class IconNotificationComponent implements OnInit {\n static ngAcceptInputType_hidden: BooleanInput\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_showDefaultOnError: BooleanInput\n\n @Input() count: number | undefined | null\n\n @Input() @InputBoolean() hidden = false\n\n /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */\n @Input() @InputBoolean() disabled = false\n\n /**\n * Placed on the `.seam-icon--fa` and `seam-icon--img` elements.\n */\n @Input() iconClass: string | undefined | null\n\n /**\n * The icon to display.\n *\n * If the input icon is a string an `img` element will be used with icon as `src`.\n * If the input is not a string it will be assumed to be a font-awesome IconProp object.\n */\n @Input() icon: SeamIcon | undefined | null = faCircle\n\n /**\n * Toggles whether an image that has thrown the `onerror` event should show\n * the `defaultIcon` instead.\n */\n @Input() @InputBoolean() showDefaultOnError = false\n\n /**\n * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.\n *\n * NOTE: Not supported for icon-notification yet.\n */\n // @Input() defaultIcon: SeamIcon\n\n /**\n * NOTE: Only works for fa-icon for now.\n */\n @Input() size: SizeProp | undefined | null\n\n @Input() iconType: TheSeamIconType | undefined | null = 'image-fill'\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>\n ) { }\n\n ngOnInit() {\n if (this._elementRef && this._elementRef.nativeElement && this._elementRef.nativeElement.parentElement) {\n this._elementRef.nativeElement.parentElement.style.position = 'relative'\n }\n }\n\n // ngDoCheck() {}\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { IconBtnComponent } from './icon-btn/icon-btn.component'\nimport { IconNotificationComponent } from './icon-notification/icon-notification.component'\nimport { IconComponent } from './icon/icon.component'\n\n@NgModule({\n declarations: [\n IconComponent,\n IconBtnComponent,\n IconNotificationComponent\n ],\n imports: [\n CommonModule,\n FontAwesomeModule\n ],\n exports: [\n IconComponent,\n IconBtnComponent,\n IconNotificationComponent\n ]\n})\nexport class TheSeamIconModule { }\n","import {\n faFile,\n faFileAlt,\n faFileArchive,\n faFileExcel,\n faFileImage,\n faFilePdf,\n faFilePowerpoint,\n faFileWord\n} from '@fortawesome/free-regular-svg-icons'\n\nimport { SeamIcon } from '../icon'\n\nconst FILE_EXTENSION_ICONS: { [type: string]: SeamIcon } = {\n 'pdf': faFilePdf,\n 'doc': faFileWord,\n 'docx': faFileWord,\n 'xls': faFileExcel,\n 'xlsx': faFileExcel,\n 'gif': faFileImage,\n 'jpg': faFileImage,\n 'jpeg': faFileImage,\n 'png': faFileImage,\n 'zip': faFileArchive,\n 'ppt': faFilePowerpoint,\n 'pptx': faFilePowerpoint,\n 'txt': faFileAlt,\n 'json': faFileAlt\n}\n\nexport const DEFAULT_FILE_EXTENSION_ICON: SeamIcon = faFile\n\nexport function fileExtensionIcon(extension: string | null | undefined, defaultIfNotFound: boolean = true): SeamIcon | undefined {\n if (!extension) {\n return defaultIfNotFound ? DEFAULT_FILE_EXTENSION_ICON : undefined\n }\n\n let ext = extension\n if (ext.charAt(0) === '.') {\n ext = ext.substr(1)\n }\n\n const icon = FILE_EXTENSION_ICONS[ext]\n if (!icon && defaultIfNotFound) {\n return DEFAULT_FILE_EXTENSION_ICON\n }\n return icon\n}\n","import {\n faAddressCard,\n faBell,\n faBookmark,\n faCheckCircle,\n faClock,\n faComment,\n faEnvelope,\n faEnvelopeOpen,\n faFile,\n faFileAlt,\n faFileArchive,\n faFileAudio,\n faFileCode,\n faFileExcel,\n faFileImage,\n faFilePdf,\n faFilePowerpoint,\n faFileVideo,\n faFileWord,\n faFolder,\n faFolderOpen,\n faImage,\n faImages,\n faQuestionCircle,\n faSave,\n faStickyNote,\n faTimesCircle,\n faTrashAlt,\n faUser,\n faUserCircle\n} from '@fortawesome/free-regular-svg-icons'\nimport {\n faBan,\n faChartArea,\n faChartBar,\n faChartLine,\n faCheck,\n faCloudUploadAlt,\n faCog,\n faEdit,\n faExclamation,\n faExclamationCircle,\n faExclamationTriangle,\n faExternalLinkSquareAlt,\n faFileContract,\n faFileCsv,\n faFileDownload,\n faFileExport,\n faFileImport,\n faFileInvoice,\n faFileInvoiceDollar,\n faFileMedical,\n faFileMedicalAlt,\n faFilePrescription,\n faFileSignature,\n faFileUpload,\n faInbox,\n faInfoCircle,\n faLock,\n faLockOpen,\n faPrint,\n faReceipt,\n faReply,\n faShare,\n faSignature,\n faTimes,\n faTrash,\n faUserCheck,\n faUserEdit,\n faUserPlus,\n faUsers,\n faUserTimes\n} from '@fortawesome/free-solid-svg-icons'\n\nimport { SeamIcon } from '../icon'\n\n// TODO: Decide a good way to do this, so that we don't have to import full icon\n// libraries, but still provide icon choices to use from a string. One way could\n// be to define a dictionary of app icons that we can use that map a unique\n// string to an icon definition.\nconst knownIcons: { [key: string]: SeamIcon } = {\n faAddressCard,\n faBan,\n faBell,\n faBookmark,\n faChartLine,\n faChartArea,\n faChartBar,\n faCheck,\n faCheckCircle,\n faClock,\n faCloudUploadAlt,\n faComment,\n faCog,\n faEdit,\n faEnvelope,\n faEnvelopeOpen,\n faExclamation,\n faExclamationCircle,\n faExclamationTriangle,\n faExternalLinkSquareAlt,\n faFile,\n faFileAlt,\n faFileArchive,\n faFileAudio,\n faFileCode,\n faFileContract,\n faFileCsv,\n faFileDownload,\n faFileExcel,\n faFileExport,\n faFileImage,\n faFileImport,\n faFileInvoice,\n faFileInvoiceDollar,\n faFileMedical,\n faFileMedicalAlt,\n faFilePdf,\n faFilePowerpoint,\n faFilePrescription,\n faFileSignature,\n faFileUpload,\n faFileVideo,\n faFileWord,\n faFolder,\n faFolderOpen,\n faImage,\n faImages,\n faInbox,\n faInfoCircle,\n faLock,\n faLockOpen,\n faPrint,\n faQuestionCircle,\n faReceipt,\n faReply,\n faSave,\n faShare,\n faSignature,\n faStickyNote,\n faTimes,\n faTimesCircle,\n faTrash,\n faTrashAlt,\n faUser,\n faUserCheck,\n faUserCircle,\n faUserEdit,\n faUserTimes,\n faUsers,\n faUserPlus\n}\n\nexport function getKnownIcon(iconStr: string): SeamIcon | undefined {\n return knownIcons[iconStr]\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.IconComponent"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-icon.mjs","sources":["../../../projects/ui-common/icon/icon/icon.component.ts","../../../projects/ui-common/icon/icon/icon.component.html","../../../projects/ui-common/icon/icon-btn/icon-btn.component.ts","../../../projects/ui-common/icon/icon-notification/icon-notification.component.ts","../../../projects/ui-common/icon/icon.module.ts","../../../projects/ui-common/icon/utils/file-extension-icon.ts","../../../projects/ui-common/icon/utils/get-known-icon.ts","../../../projects/ui-common/icon/theseam-ui-common-icon.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Component, HostBinding, Input } from '@angular/core'\n\nimport { IconProp, SizeProp } from '@fortawesome/fontawesome-svg-core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { SeamIcon } from '../icon'\n\n//\n// TODO: Ensure all inputs correctly update the state whenever changed, not just\n// on initial load.\n//\n\n// Browsers that do not support css grayscale filter.\nconst needToFix = /(MSIE 10)|(Trident.*rv:11\\.0)|( Edge\\/[\\d.]+$)/.test(\n navigator.userAgent,\n)\n\nexport type TheSeamIconType =\n | 'borderless-styled-square'\n | 'styled-square'\n | 'image-fill'\n | undefined\n\n@Component({\n selector: 'seam-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n standalone: false,\n})\nexport class IconComponent {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_showDefaultOnError: BooleanInput\n\n needToFix = needToFix\n\n /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */\n @Input() @InputBoolean() disabled = false\n\n /**\n * Placed on the `.seam-icon--fa` and `seam-icon--img` elements.\n */\n @Input() iconClass: string | undefined | null\n\n /**\n * The icon to display.\n *\n * If the input icon is a string an `img` element will be used with icon as `src`.\n * If the input is not a string it will be assumed to be a font-awesome IconProp object.\n */\n @Input()\n get icon(): SeamIcon | undefined | null {\n return this._iconUrl || this._iconObj\n }\n set icon(value: SeamIcon | undefined | null) {\n if (typeof value === 'string') {\n this._iconUrl = value\n this._iconObj = undefined\n } else {\n this._iconUrl = undefined\n this._iconObj = value\n }\n\n this._iconUrlBeforeError = undefined\n this._iconObjBeforeError = undefined\n\n if (!this._iconUrl && !this._iconObj) {\n this._iconUrl = this._defaultIconUrl\n this._iconObj = this._defaultIconObj\n }\n }\n\n public _iconUrl: string | undefined | null\n public _iconObj: IconProp | undefined | null\n\n private _iconUrlBeforeError: string | undefined | null\n private _iconObjBeforeError: IconProp | undefined | null\n\n /**\n * NOTE: Only works for fa-icon for now.\n */\n @Input() size: SizeProp | undefined | null\n\n /**\n * Toggles whether an image that has thrown the `onerror` event should show\n * the `defaultIcon` instead.\n */\n @Input()\n get showDefaultOnError(): boolean {\n return this._showDefaultOnError\n }\n set showDefaultOnError(value: boolean) {\n this._showDefaultOnError = coerceBooleanProperty(value)\n if (this._hasError) {\n if (this._iconUrlBeforeError || this._iconObjBeforeError) {\n this._iconUrl = this._iconUrlBeforeError\n this._iconObj = this._iconObjBeforeError\n this._iconUrlBeforeError = undefined\n this._iconObjBeforeError = undefined\n } else if (this._showDefaultOnError) {\n this._iconUrl = this._defaultIconUrl\n this._iconObj = this._defaultIconObj\n }\n }\n }\n private _showDefaultOnError = false\n\n /**\n * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.\n */\n @Input()\n get defaultIcon(): SeamIcon | undefined | null {\n return this._defaultIconUrl || this._defaultIconObj\n }\n set defaultIcon(value: SeamIcon | undefined | null) {\n if (typeof value === 'string') {\n this._defaultIconUrl = value\n this._defaultIconObj = undefined\n } else {\n this._defaultIconUrl = undefined\n this._defaultIconObj = value\n }\n\n if (!this._defaultIconUrl && !this._defaultIconObj) {\n this._iconUrl = this._iconUrlBeforeError\n this._iconObj = this._iconObjBeforeError\n }\n\n if (!this._iconUrl && !this._iconObj) {\n this._iconUrl = this._defaultIconUrl\n this._iconObj = this._defaultIconObj\n }\n }\n\n public _defaultIconUrl: string | undefined | null\n public _defaultIconObj: IconProp | undefined | null\n\n @Input() iconType: TheSeamIconType | undefined | null\n\n @HostBinding('attr.icon-type')\n get _iconTypeAttr() {\n return this.iconType\n }\n\n private _hasError = false\n\n public _imgError(event: ErrorEvent): void {\n this._hasError = true\n if (\n this._showDefaultOnError &&\n (this._defaultIconUrl || this._defaultIconObj)\n ) {\n this._iconUrlBeforeError = this._iconUrl\n this._iconObjBeforeError = this._iconObj\n this._iconUrl = this._defaultIconUrl\n this._iconObj = this._defaultIconObj\n }\n }\n\n @HostBinding('class.disabled')\n get _cssDisabled() {\n return this.disabled || null\n }\n\n @HostBinding('class.no-grayscale')\n get _cssNoGreyscale() {\n return !this.grayscaleOnDisable\n }\n}\n","<fa-icon\n *ngIf=\"_iconObj\"\n class=\"seam-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n [size]=\"size || undefined\"\n>\n</fa-icon>\n\n<ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span\n class=\"grayscale-fix\"\n style=\"display: inline-block; position: relative\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n id=\"svgroot\"\n style=\"position: absolute; left: 0; right: 0\"\n viewBox=\"0 0 48 48\"\n width=\"100%\"\n height=\"100%\"\n >\n <defs>\n <filter id=\"gray\">\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </defs>\n <image\n filter='url(\"#gray\")'\n preserveAspectRatio=\"none meet\"\n x=\"0\"\n y=\"0\"\n width=\"48\"\n height=\"48\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\"\n />\n </svg>\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n style=\"display: block; visibility: hidden\"\n alt=\"Icon\"\n [src]=\"_iconUrl\"\n (error)=\"_imgError($event)\"\n />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n (error)=\"_imgError($event)\"\n />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img\n class=\"seam-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n (error)=\"_imgError($event)\"\n />\n </ng-container>\n</ng-container>\n\n<ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport {\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n Input,\n Renderer2,\n} from '@angular/core'\n\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport type { ThemeTypes } from '@theseam/ui-common/models'\n\nimport type { SeamIcon } from '../icon'\nimport type { TheSeamIconType } from '../icon/icon.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamIconBtn]',\n template: `\n <seam-icon\n *ngIf=\"icon\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n [iconClass]=\"iconClass\"\n [icon]=\"icon\"\n [size]=\"size\"\n [showDefaultOnError]=\"showDefaultOnError\"\n [iconType]=\"iconType\"\n >\n </seam-icon>\n <ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n `,\n styles: [],\n host: {\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n standalone: false,\n})\nexport class IconBtnComponent implements DoCheck {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_showDefaultOnError: BooleanInput\n\n /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */\n @Input() @InputBoolean() disabled = false\n\n /**\n * Placed on the `.seam-icon--fa` and `seam-icon--img` elements.\n */\n @Input() iconClass: string | undefined | null\n\n /**\n * The icon to display.\n *\n * If the input icon is a string an `img` element will be used with icon as `src`.\n * If the input is not a string it will be assumed to be a font-awesome IconProp object.\n */\n @Input() icon: SeamIcon | undefined | null\n\n /**\n * NOTE: Only works for fa-icon for now.\n */\n @Input() size: SizeProp | undefined | null\n\n /**\n * Toggles whether an image that has thrown the `onerror` event should show\n * the `defaultIcon` instead.\n */\n @Input() @InputBoolean() showDefaultOnError = false\n\n /**\n * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.\n *\n * NOTE: Not supported for icon-btn yet.\n */\n // @Input() defaultIcon: SeamIcon\n\n @Input() iconType: TheSeamIconType | undefined | null = 'image-fill'\n\n @HostBinding('class.p-0') _cssPadding0 = true\n\n @HostBinding('class.btn') _btn = true\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @HostBinding('class.btn-default') get _btnDefault() {\n return this.isBtnTheme('default')\n }\n @HostBinding('class.btn-primary') get _btnPrimary() {\n return this.isBtnTheme('primary')\n }\n @HostBinding('class.btn-secondary') get _btnSecondary() {\n return this.isBtnTheme('secondary')\n }\n @HostBinding('class.btn-success') get _btnSuccess() {\n return this.isBtnTheme('success')\n }\n @HostBinding('class.btn-danger') get _btnDanger() {\n return this.isBtnTheme('danger')\n }\n @HostBinding('class.btn-warning') get _btnWarning() {\n return this.isBtnTheme('warning')\n }\n @HostBinding('class.btn-info') get _btnInfo() {\n return this.isBtnTheme('info')\n }\n @HostBinding('class.btn-light') get _btnLight() {\n return this.isBtnTheme('light')\n }\n @HostBinding('class.btn-dark') get _btnDark() {\n return this.isBtnTheme('dark')\n }\n @HostBinding('class.btn-lightgray') get _btnLightGray() {\n return this.isBtnTheme('lightgray')\n }\n\n @HostBinding('class.btn-sm') get _btnSizeSm() {\n return this.btnSize === 'sm'\n }\n @HostBinding('class.btn-lg') get _btnSizeLg() {\n return this.btnSize === 'lg'\n }\n\n @Input() btnTheme: ThemeTypes | undefined | null = 'default'\n @Input() badgeTheme: ThemeTypes | undefined | null = 'light'\n @Input() badgeText: string | undefined | null = ''\n\n @Input() btnSize: 'sm' | 'lg' | undefined | null\n\n @Input()\n get type(): string | undefined | null {\n return this._type\n }\n set type(value: string | undefined | null) {\n this._type = value\n }\n private _type: string | undefined | null\n\n @Input()\n get role(): string | undefined | null {\n return this._role\n }\n set role(value: string | undefined | null) {\n this._role = value\n }\n private _role: string | undefined | null\n\n constructor(\n private _elementRef: ElementRef<HTMLButtonElement | HTMLAnchorElement>,\n private _renderer: Renderer2,\n ) {}\n\n ngDoCheck() {\n if (this._isButton()) {\n this._renderer.setAttribute(\n this._elementRef.nativeElement,\n 'type',\n this._type || 'button',\n )\n } else if (this._isAnchor()) {\n this._renderer.setAttribute(\n this._elementRef.nativeElement,\n 'role',\n this._role || 'button',\n )\n }\n }\n\n public isBtnTheme(type: ThemeTypes): boolean {\n return this.btnTheme === type\n }\n\n protected _isButton() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n protected _isAnchor() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n}\n","import {\n animate,\n animation,\n keyframes,\n style,\n transition,\n trigger,\n useAnimation,\n} from '@angular/animations'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n} from '@angular/core'\n\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core'\nimport { faCircle } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { SeamIcon } from '../icon'\nimport type { TheSeamIconType } from '../icon/icon.component'\n\nexport const pulseAnimation = animation([\n style({ transform: 'scale(1)' }),\n animate(\n '{{ timings }}',\n keyframes([\n style({ transform: 'scale(1)', offset: 0 }),\n style({ transform: 'scale({{ scale }})', offset: 0.5 }),\n style({ transform: 'scale(1)', offset: 1 }),\n ]),\n ),\n])\n\n@Component({\n selector: 'seam-icon-notification',\n template: `\n <seam-icon\n *ngIf=\"icon && !hidden\"\n [@counterChange]=\"count\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n [iconClass]=\"iconClass\"\n [icon]=\"icon\"\n [size]=\"size\"\n [showDefaultOnError]=\"showDefaultOnError\"\n [iconType]=\"iconType\"\n >\n </seam-icon>\n <ng-content select=\".sr-only\"></ng-content>\n `,\n styles: [\n `\n :host {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n }\n\n seam-icon {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 25% !important;\n height: 25% !important;\n min-width: 15px;\n min-height: 15px;\n }\n `,\n ],\n host: {\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n animations: [\n trigger('counterChange', [\n transition(\n ':increment',\n useAnimation(pulseAnimation, {\n params: {\n timings: '400ms ease-in-out',\n scale: 1.2,\n },\n }),\n ),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class IconNotificationComponent implements OnInit {\n static ngAcceptInputType_hidden: BooleanInput\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_showDefaultOnError: BooleanInput\n\n @Input() count: number | undefined | null\n\n @Input() @InputBoolean() hidden = false\n\n /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */\n @Input() @InputBoolean() disabled = false\n\n /**\n * Placed on the `.seam-icon--fa` and `seam-icon--img` elements.\n */\n @Input() iconClass: string | undefined | null\n\n /**\n * The icon to display.\n *\n * If the input icon is a string an `img` element will be used with icon as `src`.\n * If the input is not a string it will be assumed to be a font-awesome IconProp object.\n */\n @Input() icon: SeamIcon | undefined | null = faCircle\n\n /**\n * Toggles whether an image that has thrown the `onerror` event should show\n * the `defaultIcon` instead.\n */\n @Input() @InputBoolean() showDefaultOnError = false\n\n /**\n * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.\n *\n * NOTE: Not supported for icon-notification yet.\n */\n // @Input() defaultIcon: SeamIcon\n\n /**\n * NOTE: Only works for fa-icon for now.\n */\n @Input() size: SizeProp | undefined | null\n\n @Input() iconType: TheSeamIconType | undefined | null = 'image-fill'\n\n constructor(private _elementRef: ElementRef<HTMLElement>) {}\n\n ngOnInit() {\n if (\n this._elementRef &&\n this._elementRef.nativeElement &&\n this._elementRef.nativeElement.parentElement\n ) {\n this._elementRef.nativeElement.parentElement.style.position = 'relative'\n }\n }\n\n // ngDoCheck() {}\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { IconBtnComponent } from './icon-btn/icon-btn.component'\nimport { IconNotificationComponent } from './icon-notification/icon-notification.component'\nimport { IconComponent } from './icon/icon.component'\n\n@NgModule({\n declarations: [IconComponent, IconBtnComponent, IconNotificationComponent],\n imports: [CommonModule, FontAwesomeModule],\n exports: [IconComponent, IconBtnComponent, IconNotificationComponent],\n})\nexport class TheSeamIconModule {}\n","import {\n faFile,\n faFileAlt,\n faFileArchive,\n faFileExcel,\n faFileImage,\n faFilePdf,\n faFilePowerpoint,\n faFileWord,\n} from '@fortawesome/free-regular-svg-icons'\n\nimport { SeamIcon } from '../icon'\n\nconst FILE_EXTENSION_ICONS: { [type: string]: SeamIcon } = {\n pdf: faFilePdf,\n doc: faFileWord,\n docx: faFileWord,\n xls: faFileExcel,\n xlsx: faFileExcel,\n gif: faFileImage,\n jpg: faFileImage,\n jpeg: faFileImage,\n png: faFileImage,\n zip: faFileArchive,\n ppt: faFilePowerpoint,\n pptx: faFilePowerpoint,\n txt: faFileAlt,\n json: faFileAlt,\n}\n\nexport const DEFAULT_FILE_EXTENSION_ICON: SeamIcon = faFile\n\nexport function fileExtensionIcon(\n extension: string | null | undefined,\n defaultIfNotFound: boolean = true,\n): SeamIcon | undefined {\n if (!extension) {\n return defaultIfNotFound ? DEFAULT_FILE_EXTENSION_ICON : undefined\n }\n\n let ext = extension\n if (ext.charAt(0) === '.') {\n ext = ext.substr(1)\n }\n\n const icon = FILE_EXTENSION_ICONS[ext]\n if (!icon && defaultIfNotFound) {\n return DEFAULT_FILE_EXTENSION_ICON\n }\n return icon\n}\n","import {\n faAddressCard,\n faBell,\n faBookmark,\n faCheckCircle,\n faClock,\n faComment,\n faEnvelope,\n faEnvelopeOpen,\n faFile,\n faFileAlt,\n faFileArchive,\n faFileAudio,\n faFileCode,\n faFileExcel,\n faFileImage,\n faFilePdf,\n faFilePowerpoint,\n faFileVideo,\n faFileWord,\n faFolder,\n faFolderOpen,\n faImage,\n faImages,\n faQuestionCircle,\n faSave,\n faStickyNote,\n faTimesCircle,\n faTrashAlt,\n faUser,\n faUserCircle,\n} from '@fortawesome/free-regular-svg-icons'\nimport {\n faBan,\n faChartArea,\n faChartBar,\n faChartLine,\n faCheck,\n faCloudUploadAlt,\n faCog,\n faEdit,\n faExclamation,\n faExclamationCircle,\n faExclamationTriangle,\n faExternalLinkSquareAlt,\n faFileContract,\n faFileCsv,\n faFileDownload,\n faFileExport,\n faFileImport,\n faFileInvoice,\n faFileInvoiceDollar,\n faFileMedical,\n faFileMedicalAlt,\n faFilePrescription,\n faFileSignature,\n faFileUpload,\n faInbox,\n faInfoCircle,\n faLock,\n faLockOpen,\n faPrint,\n faReceipt,\n faReply,\n faShare,\n faSignature,\n faTimes,\n faTrash,\n faUserCheck,\n faUserEdit,\n faUserPlus,\n faUsers,\n faUserTimes,\n} from '@fortawesome/free-solid-svg-icons'\n\nimport { SeamIcon } from '../icon'\n\n// TODO: Decide a good way to do this, so that we don't have to import full icon\n// libraries, but still provide icon choices to use from a string. One way could\n// be to define a dictionary of app icons that we can use that map a unique\n// string to an icon definition.\nconst knownIcons: { [key: string]: SeamIcon } = {\n faAddressCard,\n faBan,\n faBell,\n faBookmark,\n faChartLine,\n faChartArea,\n faChartBar,\n faCheck,\n faCheckCircle,\n faClock,\n faCloudUploadAlt,\n faComment,\n faCog,\n faEdit,\n faEnvelope,\n faEnvelopeOpen,\n faExclamation,\n faExclamationCircle,\n faExclamationTriangle,\n faExternalLinkSquareAlt,\n faFile,\n faFileAlt,\n faFileArchive,\n faFileAudio,\n faFileCode,\n faFileContract,\n faFileCsv,\n faFileDownload,\n faFileExcel,\n faFileExport,\n faFileImage,\n faFileImport,\n faFileInvoice,\n faFileInvoiceDollar,\n faFileMedical,\n faFileMedicalAlt,\n faFilePdf,\n faFilePowerpoint,\n faFilePrescription,\n faFileSignature,\n faFileUpload,\n faFileVideo,\n faFileWord,\n faFolder,\n faFolderOpen,\n faImage,\n faImages,\n faInbox,\n faInfoCircle,\n faLock,\n faLockOpen,\n faPrint,\n faQuestionCircle,\n faReceipt,\n faReply,\n faSave,\n faShare,\n faSignature,\n faStickyNote,\n faTimes,\n faTimesCircle,\n faTrash,\n faTrashAlt,\n faUser,\n faUserCheck,\n faUserCircle,\n faUserEdit,\n faUserTimes,\n faUsers,\n faUserPlus,\n}\n\nexport function getKnownIcon(iconStr: string): SeamIcon | undefined {\n return knownIcons[iconStr]\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.IconComponent"],"mappings":"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"}