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

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 (99) hide show
  1. package/buttons/index.d.ts +4 -1
  2. package/datatable/index.d.ts +92 -53
  3. package/fesm2022/theseam-ui-common-asset-reader.mjs +10 -10
  4. package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
  5. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +6 -6
  6. package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  7. package/fesm2022/theseam-ui-common-buttons.mjs +35 -28
  8. package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
  9. package/fesm2022/theseam-ui-common-card.mjs +16 -16
  10. package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
  11. package/fesm2022/theseam-ui-common-carousel.mjs +10 -10
  12. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
  13. package/fesm2022/theseam-ui-common-checkbox.mjs +7 -7
  14. package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
  15. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +13 -13
  16. package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  17. package/fesm2022/theseam-ui-common-data-exporter.mjs +31 -14
  18. package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
  19. package/fesm2022/theseam-ui-common-data-filters.mjs +13 -13
  20. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
  21. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +12 -12
  22. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
  23. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +25 -25
  24. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  25. package/fesm2022/theseam-ui-common-datatable.mjs +279 -185
  26. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  27. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  28. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  29. package/fesm2022/theseam-ui-common-dynamic.mjs +21 -21
  30. package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
  31. package/fesm2022/theseam-ui-common-footer-bar.mjs +7 -7
  32. package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
  33. package/fesm2022/theseam-ui-common-form-field-error.mjs +16 -16
  34. package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
  35. package/fesm2022/theseam-ui-common-form-field.mjs +22 -22
  36. package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
  37. package/fesm2022/theseam-ui-common-framework.mjs +157 -157
  38. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
  39. package/fesm2022/theseam-ui-common-google-maps.mjs +40 -40
  40. package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
  41. package/fesm2022/theseam-ui-common-graphql.mjs +3 -3
  42. package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
  43. package/fesm2022/theseam-ui-common-icon.mjs +13 -13
  44. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
  45. package/fesm2022/theseam-ui-common-layout.mjs +7 -7
  46. package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
  47. package/fesm2022/theseam-ui-common-loading.mjs +10 -10
  48. package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
  49. package/fesm2022/theseam-ui-common-menu.mjs +25 -25
  50. package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
  51. package/fesm2022/theseam-ui-common-modal.mjs +43 -43
  52. package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
  53. package/fesm2022/theseam-ui-common-navigation-reload.mjs +3 -3
  54. package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
  55. package/fesm2022/theseam-ui-common-popover.mjs +10 -10
  56. package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
  57. package/fesm2022/theseam-ui-common-progress.mjs +7 -7
  58. package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
  59. package/fesm2022/theseam-ui-common-rich-text.mjs +7 -7
  60. package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
  61. package/fesm2022/theseam-ui-common-scrollbar.mjs +6 -6
  62. package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
  63. package/fesm2022/theseam-ui-common-services.mjs +12 -12
  64. package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
  65. package/fesm2022/theseam-ui-common-shared.mjs +37 -37
  66. package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
  67. package/fesm2022/theseam-ui-common-storage.mjs +3 -3
  68. package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
  69. package/fesm2022/theseam-ui-common-story-helpers.mjs +26 -26
  70. package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
  71. package/fesm2022/theseam-ui-common-tabbed.mjs +22 -22
  72. package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
  73. package/fesm2022/theseam-ui-common-table-cell-type.mjs +39 -11
  74. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
  75. package/fesm2022/theseam-ui-common-table-cell-types.mjs +31 -31
  76. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
  77. package/fesm2022/theseam-ui-common-table.mjs +23 -21
  78. package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
  79. package/fesm2022/theseam-ui-common-tel-input.mjs +13 -13
  80. package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
  81. package/fesm2022/theseam-ui-common-tiled-select.mjs +22 -22
  82. package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
  83. package/fesm2022/theseam-ui-common-toggle-edit.mjs +16 -16
  84. package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
  85. package/fesm2022/theseam-ui-common-toggle-group.mjs +10 -10
  86. package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
  87. package/fesm2022/theseam-ui-common-tooltip.mjs +10 -10
  88. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
  89. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +10 -10
  90. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  91. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +3 -3
  92. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  93. package/fesm2022/theseam-ui-common-viewers.mjs +12 -12
  94. package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
  95. package/fesm2022/theseam-ui-common-widget.mjs +135 -135
  96. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
  97. package/package.json +33 -33
  98. package/table/index.d.ts +1 -2
  99. package/table-cell-type/index.d.ts +27 -2
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-tiled-select.mjs","sources":["../../../projects/ui-common/tiled-select/testing/tiled-select-tile-harness.ts","../../../projects/ui-common/tiled-select/testing/tiled-select-harness.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-overlay.directive.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-label-tpl.directive.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-icon-tpl.directive.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.html","../../../projects/ui-common/tiled-select/components/tiled-select-tile/tiled-select-tile.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile/tiled-select-tile.component.html","../../../projects/ui-common/tiled-select/components/tiled-select/tiled-select.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select/tiled-select.component.html","../../../projects/ui-common/tiled-select/tiled-select.module.ts","../../../projects/ui-common/tiled-select/theseam-ui-common-tiled-select.ts"],"sourcesContent":["import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport { TheSeamTiledSelectItem } from '../tiled-select.models'\n\ninterface TheSeamTiledSelectTileHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the tile index of the tile. */\n tileIndex?: number | string | RegExp\n\n /** Filters based on the tile name of the tile. */\n tileName?: string | RegExp\n}\n\nexport class TheSeamTiledSelectTileHarness extends ComponentHarness {\n static hostSelector = 'seam-tiled-select-tile'\n\n /** Creates a `HarnessPredicate` used to locate a particular `MyMenuHarness`. */\n static with(\n options: TheSeamTiledSelectTileHarnessFilters,\n ): HarnessPredicate<TheSeamTiledSelectTileHarness> {\n return new HarnessPredicate(TheSeamTiledSelectTileHarness, options)\n .addOption('tile index', options.tileIndex, (harness, index) =>\n HarnessPredicate.stringMatches(harness.getTileIndex(), `${index}`),\n )\n .addOption('tile name', options.tileName, (harness, name) =>\n HarnessPredicate.stringMatches(harness.getTileName(), name),\n )\n }\n\n public async getTileIndex() {\n return (await this.host()).getAttribute('data-tile-index')\n }\n\n public async getTileName(): Promise<string | null> {\n return (await this.host()).getAttribute('data-tile-name')\n }\n\n public async getValue(): Promise<any> {\n return (await this.host()).getProperty('value')\n }\n\n public async getButtonElement() {\n return this.locatorFor('button')()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nimport { TheSeamTiledSelectTileHarness } from './tiled-select-tile-harness'\n\nexport class TheSeamTiledSelectHarness extends ComponentHarness {\n static hostSelector = 'seam-tiled-select'\n\n public async getTiles() {\n return this.locatorForAll(TheSeamTiledSelectTileHarness)\n }\n\n public getTileAtIndex(index: number) {\n const getTileAtIndex = this.locatorFor(\n TheSeamTiledSelectTileHarness.with({ tileIndex: index }),\n )\n return getTileAtIndex()\n // return this.locatorFor(TheSeamTiledSelectTileHarness.with({ tileIndex: index }))\n }\n\n public async getTileByName(name: string) {\n const getTileByName = this.locatorFor(\n TheSeamTiledSelectTileHarness.with({ tileName: name }),\n )\n return getTileByName()\n }\n\n public async getValue() {\n return (await this.host()).getProperty('value')\n }\n}\n","import { Directive, inject, Input, TemplateRef } from '@angular/core'\n\nimport { TheSeamTiledSelectItem } from '../tiled-select.models'\n\n@Directive({\n selector: '[seamTiledSelectTileOverlay]',\n exportAs: 'seamTiledSelectTileOverlay',\n})\nexport class TheSeamTiledSelectTileOverlayDirective {\n public readonly template = inject(TemplateRef<any>)\n\n @Input() record: TheSeamTiledSelectItem | undefined | null\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTiledSelectTileLabelTpl]',\n exportAs: 'seamTiledSelectTileLabelTpl',\n})\nexport class TheSeamTiledSelectTileLabelTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTiledSelectTileIconTpl]',\n exportAs: 'seamTiledSelectTileIconTpl',\n})\nexport class TheSeamTiledSelectTileIconTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, HostBinding, Input } from '@angular/core'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { TheSeamTiledSelectTileIconTplDirective } from '../../directives/tiled-select-tile-icon-tpl.directive'\nimport { TheSeamTiledSelectLayout } from '../../tiled-select.models'\n\nconst needToFix = /(MSIE 10)|(Trident.*rv:11\\.0)|( Edge\\/[\\d.]+$)/.test(\n navigator.userAgent,\n)\n\n@Component({\n selector: 'seam-tiled-select-tile-icon',\n templateUrl: './tiled-select-tile-icon.component.html',\n styleUrls: ['./tiled-select-tile-icon.component.scss'],\n imports: [NgIf, NgTemplateOutlet, FontAwesomeModule],\n})\nexport class TheSeamTiledSelectTileIconComponent {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n\n readonly needToFix = needToFix\n\n @HostBinding('class.grid') get _cssClassGrid() {\n return this.layout === 'grid'\n }\n @HostBinding('class.list') get _cssClassList() {\n return this.layout === 'list'\n }\n\n @Input()\n set layout(value: TheSeamTiledSelectLayout) {\n this._layout = value || 'grid'\n }\n get layout(): TheSeamTiledSelectLayout {\n return this._layout\n }\n private _layout: TheSeamTiledSelectLayout = 'grid'\n\n @Input() @InputBoolean() grayscaleOnDisable = false\n @Input() @InputBoolean() disabled = false\n\n @Input() iconClass: string | undefined | null\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\n public _iconUrl: string | undefined | null\n public _iconObj: IconProp | undefined | null\n\n @ContentChild(TheSeamTiledSelectTileIconTplDirective, { static: true })\n iconTpl?: TheSeamTiledSelectTileIconTplDirective\n}\n","<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\"\n >\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n <fa-icon\n *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\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=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n style=\"display: block; visibility: hidden\"\n alt=\"Icon\"\n [src]=\"_iconUrl\"\n />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n</ng-template>\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 ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n} from '@angular/core'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { faCheckCircle } from '@fortawesome/free-regular-svg-icons'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { TheSeamTiledSelectTileLabelTplDirective } from '../../directives/tiled-select-tile-label-tpl.directive'\nimport { TheSeamTiledSelectTileOverlayDirective } from '../../directives/tiled-select-tile-overlay.directive'\nimport { TheSeamTiledSelectLayout } from '../../tiled-select.models'\nimport { TheSeamTiledSelectTileIconComponent } from '../tiled-select-tile-icon/tiled-select-tile-icon.component'\n\nexport const tilePulse = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)' }),\n style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),\n style({ transform: 'scale3d(1, 1, 1)' }),\n ]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\nexport const tileScaleUp = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),\n ]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\nexport const tileScaleDown = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([style({ transform: 'scale3d(1, 1, 1)' })]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\n@Component({\n selector: 'seam-tiled-select-tile',\n templateUrl: './tiled-select-tile.component.html',\n styleUrls: ['./tiled-select-tile.component.scss'],\n animations: [\n trigger('pulse', [\n transition('false => true', [\n useAnimation(tilePulse),\n // useAnimation(tileScaleUp)\n ]),\n // transition('true => false', [\n // useAnimation(tileScaleDown)\n // ]),\n ]),\n // trigger('openClose', [\n // state('true', style({ height: '*' })),\n // state('false', style({ height: '0px' })),\n // transition('false <=> true', animate(500))\n // ]),\n ],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgTemplateOutlet,\n FontAwesomeModule,\n TheSeamTiledSelectTileIconComponent,\n ],\n})\nexport class TheSeamTiledSelectTileComponent {\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_selected: BooleanInput\n static ngAcceptInputType_tileBackdrop: BooleanInput\n static ngAcceptInputType_selectable: BooleanInput\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_showLabel: BooleanInput\n static ngAcceptInputType_showSelectedIcon: BooleanInput\n\n private readonly _cdr = inject(ChangeDetectorRef)\n\n readonly faCheckCircle = faCheckCircle\n\n @HostBinding('@pulse') pulseAnimationState = true\n @HostBinding('attr.data-tile-name') get _tileNameAttr() {\n return this.name\n }\n\n @Input() layout: TheSeamTiledSelectLayout = 'grid'\n\n @Input() name: string | undefined | null\n @Input() label: string | undefined | null\n @Input() icon: SeamIcon | undefined | null\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() selected = false\n\n @Input() @InputBoolean() tileBackdrop = false\n @Input() @InputBoolean() selectable = false\n @Input() @InputBoolean() grayscaleOnDisable = true\n @Input() @InputBoolean() showLabel = true\n @Input() @InputBoolean() showSelectedIcon = true\n\n @Input() iconClass: string | undefined | null\n\n @Input() overlayTpl: TheSeamTiledSelectTileOverlayDirective | undefined | null\n\n @Output() readonly activated = new EventEmitter<any>()\n\n @ContentChild(TheSeamTiledSelectTileLabelTplDirective, { static: true })\n labelTpl?: TheSeamTiledSelectTileLabelTplDirective\n\n pulsing = false\n pulsingTimeout: number | undefined\n\n onTileClick(event: any) {\n if (!this.selectable) {\n return\n }\n this.activated.emit(event)\n\n // this.pulsing = true\n // setTimeout(() => {\n // this.pulsing = false\n // }, 750)\n }\n\n mDown() {\n if (this.pulsingTimeout) {\n clearTimeout(this.pulsingTimeout)\n }\n\n if (!this.pulsing) {\n this.pulsing = true\n // this._cdr.detectChanges()\n }\n\n // console.log('start')\n this.pulsingTimeout = window.setTimeout(() => {\n this.pulsing = false\n // this._cdr.detectChanges()\n this.pulsingTimeout = undefined\n }, 750)\n }\n}\n","<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\"\n>\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n >\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{\n label\n }}</span>\n <ng-template\n *ngIf=\"labelTpl\"\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: label, label: label }\"\n >\n </ng-template>\n </div>\n <div\n *ngIf=\"tileBackdrop\"\n class=\"selected-backdrop\"\n [class.bg-success]=\"selected\"\n ></div>\n <fa-icon\n *ngIf=\"selected && showSelectedIcon\"\n class=\"tiled-select-tile-panel--selected text-success\"\n [icon]=\"faCheckCircle\"\n size=\"3x\"\n >\n </fa-icon>\n </div>\n <div class=\"tiled-select-tile-panel--overlay\" *ngIf=\"overlayTpl\">\n <ng-template [ngTemplateOutlet]=\"overlayTpl.template\"></ng-template>\n </div>\n</button>\n","import {\n animate,\n animation,\n query,\n stagger,\n style,\n transition,\n trigger,\n useAnimation,\n} from '@angular/animations'\nimport { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { Platform } from '@angular/cdk/platform'\nimport {\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamTiledSelectTileOverlayDirective } from './../../directives/tiled-select-tile-overlay.directive'\nimport {\n TheSeamTiledSelectItem,\n TheSeamTiledSelectLayout,\n} from '../../tiled-select.models'\nimport { TheSeamTiledSelectTileComponent } from '../tiled-select-tile/tiled-select-tile.component'\nimport { NgClass, NgFor } from '@angular/common'\n\nexport const slideEnterAnimation = animation([\n style({ opacity: 0, transform: 'translateX(-15px)' }),\n stagger(100, [\n animate('0.5s', style({ opacity: 1, transform: 'translateX(0)' })),\n ]),\n])\n\nexport const TILED_SELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamTiledSelectComponent),\n multi: true,\n}\n\n@Component({\n selector: 'seam-tiled-select',\n templateUrl: './tiled-select.component.html',\n styleUrls: ['./tiled-select.component.scss'],\n providers: [TILED_SELECT_VALUE_ACCESSOR],\n host: {\n '[attr.data-testid]': '\"tiled-select\"',\n },\n animations: [\n trigger('tiles', [\n transition('* => *', [\n query(':enter', useAnimation(slideEnterAnimation), { optional: true }),\n ]),\n ]),\n ],\n imports: [NgFor, NgClass, TheSeamTiledSelectTileComponent],\n})\nexport class TheSeamTiledSelectComponent implements ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_multiple: BooleanInput\n static ngAcceptInputType_selectionToggleable: BooleanInput\n static ngAcceptInputType_tileBackdrop: BooleanInput\n static ngAcceptInputType_showSelectedIcon: BooleanInput\n static ngAcceptInputType_animationsDisabled: BooleanInput\n\n private readonly _platform = inject(Platform)\n private readonly _cdr = inject(ChangeDetectorRef)\n private readonly _renderer = inject(Renderer2)\n private readonly _elementRef = inject(ElementRef)\n\n @Input() layout: TheSeamTiledSelectLayout = 'grid'\n @Input()\n get tiles() {\n return this._tiles\n }\n set tiles(value: TheSeamTiledSelectItem[]) {\n const _value = [...(value || [])]\n for (const v of _value) {\n if (v.value === undefined) {\n if (v.name === undefined) {\n throw new Error('If value is undefined then name must be defined.')\n }\n v.value = v.name\n }\n }\n\n const prev = this._tiles\n if (prev.length !== _value.length) {\n this.tilesAnimationState = !this.tilesAnimationState\n } else {\n for (const t of _value) {\n if (!prev.find((p) => p.name === t.name)) {\n this.tilesAnimationState = !this.tilesAnimationState\n break\n }\n }\n }\n\n this._tiles = _value\n }\n private _tiles: TheSeamTiledSelectItem[] = []\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') val: string | string[] | undefined\n\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() multiple = false\n @Input() @InputBoolean() selectionToggleable = true\n @Input() @InputBoolean() tileBackdrop = false\n @Input() @InputBoolean() showSelectedIcon = true\n @Input() @InputBoolean() animationsDisabled: boolean = this._platform.IOS\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<string | string[] | undefined>()\n\n tilesAnimationState = false\n\n onChange: any\n onTouched: any\n\n @ContentChildren(TheSeamTiledSelectTileOverlayDirective)\n public overlayTpls?: QueryList<TheSeamTiledSelectTileOverlayDirective>\n\n get value(): string | string[] | undefined {\n return this.val\n }\n\n set value(value: string | string[] | undefined) {\n this.val = this.multiple ? [...((value as string[]) || [])] : value || ''\n\n this._renderer.setProperty(\n this._elementRef.nativeElement,\n 'value',\n this.val,\n )\n\n if (this.onChange) {\n this.onChange(this.val)\n this.change.emit(this.val)\n this._cdr.markForCheck()\n }\n if (this.onTouched) {\n this.onTouched()\n }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n onTileSelected(event: MouseEvent, tile: TheSeamTiledSelectItem) {\n this.toggleTileSelected(tile)\n }\n\n public isSelected(tile: TheSeamTiledSelectItem) {\n if (!this.multiple) {\n if (this.value === tile.value) {\n return true\n }\n } else {\n if (this.value) {\n for (const v of this.value) {\n if (v === tile.value) {\n return true\n }\n }\n }\n }\n\n return false\n }\n\n public toggleTileSelected(tile: TheSeamTiledSelectItem): void {\n if (!this.selectionToggleable && this.isSelected(tile)) {\n return\n }\n\n if (this.isSelected(tile)) {\n this.unselectTile(tile)\n } else {\n this.selectTile(tile)\n }\n }\n\n public selectTile(tile: TheSeamTiledSelectItem): void {\n if (this.multiple) {\n if (!this.isSelected(tile)) {\n const value: string[] = (this.value as string[]) || []\n this.value = [...coerceArray(value), tile.value]\n }\n } else {\n this.value = tile.value\n }\n }\n\n public unselectTile(tile: TheSeamTiledSelectItem): void {\n if (this.multiple) {\n const value: string[] = (this.value as string[]) || []\n this.value = value.filter((v) => v !== tile.value)\n } else {\n this.value = undefined\n }\n }\n\n public getSelectedTiles(): TheSeamTiledSelectItem[] {\n return this.tiles.filter((t) => this.isSelected(t))\n }\n\n getOverlayTpl(\n tile: TheSeamTiledSelectItem,\n ): TheSeamTiledSelectTileOverlayDirective | undefined {\n // console.log('overlayTpls', this.overlayTpls)\n return (this.overlayTpls || []).find((t) => t.record?.name === tile.name)\n }\n}\n","<div\n class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\"\n>\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\"\n >\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamTiledSelectTileComponent } from './components/tiled-select-tile/tiled-select-tile.component'\nimport { TheSeamTiledSelectComponent } from './components/tiled-select/tiled-select.component'\nimport { TheSeamTiledSelectTileIconTplDirective } from './directives/tiled-select-tile-icon-tpl.directive'\nimport { TheSeamTiledSelectTileLabelTplDirective } from './directives/tiled-select-tile-label-tpl.directive'\nimport { TheSeamTiledSelectTileOverlayDirective } from './directives/tiled-select-tile-overlay.directive'\n\n@NgModule({\n imports: [\n TheSeamTiledSelectComponent,\n TheSeamTiledSelectTileComponent,\n TheSeamTiledSelectTileOverlayDirective,\n TheSeamTiledSelectTileIconTplDirective,\n TheSeamTiledSelectTileLabelTplDirective,\n ],\n exports: [\n TheSeamTiledSelectComponent,\n TheSeamTiledSelectTileComponent,\n TheSeamTiledSelectTileOverlayDirective,\n TheSeamTiledSelectTileIconTplDirective,\n TheSeamTiledSelectTileLabelTplDirective,\n ],\n})\nexport class TheSeamTiledSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgBM,MAAO,6BAA8B,SAAQ,gBAAgB,CAAA;AACjE,IAAA,OAAO,YAAY,GAAG,wBAAwB;;IAG9C,OAAO,IAAI,CACT,OAA6C,EAAA;AAE7C,QAAA,OAAO,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,OAAO;aAC/D,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,KACzD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;aAEnE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,KACtD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAC5D;IACL;AAEO,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAC5D;AAEO,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,gBAAgB,CAAC;IAC3D;AAEO,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC;IACjD;AAEO,IAAA,MAAM,gBAAgB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;IACpC;;;AC1CI,MAAO,yBAA0B,SAAQ,gBAAgB,CAAA;AAC7D,IAAA,OAAO,YAAY,GAAG,mBAAmB;AAElC,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC;IAC1D;AAEO,IAAA,cAAc,CAAC,KAAa,EAAA;AACjC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CACpC,6BAA6B,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CACzD;QACD,OAAO,cAAc,EAAE;;IAEzB;IAEO,MAAM,aAAa,CAAC,IAAY,EAAA;AACrC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CACnC,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACvD;QACD,OAAO,aAAa,EAAE;IACxB;AAEO,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC;IACjD;;;MCpBW,sCAAsC,CAAA;AACjC,IAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC;AAE1C,IAAA,MAAM;uGAHJ,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,4BAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAJlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,4BAA4B;AACvC,iBAAA;;sBAIE;;;MCLU,uCAAuC,CAAA;AAClC,IAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC;uGADxC,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvC,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAJnD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,QAAQ,EAAE,6BAA6B;AACxC,iBAAA;;;MCCY,sCAAsC,CAAA;AACjC,IAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC;uGADxC,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,CAAA,4BAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAJlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,4BAA4B;AACvC,iBAAA;;;ACOD,MAAM,SAAS,GAAG,gDAAgD,CAAC,IAAI,CACrE,SAAS,CAAC,SAAS,CACpB;MAQY,mCAAmC,CAAA;IAC9C,OAAO,oCAAoC;IAC3C,OAAO,0BAA0B;IAExB,SAAS,GAAG,SAAS;AAE9B,IAAA,IAA+B,aAAa,GAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM;IAC/B;AACA,IAAA,IAA+B,aAAa,GAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM;IAC/B;IAEA,IACI,MAAM,CAAC,KAA+B,EAAA;AACxC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,MAAM;IAChC;AACA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACQ,OAAO,GAA6B,MAAM;IAEzB,kBAAkB,GAAG,KAAK;IAC1B,QAAQ,GAAG,KAAK;AAEhC,IAAA,SAAS;AAElB,IAAA,IACI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;IACvC;IACA,IAAI,IAAI,CAAC,KAAkC,EAAA;AACzC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;QAC3B;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;AACzB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACvB;IACF;AAEO,IAAA,QAAQ;AACR,IAAA,QAAQ;AAGf,IAAA,OAAO;uGA7CI,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA4ChC,sCAAsC,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClEtD,kyEA0EA,67BDtDY,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;AAwB1B,UAAA,CAAA;AAAf,IAAA,YAAY;AAA6B,CAAA,EAAA,mCAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA;AAC1B,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,mCAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;2FAvB9B,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAN/C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,WAG9B,CAAC,IAAI,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAA,QAAA,EAAA,kyEAAA,EAAA,MAAA,EAAA,CAAA,q4BAAA,CAAA,EAAA;;sBAQnD,WAAW;uBAAC,YAAY;;sBAGxB,WAAW;uBAAC,YAAY;;sBAIxB;;sBASA;;sBACA;;sBAEA;;sBAEA;;sBAiBA,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,sCAAsC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;AEjCjE,MAAM,SAAS,GAAG,SAAS,CAChC,OAAO,CACL,4BAA4B,EAC5B,SAAS,CAAC;AACR,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AACxC,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,gDAAgD,EAAE,CAAC;AACtE,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACzC,CAAC,CACH,EACD,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AAG9C,MAAM,WAAW,GAAG,SAAS,CAClC,OAAO,CACL,4BAA4B,EAC5B,SAAS,CAAC;AACR,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,gDAAgD,EAAE,CAAC;CACvE,CAAC,CACH,EACD,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AAG9C,MAAM,aAAa,GAAG,SAAS,CACpC,OAAO,CACL,4BAA4B,EAC5B,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,CACtD,EACD,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;MA+BxC,+BAA+B,CAAA;IAC1C,OAAO,0BAA0B;IACjC,OAAO,0BAA0B;IACjC,OAAO,8BAA8B;IACrC,OAAO,4BAA4B;IACnC,OAAO,oCAAoC;IAC3C,OAAO,2BAA2B;IAClC,OAAO,kCAAkC;AAExB,IAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAExC,aAAa,GAAG,aAAa;IAEf,mBAAmB,GAAG,IAAI;AACjD,IAAA,IAAwC,aAAa,GAAA;QACnD,OAAO,IAAI,CAAC,IAAI;IAClB;IAES,MAAM,GAA6B,MAAM;AAEzC,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,IAAI;IACY,QAAQ,GAAG,KAAK;IAChB,QAAQ,GAAG,KAAK;IAEhB,YAAY,GAAG,KAAK;IACpB,UAAU,GAAG,KAAK;IAClB,kBAAkB,GAAG,IAAI;IACzB,SAAS,GAAG,IAAI;IAChB,gBAAgB,GAAG,IAAI;AAEvC,IAAA,SAAS;AAET,IAAA,UAAU;AAEA,IAAA,SAAS,GAAG,IAAI,YAAY,EAAO;AAGtD,IAAA,QAAQ;IAER,OAAO,GAAG,KAAK;AACf,IAAA,cAAc;AAEd,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB;QACF;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;IAM5B;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QACnC;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;QAErB;;QAGA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;AAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAEpB,YAAA,IAAI,CAAC,cAAc,GAAG,SAAS;QACjC,CAAC,EAAE,GAAG,CAAC;IACT;uGAxEW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA/B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAsC5B,uCAAuC,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjIvD,ktDAqDA,EAAA,MAAA,EAAA,CAAA,k2GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDgCI,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,mCAAmC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EArBzB;YACV,OAAO,CAAC,OAAO,EAAE;gBACf,UAAU,CAAC,eAAe,EAAE;oBAC1B,YAAY,CAAC,SAAS,CAAC;;iBAExB,CAAC;;;;aAIH,CAAC;;;;;;AAMH,SAAA,EAAA,CAAA;;AAgCwB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAEhB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAuB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAqB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AAClB,UAAA,CAAA;AAAf,IAAA,YAAY;AAA4B,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA;AACzB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY;AAA0B,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;2FA9BrC,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBA5B3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,UAAA,EAGtB;wBACV,OAAO,CAAC,OAAO,EAAE;4BACf,UAAU,CAAC,eAAe,EAAE;gCAC1B,YAAY,CAAC,SAAS,CAAC;;6BAExB,CAAC;;;;yBAIH,CAAC;;;;;;qBAMH,EAAA,OAAA,EAEQ;wBACP,IAAI;wBACJ,gBAAgB;wBAChB,iBAAiB;wBACjB,mCAAmC;AACpC,qBAAA,EAAA,QAAA,EAAA,ktDAAA,EAAA,MAAA,EAAA,CAAA,k2GAAA,CAAA,EAAA;;sBAeA,WAAW;uBAAC,QAAQ;;sBACpB,WAAW;uBAAC,qBAAqB;;sBAIjC;;sBAEA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBAEA;;sBAEA;;sBAEA,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,uCAAuC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;AE5FlE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE;AACX,QAAA,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;KACnE,CAAC;AACH,CAAA;AAEM,MAAM,2BAA2B,GAAQ;AAC9C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE,IAAI;;MAoBA,2BAA2B,CAAA;IACtC,OAAO,qBAAqB;IAC5B,OAAO,0BAA0B;IACjC,OAAO,0BAA0B;IACjC,OAAO,qCAAqC;IAC5C,OAAO,8BAA8B;IACrC,OAAO,kCAAkC;IACzC,OAAO,oCAAoC;AAE1B,IAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,IAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAChC,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAExC,MAAM,GAA6B,MAAM;AAClD,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IACA,IAAI,KAAK,CAAC,KAA+B,EAAA;QACvC,MAAM,MAAM,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;AACjC,QAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE;AACzB,gBAAA,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;AACxB,oBAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;gBACrE;AACA,gBAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI;YAClB;QACF;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;AACjC,YAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB;QACtD;aAAO;AACL,YAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE;AACxC,oBAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB;oBACpD;gBACF;YACF;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB;IACQ,MAAM,GAA6B,EAAE;;AAG7B,IAAA,GAAG;IAEM,QAAQ,GAAG,KAAK;IAChB,QAAQ,GAAG,KAAK;IAChB,mBAAmB,GAAG,IAAI;IAC1B,YAAY,GAAG,KAAK;IACpB,gBAAgB,GAAG,IAAI;AACvB,IAAA,kBAAkB,GAAY,IAAI,CAAC,SAAS,CAAC,GAAG;;AAGtD,IAAA,MAAM,GAAG,IAAI,YAAY,EAAiC;IAE7E,mBAAmB,GAAG,KAAK;AAE3B,IAAA,QAAQ;AACR,IAAA,SAAS;AAGF,IAAA,WAAW;AAElB,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,GAAG;IACjB;IAEA,IAAI,KAAK,CAAC,KAAoC,EAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAK,KAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE;AAEzE,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CACxB,IAAI,CAAC,WAAW,CAAC,aAAa,EAC9B,OAAO,EACP,IAAI,CAAC,GAAG,CACT;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;QAC1B;AACA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,EAAE;QAClB;IACF;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;IAEA,cAAc,CAAC,KAAiB,EAAE,IAA4B,EAAA;AAC5D,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAC/B;AAEO,IAAA,UAAU,CAAC,IAA4B,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AAC7B,gBAAA,OAAO,IAAI;YACb;QACF;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;AAC1B,oBAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,wBAAA,OAAO,IAAI;oBACb;gBACF;YACF;QACF;AAEA,QAAA,OAAO,KAAK;IACd;AAEO,IAAA,kBAAkB,CAAC,IAA4B,EAAA;AACpD,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACtD;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACzB;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACvB;IACF;AAEO,IAAA,UAAU,CAAC,IAA4B,EAAA;AAC5C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC1B,gBAAA,MAAM,KAAK,GAAc,IAAI,CAAC,KAAkB,IAAI,EAAE;AACtD,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;YAClD;QACF;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QACzB;IACF;AAEO,IAAA,YAAY,CAAC,IAA4B,EAAA;AAC9C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,KAAK,GAAc,IAAI,CAAC,KAAkB,IAAI,EAAE;AACtD,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;QACpD;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS;QACxB;IACF;IAEO,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrD;AAEA,IAAA,aAAa,CACX,IAA4B,EAAA;;QAG5B,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;IAC3E;uGAzKW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAb3B,CAAC,2BAA2B,CAAC,sDA6EvB,sCAAsC,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnIzD,+jCA+BA,EAAA,MAAA,EAAA,CAAA,ssBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDkCY,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,+BAA+B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAP7C;YACV,OAAO,CAAC,OAAO,EAAE;gBACf,UAAU,CAAC,QAAQ,EAAE;AACnB,oBAAA,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iBACvE,CAAC;aACH,CAAC;AACH,SAAA,EAAA,CAAA;;AAoDwB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY;AAA6B,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,KAAA,CAAA,CAAA;AAC1B,UAAA,CAAA;AAAf,IAAA,YAAY;AAAuB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAf,IAAA,YAAY;AAA0B,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;AACvB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmD,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA;2FAtD9D,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAjBvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,SAAA,EAGlB,CAAC,2BAA2B,CAAC,EAAA,IAAA,EAClC;AACJ,wBAAA,oBAAoB,EAAE,gBAAgB;qBACvC,EAAA,UAAA,EACW;wBACV,OAAO,CAAC,OAAO,EAAE;4BACf,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;6BACvE,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,OAAA,EACQ,CAAC,KAAK,EAAE,OAAO,EAAE,+BAA+B,CAAC,EAAA,QAAA,EAAA,+jCAAA,EAAA,MAAA,EAAA,CAAA,ssBAAA,CAAA,EAAA;;sBAgBzD;;sBACA;;sBAgCA,KAAK;uBAAC,OAAO;;sBAEb;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAGA;;sBAOA,eAAe;uBAAC,sCAAsC;;;ME3G5C,wBAAwB,CAAA;uGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAdjC,2BAA2B;YAC3B,+BAA+B;YAC/B,sCAAsC;YACtC,sCAAsC;AACtC,YAAA,uCAAuC,aAGvC,2BAA2B;YAC3B,+BAA+B;YAC/B,sCAAsC;YACtC,sCAAsC;YACtC,uCAAuC,CAAA,EAAA,CAAA;AAG9B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAdjC,2BAA2B;YAC3B,+BAA+B,CAAA,EAAA,CAAA;;2FAatB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAhBpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,+BAA+B;wBAC/B,sCAAsC;wBACtC,sCAAsC;wBACtC,uCAAuC;AACxC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,+BAA+B;wBAC/B,sCAAsC;wBACtC,sCAAsC;wBACtC,uCAAuC;AACxC,qBAAA;AACF,iBAAA;;;ACvBD;;AAEG;;;;"}
1
+ {"version":3,"file":"theseam-ui-common-tiled-select.mjs","sources":["../../../projects/ui-common/tiled-select/testing/tiled-select-tile-harness.ts","../../../projects/ui-common/tiled-select/testing/tiled-select-harness.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-overlay.directive.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-label-tpl.directive.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-icon-tpl.directive.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.html","../../../projects/ui-common/tiled-select/components/tiled-select-tile/tiled-select-tile.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile/tiled-select-tile.component.html","../../../projects/ui-common/tiled-select/components/tiled-select/tiled-select.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select/tiled-select.component.html","../../../projects/ui-common/tiled-select/tiled-select.module.ts","../../../projects/ui-common/tiled-select/theseam-ui-common-tiled-select.ts"],"sourcesContent":["import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport { TheSeamTiledSelectItem } from '../tiled-select.models'\n\ninterface TheSeamTiledSelectTileHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the tile index of the tile. */\n tileIndex?: number | string | RegExp\n\n /** Filters based on the tile name of the tile. */\n tileName?: string | RegExp\n}\n\nexport class TheSeamTiledSelectTileHarness extends ComponentHarness {\n static hostSelector = 'seam-tiled-select-tile'\n\n /** Creates a `HarnessPredicate` used to locate a particular `MyMenuHarness`. */\n static with(\n options: TheSeamTiledSelectTileHarnessFilters,\n ): HarnessPredicate<TheSeamTiledSelectTileHarness> {\n return new HarnessPredicate(TheSeamTiledSelectTileHarness, options)\n .addOption('tile index', options.tileIndex, (harness, index) =>\n HarnessPredicate.stringMatches(harness.getTileIndex(), `${index}`),\n )\n .addOption('tile name', options.tileName, (harness, name) =>\n HarnessPredicate.stringMatches(harness.getTileName(), name),\n )\n }\n\n public async getTileIndex() {\n return (await this.host()).getAttribute('data-tile-index')\n }\n\n public async getTileName(): Promise<string | null> {\n return (await this.host()).getAttribute('data-tile-name')\n }\n\n public async getValue(): Promise<any> {\n return (await this.host()).getProperty('value')\n }\n\n public async getButtonElement() {\n return this.locatorFor('button')()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nimport { TheSeamTiledSelectTileHarness } from './tiled-select-tile-harness'\n\nexport class TheSeamTiledSelectHarness extends ComponentHarness {\n static hostSelector = 'seam-tiled-select'\n\n public async getTiles() {\n return this.locatorForAll(TheSeamTiledSelectTileHarness)\n }\n\n public getTileAtIndex(index: number) {\n const getTileAtIndex = this.locatorFor(\n TheSeamTiledSelectTileHarness.with({ tileIndex: index }),\n )\n return getTileAtIndex()\n // return this.locatorFor(TheSeamTiledSelectTileHarness.with({ tileIndex: index }))\n }\n\n public async getTileByName(name: string) {\n const getTileByName = this.locatorFor(\n TheSeamTiledSelectTileHarness.with({ tileName: name }),\n )\n return getTileByName()\n }\n\n public async getValue() {\n return (await this.host()).getProperty('value')\n }\n}\n","import { Directive, inject, Input, TemplateRef } from '@angular/core'\n\nimport { TheSeamTiledSelectItem } from '../tiled-select.models'\n\n@Directive({\n selector: '[seamTiledSelectTileOverlay]',\n exportAs: 'seamTiledSelectTileOverlay',\n})\nexport class TheSeamTiledSelectTileOverlayDirective {\n public readonly template = inject(TemplateRef<any>)\n\n @Input() record: TheSeamTiledSelectItem | undefined | null\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTiledSelectTileLabelTpl]',\n exportAs: 'seamTiledSelectTileLabelTpl',\n})\nexport class TheSeamTiledSelectTileLabelTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTiledSelectTileIconTpl]',\n exportAs: 'seamTiledSelectTileIconTpl',\n})\nexport class TheSeamTiledSelectTileIconTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, HostBinding, Input } from '@angular/core'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { TheSeamTiledSelectTileIconTplDirective } from '../../directives/tiled-select-tile-icon-tpl.directive'\nimport { TheSeamTiledSelectLayout } from '../../tiled-select.models'\n\nconst needToFix = /(MSIE 10)|(Trident.*rv:11\\.0)|( Edge\\/[\\d.]+$)/.test(\n navigator.userAgent,\n)\n\n@Component({\n selector: 'seam-tiled-select-tile-icon',\n templateUrl: './tiled-select-tile-icon.component.html',\n styleUrls: ['./tiled-select-tile-icon.component.scss'],\n imports: [NgIf, NgTemplateOutlet, FontAwesomeModule],\n})\nexport class TheSeamTiledSelectTileIconComponent {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n\n readonly needToFix = needToFix\n\n @HostBinding('class.grid') get _cssClassGrid() {\n return this.layout === 'grid'\n }\n @HostBinding('class.list') get _cssClassList() {\n return this.layout === 'list'\n }\n\n @Input()\n set layout(value: TheSeamTiledSelectLayout) {\n this._layout = value || 'grid'\n }\n get layout(): TheSeamTiledSelectLayout {\n return this._layout\n }\n private _layout: TheSeamTiledSelectLayout = 'grid'\n\n @Input() @InputBoolean() grayscaleOnDisable = false\n @Input() @InputBoolean() disabled = false\n\n @Input() iconClass: string | undefined | null\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\n public _iconUrl: string | undefined | null\n public _iconObj: IconProp | undefined | null\n\n @ContentChild(TheSeamTiledSelectTileIconTplDirective, { static: true })\n iconTpl?: TheSeamTiledSelectTileIconTplDirective\n}\n","<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\"\n >\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n <fa-icon\n *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\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=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n style=\"display: block; visibility: hidden\"\n alt=\"Icon\"\n [src]=\"_iconUrl\"\n />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n</ng-template>\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 ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n} from '@angular/core'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { faCheckCircle } from '@fortawesome/free-regular-svg-icons'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { TheSeamTiledSelectTileLabelTplDirective } from '../../directives/tiled-select-tile-label-tpl.directive'\nimport { TheSeamTiledSelectTileOverlayDirective } from '../../directives/tiled-select-tile-overlay.directive'\nimport { TheSeamTiledSelectLayout } from '../../tiled-select.models'\nimport { TheSeamTiledSelectTileIconComponent } from '../tiled-select-tile-icon/tiled-select-tile-icon.component'\n\nexport const tilePulse = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)' }),\n style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),\n style({ transform: 'scale3d(1, 1, 1)' }),\n ]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\nexport const tileScaleUp = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),\n ]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\nexport const tileScaleDown = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([style({ transform: 'scale3d(1, 1, 1)' })]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\n@Component({\n selector: 'seam-tiled-select-tile',\n templateUrl: './tiled-select-tile.component.html',\n styleUrls: ['./tiled-select-tile.component.scss'],\n animations: [\n trigger('pulse', [\n transition('false => true', [\n useAnimation(tilePulse),\n // useAnimation(tileScaleUp)\n ]),\n // transition('true => false', [\n // useAnimation(tileScaleDown)\n // ]),\n ]),\n // trigger('openClose', [\n // state('true', style({ height: '*' })),\n // state('false', style({ height: '0px' })),\n // transition('false <=> true', animate(500))\n // ]),\n ],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgTemplateOutlet,\n FontAwesomeModule,\n TheSeamTiledSelectTileIconComponent,\n ],\n})\nexport class TheSeamTiledSelectTileComponent {\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_selected: BooleanInput\n static ngAcceptInputType_tileBackdrop: BooleanInput\n static ngAcceptInputType_selectable: BooleanInput\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_showLabel: BooleanInput\n static ngAcceptInputType_showSelectedIcon: BooleanInput\n\n private readonly _cdr = inject(ChangeDetectorRef)\n\n readonly faCheckCircle = faCheckCircle\n\n @HostBinding('@pulse') pulseAnimationState = true\n @HostBinding('attr.data-tile-name') get _tileNameAttr() {\n return this.name\n }\n\n @Input() layout: TheSeamTiledSelectLayout = 'grid'\n\n @Input() name: string | undefined | null\n @Input() label: string | undefined | null\n @Input() icon: SeamIcon | undefined | null\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() selected = false\n\n @Input() @InputBoolean() tileBackdrop = false\n @Input() @InputBoolean() selectable = false\n @Input() @InputBoolean() grayscaleOnDisable = true\n @Input() @InputBoolean() showLabel = true\n @Input() @InputBoolean() showSelectedIcon = true\n\n @Input() iconClass: string | undefined | null\n\n @Input() overlayTpl: TheSeamTiledSelectTileOverlayDirective | undefined | null\n\n @Output() readonly activated = new EventEmitter<any>()\n\n @ContentChild(TheSeamTiledSelectTileLabelTplDirective, { static: true })\n labelTpl?: TheSeamTiledSelectTileLabelTplDirective\n\n pulsing = false\n pulsingTimeout: number | undefined\n\n onTileClick(event: any) {\n if (!this.selectable) {\n return\n }\n this.activated.emit(event)\n\n // this.pulsing = true\n // setTimeout(() => {\n // this.pulsing = false\n // }, 750)\n }\n\n mDown() {\n if (this.pulsingTimeout) {\n clearTimeout(this.pulsingTimeout)\n }\n\n if (!this.pulsing) {\n this.pulsing = true\n // this._cdr.detectChanges()\n }\n\n // console.log('start')\n this.pulsingTimeout = window.setTimeout(() => {\n this.pulsing = false\n // this._cdr.detectChanges()\n this.pulsingTimeout = undefined\n }, 750)\n }\n}\n","<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\"\n>\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n >\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{\n label\n }}</span>\n <ng-template\n *ngIf=\"labelTpl\"\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: label, label: label }\"\n >\n </ng-template>\n </div>\n <div\n *ngIf=\"tileBackdrop\"\n class=\"selected-backdrop\"\n [class.bg-success]=\"selected\"\n ></div>\n <fa-icon\n *ngIf=\"selected && showSelectedIcon\"\n class=\"tiled-select-tile-panel--selected text-success\"\n [icon]=\"faCheckCircle\"\n size=\"3x\"\n >\n </fa-icon>\n </div>\n <div class=\"tiled-select-tile-panel--overlay\" *ngIf=\"overlayTpl\">\n <ng-template [ngTemplateOutlet]=\"overlayTpl.template\"></ng-template>\n </div>\n</button>\n","import {\n animate,\n animation,\n query,\n stagger,\n style,\n transition,\n trigger,\n useAnimation,\n} from '@angular/animations'\nimport { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { Platform } from '@angular/cdk/platform'\nimport {\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamTiledSelectTileOverlayDirective } from './../../directives/tiled-select-tile-overlay.directive'\nimport {\n TheSeamTiledSelectItem,\n TheSeamTiledSelectLayout,\n} from '../../tiled-select.models'\nimport { TheSeamTiledSelectTileComponent } from '../tiled-select-tile/tiled-select-tile.component'\nimport { NgClass, NgFor } from '@angular/common'\n\nexport const slideEnterAnimation = animation([\n style({ opacity: 0, transform: 'translateX(-15px)' }),\n stagger(100, [\n animate('0.5s', style({ opacity: 1, transform: 'translateX(0)' })),\n ]),\n])\n\nexport const TILED_SELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamTiledSelectComponent),\n multi: true,\n}\n\n@Component({\n selector: 'seam-tiled-select',\n templateUrl: './tiled-select.component.html',\n styleUrls: ['./tiled-select.component.scss'],\n providers: [TILED_SELECT_VALUE_ACCESSOR],\n host: {\n '[attr.data-testid]': '\"tiled-select\"',\n },\n animations: [\n trigger('tiles', [\n transition('* => *', [\n query(':enter', useAnimation(slideEnterAnimation), { optional: true }),\n ]),\n ]),\n ],\n imports: [NgFor, NgClass, TheSeamTiledSelectTileComponent],\n})\nexport class TheSeamTiledSelectComponent implements ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_multiple: BooleanInput\n static ngAcceptInputType_selectionToggleable: BooleanInput\n static ngAcceptInputType_tileBackdrop: BooleanInput\n static ngAcceptInputType_showSelectedIcon: BooleanInput\n static ngAcceptInputType_animationsDisabled: BooleanInput\n\n private readonly _platform = inject(Platform)\n private readonly _cdr = inject(ChangeDetectorRef)\n private readonly _renderer = inject(Renderer2)\n private readonly _elementRef = inject(ElementRef)\n\n @Input() layout: TheSeamTiledSelectLayout = 'grid'\n @Input()\n get tiles() {\n return this._tiles\n }\n set tiles(value: TheSeamTiledSelectItem[]) {\n const _value = [...(value || [])]\n for (const v of _value) {\n if (v.value === undefined) {\n if (v.name === undefined) {\n throw new Error('If value is undefined then name must be defined.')\n }\n v.value = v.name\n }\n }\n\n const prev = this._tiles\n if (prev.length !== _value.length) {\n this.tilesAnimationState = !this.tilesAnimationState\n } else {\n for (const t of _value) {\n if (!prev.find((p) => p.name === t.name)) {\n this.tilesAnimationState = !this.tilesAnimationState\n break\n }\n }\n }\n\n this._tiles = _value\n }\n private _tiles: TheSeamTiledSelectItem[] = []\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') val: string | string[] | undefined\n\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() multiple = false\n @Input() @InputBoolean() selectionToggleable = true\n @Input() @InputBoolean() tileBackdrop = false\n @Input() @InputBoolean() showSelectedIcon = true\n @Input() @InputBoolean() animationsDisabled: boolean = this._platform.IOS\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<string | string[] | undefined>()\n\n tilesAnimationState = false\n\n onChange: any\n onTouched: any\n\n @ContentChildren(TheSeamTiledSelectTileOverlayDirective)\n public overlayTpls?: QueryList<TheSeamTiledSelectTileOverlayDirective>\n\n get value(): string | string[] | undefined {\n return this.val\n }\n\n set value(value: string | string[] | undefined) {\n this.val = this.multiple ? [...((value as string[]) || [])] : value || ''\n\n this._renderer.setProperty(\n this._elementRef.nativeElement,\n 'value',\n this.val,\n )\n\n if (this.onChange) {\n this.onChange(this.val)\n this.change.emit(this.val)\n this._cdr.markForCheck()\n }\n if (this.onTouched) {\n this.onTouched()\n }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n onTileSelected(event: MouseEvent, tile: TheSeamTiledSelectItem) {\n this.toggleTileSelected(tile)\n }\n\n public isSelected(tile: TheSeamTiledSelectItem) {\n if (!this.multiple) {\n if (this.value === tile.value) {\n return true\n }\n } else {\n if (this.value) {\n for (const v of this.value) {\n if (v === tile.value) {\n return true\n }\n }\n }\n }\n\n return false\n }\n\n public toggleTileSelected(tile: TheSeamTiledSelectItem): void {\n if (!this.selectionToggleable && this.isSelected(tile)) {\n return\n }\n\n if (this.isSelected(tile)) {\n this.unselectTile(tile)\n } else {\n this.selectTile(tile)\n }\n }\n\n public selectTile(tile: TheSeamTiledSelectItem): void {\n if (this.multiple) {\n if (!this.isSelected(tile)) {\n const value: string[] = (this.value as string[]) || []\n this.value = [...coerceArray(value), tile.value]\n }\n } else {\n this.value = tile.value\n }\n }\n\n public unselectTile(tile: TheSeamTiledSelectItem): void {\n if (this.multiple) {\n const value: string[] = (this.value as string[]) || []\n this.value = value.filter((v) => v !== tile.value)\n } else {\n this.value = undefined\n }\n }\n\n public getSelectedTiles(): TheSeamTiledSelectItem[] {\n return this.tiles.filter((t) => this.isSelected(t))\n }\n\n getOverlayTpl(\n tile: TheSeamTiledSelectItem,\n ): TheSeamTiledSelectTileOverlayDirective | undefined {\n // console.log('overlayTpls', this.overlayTpls)\n return (this.overlayTpls || []).find((t) => t.record?.name === tile.name)\n }\n}\n","<div\n class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\"\n>\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\"\n >\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamTiledSelectTileComponent } from './components/tiled-select-tile/tiled-select-tile.component'\nimport { TheSeamTiledSelectComponent } from './components/tiled-select/tiled-select.component'\nimport { TheSeamTiledSelectTileIconTplDirective } from './directives/tiled-select-tile-icon-tpl.directive'\nimport { TheSeamTiledSelectTileLabelTplDirective } from './directives/tiled-select-tile-label-tpl.directive'\nimport { TheSeamTiledSelectTileOverlayDirective } from './directives/tiled-select-tile-overlay.directive'\n\n@NgModule({\n imports: [\n TheSeamTiledSelectComponent,\n TheSeamTiledSelectTileComponent,\n TheSeamTiledSelectTileOverlayDirective,\n TheSeamTiledSelectTileIconTplDirective,\n TheSeamTiledSelectTileLabelTplDirective,\n ],\n exports: [\n TheSeamTiledSelectComponent,\n TheSeamTiledSelectTileComponent,\n TheSeamTiledSelectTileOverlayDirective,\n TheSeamTiledSelectTileIconTplDirective,\n TheSeamTiledSelectTileLabelTplDirective,\n ],\n})\nexport class TheSeamTiledSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -19,10 +19,10 @@ import { TheSeamLoadingComponent } from '@theseam/ui-common/loading';
19
19
 
20
20
  class ToggleEditDisplayTplDirective {
21
21
  template = inject((TemplateRef));
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ToggleEditDisplayTplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ToggleEditDisplayTplDirective, isStandalone: true, selector: "[seamToggleEditDisplayTpl]", exportAs: ["seamToggleEditDisplayTpl"], ngImport: i0 });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ToggleEditDisplayTplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ToggleEditDisplayTplDirective, isStandalone: true, selector: "[seamToggleEditDisplayTpl]", exportAs: ["seamToggleEditDisplayTpl"], ngImport: i0 });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ToggleEditDisplayTplDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ToggleEditDisplayTplDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  selector: '[seamToggleEditDisplayTpl]',
@@ -68,19 +68,19 @@ class TheSeamToggleEditKeyboardListenerService {
68
68
  }
69
69
  }
70
70
  };
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditKeyboardListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditKeyboardListenerService, providedIn: 'root' });
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditKeyboardListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditKeyboardListenerService, providedIn: 'root' });
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditKeyboardListenerService, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditKeyboardListenerService, decorators: [{
75
75
  type: Injectable,
76
76
  args: [{ providedIn: 'root' }]
77
77
  }] });
78
78
 
79
79
  class TheSeamToggleEditActionsContainerComponent {
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditActionsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamToggleEditActionsContainerComponent, isStandalone: true, selector: "seam-toggle-edit-actions-container", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] });
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditActionsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamToggleEditActionsContainerComponent, isStandalone: true, selector: "seam-toggle-edit-actions-container", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] });
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditActionsContainerComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditActionsContainerComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'seam-toggle-edit-actions-container', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
86
86
  }] });
@@ -455,8 +455,8 @@ class TheSeamToggleEditComponent {
455
455
  actionsFocusChange(event) {
456
456
  this._actionsFocused = !!event;
457
457
  }
458
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
459
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamToggleEditComponent, isStandalone: true, selector: "seam-toggle-edit", inputs: { cancelOnBlur: "cancelOnBlur", waitOnSubmit: "waitOnSubmit", placeholder: "placeholder", editing: "editing" }, outputs: { changeAccepted: "changeAccepted", changeDeclined: "changeDeclined", editingChange: "editingChange" }, host: { properties: { "class.toggle-edit-active": "this._toggleEditActiveClass" } }, queries: [{ propertyName: "displayTpl", first: true, predicate: ToggleEditDisplayTplDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"toggle-edit-not-editing rounded\"\n [class.w-100]=\"editing\"\n [class.toggle-edit-editing]=\"editing\"\n [class.is-disabled]=\"disabled\"\n (seamElemResized)=\"resized()\"\n>\n <div class=\"toggle-edit-content-container\">\n <div class=\"toggle-edit-content\" (click)=\"toggleEditing(true)\">\n <ng-container *ngIf=\"editing; else notEditingTpl\">\n <ng-content></ng-content>\n </ng-container>\n <ng-template #notEditingTpl>\n <ng-container *ngIf=\"displayTpl; else noDisplayTpl\">\n <ng-template\n [ngTemplateOutlet]=\"displayTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: getValue() || placeholder }\"\n ></ng-template>\n </ng-container>\n <ng-template #noDisplayTpl>\n <div class=\"pl-1 pr-1\">\n {{ getValue() || placeholder }}\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div>\n <ng-template\n *ngIf=\"!editing\"\n [cdkPortalOutlet]=\"templatePortal\"\n ></ng-template>\n <ng-template #templatePortalContent>\n <seam-toggle-edit-actions-container\n [class.bg-light]=\"editing\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"actionsFocusChange($event)\"\n >\n <button\n *ngIf=\"!editing\"\n type=\"button\"\n class=\"toggle-edit-edit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"toggleEditing(true)\"\n >\n <fa-icon [icon]=\"faPen\"></fa-icon>\n </button>\n <button\n *ngIf=\"editing\"\n type=\"button\"\n [disabled]=\"!canSubmit()\"\n class=\"toggle-edit-submit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"submitEdit()\"\n >\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n </button>\n <button\n *ngIf=\"editing\"\n type=\"button\"\n class=\"toggle-edit-cancel-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"cancelEdit()\"\n >\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n </seam-toggle-edit-actions-container>\n </ng-template>\n </div>\n </div>\n</div>\n\n<seam-loading *ngIf=\"isSubmitting()\"></seam-loading>\n", styles: [":host{display:block;position:relative}.toggle-edit-not-editing{transition:.25s ease-in-out background-color}.toggle-edit-not-editing .toggle-edit-content-container{display:flex;flex-direction:row}.toggle-edit-not-editing .toggle-edit-content-container .toggle-edit-content{flex:1 1 auto;display:flex;align-items:center}.toggle-edit-not-editing:not(.is-disabled):hover,.toggle-edit-not-editing:not(.is-disabled).toggle-edit-editing{background-color:#f8f9fa}.toggle-edit-not-editing:not(.is-disabled):hover .toggle-edit-edit-btn,.toggle-edit-not-editing:not(.is-disabled).toggle-edit-editing .toggle-edit-edit-btn{opacity:1;visibility:visible}.toggle-edit-not-editing .toggle-edit-edit-btn{opacity:0;visibility:hidden}.toggle-edit-not-editing .toggle-edit-edit-btn,.toggle-edit-not-editing .toggle-edit-submit-btn,.toggle-edit-not-editing .toggle-edit-cancel-btn{transition:.25s ease-in-out}.toggle-edit-not-editing .toggle-edit-edit-btn{border-top-left-radius:0;border-bottom-left-radius:0}.toggle-edit-not-editing .toggle-edit-submit-btn{border-radius:0}.toggle-edit-not-editing .toggle-edit-cancel-btn{border-top-left-radius:0;border-bottom-left-radius:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: TheSeamLoadingComponent, selector: "seam-loading", inputs: ["theme"] }, { kind: "component", type: TheSeamToggleEditActionsContainerComponent, selector: "seam-toggle-edit-actions-container" }] });
458
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
459
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamToggleEditComponent, isStandalone: true, selector: "seam-toggle-edit", inputs: { cancelOnBlur: "cancelOnBlur", waitOnSubmit: "waitOnSubmit", placeholder: "placeholder", editing: "editing" }, outputs: { changeAccepted: "changeAccepted", changeDeclined: "changeDeclined", editingChange: "editingChange" }, host: { properties: { "class.toggle-edit-active": "this._toggleEditActiveClass" } }, queries: [{ propertyName: "displayTpl", first: true, predicate: ToggleEditDisplayTplDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"toggle-edit-not-editing rounded\"\n [class.w-100]=\"editing\"\n [class.toggle-edit-editing]=\"editing\"\n [class.is-disabled]=\"disabled\"\n (seamElemResized)=\"resized()\"\n>\n <div class=\"toggle-edit-content-container\">\n <div class=\"toggle-edit-content\" (click)=\"toggleEditing(true)\">\n <ng-container *ngIf=\"editing; else notEditingTpl\">\n <ng-content></ng-content>\n </ng-container>\n <ng-template #notEditingTpl>\n <ng-container *ngIf=\"displayTpl; else noDisplayTpl\">\n <ng-template\n [ngTemplateOutlet]=\"displayTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: getValue() || placeholder }\"\n ></ng-template>\n </ng-container>\n <ng-template #noDisplayTpl>\n <div class=\"pl-1 pr-1\">\n {{ getValue() || placeholder }}\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div>\n <ng-template\n *ngIf=\"!editing\"\n [cdkPortalOutlet]=\"templatePortal\"\n ></ng-template>\n <ng-template #templatePortalContent>\n <seam-toggle-edit-actions-container\n [class.bg-light]=\"editing\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"actionsFocusChange($event)\"\n >\n <button\n *ngIf=\"!editing\"\n type=\"button\"\n class=\"toggle-edit-edit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"toggleEditing(true)\"\n >\n <fa-icon [icon]=\"faPen\"></fa-icon>\n </button>\n <button\n *ngIf=\"editing\"\n type=\"button\"\n [disabled]=\"!canSubmit()\"\n class=\"toggle-edit-submit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"submitEdit()\"\n >\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n </button>\n <button\n *ngIf=\"editing\"\n type=\"button\"\n class=\"toggle-edit-cancel-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"cancelEdit()\"\n >\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n </seam-toggle-edit-actions-container>\n </ng-template>\n </div>\n </div>\n</div>\n\n<seam-loading *ngIf=\"isSubmitting()\"></seam-loading>\n", styles: [":host{display:block;position:relative}.toggle-edit-not-editing{transition:.25s ease-in-out background-color}.toggle-edit-not-editing .toggle-edit-content-container{display:flex;flex-direction:row}.toggle-edit-not-editing .toggle-edit-content-container .toggle-edit-content{flex:1 1 auto;display:flex;align-items:center}.toggle-edit-not-editing:not(.is-disabled):hover,.toggle-edit-not-editing:not(.is-disabled).toggle-edit-editing{background-color:#f8f9fa}.toggle-edit-not-editing:not(.is-disabled):hover .toggle-edit-edit-btn,.toggle-edit-not-editing:not(.is-disabled).toggle-edit-editing .toggle-edit-edit-btn{opacity:1;visibility:visible}.toggle-edit-not-editing .toggle-edit-edit-btn{opacity:0;visibility:hidden}.toggle-edit-not-editing .toggle-edit-edit-btn,.toggle-edit-not-editing .toggle-edit-submit-btn,.toggle-edit-not-editing .toggle-edit-cancel-btn{transition:.25s ease-in-out}.toggle-edit-not-editing .toggle-edit-edit-btn{border-top-left-radius:0;border-bottom-left-radius:0}.toggle-edit-not-editing .toggle-edit-submit-btn{border-radius:0}.toggle-edit-not-editing .toggle-edit-cancel-btn{border-top-left-radius:0;border-bottom-left-radius:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: TheSeamLoadingComponent, selector: "seam-loading", inputs: ["theme"] }, { kind: "component", type: TheSeamToggleEditActionsContainerComponent, selector: "seam-toggle-edit-actions-container" }] });
460
460
  }
461
461
  __decorate([
462
462
  InputBoolean()
@@ -464,7 +464,7 @@ __decorate([
464
464
  __decorate([
465
465
  InputBoolean()
466
466
  ], TheSeamToggleEditComponent.prototype, "waitOnSubmit", void 0);
467
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditComponent, decorators: [{
467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditComponent, decorators: [{
468
468
  type: Component,
469
469
  args: [{ selector: 'seam-toggle-edit', imports: [
470
470
  NgIf,
@@ -501,11 +501,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
501
501
  }] } });
502
502
 
503
503
  class TheSeamToggleEditModule {
504
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
505
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditModule, imports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent], exports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent] });
506
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditModule, imports: [TheSeamToggleEditComponent] });
504
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
505
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditModule, imports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent], exports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent] });
506
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditModule, imports: [TheSeamToggleEditComponent] });
507
507
  }
508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleEditModule, decorators: [{
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleEditModule, decorators: [{
509
509
  type: NgModule,
510
510
  args: [{
511
511
  imports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-toggle-edit.mjs","sources":["../../../projects/ui-common/toggle-edit/toggle-edit-display-tpl.directive.ts","../../../projects/ui-common/toggle-edit/toggle-edit-keyboard-listener.service.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.html","../../../projects/ui-common/toggle-edit/toggle-edit.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit.component.html","../../../projects/ui-common/toggle-edit/toggle-edit.module.ts","../../../projects/ui-common/toggle-edit/theseam-ui-common-toggle-edit.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamToggleEditDisplayTpl]',\n exportAs: 'seamToggleEditDisplayTpl',\n})\nexport class ToggleEditDisplayTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { DOCUMENT } from '@angular/common'\nimport { inject, Injectable } from '@angular/core'\n\nimport { TheSeamCanToggleEdit } from './models'\n\n@Injectable({ providedIn: 'root' })\nexport class TheSeamToggleEditKeyboardListenerService {\n private readonly _document: Document = inject(DOCUMENT)\n\n private _elements: TheSeamCanToggleEdit[] = []\n\n private _isListening = false\n\n public add(element: TheSeamCanToggleEdit): void {\n this._elements.push(element)\n this._startListening()\n }\n\n public remove(element: TheSeamCanToggleEdit): void {\n this._elements = this._elements.filter((v) => v !== element)\n if (this._elements.length === 0) {\n this._stopListening()\n }\n }\n\n public isListening(): boolean {\n return this._isListening\n }\n\n private _startListening(): void {\n if (this.isListening()) {\n return\n }\n\n this._document.body.addEventListener('keydown', this._keydownListener, true)\n\n this._isListening = true\n }\n\n private _stopListening(): void {\n if (!this.isListening()) {\n return\n }\n\n this._document.body.removeEventListener(\n 'keydown',\n this._keydownListener,\n true,\n )\n\n this._isListening = false\n }\n\n private _keydownListener = (event: KeyboardEvent): boolean | void => {\n for (const element of this._elements) {\n if (element.isEditing()) {\n element.keydownEvent(event)\n }\n }\n }\n}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'seam-toggle-edit-actions-container',\n templateUrl: './toggle-edit-actions-container.component.html',\n styleUrls: ['./toggle-edit-actions-container.component.scss'],\n})\nexport class TheSeamToggleEditActionsContainerComponent {}\n","<ng-content></ng-content>\n","import { A11yModule, FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ENTER, ESCAPE } from '@angular/cdk/keycodes'\nimport {\n ConnectionPositionPair,\n Overlay,\n OverlayRef,\n PositionStrategy,\n} from '@angular/cdk/overlay'\nimport { PortalModule, TemplatePortal } from '@angular/cdk/portal'\nimport {\n AfterViewInit,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core'\nimport {\n AbstractControl,\n ControlContainer,\n FormControl,\n FormGroup,\n} from '@angular/forms'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { faCheck, faPen, faTimes } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamFormFieldComponent } from '@theseam/ui-common/form-field'\nimport { TheSeamLoadingComponent } from '@theseam/ui-common/loading'\n\nimport { TheSeamCanToggleEdit } from './models/can-toggle-edit'\nimport { TheSeamToggleEditRef } from './models/toggle-edit-ref'\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { TheSeamToggleEditKeyboardListenerService } from './toggle-edit-keyboard-listener.service'\nimport { TheSeamToggleEditActionsContainerComponent } from './toggle-edit-actions-container/toggle-edit-actions-container.component'\n\n@Component({\n selector: 'seam-toggle-edit',\n templateUrl: './toggle-edit.component.html',\n styleUrls: ['./toggle-edit.component.scss'],\n imports: [\n NgIf,\n NgTemplateOutlet,\n PortalModule,\n A11yModule,\n FontAwesomeModule,\n TheSeamLoadingComponent,\n TheSeamToggleEditActionsContainerComponent,\n ],\n})\nexport class TheSeamToggleEditComponent\n implements\n OnInit,\n OnDestroy,\n AfterViewInit,\n DoCheck,\n TheSeamCanToggleEdit,\n TheSeamToggleEditRef\n{\n static ngAcceptInputType_cancelOnBlur: BooleanInput\n static ngAcceptInputType_waitOnSubmit: BooleanInput\n\n private readonly _elementRef = inject(\n ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n )\n private readonly _controlContainer = inject(ControlContainer, {\n optional: true,\n self: true,\n })\n private readonly _formFieldComponent = inject(TheSeamFormFieldComponent, {\n optional: true,\n host: true,\n })\n private readonly _kbListener = inject(\n TheSeamToggleEditKeyboardListenerService,\n )\n private readonly _focusMonitor = inject(FocusMonitor)\n private readonly _ngZone = inject(NgZone)\n private readonly _renderer = inject(Renderer2)\n private readonly _viewContainerRef = inject(ViewContainerRef)\n private readonly _overlay = inject(Overlay)\n\n readonly faPen = faPen\n readonly faTimes = faTimes\n readonly faCheck = faCheck\n\n private _previousDisabled = false\n\n /** Use `hasFocus()` to check for focus. This is only for monitoring focus lost. */\n private _focused = false\n private _focusObserver?: MutationObserver\n private _actionsFocused = false\n private _submitting = false\n\n /**\n * Input value before editing.\n *\n * If the edit change is canceled the input value will be reset back to this\n * value.\n */\n private _beforeEditValue = null\n\n @HostBinding('class.toggle-edit-active') get _toggleEditActiveClass() {\n return this.editing\n }\n\n @Input() @InputBoolean() cancelOnBlur = true\n @Input() @InputBoolean() waitOnSubmit = false\n\n @Input() placeholder = ''\n\n @Input()\n get editing(): boolean {\n return this._editing\n }\n set editing(value: boolean) {\n if (this.disabled && value) {\n return\n }\n\n if (!this._editing) {\n this.updateBeforeEditValue()\n }\n this._editing = coerceBooleanProperty(value)\n this.editingChange.emit(value)\n }\n private _editing = false\n\n @Output() readonly changeAccepted = new EventEmitter<TheSeamToggleEditRef>()\n @Output() readonly changeDeclined = new EventEmitter<TheSeamToggleEditRef>()\n @Output() readonly editingChange = new EventEmitter<boolean>()\n\n @ViewChild('templatePortalContent', { static: true })\n templatePortalContent?: TemplateRef<any>\n public templatePortal?: TemplatePortal<any>\n\n public modalRef?: OverlayRef\n\n @ContentChild(ToggleEditDisplayTplDirective, { static: true })\n displayTpl?: ToggleEditDisplayTplDirective\n\n constructor() {\n this._ngZone.runOutsideAngular(() => {\n this._focusObserver = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this.hasFocus()) {\n if (this.disabled) {\n return\n }\n this._onFocus()\n } else {\n this._onBlur()\n }\n })\n })\n })\n }\n\n ngOnInit() {\n this._initMonitors()\n if (this._formFieldComponent) {\n // TODO: Consider making this smarter, such as avoiding overwritting when input set.\n this._formFieldComponent.numPaddingErrors = 0\n }\n }\n\n ngOnDestroy() {\n this._destroyMonitors()\n }\n\n ngAfterViewInit() {\n if (this._formFieldComponent && this._formFieldComponent.contentInput) {\n this._formFieldComponent.contentInput.stateChanges.subscribe((_) => {\n this._checkDisabledChange()\n })\n }\n setTimeout(() => {\n if (this.templatePortalContent) {\n this.templatePortal = new TemplatePortal(\n this.templatePortalContent,\n this._viewContainerRef,\n )\n }\n })\n this._checkDisabledChange()\n }\n\n ngDoCheck() {\n this._checkDisabledChange()\n }\n\n private _initMonitors() {\n this._kbListener.add(this)\n\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n this._focusObserver?.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: ['class'],\n childList: false,\n characterData: false,\n })\n }\n\n private _destroyMonitors() {\n this._kbListener.remove(this)\n\n this._focusObserver?.disconnect()\n this._focused = false\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n }\n\n // Make this disabled checking implementation better. It gets called to much\n // trying to be accurate.\n private _checkDisabledChange() {\n // const isDisabled = this.disabled\n // if (isDisabled !== this._previousDisabled) {\n // }\n }\n\n public get disabled() {\n const control = this.getControl()\n if (control) {\n return control.disabled\n }\n return false\n }\n\n public canSubmit(): boolean {\n const control = this.getControl()\n if (control) {\n return control.valid\n }\n return true\n }\n\n public isSubmitting(): boolean {\n return this._submitting\n }\n\n public submitComplete(error?: any): void {\n const control = this.getControl()\n if (control) {\n control.enable()\n }\n this._submitting = false\n\n if (!error) {\n this.stopEditing()\n }\n }\n\n public updateBeforeEditValue(): void {\n const control = this.getControl()\n if (control) {\n this._beforeEditValue = control.value\n }\n }\n\n public getValue(): string | null {\n const control = this.getControl()\n if (control) {\n return control.value\n }\n\n return null\n }\n\n public resetValue(): void {\n const control = this.getControl()\n if (control) {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n control.reset(this._beforeEditValue, { emitEvent: false })\n control.updateValueAndValidity()\n }\n }\n\n public isFormGroup(): boolean {\n return !!this._controlContainer\n }\n\n public getFormGroup(): FormGroup | null {\n if (!this.isFormGroup()) {\n return null\n }\n if (!this._controlContainer?.control) {\n return null\n }\n return this._controlContainer.control as FormGroup\n }\n\n public isInFormField(): boolean {\n return !!this._formFieldComponent\n }\n\n public getFormControl(): FormControl | null {\n if (!this.isInFormField()) {\n return null\n }\n if (!this._formFieldComponent?.contentInput) {\n return null\n }\n return this._formFieldComponent.contentInput.ngControl\n .control as FormControl\n }\n\n public hasControl(): boolean {\n return !!this.getControl()\n }\n\n public getControl(): AbstractControl | null {\n if (this.isFormGroup()) {\n return this.getFormGroup()\n } else if (this.isInFormField()) {\n return this.getFormControl()\n }\n return null\n }\n\n public submitEdit(): void {\n if (!this.canSubmit()) {\n return\n }\n\n if (this.waitOnSubmit) {\n const control = this.getControl()\n if (control) {\n control.disable()\n }\n this._submitting = true\n }\n\n this.stopEditing()\n\n this.changeAccepted.emit(this as TheSeamToggleEditRef)\n }\n\n public cancelEdit(): void {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n this.resetValue()\n this.stopEditing()\n\n this.changeDeclined.emit(this as TheSeamToggleEditRef)\n }\n\n private _onFocus(): void {\n // Return if already focused\n if (this._focused) {\n return\n }\n\n this._focused = true\n this._actionsFocused = false\n }\n\n private _onBlur(): void {\n // Return if focus hasn't been detected\n if (!this._focused) {\n return\n }\n\n if (this.editing && this.cancelOnBlur) {\n setTimeout(() => {\n if (!this._actionsFocused) {\n this.cancelEdit()\n }\n })\n }\n\n this._focused = false\n }\n\n public hasFocus(): boolean {\n return this._elementRef.nativeElement.classList.contains('cdk-focused')\n }\n\n public focusContent(): void {\n // Set the tab index to `-1` to allow the root element of the component to\n // receive `focus` event from javascript, but not get focused by keyboard\n // navigation. This is for the focus monitor. If a button is clicked the\n // focus monitor emits a blur before the focus of the input. This will avoid\n // the blur by letting the component itself receive focus events.\n this._renderer.setAttribute(\n this._elementRef.nativeElement,\n 'tabindex',\n '-1',\n )\n this._elementRef.nativeElement.focus()\n }\n\n public toggleEditing(isEditing?: boolean): void {\n if (this.editing === isEditing) {\n return\n }\n const _editing = isEditing === undefined ? !this.editing : !!isEditing\n if (_editing) {\n this.startEditing()\n } else {\n this.stopEditing()\n }\n }\n\n public isEditing(): boolean {\n return this.editing\n }\n\n public startEditing(): void {\n if (this.disabled) {\n return\n }\n if (this.isEditing()) {\n return\n }\n\n this.updateBeforeEditValue()\n\n this.focusContent()\n\n this.editing = true\n\n this.modalRef = this._overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this.modalRef.attach(this.templatePortal)\n }\n\n public stopEditing(): void {\n if (!this.isEditing()) {\n return\n }\n\n if (this.isSubmitting()) {\n return\n }\n\n if (this.modalRef?.hasAttached()) {\n this.modalRef.detach()\n }\n\n // NOTE: This is a hack to avoid a focus lost issue introduced by a focus\n // acuired issue's hack.\n this._elementRef.nativeElement.focus()\n this._elementRef.nativeElement.blur()\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n\n this.editing = false\n }\n\n public keydownEvent(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case ESCAPE: {\n this.cancelEdit()\n break\n }\n case ENTER: {\n this.submitEdit()\n break\n }\n }\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(false)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ]\n }\n\n public resized(): void {\n if (this.modalRef && this.modalRef.hasAttached()) {\n this.modalRef.updatePosition()\n }\n }\n\n public actionsFocusChange(event: any): void {\n this._actionsFocused = !!event\n }\n}\n","<div\n class=\"toggle-edit-not-editing rounded\"\n [class.w-100]=\"editing\"\n [class.toggle-edit-editing]=\"editing\"\n [class.is-disabled]=\"disabled\"\n (seamElemResized)=\"resized()\"\n>\n <div class=\"toggle-edit-content-container\">\n <div class=\"toggle-edit-content\" (click)=\"toggleEditing(true)\">\n <ng-container *ngIf=\"editing; else notEditingTpl\">\n <ng-content></ng-content>\n </ng-container>\n <ng-template #notEditingTpl>\n <ng-container *ngIf=\"displayTpl; else noDisplayTpl\">\n <ng-template\n [ngTemplateOutlet]=\"displayTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: getValue() || placeholder }\"\n ></ng-template>\n </ng-container>\n <ng-template #noDisplayTpl>\n <div class=\"pl-1 pr-1\">\n {{ getValue() || placeholder }}\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div>\n <ng-template\n *ngIf=\"!editing\"\n [cdkPortalOutlet]=\"templatePortal\"\n ></ng-template>\n <ng-template #templatePortalContent>\n <seam-toggle-edit-actions-container\n [class.bg-light]=\"editing\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"actionsFocusChange($event)\"\n >\n <button\n *ngIf=\"!editing\"\n type=\"button\"\n class=\"toggle-edit-edit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"toggleEditing(true)\"\n >\n <fa-icon [icon]=\"faPen\"></fa-icon>\n </button>\n <button\n *ngIf=\"editing\"\n type=\"button\"\n [disabled]=\"!canSubmit()\"\n class=\"toggle-edit-submit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"submitEdit()\"\n >\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n </button>\n <button\n *ngIf=\"editing\"\n type=\"button\"\n class=\"toggle-edit-cancel-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"cancelEdit()\"\n >\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n </seam-toggle-edit-actions-container>\n </ng-template>\n </div>\n </div>\n</div>\n\n<seam-loading *ngIf=\"isSubmitting()\"></seam-loading>\n","import { NgModule } from '@angular/core'\n\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { TheSeamToggleEditComponent } from './toggle-edit.component'\n\n@NgModule({\n imports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent],\n exports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent],\n})\nexport class TheSeamToggleEditModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-toggle-edit.mjs","sources":["../../../projects/ui-common/toggle-edit/toggle-edit-display-tpl.directive.ts","../../../projects/ui-common/toggle-edit/toggle-edit-keyboard-listener.service.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.html","../../../projects/ui-common/toggle-edit/toggle-edit.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit.component.html","../../../projects/ui-common/toggle-edit/toggle-edit.module.ts","../../../projects/ui-common/toggle-edit/theseam-ui-common-toggle-edit.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamToggleEditDisplayTpl]',\n exportAs: 'seamToggleEditDisplayTpl',\n})\nexport class ToggleEditDisplayTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { DOCUMENT } from '@angular/common'\nimport { inject, Injectable } from '@angular/core'\n\nimport { TheSeamCanToggleEdit } from './models'\n\n@Injectable({ providedIn: 'root' })\nexport class TheSeamToggleEditKeyboardListenerService {\n private readonly _document: Document = inject(DOCUMENT)\n\n private _elements: TheSeamCanToggleEdit[] = []\n\n private _isListening = false\n\n public add(element: TheSeamCanToggleEdit): void {\n this._elements.push(element)\n this._startListening()\n }\n\n public remove(element: TheSeamCanToggleEdit): void {\n this._elements = this._elements.filter((v) => v !== element)\n if (this._elements.length === 0) {\n this._stopListening()\n }\n }\n\n public isListening(): boolean {\n return this._isListening\n }\n\n private _startListening(): void {\n if (this.isListening()) {\n return\n }\n\n this._document.body.addEventListener('keydown', this._keydownListener, true)\n\n this._isListening = true\n }\n\n private _stopListening(): void {\n if (!this.isListening()) {\n return\n }\n\n this._document.body.removeEventListener(\n 'keydown',\n this._keydownListener,\n true,\n )\n\n this._isListening = false\n }\n\n private _keydownListener = (event: KeyboardEvent): boolean | void => {\n for (const element of this._elements) {\n if (element.isEditing()) {\n element.keydownEvent(event)\n }\n }\n }\n}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'seam-toggle-edit-actions-container',\n templateUrl: './toggle-edit-actions-container.component.html',\n styleUrls: ['./toggle-edit-actions-container.component.scss'],\n})\nexport class TheSeamToggleEditActionsContainerComponent {}\n","<ng-content></ng-content>\n","import { A11yModule, FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ENTER, ESCAPE } from '@angular/cdk/keycodes'\nimport {\n ConnectionPositionPair,\n Overlay,\n OverlayRef,\n PositionStrategy,\n} from '@angular/cdk/overlay'\nimport { PortalModule, TemplatePortal } from '@angular/cdk/portal'\nimport {\n AfterViewInit,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core'\nimport {\n AbstractControl,\n ControlContainer,\n FormControl,\n FormGroup,\n} from '@angular/forms'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { faCheck, faPen, faTimes } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamFormFieldComponent } from '@theseam/ui-common/form-field'\nimport { TheSeamLoadingComponent } from '@theseam/ui-common/loading'\n\nimport { TheSeamCanToggleEdit } from './models/can-toggle-edit'\nimport { TheSeamToggleEditRef } from './models/toggle-edit-ref'\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { TheSeamToggleEditKeyboardListenerService } from './toggle-edit-keyboard-listener.service'\nimport { TheSeamToggleEditActionsContainerComponent } from './toggle-edit-actions-container/toggle-edit-actions-container.component'\n\n@Component({\n selector: 'seam-toggle-edit',\n templateUrl: './toggle-edit.component.html',\n styleUrls: ['./toggle-edit.component.scss'],\n imports: [\n NgIf,\n NgTemplateOutlet,\n PortalModule,\n A11yModule,\n FontAwesomeModule,\n TheSeamLoadingComponent,\n TheSeamToggleEditActionsContainerComponent,\n ],\n})\nexport class TheSeamToggleEditComponent\n implements\n OnInit,\n OnDestroy,\n AfterViewInit,\n DoCheck,\n TheSeamCanToggleEdit,\n TheSeamToggleEditRef\n{\n static ngAcceptInputType_cancelOnBlur: BooleanInput\n static ngAcceptInputType_waitOnSubmit: BooleanInput\n\n private readonly _elementRef = inject(\n ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n )\n private readonly _controlContainer = inject(ControlContainer, {\n optional: true,\n self: true,\n })\n private readonly _formFieldComponent = inject(TheSeamFormFieldComponent, {\n optional: true,\n host: true,\n })\n private readonly _kbListener = inject(\n TheSeamToggleEditKeyboardListenerService,\n )\n private readonly _focusMonitor = inject(FocusMonitor)\n private readonly _ngZone = inject(NgZone)\n private readonly _renderer = inject(Renderer2)\n private readonly _viewContainerRef = inject(ViewContainerRef)\n private readonly _overlay = inject(Overlay)\n\n readonly faPen = faPen\n readonly faTimes = faTimes\n readonly faCheck = faCheck\n\n private _previousDisabled = false\n\n /** Use `hasFocus()` to check for focus. This is only for monitoring focus lost. */\n private _focused = false\n private _focusObserver?: MutationObserver\n private _actionsFocused = false\n private _submitting = false\n\n /**\n * Input value before editing.\n *\n * If the edit change is canceled the input value will be reset back to this\n * value.\n */\n private _beforeEditValue = null\n\n @HostBinding('class.toggle-edit-active') get _toggleEditActiveClass() {\n return this.editing\n }\n\n @Input() @InputBoolean() cancelOnBlur = true\n @Input() @InputBoolean() waitOnSubmit = false\n\n @Input() placeholder = ''\n\n @Input()\n get editing(): boolean {\n return this._editing\n }\n set editing(value: boolean) {\n if (this.disabled && value) {\n return\n }\n\n if (!this._editing) {\n this.updateBeforeEditValue()\n }\n this._editing = coerceBooleanProperty(value)\n this.editingChange.emit(value)\n }\n private _editing = false\n\n @Output() readonly changeAccepted = new EventEmitter<TheSeamToggleEditRef>()\n @Output() readonly changeDeclined = new EventEmitter<TheSeamToggleEditRef>()\n @Output() readonly editingChange = new EventEmitter<boolean>()\n\n @ViewChild('templatePortalContent', { static: true })\n templatePortalContent?: TemplateRef<any>\n public templatePortal?: TemplatePortal<any>\n\n public modalRef?: OverlayRef\n\n @ContentChild(ToggleEditDisplayTplDirective, { static: true })\n displayTpl?: ToggleEditDisplayTplDirective\n\n constructor() {\n this._ngZone.runOutsideAngular(() => {\n this._focusObserver = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this.hasFocus()) {\n if (this.disabled) {\n return\n }\n this._onFocus()\n } else {\n this._onBlur()\n }\n })\n })\n })\n }\n\n ngOnInit() {\n this._initMonitors()\n if (this._formFieldComponent) {\n // TODO: Consider making this smarter, such as avoiding overwritting when input set.\n this._formFieldComponent.numPaddingErrors = 0\n }\n }\n\n ngOnDestroy() {\n this._destroyMonitors()\n }\n\n ngAfterViewInit() {\n if (this._formFieldComponent && this._formFieldComponent.contentInput) {\n this._formFieldComponent.contentInput.stateChanges.subscribe((_) => {\n this._checkDisabledChange()\n })\n }\n setTimeout(() => {\n if (this.templatePortalContent) {\n this.templatePortal = new TemplatePortal(\n this.templatePortalContent,\n this._viewContainerRef,\n )\n }\n })\n this._checkDisabledChange()\n }\n\n ngDoCheck() {\n this._checkDisabledChange()\n }\n\n private _initMonitors() {\n this._kbListener.add(this)\n\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n this._focusObserver?.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: ['class'],\n childList: false,\n characterData: false,\n })\n }\n\n private _destroyMonitors() {\n this._kbListener.remove(this)\n\n this._focusObserver?.disconnect()\n this._focused = false\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n }\n\n // Make this disabled checking implementation better. It gets called to much\n // trying to be accurate.\n private _checkDisabledChange() {\n // const isDisabled = this.disabled\n // if (isDisabled !== this._previousDisabled) {\n // }\n }\n\n public get disabled() {\n const control = this.getControl()\n if (control) {\n return control.disabled\n }\n return false\n }\n\n public canSubmit(): boolean {\n const control = this.getControl()\n if (control) {\n return control.valid\n }\n return true\n }\n\n public isSubmitting(): boolean {\n return this._submitting\n }\n\n public submitComplete(error?: any): void {\n const control = this.getControl()\n if (control) {\n control.enable()\n }\n this._submitting = false\n\n if (!error) {\n this.stopEditing()\n }\n }\n\n public updateBeforeEditValue(): void {\n const control = this.getControl()\n if (control) {\n this._beforeEditValue = control.value\n }\n }\n\n public getValue(): string | null {\n const control = this.getControl()\n if (control) {\n return control.value\n }\n\n return null\n }\n\n public resetValue(): void {\n const control = this.getControl()\n if (control) {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n control.reset(this._beforeEditValue, { emitEvent: false })\n control.updateValueAndValidity()\n }\n }\n\n public isFormGroup(): boolean {\n return !!this._controlContainer\n }\n\n public getFormGroup(): FormGroup | null {\n if (!this.isFormGroup()) {\n return null\n }\n if (!this._controlContainer?.control) {\n return null\n }\n return this._controlContainer.control as FormGroup\n }\n\n public isInFormField(): boolean {\n return !!this._formFieldComponent\n }\n\n public getFormControl(): FormControl | null {\n if (!this.isInFormField()) {\n return null\n }\n if (!this._formFieldComponent?.contentInput) {\n return null\n }\n return this._formFieldComponent.contentInput.ngControl\n .control as FormControl\n }\n\n public hasControl(): boolean {\n return !!this.getControl()\n }\n\n public getControl(): AbstractControl | null {\n if (this.isFormGroup()) {\n return this.getFormGroup()\n } else if (this.isInFormField()) {\n return this.getFormControl()\n }\n return null\n }\n\n public submitEdit(): void {\n if (!this.canSubmit()) {\n return\n }\n\n if (this.waitOnSubmit) {\n const control = this.getControl()\n if (control) {\n control.disable()\n }\n this._submitting = true\n }\n\n this.stopEditing()\n\n this.changeAccepted.emit(this as TheSeamToggleEditRef)\n }\n\n public cancelEdit(): void {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n this.resetValue()\n this.stopEditing()\n\n this.changeDeclined.emit(this as TheSeamToggleEditRef)\n }\n\n private _onFocus(): void {\n // Return if already focused\n if (this._focused) {\n return\n }\n\n this._focused = true\n this._actionsFocused = false\n }\n\n private _onBlur(): void {\n // Return if focus hasn't been detected\n if (!this._focused) {\n return\n }\n\n if (this.editing && this.cancelOnBlur) {\n setTimeout(() => {\n if (!this._actionsFocused) {\n this.cancelEdit()\n }\n })\n }\n\n this._focused = false\n }\n\n public hasFocus(): boolean {\n return this._elementRef.nativeElement.classList.contains('cdk-focused')\n }\n\n public focusContent(): void {\n // Set the tab index to `-1` to allow the root element of the component to\n // receive `focus` event from javascript, but not get focused by keyboard\n // navigation. This is for the focus monitor. If a button is clicked the\n // focus monitor emits a blur before the focus of the input. This will avoid\n // the blur by letting the component itself receive focus events.\n this._renderer.setAttribute(\n this._elementRef.nativeElement,\n 'tabindex',\n '-1',\n )\n this._elementRef.nativeElement.focus()\n }\n\n public toggleEditing(isEditing?: boolean): void {\n if (this.editing === isEditing) {\n return\n }\n const _editing = isEditing === undefined ? !this.editing : !!isEditing\n if (_editing) {\n this.startEditing()\n } else {\n this.stopEditing()\n }\n }\n\n public isEditing(): boolean {\n return this.editing\n }\n\n public startEditing(): void {\n if (this.disabled) {\n return\n }\n if (this.isEditing()) {\n return\n }\n\n this.updateBeforeEditValue()\n\n this.focusContent()\n\n this.editing = true\n\n this.modalRef = this._overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this.modalRef.attach(this.templatePortal)\n }\n\n public stopEditing(): void {\n if (!this.isEditing()) {\n return\n }\n\n if (this.isSubmitting()) {\n return\n }\n\n if (this.modalRef?.hasAttached()) {\n this.modalRef.detach()\n }\n\n // NOTE: This is a hack to avoid a focus lost issue introduced by a focus\n // acuired issue's hack.\n this._elementRef.nativeElement.focus()\n this._elementRef.nativeElement.blur()\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n\n this.editing = false\n }\n\n public keydownEvent(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case ESCAPE: {\n this.cancelEdit()\n break\n }\n case ENTER: {\n this.submitEdit()\n break\n }\n }\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(false)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ]\n }\n\n public resized(): void {\n if (this.modalRef && this.modalRef.hasAttached()) {\n this.modalRef.updatePosition()\n }\n }\n\n public actionsFocusChange(event: any): void {\n this._actionsFocused = !!event\n }\n}\n","<div\n class=\"toggle-edit-not-editing rounded\"\n [class.w-100]=\"editing\"\n [class.toggle-edit-editing]=\"editing\"\n [class.is-disabled]=\"disabled\"\n (seamElemResized)=\"resized()\"\n>\n <div class=\"toggle-edit-content-container\">\n <div class=\"toggle-edit-content\" (click)=\"toggleEditing(true)\">\n <ng-container *ngIf=\"editing; else notEditingTpl\">\n <ng-content></ng-content>\n </ng-container>\n <ng-template #notEditingTpl>\n <ng-container *ngIf=\"displayTpl; else noDisplayTpl\">\n <ng-template\n [ngTemplateOutlet]=\"displayTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: getValue() || placeholder }\"\n ></ng-template>\n </ng-container>\n <ng-template #noDisplayTpl>\n <div class=\"pl-1 pr-1\">\n {{ getValue() || placeholder }}\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div>\n <ng-template\n *ngIf=\"!editing\"\n [cdkPortalOutlet]=\"templatePortal\"\n ></ng-template>\n <ng-template #templatePortalContent>\n <seam-toggle-edit-actions-container\n [class.bg-light]=\"editing\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"actionsFocusChange($event)\"\n >\n <button\n *ngIf=\"!editing\"\n type=\"button\"\n class=\"toggle-edit-edit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"toggleEditing(true)\"\n >\n <fa-icon [icon]=\"faPen\"></fa-icon>\n </button>\n <button\n *ngIf=\"editing\"\n type=\"button\"\n [disabled]=\"!canSubmit()\"\n class=\"toggle-edit-submit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"submitEdit()\"\n >\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n </button>\n <button\n *ngIf=\"editing\"\n type=\"button\"\n class=\"toggle-edit-cancel-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"cancelEdit()\"\n >\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n </seam-toggle-edit-actions-container>\n </ng-template>\n </div>\n </div>\n</div>\n\n<seam-loading *ngIf=\"isSubmitting()\"></seam-loading>\n","import { NgModule } from '@angular/core'\n\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { TheSeamToggleEditComponent } from './toggle-edit.component'\n\n@NgModule({\n imports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent],\n exports: [ToggleEditDisplayTplDirective, TheSeamToggleEditComponent],\n})\nexport class TheSeamToggleEditModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -31,10 +31,10 @@ class ToggleGroupOptionDirective {
31
31
  get value() {
32
32
  return this.seamToggleGroupOption;
33
33
  }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ToggleGroupOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
35
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ToggleGroupOptionDirective, isStandalone: true, selector: "[seamToggleGroupOption]", inputs: { seamToggleGroupOption: "seamToggleGroupOption", selected: "selected" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.lib-toggle-group-option-selected": "this._checkioSelectedClass" } }, exportAs: ["seamToggleGroupOption"], ngImport: i0 });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ToggleGroupOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
35
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ToggleGroupOptionDirective, isStandalone: true, selector: "[seamToggleGroupOption]", inputs: { seamToggleGroupOption: "seamToggleGroupOption", selected: "selected" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.lib-toggle-group-option-selected": "this._checkioSelectedClass" } }, exportAs: ["seamToggleGroupOption"], ngImport: i0 });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ToggleGroupOptionDirective, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ToggleGroupOptionDirective, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: '[seamToggleGroupOption]',
@@ -212,8 +212,8 @@ class ToggleGroupDirective {
212
212
  }
213
213
  }
214
214
  }
215
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ToggleGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
216
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ToggleGroupDirective, isStandalone: true, selector: "[seamToggleGroup]", inputs: { val: ["value", "val"], disabled: "disabled", multiple: "multiple", selectionToggleable: "selectionToggleable" }, outputs: { change: "change" }, providers: [TOGGLE_GROUP_VALUE_ACCESSOR], queries: [{ propertyName: "optionDirectives", predicate: ToggleGroupOptionDirective }], exportAs: ["seamToggleGroup"], ngImport: i0 });
215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ToggleGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
216
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ToggleGroupDirective, isStandalone: true, selector: "[seamToggleGroup]", inputs: { val: ["value", "val"], disabled: "disabled", multiple: "multiple", selectionToggleable: "selectionToggleable" }, outputs: { change: "change" }, providers: [TOGGLE_GROUP_VALUE_ACCESSOR], queries: [{ propertyName: "optionDirectives", predicate: ToggleGroupOptionDirective }], exportAs: ["seamToggleGroup"], ngImport: i0 });
217
217
  }
218
218
  __decorate([
219
219
  InputBoolean()
@@ -224,7 +224,7 @@ __decorate([
224
224
  __decorate([
225
225
  InputBoolean()
226
226
  ], ToggleGroupDirective.prototype, "selectionToggleable", void 0);
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ToggleGroupDirective, decorators: [{
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ToggleGroupDirective, decorators: [{
228
228
  type: Directive,
229
229
  args: [{
230
230
  selector: '[seamToggleGroup]',
@@ -248,11 +248,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
248
248
  }] } });
249
249
 
250
250
  class TheSeamToggleGroupModule {
251
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
252
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleGroupModule, imports: [ToggleGroupDirective, ToggleGroupOptionDirective], exports: [ToggleGroupDirective, ToggleGroupOptionDirective] });
253
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleGroupModule });
251
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
252
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleGroupModule, imports: [ToggleGroupDirective, ToggleGroupOptionDirective], exports: [ToggleGroupDirective, ToggleGroupOptionDirective] });
253
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleGroupModule });
254
254
  }
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleGroupModule, decorators: [{
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamToggleGroupModule, decorators: [{
256
256
  type: NgModule,
257
257
  args: [{
258
258
  imports: [ToggleGroupDirective, ToggleGroupOptionDirective],