ngwr 6.0.0 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/alert/index.d.ts +30 -3
  2. package/avatar/index.d.ts +30 -5
  3. package/button/index.d.ts +43 -3
  4. package/cdk/index.d.ts +22 -3
  5. package/cdk/rxjs/index.d.ts +38 -3
  6. package/cdk/types/index.d.ts +25 -3
  7. package/cdk/utils/index.d.ts +12 -3
  8. package/checkbox/index.d.ts +29 -3
  9. package/dialog/index.d.ts +191 -3
  10. package/divider/index.d.ts +16 -5
  11. package/dropdown/index.d.ts +66 -3
  12. package/fesm2022/ngwr-alert.mjs +4 -4
  13. package/fesm2022/ngwr-alert.mjs.map +1 -1
  14. package/fesm2022/ngwr-avatar.mjs +4 -4
  15. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  16. package/fesm2022/ngwr-button.mjs +6 -6
  17. package/fesm2022/ngwr-button.mjs.map +1 -1
  18. package/fesm2022/ngwr-cdk.mjs +3 -3
  19. package/fesm2022/ngwr-cdk.mjs.map +1 -1
  20. package/fesm2022/ngwr-checkbox.mjs +5 -5
  21. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  22. package/fesm2022/ngwr-dialog.mjs +31 -37
  23. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  24. package/fesm2022/ngwr-divider.mjs +3 -3
  25. package/fesm2022/ngwr-divider.mjs.map +1 -1
  26. package/fesm2022/ngwr-dropdown.mjs +17 -17
  27. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  28. package/fesm2022/ngwr-form.mjs +6 -6
  29. package/fesm2022/ngwr-form.mjs.map +1 -1
  30. package/fesm2022/ngwr-icon.mjs +10 -11
  31. package/fesm2022/ngwr-icon.mjs.map +1 -1
  32. package/fesm2022/ngwr-input.mjs +7 -7
  33. package/fesm2022/ngwr-input.mjs.map +1 -1
  34. package/fesm2022/ngwr-pagination.mjs +16 -16
  35. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  36. package/fesm2022/ngwr-pipes.mjs +3 -3
  37. package/fesm2022/ngwr-pipes.mjs.map +1 -1
  38. package/fesm2022/ngwr-progress.mjs +3 -3
  39. package/fesm2022/ngwr-progress.mjs.map +1 -1
  40. package/fesm2022/ngwr-qr.mjs +12 -15
  41. package/fesm2022/ngwr-qr.mjs.map +1 -1
  42. package/fesm2022/ngwr-select.mjs +18 -18
  43. package/fesm2022/ngwr-select.mjs.map +1 -1
  44. package/fesm2022/ngwr-skeleton.mjs +3 -3
  45. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  46. package/fesm2022/ngwr-spinner.mjs +5 -5
  47. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  48. package/fesm2022/ngwr-table.mjs +31 -31
  49. package/fesm2022/ngwr-table.mjs.map +1 -1
  50. package/fesm2022/ngwr-tag.mjs +3 -3
  51. package/fesm2022/ngwr-tag.mjs.map +1 -1
  52. package/fesm2022/ngwr-textarea.mjs +5 -5
  53. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  54. package/form/index.d.ts +26 -3
  55. package/icon/index.d.ts +828 -3
  56. package/index.d.ts +2 -5
  57. package/input/index.d.ts +41 -3
  58. package/package.json +5 -5
  59. package/pagination/index.d.ts +32 -3
  60. package/pipes/index.d.ts +15 -3
  61. package/progress/index.d.ts +13 -5
  62. package/qr/index.d.ts +127 -5
  63. package/select/index.d.ts +119 -3
  64. package/skeleton/index.d.ts +13 -1
  65. package/spinner/index.d.ts +23 -1
  66. package/table/index.d.ts +101 -5
  67. package/tag/index.d.ts +24 -5
  68. package/textarea/index.d.ts +44 -4
  69. package/alert/alert-type.d.ts +0 -7
  70. package/alert/alert.component.d.ts +0 -21
  71. package/alert/public-api.d.ts +0 -8
  72. package/avatar/avatar.component.d.ts +0 -27
  73. package/avatar/public-api.d.ts +0 -7
  74. package/button/button-group.component.d.ts +0 -12
  75. package/button/button.component.d.ts +0 -31
  76. package/button/public-api.d.ts +0 -8
  77. package/cdk/base.directive.d.ts +0 -20
  78. package/cdk/public-api.d.ts +0 -7
  79. package/cdk/rxjs/is-array.d.ts +0 -8
  80. package/cdk/rxjs/is-defined.d.ts +0 -8
  81. package/cdk/rxjs/is-not-empty-array.d.ts +0 -8
  82. package/cdk/rxjs/is-observable.d.ts +0 -9
  83. package/cdk/rxjs/public-api.d.ts +0 -10
  84. package/cdk/types/maybe.d.ts +0 -7
  85. package/cdk/types/public-api.d.ts +0 -9
  86. package/cdk/types/safe-any.d.ts +0 -7
  87. package/cdk/types/theme-color.d.ts +0 -8
  88. package/cdk/utils/generate-random-id.d.ts +0 -12
  89. package/cdk/utils/public-api.d.ts +0 -7
  90. package/checkbox/checkbox.component.d.ts +0 -28
  91. package/checkbox/public-api.d.ts +0 -7
  92. package/dialog/dialog-animations.d.ts +0 -22
  93. package/dialog/dialog-base.directive.d.ts +0 -40
  94. package/dialog/dialog-close.directive.d.ts +0 -9
  95. package/dialog/dialog-content.directive.d.ts +0 -6
  96. package/dialog/dialog-data.token.d.ts +0 -8
  97. package/dialog/dialog-footer.directive.d.ts +0 -8
  98. package/dialog/dialog-options.d.ts +0 -19
  99. package/dialog/dialog-ref.d.ts +0 -26
  100. package/dialog/dialog-title.directive.d.ts +0 -6
  101. package/dialog/dialog.component.d.ts +0 -28
  102. package/dialog/dialog.module.d.ts +0 -6
  103. package/dialog/dialog.service.d.ts +0 -28
  104. package/dialog/public-api.d.ts +0 -18
  105. package/divider/divider.component.d.ts +0 -13
  106. package/divider/public-api.d.ts +0 -7
  107. package/dropdown/dropdown-menu-item.component.d.ts +0 -12
  108. package/dropdown/dropdown-menu.component.d.ts +0 -14
  109. package/dropdown/dropdown.directive.d.ts +0 -29
  110. package/dropdown/dropdown.types.d.ts +0 -9
  111. package/dropdown/public-api.d.ts +0 -10
  112. package/form/form-error.component.d.ts +0 -11
  113. package/form/form-item.component.d.ts +0 -14
  114. package/form/public-api.d.ts +0 -8
  115. package/icon/icon.component.d.ts +0 -24
  116. package/icon/icon.service.d.ts +0 -23
  117. package/icon/icons.d.ts +0 -770
  118. package/icon/provide-wr-icons.d.ts +0 -9
  119. package/icon/public-api.d.ts +0 -10
  120. package/input/input-types.d.ts +0 -1
  121. package/input/input.component.d.ts +0 -38
  122. package/input/public-api.d.ts +0 -8
  123. package/pagination/pagination.component.d.ts +0 -23
  124. package/pagination/pagination.types.d.ts +0 -7
  125. package/pagination/public-api.d.ts +0 -8
  126. package/pipes/new-array.pipe.d.ts +0 -13
  127. package/pipes/public-api.d.ts +0 -7
  128. package/progress/progress.component.d.ts +0 -10
  129. package/progress/public-api.d.ts +0 -7
  130. package/public-api.d.ts +0 -2
  131. package/qr/generator.d.ts +0 -7
  132. package/qr/public-api.d.ts +0 -7
  133. package/qr/qr.component.d.ts +0 -31
  134. package/qr/qrcodegen.d.ts +0 -94
  135. package/select/public-api.d.ts +0 -10
  136. package/select/select-option-group.component.d.ts +0 -19
  137. package/select/select-option.component.d.ts +0 -22
  138. package/select/select.component.d.ts +0 -63
  139. package/select/select.types.d.ts +0 -17
  140. package/skeleton/skeleton.component.d.ts +0 -10
  141. package/spinner/spinner.component.d.ts +0 -13
  142. package/spinner/spinner.types.d.ts +0 -7
  143. package/table/public-api.d.ts +0 -11
  144. package/table/table-cell/index.d.ts +0 -7
  145. package/table/table-cell/table-cell.directive.d.ts +0 -8
  146. package/table/table-filter/index.d.ts +0 -7
  147. package/table/table-filter/table-filter.component.d.ts +0 -18
  148. package/table/table-sort/index.d.ts +0 -7
  149. package/table/table-sort/table-sort.component.d.ts +0 -8
  150. package/table/table.component.d.ts +0 -33
  151. package/table/types/index.d.ts +0 -6
  152. package/table/types/table-cell-context.d.ts +0 -6
  153. package/table/types/table-columns.d.ts +0 -7
  154. package/table/types/table-filter-emit.d.ts +0 -5
  155. package/table/types/table-filter-item.d.ts +0 -6
  156. package/table/types/table-order-item.d.ts +0 -5
  157. package/table/types/table-order.enum.d.ts +0 -5
  158. package/tag/public-api.d.ts +0 -7
  159. package/tag/tag.component.d.ts +0 -21
  160. package/textarea/public-api.d.ts +0 -7
  161. package/textarea/textarea.component.d.ts +0 -44
@@ -1 +1 @@
1
- {"version":3,"file":"ngwr-table.mjs","sources":["../../../projects/lib/table/types/table-order.enum.ts","../../../projects/lib/table/table-cell/table-cell.directive.ts","../../../projects/lib/table/table-cell/index.ts","../../../projects/lib/table/table-filter/table-filter.component.ts","../../../projects/lib/table/table-filter/table-filter.component.html","../../../projects/lib/table/table-filter/index.ts","../../../projects/lib/table/table-sort/table-sort.component.ts","../../../projects/lib/table/table-sort/table-sort.component.html","../../../projects/lib/table/table-sort/index.ts","../../../projects/lib/table/table.component.ts","../../../projects/lib/table/table.component.html","../../../projects/lib/table/public-api.ts","../../../projects/lib/table/ngwr-table.ts"],"sourcesContent":["export enum WrTableOrder {\n REMOVE,\n ASC,\n DESC,\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\n\nimport { WrTableCellContext } from '../types';\n\n@Directive({\n selector: '[wrTableCell]',\n})\nexport class WrTableCellDirective {\n columnKey = input.required<string>({ alias: 'wrTableCell' });\n\n template = inject(TemplateRef<WrTableCellContext>);\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './table-cell.directive';\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n input,\n OnInit,\n Output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { startWith } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { WrAbstractBase } from 'ngwr/cdk';\nimport { WrDropdownDirective, WrDropdownMenuComponent } from 'ngwr/dropdown';\nimport { checkmark, filter as filterIcon, provideWrIcons, WrIconComponent } from 'ngwr/icon';\n\nimport { WrTableFilterItem } from '../types';\n\n@Component({\n selector: 'wr-table-filter',\n templateUrl: './table-filter.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ReactiveFormsModule, WrIconComponent, WrDropdownDirective, WrDropdownMenuComponent],\n providers: [provideWrIcons([checkmark, filterIcon])],\n host: {\n class: 'wr-table-filter',\n '[class.wr-table-filter--active]': 'length > 0',\n },\n})\nexport class WrTableFilterComponent extends WrAbstractBase implements OnInit {\n items = input.required<WrTableFilterItem[]>();\n\n @Output()\n readonly selectedItems = new EventEmitter<WrTableFilterItem[]>();\n\n protected readonly search = new FormControl<string | null>(null, { nonNullable: true });\n protected readonly filteredItems = signal<WrTableFilterItem[]>([]);\n\n protected get length(): number {\n return this.filteredItems().filter(i => i.isSelected).length;\n }\n\n ngOnInit(): void {\n this.search.valueChanges\n .pipe(startWith(null))\n .pipe(takeUntil(this.destroyed$))\n .subscribe(value => {\n let filtered = [...this.items()];\n if (value) {\n filtered = this.items().filter(i => {\n const searchValue = value.toLowerCase();\n\n const itemTitle = i.title.toLowerCase();\n const itemValue = i.value.toLowerCase();\n\n const hasTitle = itemTitle.includes(searchValue);\n const hasValue = itemValue.includes(searchValue);\n\n return hasTitle || hasValue;\n });\n }\n this.filteredItems.set(filtered);\n });\n }\n\n onItemSelect(item: WrTableFilterItem): void {\n const array = this.filteredItems();\n const index = array.findIndex(i => i === item);\n array[index].isSelected = !array[index].isSelected;\n this.getSelectedItems();\n }\n\n onResetClick(): void {\n const array = [...this.filteredItems()];\n array.map(i => (i.isSelected = false));\n this.filteredItems.set(array);\n this.selectedItems.emit([]);\n }\n\n getSelectedItems(): void {\n const selected = this.filteredItems().filter(i => i.isSelected);\n this.selectedItems.emit(selected);\n }\n}\n","<div class=\"wr-table-filter-icon\" wrDropdown [dropdownMenu]=\"tableFilterDropdown\">\n <wr-icon class=\"wr-table-filter-icon__icon\" name=\"filter\" />\n</div>\n\n<wr-dropdown-menu #tableFilterDropdown=\"wrDropdownMenu\">\n <div class=\"wr-table-filter-dropdown\">\n <input class=\"wr-table-filter-dropdown__input\" [formControl]=\"search\" placeholder=\"Поиск...\" />\n\n <div class=\"wr-table-filter-dropdown__body\">\n @if (filteredItems(); as items) {\n @for (item of items; track $index) {\n <div\n class=\"wr-table-filter-dropdown-item\"\n [class.wr-table-filter-dropdown-item--selected]=\"item?.isSelected\"\n (click)=\"onItemSelect(item)\"\n >\n <div class=\"wr-table-filter-dropdown-item-check\">\n <wr-icon class=\"wr-table-filter-dropdown-item-check__icon\" name=\"checkmark\" />\n </div>\n <span class=\"wr-table-filter-dropdown-item__title\">{{ item?.title }}</span>\n </div>\n }\n\n @if (items.length < 1) {\n <div class=\"wr-table-filter-dropdown-empty\">\n <span class=\"wr-table-filter-dropdown-empty__title\">Нет элементов</span>\n </div>\n }\n }\n </div>\n\n @if (length > 0) {\n <div class=\"wr-table-filter-dropdown__reset\" (click)=\"onResetClick()\">Сбросить</div>\n }\n </div>\n</wr-dropdown-menu>\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './table-filter.component';\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\nimport { arrowTop, provideWrIcons, WrIconComponent } from 'ngwr/icon';\n\nimport { WrTableOrder } from '../types';\n\n@Component({\n selector: 'wr-table-sort',\n templateUrl: './table-sort.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [provideWrIcons([arrowTop])],\n imports: [WrIconComponent],\n host: {\n class: 'wr-table-sort',\n '[class.wr-table-sort--asc]': 'order() === TableOrder.ASC',\n '[class.wr-table-sort--desc]': 'order() === TableOrder.DESC',\n },\n})\nexport class WrTableSortComponent {\n order = input<WrTableOrder>();\n\n protected readonly TableOrder = WrTableOrder;\n}\n","<wr-icon class=\"wr-table-sort__icon\" name=\"arrow-top\" />\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './table-sort.component';\n","import { KeyValuePipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n numberAttribute,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n AfterContentInit,\n input,\n model,\n} from '@angular/core';\n\nimport { SafeAny } from 'ngwr/cdk/types';\nimport { WrDropdownDirective, WrDropdownMenuComponent } from 'ngwr/dropdown';\nimport { infoCircleOutline, provideWrIcons, WrIconComponent } from 'ngwr/icon';\nimport { WrPaginationComponent } from 'ngwr/pagination';\nimport { NewArrayPipe } from 'ngwr/pipes';\nimport { WrSpinnerComponent } from 'ngwr/spinner';\n\nimport { WrTableCellDirective } from './table-cell';\nimport { WrTableFilterComponent } from './table-filter';\nimport { WrTableSortComponent } from './table-sort';\nimport {\n WrTableCellContext,\n WrTableColumns,\n WrTableFilterEmit,\n WrTableFilterItem,\n WrTableOrder,\n WrTableOrderItem,\n} from './types';\n\n@Component({\n selector: 'wr-table',\n templateUrl: './table.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n KeyValuePipe,\n NewArrayPipe,\n WrIconComponent,\n WrSpinnerComponent,\n WrDropdownDirective,\n WrDropdownMenuComponent,\n WrPaginationComponent,\n WrTableSortComponent,\n WrTableFilterComponent,\n ],\n providers: [provideWrIcons([infoCircleOutline])],\n host: {\n class: 'wr-table',\n },\n})\nexport class WrTableComponent implements AfterContentInit {\n columns = input.required<WrTableColumns>();\n items = input.required<SafeAny[] | undefined>();\n loading = input<boolean>();\n pagination = input<boolean>(false);\n total = input<number, number>(1, { transform: numberAttribute });\n currentPage = model<number>(1);\n pageSize = model<number>(15);\n pageSizeOptions = input<number[]>([15, 25, 50]);\n ordering = model<WrTableOrderItem[]>();\n\n @Output() readonly filterChange = new EventEmitter<WrTableFilterEmit>();\n\n @HostBinding('style')\n get styles(): Record<string, string | number> {\n return {\n '--wr-table-columns': Object.keys(this.columns).length,\n };\n }\n\n @HostListener('document:keydown', ['$event'])\n onKeypress(evt: KeyboardEvent): void {\n const isCtrl = evt.ctrlKey;\n const isPeriod = evt.code === 'Period';\n const isComma = evt.code === 'Comma';\n\n if (isCtrl && isPeriod) {\n const totalPages = Math.ceil(this.total() / this.pageSize());\n\n if (this.currentPage() < totalPages) {\n this.currentPage.update(value => ++value);\n }\n }\n\n if (isCtrl && isComma) {\n if (this.currentPage() > 1) {\n this.currentPage.update(value => --value);\n }\n }\n }\n\n @ContentChildren(WrTableCellDirective)\n private customCells: QueryList<WrTableCellDirective> | undefined;\n\n private cellTemplates = new Map<string, TemplateRef<WrTableCellContext>>();\n\n ngAfterContentInit(): void {\n this.customCells?.forEach(cell => {\n this.cellTemplates.set(cell.columnKey(), cell.template);\n });\n }\n\n protected getCellTemplate(columnKey: string): TemplateRef<WrTableCellContext> | null {\n return this.cellTemplates.get(columnKey) || null;\n }\n\n protected hasCellTemplate(columnKey: string): boolean {\n return this.cellTemplates.has(columnKey);\n }\n\n /**\n * We need to pass null to save original order for keyvalue pipe\n * https://angular.dev/api/common/KeyValuePipe?tab=description\n */\n protected readonly keepOrder = (): SafeAny => null;\n\n protected getOrder(key: string): WrTableOrder {\n return this.ordering()?.find(o => o.key === key)?.order ?? WrTableOrder.REMOVE;\n }\n\n protected onOrderChange(key: string): void {\n const item = this.ordering()?.find(o => o.key === key);\n\n let order: WrTableOrder;\n switch (item?.order) {\n case WrTableOrder.ASC:\n order = WrTableOrder.DESC;\n break;\n case WrTableOrder.DESC:\n order = WrTableOrder.REMOVE;\n break;\n default:\n order = WrTableOrder.ASC;\n }\n\n const orderingItem: WrTableOrderItem = {\n key,\n order,\n };\n\n this.ordering.update(ordering => {\n const orderingMap = new Map(ordering?.map(item => [item.key, item]) ?? []);\n orderingMap.set(key, orderingItem);\n return Array.from(orderingMap.values());\n });\n }\n\n protected onFilterChange(key: string, items: WrTableFilterItem[]): void {\n this.filterChange.emit({ key, items });\n }\n}\n","@if (pagination()) {\n <div class=\"wr-table-top\">\n @if (loading()) {\n <wr-spinner class=\"wr-table__spinner\" />\n }\n\n <div class=\"wr-table-hint\" wrDropdown [dropdownMenu]=\"tablePaginationHelpDropdown\">\n <wr-icon class=\"wr-table-hint__icon\" name=\"info-circle-outline\" />\n </div>\n\n <ng-template [ngTemplateOutlet]=\"tablePagination\" />\n </div>\n}\n\n<div class=\"wr-table-head\">\n <div class=\"wr-table-head__wrapper\">\n @for (item of columns() | keyvalue: keepOrder; track item.key) {\n @if (item.value; as column) {\n <div class=\"wr-table-head-cell\">\n <span class=\"wr-table-head-cell__title\">{{ column.title }}</span>\n\n @if (column.sortable) {\n <wr-table-sort [order]=\"getOrder(item.key)\" (click)=\"onOrderChange(item.key)\" />\n }\n @if (column.filterItems && column.filterItems.length > 0) {\n <wr-table-filter [items]=\"column.filterItems\" (selectedItems)=\"onFilterChange(item.key, $event)\" />\n }\n </div>\n }\n }\n </div>\n</div>\n\n<div class=\"wr-table-body\">\n @if (items()?.length) {\n @for (item of items(); track $index) {\n <div class=\"wr-table-body__row\">\n @for (column of columns() | keyvalue: keepOrder; track column.key) {\n <div class=\"wr-table-body-cell\">\n @if (hasCellTemplate(column.key)) {\n <ng-container\n [ngTemplateOutlet]=\"getCellTemplate(column.key)!\"\n [ngTemplateOutletContext]=\"{\n $implicit: item[column.key],\n item: item,\n column: column.value,\n }\"\n />\n } @else {\n <span>{{ item[column.key] }}</span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <div class=\"wr-table-body__loader\">\n <wr-spinner size=\"large\"></wr-spinner>\n </div>\n\n @for (i of pageSize() | newArray; track $index) {\n <div class=\"wr-table-body__row\">\n @for (column of columns() | keyvalue; track column.key) {\n <div class=\"wr-table-body-item\">\n <span>&nbsp;</span>\n </div>\n }\n </div>\n }\n }\n</div>\n\n@if (pagination()) {\n <div class=\"wr-table-bot\">\n <ng-template [ngTemplateOutlet]=\"tablePagination\" />\n </div>\n}\n\n<ng-template #tablePagination>\n <wr-pagination\n class=\"wr-table__pagination\"\n [showSizeChanger]=\"true\"\n [disabled]=\"!!loading()\"\n [total]=\"total()\"\n [(currentPage)]=\"currentPage\"\n [(pageSize)]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n />\n</ng-template>\n\n<wr-dropdown-menu #tablePaginationHelpDropdown=\"wrDropdownMenu\">\n <div class=\"wr-table-hint-dropdown\">\n <div class=\"wr-table-hint-dropdown-item\">\n <span class=\"wr-table-hint-dropdown-item__title\">Next:</span>\n <div class=\"wr-table-hint-dropdown-item__keys\">\n <span class=\"wr-table-hint-dropdown-item__key\">Ctrl</span>\n <span>+</span>\n <span class=\"wr-table-hint-dropdown-item__key\">{{ '>' }}</span>\n </div>\n </div>\n\n <div class=\"wr-table-hint-dropdown-item\">\n <span class=\"wr-table-hint-dropdown-item__title\">Prev:</span>\n <div class=\"wr-table-hint-dropdown-item__keys\">\n <span class=\"wr-table-hint-dropdown-item__key\">Ctrl</span>\n <span>+</span>\n <span class=\"wr-table-hint-dropdown-item__key\">{{ '<' }}</span>\n </div>\n </div>\n </div>\n</wr-dropdown-menu>\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './types';\nexport * from './table.component';\nexport * from './table-cell';\nexport * from './table-filter';\nexport * from './table-sort';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["filterIcon"],"mappings":"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"}
1
+ {"version":3,"file":"ngwr-table.mjs","sources":["../../../projects/lib/table/types/table-order.enum.ts","../../../projects/lib/table/table-cell/table-cell.directive.ts","../../../projects/lib/table/table-cell/index.ts","../../../projects/lib/table/table-filter/table-filter.component.ts","../../../projects/lib/table/table-filter/table-filter.component.html","../../../projects/lib/table/table-filter/index.ts","../../../projects/lib/table/table-sort/table-sort.component.ts","../../../projects/lib/table/table-sort/table-sort.component.html","../../../projects/lib/table/table-sort/index.ts","../../../projects/lib/table/table.component.ts","../../../projects/lib/table/table.component.html","../../../projects/lib/table/public-api.ts","../../../projects/lib/table/ngwr-table.ts"],"sourcesContent":["export enum WrTableOrder {\n REMOVE,\n ASC,\n DESC,\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\n\nimport { WrTableCellContext } from '../types';\n\n@Directive({\n selector: '[wrTableCell]',\n})\nexport class WrTableCellDirective {\n columnKey = input.required<string>({ alias: 'wrTableCell' });\n\n template = inject(TemplateRef<WrTableCellContext>);\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './table-cell.directive';\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n input,\n OnInit,\n Output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\nimport { startWith } from 'rxjs';\n\nimport { WrAbstractBase } from 'ngwr/cdk';\nimport { WrDropdownDirective, WrDropdownMenuComponent } from 'ngwr/dropdown';\nimport { checkmark, filter as filterIcon, provideWrIcons, WrIconComponent } from 'ngwr/icon';\n\nimport { WrTableFilterItem } from '../types';\n\n@Component({\n selector: 'wr-table-filter',\n templateUrl: './table-filter.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ReactiveFormsModule, WrIconComponent, WrDropdownDirective, WrDropdownMenuComponent],\n providers: [provideWrIcons([checkmark, filterIcon])],\n host: {\n class: 'wr-table-filter',\n '[class.wr-table-filter--active]': 'length > 0',\n },\n})\nexport class WrTableFilterComponent extends WrAbstractBase implements OnInit {\n items = input.required<WrTableFilterItem[]>();\n\n @Output()\n readonly selectedItems = new EventEmitter<WrTableFilterItem[]>();\n\n protected readonly search = new FormControl<string | null>(null, { nonNullable: true });\n protected readonly filteredItems = signal<WrTableFilterItem[]>([]);\n\n protected get length(): number {\n return this.filteredItems().filter(i => i.isSelected).length;\n }\n\n ngOnInit(): void {\n this.search.valueChanges\n .pipe(startWith(null))\n .pipe(takeUntilDestroyed(this.destroyRef$))\n .subscribe(value => {\n let filtered = [...this.items()];\n if (value) {\n filtered = this.items().filter(i => {\n const searchValue = value.toLowerCase();\n\n const itemTitle = i.title.toLowerCase();\n const itemValue = i.value.toLowerCase();\n\n const hasTitle = itemTitle.includes(searchValue);\n const hasValue = itemValue.includes(searchValue);\n\n return hasTitle || hasValue;\n });\n }\n this.filteredItems.set(filtered);\n });\n }\n\n onItemSelect(item: WrTableFilterItem): void {\n const array = this.filteredItems();\n const index = array.findIndex(i => i === item);\n array[index].isSelected = !array[index].isSelected;\n this.getSelectedItems();\n }\n\n onResetClick(): void {\n const array = [...this.filteredItems()];\n array.map(i => (i.isSelected = false));\n this.filteredItems.set(array);\n this.selectedItems.emit([]);\n }\n\n getSelectedItems(): void {\n const selected = this.filteredItems().filter(i => i.isSelected);\n this.selectedItems.emit(selected);\n }\n}\n","<div class=\"wr-table-filter-icon\" wrDropdown [dropdownMenu]=\"tableFilterDropdown\">\n <wr-icon class=\"wr-table-filter-icon__icon\" name=\"filter\" />\n</div>\n\n<wr-dropdown-menu #tableFilterDropdown=\"wrDropdownMenu\">\n <div class=\"wr-table-filter-dropdown\">\n <input class=\"wr-table-filter-dropdown__input\" [formControl]=\"search\" placeholder=\"Поиск...\" />\n\n <div class=\"wr-table-filter-dropdown__body\">\n @if (filteredItems(); as items) {\n @for (item of items; track $index) {\n <div\n class=\"wr-table-filter-dropdown-item\"\n [class.wr-table-filter-dropdown-item--selected]=\"item?.isSelected\"\n (click)=\"onItemSelect(item)\"\n >\n <div class=\"wr-table-filter-dropdown-item-check\">\n <wr-icon class=\"wr-table-filter-dropdown-item-check__icon\" name=\"checkmark\" />\n </div>\n <span class=\"wr-table-filter-dropdown-item__title\">{{ item?.title }}</span>\n </div>\n }\n\n @if (items.length < 1) {\n <div class=\"wr-table-filter-dropdown-empty\">\n <span class=\"wr-table-filter-dropdown-empty__title\">Нет элементов</span>\n </div>\n }\n }\n </div>\n\n @if (length > 0) {\n <div class=\"wr-table-filter-dropdown__reset\" (click)=\"onResetClick()\">Сбросить</div>\n }\n </div>\n</wr-dropdown-menu>\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './table-filter.component';\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\nimport { arrowTop, provideWrIcons, WrIconComponent } from 'ngwr/icon';\n\nimport { WrTableOrder } from '../types';\n\n@Component({\n selector: 'wr-table-sort',\n templateUrl: './table-sort.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [provideWrIcons([arrowTop])],\n imports: [WrIconComponent],\n host: {\n class: 'wr-table-sort',\n '[class.wr-table-sort--asc]': 'order() === TableOrder.ASC',\n '[class.wr-table-sort--desc]': 'order() === TableOrder.DESC',\n },\n})\nexport class WrTableSortComponent {\n order = input<WrTableOrder>();\n\n protected readonly TableOrder = WrTableOrder;\n}\n","<wr-icon class=\"wr-table-sort__icon\" name=\"arrow-top\" />\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './table-sort.component';\n","import { KeyValuePipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n numberAttribute,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n AfterContentInit,\n input,\n model,\n} from '@angular/core';\n\nimport { SafeAny } from 'ngwr/cdk/types';\nimport { WrDropdownDirective, WrDropdownMenuComponent } from 'ngwr/dropdown';\nimport { infoCircleOutline, provideWrIcons, WrIconComponent } from 'ngwr/icon';\nimport { WrPaginationComponent } from 'ngwr/pagination';\nimport { NewArrayPipe } from 'ngwr/pipes';\nimport { WrSpinnerComponent } from 'ngwr/spinner';\n\nimport { WrTableCellDirective } from './table-cell';\nimport { WrTableFilterComponent } from './table-filter';\nimport { WrTableSortComponent } from './table-sort';\nimport {\n WrTableCellContext,\n WrTableColumns,\n WrTableFilterEmit,\n WrTableFilterItem,\n WrTableOrder,\n WrTableOrderItem,\n} from './types';\n\n@Component({\n selector: 'wr-table',\n templateUrl: './table.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n KeyValuePipe,\n NewArrayPipe,\n WrIconComponent,\n WrSpinnerComponent,\n WrDropdownDirective,\n WrDropdownMenuComponent,\n WrPaginationComponent,\n WrTableSortComponent,\n WrTableFilterComponent,\n ],\n providers: [provideWrIcons([infoCircleOutline])],\n host: {\n class: 'wr-table',\n },\n})\nexport class WrTableComponent implements AfterContentInit {\n columns = input.required<WrTableColumns>();\n items = input.required<SafeAny[] | undefined>();\n loading = input<boolean>();\n pagination = input<boolean>(false);\n total = input<number, unknown>(1, { transform: numberAttribute });\n currentPage = model<number>(1);\n pageSize = model<number>(15);\n pageSizeOptions = input<number[]>([15, 25, 50]);\n ordering = model<WrTableOrderItem[]>();\n\n @Output() readonly filterChange = new EventEmitter<WrTableFilterEmit>();\n\n @HostBinding('style')\n get styles(): Record<string, string | number> {\n return {\n '--wr-table-columns': Object.keys(this.columns).length,\n };\n }\n\n @HostListener('document:keydown', ['$event'])\n onKeypress(evt: KeyboardEvent): void {\n const isCtrl = evt.ctrlKey;\n const isPeriod = evt.code === 'Period';\n const isComma = evt.code === 'Comma';\n\n if (isCtrl && isPeriod) {\n const totalPages = Math.ceil(this.total() / this.pageSize());\n\n if (this.currentPage() < totalPages) {\n this.currentPage.update(value => ++value);\n }\n }\n\n if (isCtrl && isComma) {\n if (this.currentPage() > 1) {\n this.currentPage.update(value => --value);\n }\n }\n }\n\n @ContentChildren(WrTableCellDirective)\n private customCells: QueryList<WrTableCellDirective> | undefined;\n\n private cellTemplates = new Map<string, TemplateRef<WrTableCellContext>>();\n\n ngAfterContentInit(): void {\n this.customCells?.forEach(cell => {\n this.cellTemplates.set(cell.columnKey(), cell.template);\n });\n }\n\n protected getCellTemplate(columnKey: string): TemplateRef<WrTableCellContext> | null {\n return this.cellTemplates.get(columnKey) || null;\n }\n\n protected hasCellTemplate(columnKey: string): boolean {\n return this.cellTemplates.has(columnKey);\n }\n\n /**\n * We need to pass null to save original order for keyvalue pipe\n * https://angular.dev/api/common/KeyValuePipe?tab=description\n */\n protected readonly keepOrder = (): SafeAny => null;\n\n protected getOrder(key: string): WrTableOrder {\n return this.ordering()?.find(o => o.key === key)?.order ?? WrTableOrder.REMOVE;\n }\n\n protected onOrderChange(key: string): void {\n const item = this.ordering()?.find(o => o.key === key);\n\n let order: WrTableOrder;\n switch (item?.order) {\n case WrTableOrder.ASC:\n order = WrTableOrder.DESC;\n break;\n case WrTableOrder.DESC:\n order = WrTableOrder.REMOVE;\n break;\n default:\n order = WrTableOrder.ASC;\n }\n\n const orderingItem: WrTableOrderItem = {\n key,\n order,\n };\n\n this.ordering.update(ordering => {\n const orderingMap = new Map(ordering?.map(item => [item.key, item]) ?? []);\n orderingMap.set(key, orderingItem);\n return Array.from(orderingMap.values());\n });\n }\n\n protected onFilterChange(key: string, items: WrTableFilterItem[]): void {\n this.filterChange.emit({ key, items });\n }\n}\n","@if (pagination()) {\n <div class=\"wr-table-top\">\n @if (loading()) {\n <wr-spinner class=\"wr-table__spinner\" />\n }\n\n <div class=\"wr-table-hint\" wrDropdown [dropdownMenu]=\"tablePaginationHelpDropdown\">\n <wr-icon class=\"wr-table-hint__icon\" name=\"info-circle-outline\" />\n </div>\n\n <ng-template [ngTemplateOutlet]=\"tablePagination\" />\n </div>\n}\n\n<div class=\"wr-table-head\">\n <div class=\"wr-table-head__wrapper\">\n @for (item of columns() | keyvalue: keepOrder; track item.key) {\n @if (item.value; as column) {\n <div class=\"wr-table-head-cell\">\n <span class=\"wr-table-head-cell__title\">{{ column.title }}</span>\n\n @if (column.sortable) {\n <wr-table-sort [order]=\"getOrder(item.key)\" (click)=\"onOrderChange(item.key)\" />\n }\n @if (column.filterItems && column.filterItems.length > 0) {\n <wr-table-filter [items]=\"column.filterItems\" (selectedItems)=\"onFilterChange(item.key, $event)\" />\n }\n </div>\n }\n }\n </div>\n</div>\n\n<div class=\"wr-table-body\">\n @if (items()?.length) {\n @for (item of items(); track $index) {\n <div class=\"wr-table-body__row\">\n @for (column of columns() | keyvalue: keepOrder; track column.key) {\n <div class=\"wr-table-body-cell\">\n @if (hasCellTemplate(column.key)) {\n <ng-container\n [ngTemplateOutlet]=\"getCellTemplate(column.key)!\"\n [ngTemplateOutletContext]=\"{\n $implicit: item[column.key],\n item: item,\n column: column.value,\n }\"\n />\n } @else {\n <span>{{ item[column.key] }}</span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <div class=\"wr-table-body__loader\">\n <wr-spinner size=\"large\"></wr-spinner>\n </div>\n\n @for (i of pageSize() | newArray; track $index) {\n <div class=\"wr-table-body__row\">\n @for (column of columns() | keyvalue; track column.key) {\n <div class=\"wr-table-body-item\">\n <span>&nbsp;</span>\n </div>\n }\n </div>\n }\n }\n</div>\n\n@if (pagination()) {\n <div class=\"wr-table-bot\">\n <ng-template [ngTemplateOutlet]=\"tablePagination\" />\n </div>\n}\n\n<ng-template #tablePagination>\n <wr-pagination\n class=\"wr-table__pagination\"\n [showSizeChanger]=\"true\"\n [disabled]=\"!!loading()\"\n [total]=\"total()\"\n [(currentPage)]=\"currentPage\"\n [(pageSize)]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n />\n</ng-template>\n\n<wr-dropdown-menu #tablePaginationHelpDropdown=\"wrDropdownMenu\">\n <div class=\"wr-table-hint-dropdown\">\n <div class=\"wr-table-hint-dropdown-item\">\n <span class=\"wr-table-hint-dropdown-item__title\">Next:</span>\n <div class=\"wr-table-hint-dropdown-item__keys\">\n <span class=\"wr-table-hint-dropdown-item__key\">Ctrl</span>\n <span>+</span>\n <span class=\"wr-table-hint-dropdown-item__key\">{{ '>' }}</span>\n </div>\n </div>\n\n <div class=\"wr-table-hint-dropdown-item\">\n <span class=\"wr-table-hint-dropdown-item__title\">Prev:</span>\n <div class=\"wr-table-hint-dropdown-item__keys\">\n <span class=\"wr-table-hint-dropdown-item__key\">Ctrl</span>\n <span>+</span>\n <span class=\"wr-table-hint-dropdown-item__key\">{{ '<' }}</span>\n </div>\n </div>\n </div>\n</wr-dropdown-menu>\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './types';\nexport * from './table.component';\nexport * from './table-cell';\nexport * from './table-filter';\nexport * from './table-sort';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["filterIcon"],"mappings":"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"}
@@ -40,10 +40,10 @@ class WrTagComponent {
40
40
  'wr-tag--hoverable': this.hoverable,
41
41
  };
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: WrTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: WrTagComponent, isStandalone: true, selector: "wr-tag", inputs: { color: "color", icon: "icon", iconPosition: "iconPosition", outlined: ["outlined", "outlined", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], transparent: ["transparent", "transparent", booleanAttribute], hoverable: ["hoverable", "hoverable", booleanAttribute], loading: ["loading", "loading", booleanAttribute] }, host: { properties: { "class": "this.elClasses" } }, ngImport: i0, template: "@if (loading && iconPosition === 'start') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'start') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n<ng-content />\n@if (loading && iconPosition === 'end') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'end') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n", dependencies: [{ kind: "component", type: WrIconComponent, selector: "wr-icon", inputs: ["name"] }, { kind: "component", type: WrSpinnerComponent, selector: "wr-spinner", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: WrTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: WrTagComponent, isStandalone: true, selector: "wr-tag", inputs: { color: "color", icon: "icon", iconPosition: "iconPosition", outlined: ["outlined", "outlined", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], transparent: ["transparent", "transparent", booleanAttribute], hoverable: ["hoverable", "hoverable", booleanAttribute], loading: ["loading", "loading", booleanAttribute] }, host: { properties: { "class": "this.elClasses" } }, ngImport: i0, template: "@if (loading && iconPosition === 'start') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'start') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n<ng-content />\n@if (loading && iconPosition === 'end') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'end') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n", dependencies: [{ kind: "component", type: WrIconComponent, selector: "wr-icon", inputs: ["name"] }, { kind: "component", type: WrSpinnerComponent, selector: "wr-spinner", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: WrTagComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: WrTagComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'wr-tag', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [WrIconComponent, WrSpinnerComponent], template: "@if (loading && iconPosition === 'start') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'start') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n<ng-content />\n@if (loading && iconPosition === 'end') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'end') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n" }]
49
49
  }], propDecorators: { color: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ngwr-tag.mjs","sources":["../../../projects/lib/tag/tag.component.ts","../../../projects/lib/tag/tag.component.html","../../../projects/lib/tag/public-api.ts","../../../projects/lib/tag/ngwr-tag.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SafeAny, WrThemeColor } from 'ngwr/cdk/types';\nimport { WrIconComponent, wrIconName } from 'ngwr/icon';\nimport { WrSpinnerComponent } from 'ngwr/spinner';\n\n@Component({\n selector: 'wr-tag',\n templateUrl: './tag.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [WrIconComponent, WrSpinnerComponent],\n})\nexport class WrTagComponent {\n @Input() color: WrThemeColor = 'primary';\n @Input() icon: wrIconName | null = null;\n @Input() iconPosition: 'start' | 'end' = 'start';\n @Input({ transform: booleanAttribute }) outlined = false;\n @Input({ transform: booleanAttribute }) rounded = false;\n @Input({ transform: booleanAttribute }) transparent = false;\n @Input({ transform: booleanAttribute }) hoverable = false;\n @Input({ transform: booleanAttribute }) loading = false;\n\n @HostBinding('class')\n get elClasses(): SafeAny {\n return {\n 'wr-tag': true,\n 'wr-tag--color-primary': this.color === 'primary',\n 'wr-tag--color-secondary': this.color === 'secondary',\n 'wr-tag--color-success': this.color === 'success',\n 'wr-tag--color-warning': this.color === 'warning',\n 'wr-tag--color-danger': this.color === 'danger',\n 'wr-tag--color-light': this.color === 'light',\n 'wr-tag--color-medium': this.color === 'medium',\n 'wr-tag--color-dark': this.color === 'dark',\n 'wr-tag--icon-start': (this.icon || this.loading) && this.iconPosition === 'start',\n 'wr-tag--icon-end': (this.icon || this.loading) && this.iconPosition === 'end',\n 'wr-tag--loading': this.loading,\n 'wr-tag--rounded': this.rounded,\n 'wr-tag--outlined': this.outlined,\n 'wr-tag--transparent': this.transparent,\n 'wr-tag--hoverable': this.hoverable,\n };\n }\n}\n","@if (loading && iconPosition === 'start') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'start') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n<ng-content />\n@if (loading && iconPosition === 'end') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'end') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './tag.component';\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":"ngwr-tag.mjs","sources":["../../../projects/lib/tag/tag.component.ts","../../../projects/lib/tag/tag.component.html","../../../projects/lib/tag/public-api.ts","../../../projects/lib/tag/ngwr-tag.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SafeAny, WrThemeColor } from 'ngwr/cdk/types';\nimport { WrIconComponent, wrIconName } from 'ngwr/icon';\nimport { WrSpinnerComponent } from 'ngwr/spinner';\n\n@Component({\n selector: 'wr-tag',\n templateUrl: './tag.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [WrIconComponent, WrSpinnerComponent],\n})\nexport class WrTagComponent {\n @Input() color: WrThemeColor = 'primary';\n @Input() icon: wrIconName | null = null;\n @Input() iconPosition: 'start' | 'end' = 'start';\n @Input({ transform: booleanAttribute }) outlined = false;\n @Input({ transform: booleanAttribute }) rounded = false;\n @Input({ transform: booleanAttribute }) transparent = false;\n @Input({ transform: booleanAttribute }) hoverable = false;\n @Input({ transform: booleanAttribute }) loading = false;\n\n @HostBinding('class')\n get elClasses(): SafeAny {\n return {\n 'wr-tag': true,\n 'wr-tag--color-primary': this.color === 'primary',\n 'wr-tag--color-secondary': this.color === 'secondary',\n 'wr-tag--color-success': this.color === 'success',\n 'wr-tag--color-warning': this.color === 'warning',\n 'wr-tag--color-danger': this.color === 'danger',\n 'wr-tag--color-light': this.color === 'light',\n 'wr-tag--color-medium': this.color === 'medium',\n 'wr-tag--color-dark': this.color === 'dark',\n 'wr-tag--icon-start': (this.icon || this.loading) && this.iconPosition === 'start',\n 'wr-tag--icon-end': (this.icon || this.loading) && this.iconPosition === 'end',\n 'wr-tag--loading': this.loading,\n 'wr-tag--rounded': this.rounded,\n 'wr-tag--outlined': this.outlined,\n 'wr-tag--transparent': this.transparent,\n 'wr-tag--hoverable': this.hoverable,\n };\n }\n}\n","@if (loading && iconPosition === 'start') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'start') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n<ng-content />\n@if (loading && iconPosition === 'end') {\n <wr-spinner class=\"wr-tag__spin\" />\n}\n@if (icon && !loading && iconPosition === 'end') {\n <wr-icon class=\"wr-tag__icon\" [name]=\"icon\" />\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './tag.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -26,8 +26,8 @@ class WrTextareaComponent extends WrAbstractBase {
26
26
  this.resizable = true;
27
27
  this.autosize = false;
28
28
  this.rows = 2;
29
- this.inputValue = signal(null);
30
- this.isDisabled = signal(false);
29
+ this.inputValue = signal(null, ...(ngDevMode ? [{ debugName: "inputValue" }] : []));
30
+ this.isDisabled = signal(false, ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
31
31
  this.platformId = inject(PLATFORM_ID);
32
32
  this.cdr = inject(ChangeDetectorRef);
33
33
  this.onChange = noop;
@@ -96,8 +96,8 @@ class WrTextareaComponent extends WrAbstractBase {
96
96
  textarea.style.height = `${newHeight}px`;
97
97
  textarea.style.overflowY = this.maxRows && textarea.scrollHeight > newHeight ? 'auto' : 'hidden';
98
98
  }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: WrTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.1.5", type: WrTextareaComponent, isStandalone: true, selector: "wr-textarea", inputs: { placeholder: "placeholder", readonly: ["readonly", "readonly", booleanAttribute], resizable: ["resizable", "resizable", booleanAttribute], autosize: ["autosize", "autosize", booleanAttribute], rows: ["rows", "rows", numberAttribute], maxRows: ["maxRows", "maxRows", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class": "this.elClasses" } }, providers: [
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: WrTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.10", type: WrTextareaComponent, isStandalone: true, selector: "wr-textarea", inputs: { placeholder: "placeholder", readonly: ["readonly", "readonly", booleanAttribute], resizable: ["resizable", "resizable", booleanAttribute], autosize: ["autosize", "autosize", booleanAttribute], rows: ["rows", "rows", numberAttribute], maxRows: ["maxRows", "maxRows", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class": "this.elClasses" } }, providers: [
101
101
  {
102
102
  provide: NG_VALUE_ACCESSOR,
103
103
  // eslint-disable-next-line @angular-eslint/no-forward-ref
@@ -106,7 +106,7 @@ class WrTextareaComponent extends WrAbstractBase {
106
106
  },
107
107
  ], viewQueries: [{ propertyName: "textareaNative", first: true, predicate: ["textareaNative"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<textarea\n #textareaNative\n class=\"wr-textarea__native\"\n [placeholder]=\"placeholder\"\n [rows]=\"rows\"\n [readonly]=\"readonly\"\n [disabled]=\"isDisabled()\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"writeValue($event)\"\n (input)=\"resizeTextarea()\"\n></textarea>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: WrTextareaComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: WrTextareaComponent, decorators: [{
110
110
  type: Component,
111
111
  args: [{ selector: 'wr-textarea', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [FormsModule], providers: [
112
112
  {
@@ -1 +1 @@
1
- {"version":3,"file":"ngwr-textarea.mjs","sources":["../../../projects/lib/textarea/textarea.component.ts","../../../projects/lib/textarea/textarea.component.html","../../../projects/lib/textarea/public-api.ts","../../../projects/lib/textarea/index.ts","../../../projects/lib/textarea/ngwr-textarea.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n Input,\n numberAttribute,\n PLATFORM_ID,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { noop } from 'rxjs';\n\nimport { WrAbstractBase } from 'ngwr/cdk';\nimport { SafeAny } from 'ngwr/cdk/types';\n\n/**\n * NGWR textarea component.\n *\n * {@tutorial} [How to use wr-textarea]{@link http://ngwr.dev/docs/components/textarea}\n */\n@Component({\n selector: 'wr-textarea',\n templateUrl: './textarea.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [FormsModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line @angular-eslint/no-forward-ref\n useExisting: forwardRef(() => WrTextareaComponent),\n multi: true,\n },\n ],\n})\nexport class WrTextareaComponent extends WrAbstractBase implements ControlValueAccessor, AfterViewInit {\n @Input() placeholder = '';\n @Input({ transform: booleanAttribute }) readonly = false;\n @Input({ transform: booleanAttribute }) resizable = true;\n @Input({ transform: booleanAttribute }) autosize = false;\n @Input({ transform: numberAttribute }) rows = 2;\n @Input({ transform: numberAttribute }) maxRows?: number;\n\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this.isDisabled.set(value);\n }\n get disabled(): boolean {\n return this.isDisabled();\n }\n\n @ViewChild('textareaNative')\n private textareaNative: ElementRef<HTMLTextAreaElement> | undefined;\n\n @HostBinding('class')\n get elClasses(): SafeAny {\n return {\n 'wr-textarea': true,\n 'wr-textarea--resizable': this.resizable,\n 'wr-textarea--disabled': this.isDisabled(),\n 'wr-textarea--autosize': this.autosize,\n };\n }\n\n protected value?: string;\n\n protected readonly inputValue = signal<string | null>(null);\n protected readonly isDisabled = signal(false);\n\n private readonly platformId = inject(PLATFORM_ID);\n private readonly cdr = inject(ChangeDetectorRef);\n\n private get isBrowser(): boolean {\n return isPlatformBrowser(this.platformId);\n }\n\n ngAfterViewInit(): void {\n if (this.autosize && this.isBrowser) {\n this.resizeTextarea();\n }\n }\n\n onChange: (value: string) => void = noop;\n onTouch: () => void = noop;\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(coerceBooleanProperty(isDisabled));\n }\n\n writeValue(value: string): void {\n this.value = value;\n this.onChange(value);\n this.inputValue.set(value);\n\n if (this.isBrowser) {\n requestAnimationFrame(() => {\n this.resizeTextarea();\n });\n }\n\n this.cdr.markForCheck();\n }\n\n resizeTextarea(): void {\n if (!this.autosize || !this.textareaNative || !this.isBrowser) {\n return;\n }\n\n const textarea = this.textareaNative.nativeElement;\n\n textarea.style.height = 'auto';\n\n let newHeight: number;\n let maxHeight = 'none';\n\n if (this.maxRows) {\n const computedStyle = getComputedStyle(textarea);\n const lineHeight = parseInt(computedStyle.lineHeight, 10) || parseInt(computedStyle.fontSize, 10) * 1.2;\n\n maxHeight = `${lineHeight * this.maxRows}px`;\n newHeight = Math.min(textarea.scrollHeight, lineHeight * this.maxRows);\n } else {\n newHeight = textarea.scrollHeight;\n }\n\n textarea.style.maxHeight = maxHeight;\n textarea.style.height = `${newHeight}px`;\n textarea.style.overflowY = this.maxRows && textarea.scrollHeight > newHeight ? 'auto' : 'hidden';\n }\n}\n","<textarea\n #textareaNative\n class=\"wr-textarea__native\"\n [placeholder]=\"placeholder\"\n [rows]=\"rows\"\n [readonly]=\"readonly\"\n [disabled]=\"isDisabled()\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"writeValue($event)\"\n (input)=\"resizeTextarea()\"\n></textarea>\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './textarea.component';\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngwr-textarea.mjs","sources":["../../../projects/lib/textarea/textarea.component.ts","../../../projects/lib/textarea/textarea.component.html","../../../projects/lib/textarea/public-api.ts","../../../projects/lib/textarea/index.ts","../../../projects/lib/textarea/ngwr-textarea.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n Input,\n numberAttribute,\n PLATFORM_ID,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { noop } from 'rxjs';\n\nimport { WrAbstractBase } from 'ngwr/cdk';\nimport { SafeAny } from 'ngwr/cdk/types';\n\n/**\n * NGWR textarea component.\n *\n * {@tutorial} [How to use wr-textarea]{@link http://ngwr.dev/docs/components/textarea}\n */\n@Component({\n selector: 'wr-textarea',\n templateUrl: './textarea.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [FormsModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line @angular-eslint/no-forward-ref\n useExisting: forwardRef(() => WrTextareaComponent),\n multi: true,\n },\n ],\n})\nexport class WrTextareaComponent extends WrAbstractBase implements ControlValueAccessor, AfterViewInit {\n @Input() placeholder = '';\n @Input({ transform: booleanAttribute }) readonly = false;\n @Input({ transform: booleanAttribute }) resizable = true;\n @Input({ transform: booleanAttribute }) autosize = false;\n @Input({ transform: numberAttribute }) rows = 2;\n @Input({ transform: numberAttribute }) maxRows?: number;\n\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this.isDisabled.set(value);\n }\n get disabled(): boolean {\n return this.isDisabled();\n }\n\n @ViewChild('textareaNative')\n private textareaNative: ElementRef<HTMLTextAreaElement> | undefined;\n\n @HostBinding('class')\n get elClasses(): SafeAny {\n return {\n 'wr-textarea': true,\n 'wr-textarea--resizable': this.resizable,\n 'wr-textarea--disabled': this.isDisabled(),\n 'wr-textarea--autosize': this.autosize,\n };\n }\n\n protected value?: string;\n\n protected readonly inputValue = signal<string | null>(null);\n protected readonly isDisabled = signal(false);\n\n private readonly platformId = inject(PLATFORM_ID);\n private readonly cdr = inject(ChangeDetectorRef);\n\n private get isBrowser(): boolean {\n return isPlatformBrowser(this.platformId);\n }\n\n ngAfterViewInit(): void {\n if (this.autosize && this.isBrowser) {\n this.resizeTextarea();\n }\n }\n\n onChange: (value: string) => void = noop;\n onTouch: () => void = noop;\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(coerceBooleanProperty(isDisabled));\n }\n\n writeValue(value: string): void {\n this.value = value;\n this.onChange(value);\n this.inputValue.set(value);\n\n if (this.isBrowser) {\n requestAnimationFrame(() => {\n this.resizeTextarea();\n });\n }\n\n this.cdr.markForCheck();\n }\n\n resizeTextarea(): void {\n if (!this.autosize || !this.textareaNative || !this.isBrowser) {\n return;\n }\n\n const textarea = this.textareaNative.nativeElement;\n\n textarea.style.height = 'auto';\n\n let newHeight: number;\n let maxHeight = 'none';\n\n if (this.maxRows) {\n const computedStyle = getComputedStyle(textarea);\n const lineHeight = parseInt(computedStyle.lineHeight, 10) || parseInt(computedStyle.fontSize, 10) * 1.2;\n\n maxHeight = `${lineHeight * this.maxRows}px`;\n newHeight = Math.min(textarea.scrollHeight, lineHeight * this.maxRows);\n } else {\n newHeight = textarea.scrollHeight;\n }\n\n textarea.style.maxHeight = maxHeight;\n textarea.style.height = `${newHeight}px`;\n textarea.style.overflowY = this.maxRows && textarea.scrollHeight > newHeight ? 'auto' : 'hidden';\n }\n}\n","<textarea\n #textareaNative\n class=\"wr-textarea__native\"\n [placeholder]=\"placeholder\"\n [rows]=\"rows\"\n [readonly]=\"readonly\"\n [disabled]=\"isDisabled()\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"writeValue($event)\"\n (input)=\"resizeTextarea()\"\n></textarea>\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './textarea.component';\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/form/index.d.ts CHANGED
@@ -1,5 +1,28 @@
1
+ import * as i0 from '@angular/core';
2
+ import { SafeAny } from 'ngwr/cdk/types';
3
+
1
4
  /**
2
- * Generated bundle index. Do not edit.
5
+ * NGWR form error component.
6
+ *
7
+ * {@tutorial} [How to use wr-alert]{@link http://ngwr.dev/docs/components/form}
3
8
  */
4
- /// <amd-module name="ngwr/form" />
5
- export * from './public-api';
9
+ declare class WrFormErrorComponent {
10
+ class: string;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrFormErrorComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrFormErrorComponent, "wr-form-error", never, {}, {}, never, ["*"], true, never>;
13
+ }
14
+
15
+ /**
16
+ * NGWR form item component.
17
+ *
18
+ * {@tutorial} [How to use wr-alert]{@link http://ngwr.dev/docs/components/form}
19
+ */
20
+ declare class WrFormItemComponent {
21
+ hasError: boolean;
22
+ get elClasses(): SafeAny;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrFormItemComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrFormItemComponent, "wr-form-item", never, { "hasError": { "alias": "hasError"; "required": false; }; }, {}, never, ["*"], true, never>;
25
+ static ngAcceptInputType_hasError: unknown;
26
+ }
27
+
28
+ export { WrFormErrorComponent, WrFormItemComponent };