@theseam/ui-common 2.0.0 → 2.0.1-beta.95

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 (30) hide show
  1. package/ai/index.d.ts +363 -1
  2. package/carousel/index.d.ts +21 -1
  3. package/data-filters/index.d.ts +26 -7
  4. package/datatable/index.d.ts +299 -3
  5. package/datatable-alterations-display/index.d.ts +61 -1
  6. package/fesm2022/theseam-ui-common-ai.mjs +1368 -1
  7. package/fesm2022/theseam-ui-common-ai.mjs.map +1 -1
  8. package/fesm2022/theseam-ui-common-carousel.mjs +48 -1
  9. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
  10. package/fesm2022/theseam-ui-common-data-filters.mjs +90 -16
  11. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
  12. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +197 -1
  13. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
  14. package/fesm2022/theseam-ui-common-datatable.mjs +668 -4
  15. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  16. package/fesm2022/theseam-ui-common-file-input.mjs +156 -1
  17. package/fesm2022/theseam-ui-common-file-input.mjs.map +1 -1
  18. package/fesm2022/theseam-ui-common-icon.mjs +72 -1
  19. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
  20. package/fesm2022/theseam-ui-common-table-cell-types.mjs +4 -0
  21. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
  22. package/fesm2022/theseam-ui-common-tooltip.mjs +110 -1
  23. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
  24. package/fesm2022/theseam-ui-common-widget.mjs +23 -1
  25. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
  26. package/file-input/index.d.ts +78 -1
  27. package/icon/index.d.ts +33 -3
  28. package/package.json +3 -3
  29. package/tooltip/index.d.ts +40 -2
  30. package/widget/index.d.ts +17 -2
@@ -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(\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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"}
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/testing/icon.harness.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","import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n BaseHarnessFilters,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport { IconDefinition, IconLookup } from '@fortawesome/fontawesome-svg-core'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { SeamIcon } from '../icon'\n\n/**\n * Returns only IconLookup for FontAwesome icons\n */\nexport type TestSeamIcon = string | IconLookup\n\nexport function toIconLookup(icon: IconDefinition): IconLookup {\n if (isIconLookup(icon)) {\n return { prefix: icon.prefix, iconName: icon.iconName }\n }\n\n throw new Error(`Invalid icon type: ${typeof icon}`)\n}\n\nfunction isIconLookup(icon: any): icon is IconLookup {\n return hasProperty(icon, 'prefix') && hasProperty(icon, 'iconName')\n}\n\n/** A set of criteria that can be used to filter a list of `TheSeamIconComponentHarness` instances. */\nexport interface TheSeamIconComponentHarnessFilters extends BaseHarnessFilters {\n /** Only find instances whose text matches the given value. */\n icon?: string | RegExp | SeamIcon\n}\n\nexport class TheSeamIconComponentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `TheSeamIconComponent` instance. */\n static hostSelector = 'seam-icon'\n\n private readonly _imgElement = this.locatorForOptional('img')\n private readonly _svgElement = this.locatorForOptional('fa-icon svg')\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a menu item with specific attributes.\n * @param options Options for filtering which menu item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends TheSeamIconComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TheSeamIconComponentHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'icon',\n options.icon,\n async (harness, icon) => {\n const _icon = await harness.getIcon()\n if (_icon === undefined) {\n return false\n }\n\n if (\n typeof _icon === 'string' &&\n (typeof icon === 'string' || icon instanceof RegExp)\n ) {\n return HarnessPredicate.stringMatches(_icon, icon)\n } else if (isIconLookup(_icon) && isIconLookup(icon)) {\n return (\n _icon.prefix === icon.prefix && _icon.iconName === icon.iconName\n )\n }\n\n return false\n },\n )\n }\n\n /** Whether the menu is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host())\n .getAttribute('class')\n .then((c) => (c === null ? false : c.indexOf('disabled') !== -1))\n return coerceBooleanProperty(await disabled)\n }\n\n /** Get icon image. */\n async getIcon(): Promise<TestSeamIcon | undefined> {\n const img = await this._imgElement()\n const svg = await this._svgElement()\n if (img === null && svg === null) {\n return undefined\n }\n\n if (img !== null) {\n const src = await img.getAttribute('src')\n return typeof src === 'string' ? src : undefined\n } else if (svg !== null) {\n const prefix = await svg.getAttribute('data-prefix')\n const icon = await svg.getAttribute('data-icon')\n if (prefix === null || icon === null) {\n return undefined\n }\n return { prefix, iconName: icon } as IconLookup\n }\n }\n\n /** Get icon type. */\n async getIconType(): Promise<string | undefined> {\n const iconType = await (await this.host()).getAttribute('icon-type')\n return typeof iconType === 'string' ? iconType : undefined\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.IconComponent"],"mappings":"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"}
@@ -643,6 +643,10 @@ class TableCellTypeProgressCircleIconComponent {
643
643
  this.icon = this._parseConfigValue(tableData.colData.cellTypeConfig.icon, tableData);
644
644
  this.displayIcon = this._parseConfigValue(tableData.colData.cellTypeConfig.displayIcon, tableData);
645
645
  }
646
+ else {
647
+ this.icon = undefined;
648
+ this.displayIcon = false;
649
+ }
646
650
  }
647
651
  _parseConfigValue(val, tableData) {
648
652
  const contextFn = () => this._tableCellTypeHelpers.getValueContext(val, tableData);