{"version":3,"file":"angular-react-fabric-lib-components-details-list.mjs","sources":["../../../libs/fabric/lib/components/details-list/directives/details-list-column.directive.ts","../../../libs/fabric/lib/components/details-list/directives/details-list-columns.directive.ts","../../../libs/fabric/lib/components/details-list/directives/details-list-groups.directive.ts","../../../libs/fabric/lib/components/details-list/details-list.component.ts","../../../libs/fabric/lib/components/details-list/details-list.module.ts","../../../libs/fabric/lib/components/details-list/public-api.ts","../../../libs/fabric/lib/components/details-list/angular-react-fabric-lib-components-details-list.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { AfterContentInit, ContentChild, Directive, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { InputRendererOptions, KnownKeys } from '@angular-react/core';\r\nimport { IColumn } from '@fluentui/react/lib/DetailsList';\r\nimport { ChangeableItemDirective } from '@angular-react/fabric/lib/components/core';\r\n\r\n/**\r\n * Wrapper directive for rendering a custom column to a DetailsListColumn\r\n */\r\n@Directive({ selector: 'fab-details-list-column > render' })\r\nexport class DetailsListColumnRenderDirective {\r\n  @ContentChild(TemplateRef) readonly templateRef: TemplateRef<IDetailsListColumnOptionsRenderContext>;\r\n}\r\n\r\n/**\r\n * Wrapper directive for creating a DetailsListColumn\r\n */\r\n@Directive({ selector: 'fab-details-list-column' })\r\nexport class DetailsListColumnDirective extends ChangeableItemDirective<IDetailsListColumnOptions>\r\n  implements AfterContentInit {\r\n  @ContentChild(DetailsListColumnRenderDirective) readonly renderDirective: DetailsListColumnRenderDirective;\r\n\r\n  @Input() name: IColumn['name'];\r\n  @Input() fieldName?: IColumn['fieldName'];\r\n  @Input() className?: IColumn['className'];\r\n  @Input() minWidth: IColumn['minWidth'];\r\n  @Input() ariaLabel?: IColumn['ariaLabel'];\r\n  @Input() isRowHeader?: IColumn['isRowHeader'];\r\n  @Input() maxWidth?: IColumn['maxWidth'];\r\n  @Input() columnActionsMode?: IColumn['columnActionsMode'];\r\n  @Input() iconName?: IColumn['iconName'];\r\n  @Input() isIconOnly?: IColumn['isIconOnly'];\r\n  @Input() iconClassName?: IColumn['iconClassName'];\r\n  @Input() isCollapsable?: IColumn['isCollapsable'];\r\n  @Input() isSorted?: IColumn['isSorted'];\r\n  @Input() isSortedDescending?: IColumn['isSortedDescending'];\r\n  @Input() isResizable?: IColumn['isResizable'];\r\n  @Input() isMultiline?: IColumn['isMultiline'];\r\n  @Input() onRender?: IColumn['onRender'];\r\n  @Input() getValueKey?: IColumn['getValueKey'];\r\n  @Input() onRenderDivider?: IColumn['onRenderDivider'];\r\n  @Input() isFiltered?: IColumn['isFiltered'];\r\n  @Input() isGrouped?: IColumn['isGrouped'];\r\n  @Input() data?: IColumn['data'];\r\n  @Input() calculatedWidth?: IColumn['calculatedWidth'];\r\n  @Input() currentWidth?: IColumn['currentWidth'];\r\n  @Input() headerClassName?: IColumn['headerClassName'];\r\n  @Input() isPadded?: IColumn['isPadded'];\r\n  @Input() sortAscendingAriaLabel?: IColumn['sortAscendingAriaLabel'];\r\n  @Input() sortDescendingAriaLabel?: IColumn['sortDescendingAriaLabel'];\r\n  @Input() groupAriaLabel?: IColumn['groupAriaLabel'];\r\n  @Input() filterAriaLabel?: IColumn['filterAriaLabel'];\r\n\r\n  // Render members\r\n  @Input() render: IDetailsListColumnOptions['render'];\r\n\r\n  // Callback members\r\n  @Output() readonly onColumnClick = new EventEmitter<{ ev: Event; column: IColumn }>();\r\n  @Output() readonly onColumnContextMenu = new EventEmitter<{ column?: IColumn; ev?: Event }>();\r\n  @Output() readonly onColumnResize = new EventEmitter<{ width?: number }>();\r\n\r\n  ngAfterContentInit() {\r\n    if (this.renderDirective && this.renderDirective.templateRef) {\r\n      this.render = this.renderDirective.templateRef;\r\n    }\r\n  }\r\n}\r\n\r\nexport interface IDetailsListColumnOptions<TData = any> extends Pick<IColumn, Exclude<KnownKeys<IColumn>, 'onRender'>> {\r\n  readonly render?: InputRendererOptions<IDetailsListColumnOptionsRenderContext>;\r\n  readonly onColumnClick?: any;\r\n  readonly onColumnContextMenu?: any;\r\n  readonly onColumnResize?: any;\r\n  readonly data?: TData;\r\n}\r\n\r\nexport interface IDetailsListColumnOptionsRenderContext {\r\n  item?: any;\r\n  index?: number;\r\n  column?: IColumn;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { ContentChildren, Directive, QueryList } from '@angular/core';\r\nimport { IColumn } from '@fluentui/react/lib/DetailsList';\r\nimport { ChangeableItemsDirective } from '@angular-react/fabric/lib/components/core';\r\n\r\nimport { DetailsListColumnDirective, IDetailsListColumnOptions } from './details-list-column.directive';\r\n\r\n/**\r\n * Wrapper directive for creating multiple DetailsListColumns\r\n */\r\n@Directive({ selector: 'fab-details-list > columns' })\r\nexport class DetailsListColumnsDirective extends ChangeableItemsDirective<IDetailsListColumnOptions> {\r\n  @ContentChildren(DetailsListColumnDirective) readonly directiveItems: QueryList<DetailsListColumnDirective>;\r\n\r\n  get items() {\r\n    return this.directiveItems.map<IDetailsListColumnOptions>(directiveItem => ({\r\n      ...directiveItem,\r\n      onColumnClick: (ev: React.MouseEvent, column: IColumn) => {\r\n        directiveItem.onColumnClick.emit({ ev: ev && ev.nativeEvent, column });\r\n      },\r\n      onColumnContextMenu: (column?: IColumn, ev?: React.MouseEvent) => {\r\n        directiveItem.onColumnContextMenu.emit({ column, ev: ev && ev.nativeEvent });\r\n      },\r\n      onColumnResize: (width?: number) => {\r\n        directiveItem.onColumnResize.emit({ width });\r\n      },\r\n    }));\r\n  }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { ContentChildren, Directive, QueryList } from '@angular/core';\r\nimport { IGroup } from '@fluentui/react/lib/DetailsList';\r\nimport { ChangeableItemsDirective } from '@angular-react/fabric/lib/components/core';\r\n\r\nimport { GroupItemDirective } from '@angular-react/fabric/lib/components/group';\r\n\r\n/**\r\n * Wrapper directive for creating multiple DetailsList Groups\r\n */\r\n@Directive({ selector: 'fab-details-list > groups' })\r\nexport class DetailsListGroupsDirective extends ChangeableItemsDirective<IGroup> {\r\n  @ContentChildren(GroupItemDirective) readonly directiveItems: QueryList<GroupItemDirective>;\r\n\r\n  get items() {\r\n    return this.directiveItems.toArray();\r\n  }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport {\r\n  AfterContentInit,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  ContentChild,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  NgZone,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  QueryList,\r\n  Renderer2,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { InputRendererOptions, JsxRenderFunc, ReactWrapperComponent } from '@angular-react/core';\r\nimport {\r\n  DetailsListBase,\r\n  IColumn,\r\n  IDetailsListCheckboxProps,\r\n  IDetailsFooterProps,\r\n  IDetailsHeaderProps,\r\n  IDetailsListProps,\r\n  IDetailsRowProps,\r\n  IGroup,\r\n} from '@fluentui/react/lib/DetailsList';\r\nimport { IListProps } from '@fluentui/react/lib/List';\r\nimport { Subscription } from 'rxjs';\r\nimport { omit } from '@angular-react/fabric/lib/utils';\r\nimport { mergeItemChanges, ChangeableItemsDirective } from '@angular-react/fabric/lib/components/core';\r\nimport { TypedChanges, OnChanges } from '@angular-react/fabric/lib/declarations';\r\n\r\nimport { IDetailsListColumnOptions } from './directives/details-list-column.directive';\r\nimport { DetailsListColumnsDirective } from './directives/details-list-columns.directive';\r\nimport { DetailsListGroupsDirective } from './directives/details-list-groups.directive';\r\nimport { Styled } from '@angular-react/fabric/lib/utils';\r\nimport { AngularReact } from '@angular-react/core';\r\n\r\n@AngularReact()\r\n@Styled('FabDetailsListComponent')\r\n@Component({\r\n  selector: 'fab-details-list',\r\n  exportAs: 'fabDetailsList',\r\n  template: `\r\n    <DetailsList\r\n      #reactNode\r\n      [items]=\"items\"\r\n      [ariaLabel]=\"ariaLabel\"\r\n      [ariaLabelForGrid]=\"ariaLabelForGrid\"\r\n      [ariaLabelForListHeader]=\"ariaLabelForListHeader\"\r\n      [ariaLabelForSelectAllCheckbox]=\"ariaLabelForSelectAllCheckbox\"\r\n      [ariaLabelForSelectionColumn]=\"ariaLabelForSelectionColumn\"\r\n      [cellStyleProps]=\"cellStyleProps\"\r\n      [checkButtonAriaLabel]=\"checkButtonAriaLabel\"\r\n      [checkboxCellClassName]=\"checkboxCellClassName\"\r\n      [checkboxVisibility]=\"checkboxVisibility\"\r\n      [className]=\"className\"\r\n      [columnReorderOptions]=\"columnReorderOptions\"\r\n      [columns]=\"transformedColumns_\"\r\n      [compact]=\"compact\"\r\n      [componentRef]=\"componentRef\"\r\n      [constrainMode]=\"constrainMode\"\r\n      [disableSelectionZone]=\"disableSelectionZone\"\r\n      [dragDropEvents]=\"dragDropEvents\"\r\n      [enableUpdateAnimations]=\"enableUpdateAnimations\"\r\n      [enterModalSelectionOnTouch]=\"enterModalSelectionOnTouch\"\r\n      [getCellValueKey]=\"getCellValueKey\"\r\n      [getGroupHeight]=\"getGroupHeight\"\r\n      [getKey]=\"getKey\"\r\n      [getRowAriaDescribedBy]=\"getRowAriaDescribedBy\"\r\n      [getRowAriaLabel]=\"getRowAriaLabel\"\r\n      [groupProps]=\"groupProps\"\r\n      [groups]=\"transformedGroups_\"\r\n      [indentWidth]=\"indentWidth\"\r\n      [initialFocusedIndex]=\"initialFocusedIndex\"\r\n      [isHeaderVisible]=\"isHeaderVisible\"\r\n      [layoutMode]=\"layoutMode\"\r\n      [listProps]=\"listProps\"\r\n      [minimumPixelsForDrag]=\"minimumPixelsForDrag\"\r\n      [rowElementEventMap]=\"rowElementEventMap\"\r\n      [selection]=\"selection\"\r\n      [selectionMode]=\"selectionMode\"\r\n      [selectionPreservedOnEmptyClick]=\"selectionPreservedOnEmptyClick\"\r\n      [selectionZoneProps]=\"selectionZoneProps\"\r\n      [setKey]=\"setKey\"\r\n      [shouldApplyApplicationRole]=\"shouldApplyApplicationRole\"\r\n      [skipViewportMeasures]=\"skipViewportMeasures\"\r\n      [styles]=\"styles\"\r\n      [theme]=\"theme\"\r\n      [useFastIcons]=\"useFastIcons\"\r\n      [usePageCache]=\"usePageCache\"\r\n      [useReducedRowRenderer]=\"useReducedRowRenderer\"\r\n      [viewport]=\"viewport\"\r\n      [RenderCheckbox]=\"renderCheckbox && onRenderCheckbox\"\r\n      [RenderDetailsFooter]=\"renderDetailsFooter && onRenderDetailsFooter\"\r\n      [RenderDetailsHeader]=\"renderDetailsHeader && onRenderDetailsHeader\"\r\n      [RenderMissingItem]=\"renderMissingItem && onRenderMissingItem\"\r\n      [RenderRow]=\"renderDetailsHeader && onRenderRow\"\r\n      [ActiveItemChanged]=\"onActiveItemChangedHandler\"\r\n      [ColumnHeaderClick]=\"onColumnHeaderClickHandler\"\r\n      [ColumnHeaderContextMenu]=\"onColumnHeaderContextMenuHandler\"\r\n      [ColumnResize]=\"onColumnResizeHandler\"\r\n      [DidUpdate]=\"onDidUpdateHandler\"\r\n      [ItemContextMenu]=\"onItemContextMenuHandler\"\r\n      [ItemInvoked]=\"onItemInvokedHandler\"\r\n      [RowDidMount]=\"onRowDidMountHandler\"\r\n      [RowWillUnmount]=\"onRowWillUnmountHandler\"\r\n      [ShouldVirtualize]=\"onShouldVirtualize\"\r\n    >\r\n    </DetailsList>\r\n  `,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FabDetailsListComponent extends ReactWrapperComponent<IDetailsListProps>\r\n  implements AfterContentInit, OnChanges<FabDetailsListComponent>, OnDestroy, OnInit {\r\n  @ContentChild(DetailsListColumnsDirective, { static: true }) readonly columnsDirective?: DetailsListColumnsDirective;\r\n  @ContentChild(DetailsListGroupsDirective, { static: true }) readonly groupsDirective?: DetailsListGroupsDirective;\r\n\r\n  @ViewChild('reactNode', { static: true }) protected reactNodeRef: ElementRef;\r\n\r\n  @Input() theme?: IDetailsListProps['theme'];\r\n  @Input() styles?: IDetailsListProps['styles'];\r\n  @Input() componentRef?: IDetailsListProps['componentRef'];\r\n  @Input() setKey?: IDetailsListProps['setKey'];\r\n  @Input() items: IDetailsListProps['items'];\r\n  @Input() listProps?: IDetailsListProps['listProps'];\r\n  @Input() initialFocusedIndex?: IDetailsListProps['initialFocusedIndex'];\r\n  @Input() className?: IDetailsListProps['className'];\r\n  @Input() groupProps?: IDetailsListProps['groupProps'];\r\n  @Input() indentWidth?: IDetailsListProps['indentWidth'];\r\n  @Input() selection?: IDetailsListProps['selection'];\r\n  @Input() selectionMode?: IDetailsListProps['selectionMode'];\r\n  @Input() selectionPreservedOnEmptyClick?: IDetailsListProps['selectionPreservedOnEmptyClick'];\r\n  @Input() selectionZoneProps?: IDetailsListProps['selectionZoneProps'];\r\n  @Input() layoutMode?: IDetailsListProps['layoutMode'];\r\n  @Input() checkboxVisibility?: IDetailsListProps['checkboxVisibility'];\r\n  @Input() isHeaderVisible?: IDetailsListProps['isHeaderVisible'];\r\n  @Input() constrainMode?: IDetailsListProps['constrainMode'];\r\n  @Input() rowElementEventMap?: IDetailsListProps['rowElementEventMap'];\r\n  @Input() getCellValueKey?: IDetailsListProps['getCellValueKey'];\r\n  @Input() dragDropEvents?: IDetailsListProps['dragDropEvents'];\r\n  @Input() viewport?: IDetailsListProps['viewport'];\r\n  @Input() ariaLabelForListHeader?: IDetailsListProps['ariaLabelForListHeader'];\r\n  @Input() ariaLabelForSelectAllCheckbox?: IDetailsListProps['ariaLabelForSelectAllCheckbox'];\r\n  @Input() ariaLabelForSelectionColumn?: IDetailsListProps['ariaLabelForSelectionColumn'];\r\n  @Input() getRowAriaLabel?: IDetailsListProps['getRowAriaLabel'];\r\n  @Input() getRowAriaDescribedBy?: IDetailsListProps['getRowAriaDescribedBy'];\r\n  @Input() getKey?: IDetailsListProps['getKey'];\r\n  @Input() ariaLabel?: IDetailsListProps['ariaLabel'];\r\n  @Input() checkButtonAriaLabel?: IDetailsListProps['checkButtonAriaLabel'];\r\n  @Input() ariaLabelForGrid?: IDetailsListProps['ariaLabelForGrid'];\r\n  @Input() shouldApplyApplicationRole?: IDetailsListProps['shouldApplyApplicationRole'];\r\n  @Input() minimumPixelsForDrag?: IDetailsListProps['minimumPixelsForDrag'];\r\n  @Input() compact?: IDetailsListProps['compact'];\r\n  @Input() usePageCache?: IDetailsListProps['usePageCache'];\r\n  @Input() onShouldVirtualize?: (props: IListProps) => boolean;\r\n  @Input() checkboxCellClassName?: IDetailsListProps['checkboxCellClassName'];\r\n  @Input() enterModalSelectionOnTouch?: IDetailsListProps['enterModalSelectionOnTouch'];\r\n  @Input() columnReorderOptions?: IDetailsListProps['columnReorderOptions'];\r\n  @Input() getGroupHeight?: IDetailsListProps['getGroupHeight'];\r\n  @Input() useReducedRowRenderer?: IDetailsListProps['useReducedRowRenderer'];\r\n  @Input() cellStyleProps?: IDetailsListProps['cellStyleProps'];\r\n  @Input() disableSelectionZone?: IDetailsListProps['disableSelectionZone'];\r\n  @Input() enableUpdateAnimations?: IDetailsListProps['enableUpdateAnimations'];\r\n  @Input() useFastIcons?: IDetailsListProps['useFastIcons'];\r\n\r\n  // Inherited members (IWithViewportProps)\r\n  @Input() skipViewportMeasures?: IDetailsListProps['skipViewportMeasures'];\r\n\r\n  // Render members\r\n  @Input() renderCheckbox?: InputRendererOptions<IDetailsListCheckboxProps>;\r\n  @Input() renderDetailsFooter?: InputRendererOptions<IDetailsFooterProps>;\r\n  @Input() renderDetailsHeader?: InputRendererOptions<IDetailsHeaderProps>;\r\n  @Input() renderMissingItem?: InputRendererOptions<IMissingItemRenderContext>;\r\n  @Input() renderRow?: InputRendererOptions<IDetailsRowProps>;\r\n\r\n  // Callback members\r\n  @Output() readonly onActiveItemChanged = new EventEmitter<{ item?: any; index?: number; ev?: Event }>();\r\n  @Output() readonly onColumnHeaderClick = new EventEmitter<{ ev?: Event; column?: IColumn }>();\r\n  @Output() readonly onColumnHeaderContextMenu = new EventEmitter<{ column?: IColumn; ev?: Event }>();\r\n  @Output() readonly onColumnResize = new EventEmitter<{ column?: IColumn; newWidth?: number; columnIndex?: number }>();\r\n  @Output() readonly onDidUpdate = new EventEmitter<{ detailsList?: DetailsListBase }>();\r\n  @Output() readonly onItemContextMenu = new EventEmitter<{ item?: any; index?: number; ev?: Event }>();\r\n  @Output() readonly onItemInvoked = new EventEmitter<{ item?: any; index?: number; ev?: Event }>();\r\n  @Output() readonly onRowDidMount = new EventEmitter<{ item?: any; index?: number }>();\r\n  @Output() readonly onRowWillUnmount = new EventEmitter<{ item?: any; index?: number }>();\r\n\r\n  // Directive members\r\n  @Input() columns: ReadonlyArray<IDetailsListColumnOptions>;\r\n  @Input() groups: ReadonlyArray<IGroup>;\r\n\r\n  /** @internal */\r\n  transformedColumns_: ReadonlyArray<IColumn>;\r\n  transformedGroups_: ReadonlyArray<IGroup>;\r\n\r\n  private readonly _subscriptions: Subscription[] = [];\r\n\r\n  onRenderCheckbox: (\r\n    props?: IDetailsListCheckboxProps,\r\n    defaultRender?: JsxRenderFunc<IDetailsListCheckboxProps>\r\n  ) => JSX.Element;\r\n  onRenderDetailsFooter: (\r\n    props?: IDetailsFooterProps,\r\n    defaultRender?: JsxRenderFunc<IDetailsFooterProps>\r\n  ) => JSX.Element;\r\n  onRenderDetailsHeader: (\r\n    props?: IDetailsHeaderProps,\r\n    defaultRender?: JsxRenderFunc<IDetailsHeaderProps>\r\n  ) => JSX.Element;\r\n  onRenderMissingItem: (index?: number, rowProps?: IDetailsRowProps) => JSX.Element;\r\n  onRenderRow: (props?: IDetailsRowProps, defaultRender?: JsxRenderFunc<IDetailsRowProps>) => JSX.Element;\r\n\r\n  constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2, ngZone: NgZone) {\r\n    super(elementRef, changeDetectorRef, renderer, { ngZone, setHostDisplay: true });\r\n\r\n    // Bind this to access Angular component properties\r\n    this.onActiveItemChangedHandler = this.onActiveItemChangedHandler.bind(this);\r\n    this.onColumnHeaderClickHandler = this.onColumnHeaderClickHandler.bind(this);\r\n    this.onColumnHeaderContextMenuHandler = this.onColumnHeaderContextMenuHandler.bind(this);\r\n    this.onColumnResizeHandler = this.onColumnResizeHandler.bind(this);\r\n    this.onDidUpdateHandler = this.onDidUpdateHandler.bind(this);\r\n    this.onItemContextMenuHandler = this.onItemContextMenuHandler.bind(this);\r\n    this.onItemInvokedHandler = this.onItemInvokedHandler.bind(this);\r\n    this.onRowDidMountHandler = this.onRowDidMountHandler.bind(this);\r\n    this.onRowWillUnmountHandler = this.onRowWillUnmountHandler.bind(this);\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.onRenderCheckbox = this.createRenderPropHandler(this.renderCheckbox);\r\n    this.onRenderDetailsFooter = this.createRenderPropHandler(this.renderDetailsFooter);\r\n    this.onRenderDetailsHeader = this.createRenderPropHandler(this.renderDetailsHeader);\r\n    this.onRenderRow = this.createRenderPropHandler(this.renderRow);\r\n\r\n    const missingItemRenderer = this.createInputJsxRenderer(this.renderMissingItem);\r\n    this.onRenderMissingItem = (index, rowProps) => missingItemRenderer({ index, rowProps });\r\n  }\r\n\r\n  ngOnChanges(changes: TypedChanges<FabDetailsListComponent>) {\r\n    if (\r\n      changes['columns'] &&\r\n      changes['columns'].currentValue &&\r\n      changes['columns'].previousValue !== changes['columns'].currentValue\r\n    ) {\r\n      this._createTransformedColumns(changes['columns'].currentValue);\r\n    }\r\n    if (\r\n      changes['groups'] &&\r\n      changes['groups'].currentValue &&\r\n      changes['groups'].previousValue !== changes['groups'].currentValue\r\n    ) {\r\n      this._createTransformedGroups(changes['groups'].currentValue);\r\n    }\r\n    super.ngOnChanges(changes);\r\n  }\r\n\r\n  ngAfterContentInit() {\r\n    if (this.columnsDirective) {\r\n      this._initDirective(this.columnsDirective, 'columns');\r\n    }\r\n    if (this.groupsDirective) {\r\n      this._initDirective(this.groupsDirective, 'groups');\r\n    }\r\n    super.ngAfterContentInit();\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this._subscriptions.forEach(sub => sub.unsubscribe());\r\n  }\r\n\r\n  onActiveItemChangedHandler(item?: any, index?: number, ev?: React.FocusEvent<HTMLElement>) {\r\n    this.onActiveItemChanged.emit({ item, index, ev: ev.nativeEvent });\r\n  }\r\n\r\n  onColumnHeaderClickHandler(ev?: React.MouseEvent<HTMLElement>, column?: IColumn) {\r\n    this.onColumnHeaderClick.emit({ ev: ev.nativeEvent, column });\r\n  }\r\n\r\n  onColumnHeaderContextMenuHandler(column?: IColumn, ev?: React.MouseEvent<HTMLElement>) {\r\n    this.onColumnHeaderContextMenu.emit({ column, ev: ev.nativeEvent });\r\n  }\r\n\r\n  onColumnResizeHandler(column?: IColumn, newWidth?: number, columnIndex?: number) {\r\n    this.onColumnResize.emit({ column, newWidth, columnIndex });\r\n  }\r\n\r\n  onDidUpdateHandler(detailsList?: DetailsListBase) {\r\n    this.onDidUpdate.emit({ detailsList });\r\n  }\r\n\r\n  onItemContextMenuHandler(item?: any, index?: number, ev?: Event) {\r\n    this.onItemContextMenu.emit({ item, index, ev });\r\n  }\r\n\r\n  onItemInvokedHandler(item?: any, index?: number, ev?: Event) {\r\n    this.onItemInvoked.emit({ item, index, ev });\r\n  }\r\n\r\n  onRowDidMountHandler(item?: any, index?: number) {\r\n    this.onRowDidMount.emit({ item, index });\r\n  }\r\n\r\n  onRowWillUnmountHandler(item?: any, index?: number) {\r\n    this.onRowWillUnmount.emit({ item, index });\r\n  }\r\n\r\n  private _initDirective(directive: ChangeableItemsDirective<any>, propertyKey: 'columns' | 'groups') {\r\n    const transformItemsFunc = this._transformItemsFunction(directive);\r\n    const setItems = (mapper: (items: ReadonlyArray<any>) => ReadonlyArray<any>) => {\r\n      this[propertyKey] = mapper(this[propertyKey]);\r\n      transformItemsFunc(this[propertyKey]);\r\n      this.markForCheck();\r\n    };\r\n\r\n    setItems(() => directive.items);\r\n\r\n    // Subscribe to adding/removing items\r\n    this._subscriptions.push(\r\n      directive.onItemsChanged.subscribe((newItems: QueryList<ChangeableItemsDirective<any>>) => {\r\n        setItems(() => newItems.map(directive => directive));\r\n      })\r\n    );\r\n\r\n    // Subscribe for existing item changes\r\n    this._subscriptions.push(\r\n      directive.onChildItemChanged.subscribe(({ key, changes }) => {\r\n        setItems(items => items.map(item => (item.key === key ? mergeItemChanges(item, changes) : item)));\r\n        this.markForCheck();\r\n      })\r\n    );\r\n  }\r\n\r\n  private _transformItemsFunction(directive: ChangeableItemsDirective<any>) {\r\n    if (directive instanceof DetailsListColumnsDirective) {\r\n      return (newColumns: ReadonlyArray<any>) => this._createTransformedColumns(newColumns);\r\n    } else if (directive instanceof DetailsListGroupsDirective) {\r\n      return (newGroups: ReadonlyArray<any>) => this._createTransformedGroups(newGroups);\r\n    } else {\r\n      throw new Error('Invalid directive given');\r\n    }\r\n  }\r\n\r\n  private _createTransformedColumns(newColumns: ReadonlyArray<IDetailsListColumnOptions>) {\r\n    this.transformedColumns_ = newColumns.map(column => this._transformDetailsListColumnOptionsToProps(column));\r\n  }\r\n\r\n  private _transformDetailsListColumnOptionsToProps(options: IDetailsListColumnOptions): IColumn {\r\n    const renderer = this.createInputJsxRenderer(options.render);\r\n    return Object.assign(\r\n      {},\r\n      omit(options, 'render'),\r\n      renderer &&\r\n      ({\r\n        onRender: (item?: any, index?: number, column?: IColumn) => renderer({ item, index, column }),\r\n      } as Pick<IColumn, 'onRender'>)\r\n    ) as IColumn;\r\n  }\r\n\r\n  private _createTransformedGroups(newGroups: ReadonlyArray<IGroup>) {\r\n    this.transformedGroups_ = newGroups;\r\n  }\r\n}\r\n\r\nexport interface IMissingItemRenderContext {\r\n  index?: number;\r\n  rowProps?: IDetailsRowProps;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { registerElement } from '@angular-react/core';\r\nimport { DetailsList } from '@fluentui/react/lib/DetailsList';\r\n\r\nimport { FabGroupModule } from '@angular-react/fabric/lib/components/group';\r\nimport { FabDetailsListComponent } from './details-list.component';\r\nimport {\r\n  DetailsListColumnDirective,\r\n  DetailsListColumnRenderDirective,\r\n} from './directives/details-list-column.directive';\r\nimport { DetailsListColumnsDirective } from './directives/details-list-columns.directive';\r\nimport { DetailsListGroupsDirective } from './directives/details-list-groups.directive';\r\n\r\nconst components = [\r\n  DetailsListColumnDirective,\r\n  DetailsListColumnRenderDirective,\r\n  DetailsListColumnsDirective,\r\n  DetailsListGroupsDirective,\r\n  FabDetailsListComponent,\r\n];\r\n\r\n@NgModule({\r\n  imports: [CommonModule, FabGroupModule],\r\n  declarations: components,\r\n  exports: [...components, FabGroupModule],\r\n  schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class FabDetailsListModule {\r\n  constructor() {\r\n    // Add any React elements to the registry (used by the renderer).\r\n    registerElement('DetailsList', () => DetailsList);\r\n  }\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nexport * from './details-list.component';\r\nexport * from './details-list.module';\r\nexport * from './directives/details-list-column.directive';\r\nexport * from './directives/details-list-columns.directive';\r\nexport * from './directives/details-list-groups.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;AACA;AAOA;;AAEG;MAEU,gCAAgC,CAAA;iIAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhC,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,iHAC7B,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FADd,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C,SAAS;mBAAC,EAAE,QAAQ,EAAE,kCAAkC,EAAE,CAAA;8BAErB,WAAW,EAAA,CAAA;sBAA9C,YAAY;uBAAC,WAAW,CAAA;;AAG3B;;AAEG;AAEG,MAAO,0BAA2B,SAAQ,uBAAkD,CAAA;AADlG,IAAA,WAAA,GAAA;;;AAwCqB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAkC,CAAC;AACnE,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAoC,CAAC;AAC3E,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAsB,CAAC;AAO5E,KAAA;IALC,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;AAChD,SAAA;KACF;iIA/CU,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,inCAEvB,gCAAgC,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAFnC,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,SAAS;mBAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAA;8BAGS,eAAe,EAAA,CAAA;sBAAvE,YAAY;uBAAC,gCAAgC,CAAA;gBAErC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBACG,uBAAuB,EAAA,CAAA;sBAA/B,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGa,aAAa,EAAA,CAAA;sBAA/B,MAAM;gBACY,mBAAmB,EAAA,CAAA;sBAArC,MAAM;gBACY,cAAc,EAAA,CAAA;sBAAhC,MAAM;;;AC7DT;AACA;AAQA;;AAEG;AAEG,MAAO,2BAA4B,SAAQ,wBAAmD,CAAA;AAGlG,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAA4B,aAAa,KAAK;AAC1E,YAAA,GAAG,aAAa;AAChB,YAAA,aAAa,EAAE,CAAC,EAAoB,EAAE,MAAe,KAAI;AACvD,gBAAA,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;aACxE;AACD,YAAA,mBAAmB,EAAE,CAAC,MAAgB,EAAE,EAAqB,KAAI;AAC/D,gBAAA,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;aAC9E;AACD,YAAA,cAAc,EAAE,CAAC,KAAc,KAAI;gBACjC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aAC9C;AACF,SAAA,CAAC,CAAC,CAAC;KACL;iIAhBU,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,iGACrB,0BAA0B,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FADhC,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,SAAS;mBAAC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAA;8BAEG,cAAc,EAAA,CAAA;sBAAnE,eAAe;uBAAC,0BAA0B,CAAA;;;ACd7C;AACA;AAQA;;AAEG;AAEG,MAAO,0BAA2B,SAAQ,wBAAgC,CAAA;AAG9E,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;KACtC;iIALU,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,gGACpB,kBAAkB,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FADxB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,SAAS;mBAAC,EAAE,QAAQ,EAAE,2BAA2B,EAAE,CAAA;8BAEJ,cAAc,EAAA,CAAA;sBAA3D,eAAe;uBAAC,kBAAkB,CAAA;;;ACwG9B,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,qBAAwC,CAAA;AAmGnF,IAAA,WAAA,CAAY,UAAsB,EAAE,iBAAoC,EAAE,QAAmB,EAAE,MAAc,EAAA;AAC3G,QAAA,KAAK,CAAC,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;;AApChE,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAA8C,CAAC;AACrF,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAoC,CAAC;AAC3E,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,YAAY,EAAoC,CAAC;AACjF,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAiE,CAAC;AACnG,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAqC,CAAC;AACpE,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAA8C,CAAC;AACnF,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAA8C,CAAC;AAC/E,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAkC,CAAC;AACnE,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAkC,CAAC;QAUxE,IAAc,CAAA,cAAA,GAAmB,EAAE,CAAC;;QAqBnD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxE;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAChF,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;KAC1F;AAED,IAAA,WAAW,CAAC,OAA8C,EAAA;QACxD,IACE,OAAO,CAAC,SAAS,CAAC;AAClB,YAAA,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY;AAC/B,YAAA,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,EACpE;YACA,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AACjE,SAAA;QACD,IACE,OAAO,CAAC,QAAQ,CAAC;AACjB,YAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY;AAC9B,YAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EAClE;YACA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;AAC/D,SAAA;AACD,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AACvD,SAAA;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AACrD,SAAA;QACD,KAAK,CAAC,kBAAkB,EAAE,CAAC;KAC5B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;KACvD;AAED,IAAA,0BAA0B,CAAC,IAAU,EAAE,KAAc,EAAE,EAAkC,EAAA;AACvF,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;KACpE;IAED,0BAA0B,CAAC,EAAkC,EAAE,MAAgB,EAAA;AAC7E,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;KAC/D;IAED,gCAAgC,CAAC,MAAgB,EAAE,EAAkC,EAAA;AACnF,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;KACrE;AAED,IAAA,qBAAqB,CAAC,MAAgB,EAAE,QAAiB,EAAE,WAAoB,EAAA;AAC7E,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;KAC7D;AAED,IAAA,kBAAkB,CAAC,WAA6B,EAAA;QAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;KACxC;AAED,IAAA,wBAAwB,CAAC,IAAU,EAAE,KAAc,EAAE,EAAU,EAAA;AAC7D,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;KAClD;AAED,IAAA,oBAAoB,CAAC,IAAU,EAAE,KAAc,EAAE,EAAU,EAAA;AACzD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;KAC9C;IAED,oBAAoB,CAAC,IAAU,EAAE,KAAc,EAAA;QAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KAC1C;IAED,uBAAuB,CAAC,IAAU,EAAE,KAAc,EAAA;QAChD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KAC7C;IAEO,cAAc,CAAC,SAAwC,EAAE,WAAiC,EAAA;QAChG,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AACnE,QAAA,MAAM,QAAQ,GAAG,CAAC,MAAyD,KAAI;YAC7E,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9C,YAAA,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;AACtB,SAAC,CAAC;QAEF,QAAQ,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;;AAGhC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAkD,KAAI;AACxF,YAAA,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC;SACtD,CAAC,CACH,CAAC;;AAGF,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,SAAS,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAI;AAC1D,YAAA,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB,CAAC,CACH,CAAC;KACH;AAEO,IAAA,uBAAuB,CAAC,SAAwC,EAAA;QACtE,IAAI,SAAS,YAAY,2BAA2B,EAAE;YACpD,OAAO,CAAC,UAA8B,KAAK,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;AACvF,SAAA;aAAM,IAAI,SAAS,YAAY,0BAA0B,EAAE;YAC1D,OAAO,CAAC,SAA6B,KAAK,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACpF,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC5C,SAAA;KACF;AAEO,IAAA,yBAAyB,CAAC,UAAoD,EAAA;AACpF,QAAA,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,yCAAyC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC7G;AAEO,IAAA,yCAAyC,CAAC,OAAkC,EAAA;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7D,QAAA,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EACvB,QAAQ;AACP,YAAA;AACC,gBAAA,QAAQ,EAAE,CAAC,IAAU,EAAE,KAAc,EAAE,MAAgB,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChE,aAAA,CACrB,CAAC;KACd;AAEO,IAAA,wBAAwB,CAAC,SAAgC,EAAA;AAC/D,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;KACrC;iIAtPU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAEpB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,8BAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,2BAA2B,EAC3B,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,0BAA0B,EAzE9B,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAGU,uBAAuB,GAAA,UAAA,CAAA;AA3EnC,IAAA,YAAY,EAAE;IACd,MAAM,CAAC,yBAAyB,CAAC;AA0ErB,CAAA,EAAA,uBAAuB,CAuPnC,CAAA;2FAvPY,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAzEnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmET,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;8KAGuE,gBAAgB,EAAA,CAAA;sBAArF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACU,eAAe,EAAA,CAAA;sBAAnF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,0BAA0B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAEN,YAAY,EAAA,CAAA;sBAA/D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAE/B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,8BAA8B,EAAA,CAAA;sBAAtC,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBACG,6BAA6B,EAAA,CAAA;sBAArC,KAAK;gBACG,2BAA2B,EAAA,CAAA;sBAAnC,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,0BAA0B,EAAA,CAAA;sBAAlC,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,0BAA0B,EAAA,CAAA;sBAAlC,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAGG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAGG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAGa,mBAAmB,EAAA,CAAA;sBAArC,MAAM;gBACY,mBAAmB,EAAA,CAAA;sBAArC,MAAM;gBACY,yBAAyB,EAAA,CAAA;sBAA3C,MAAM;gBACY,cAAc,EAAA,CAAA;sBAAhC,MAAM;gBACY,WAAW,EAAA,CAAA;sBAA7B,MAAM;gBACY,iBAAiB,EAAA,CAAA;sBAAnC,MAAM;gBACY,aAAa,EAAA,CAAA;sBAA/B,MAAM;gBACY,aAAa,EAAA,CAAA;sBAA/B,MAAM;gBACY,gBAAgB,EAAA,CAAA;sBAAlC,MAAM;gBAGE,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AClMR;AACA;AAgBA,MAAM,UAAU,GAAG;IACjB,0BAA0B;IAC1B,gCAAgC;IAChC,2BAA2B;IAC3B,0BAA0B;IAC1B,uBAAuB;CACxB,CAAC;MAQW,oBAAoB,CAAA;AAC/B,IAAA,WAAA,GAAA;;QAEE,eAAe,CAAC,aAAa,EAAE,MAAM,WAAW,CAAC,CAAC;KACnD;iIAJU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAb/B,0BAA0B;YAC1B,gCAAgC;YAChC,2BAA2B;YAC3B,0BAA0B;AAC1B,YAAA,uBAAuB,CAIb,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,aARtC,0BAA0B;YAC1B,gCAAgC;YAChC,2BAA2B;YAC3B,0BAA0B;AAC1B,YAAA,uBAAuB,EAME,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;AAG5B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EALrB,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAEb,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG5B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;AACvC,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,cAAc,CAAC;oBACxC,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;AC9BD;AACA;;ACDA;;AAEG;;;;"}