@wlcm/angular 19.2.5 → 22.0.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 (217) hide show
  1. package/README.md +37 -0
  2. package/button/fesm2022/wlcm-angular-button.mjs +25 -31
  3. package/button/fesm2022/wlcm-angular-button.mjs.map +1 -1
  4. package/button/package.json +25 -0
  5. package/button/types/wlcm-angular-button.d.ts +28 -0
  6. package/core/fesm2022/wlcm-angular-core.mjs +76 -92
  7. package/core/fesm2022/wlcm-angular-core.mjs.map +1 -1
  8. package/core/package.json +26 -0
  9. package/core/types/wlcm-angular-core.d.ts +102 -0
  10. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs +341 -497
  11. package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -1
  12. package/datepicker/package.json +33 -0
  13. package/datepicker/types/wlcm-angular-datepicker.d.ts +285 -0
  14. package/filters/fesm2022/wlcm-angular-filters.mjs +32 -38
  15. package/filters/fesm2022/wlcm-angular-filters.mjs.map +1 -1
  16. package/filters/package.json +25 -0
  17. package/filters/types/wlcm-angular-filters.d.ts +81 -0
  18. package/forms/fesm2022/wlcm-angular-forms.mjs +378 -405
  19. package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
  20. package/forms/package.json +31 -0
  21. package/forms/types/wlcm-angular-forms.d.ts +365 -0
  22. package/package.json +27 -46
  23. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs +66 -84
  24. package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -1
  25. package/phone-input/package.json +32 -0
  26. package/phone-input/types/wlcm-angular-phone-input.d.ts +81 -0
  27. package/search-field/fesm2022/wlcm-angular-search-field.mjs +25 -30
  28. package/search-field/fesm2022/wlcm-angular-search-field.mjs.map +1 -1
  29. package/search-field/package.json +28 -0
  30. package/search-field/types/wlcm-angular-search-field.d.ts +24 -0
  31. package/stepper/fesm2022/wlcm-angular-stepper.mjs +171 -294
  32. package/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -1
  33. package/stepper/package.json +24 -0
  34. package/stepper/types/wlcm-angular-stepper.d.ts +114 -0
  35. package/styles/components/button/index.scss +25 -82
  36. package/styles/components/calendar/_calendar-header.scss +3 -6
  37. package/styles/components/calendar/_calendar.scss +10 -13
  38. package/styles/components/common/index.scss +4 -7
  39. package/styles/components/datepicker/_datepicker-input-container.scss +0 -3
  40. package/styles/components/datepicker/_datepicker-panel.scss +2 -5
  41. package/styles/components/datepicker/_datepicker-trigger.scss +0 -3
  42. package/styles/components/datepicker/date-range-picker/_date-range-picker-body.scss +10 -5
  43. package/styles/components/datepicker/date-range-picker/_date-range-picker-input.scss +4 -7
  44. package/styles/components/datepicker/date-range-picker/_date-range-picker-panel.scss +2 -5
  45. package/styles/components/forms/_autocomplete.scss +0 -3
  46. package/styles/components/forms/_checkbox-group.scss +0 -3
  47. package/styles/components/forms/_checkbox.scss +6 -8
  48. package/styles/components/forms/_error.scss +2 -13
  49. package/styles/components/forms/_form-field.scss +9 -10
  50. package/styles/components/forms/_label.scss +2 -11
  51. package/styles/components/forms/_radio.scss +13 -12
  52. package/styles/components/forms/_select.scss +5 -8
  53. package/styles/components/forms/partials/_dropdown-panel.scss +4 -6
  54. package/styles/components/loader/_loader.scss +5 -9
  55. package/styles/components/phone-input/_country-code-select.scss +0 -5
  56. package/styles/components/phone-input/_phone-input-container.scss +1 -6
  57. package/styles/components/search-field/index.scss +0 -4
  58. package/styles/components/stepper/_step-header.scss +8 -11
  59. package/styles/components/stepper/_step.scss +0 -5
  60. package/styles/components/stepper/_stepper-header.scss +0 -5
  61. package/styles/components/stepper/_stepper.scss +0 -4
  62. package/styles/components/table/_table-head-data.scss +6 -9
  63. package/styles/components/table/_table-head.scss +0 -5
  64. package/styles/components/table/_table-row-data.scss +2 -7
  65. package/styles/components/table/_table-row.scss +0 -5
  66. package/styles/components/table/_table.scss +0 -5
  67. package/styles/core/_all-theme.scss +8 -3
  68. package/styles/core/_tokens.scss +41 -0
  69. package/styles/core/_utils.scss +11 -44
  70. package/styles/wlcm.scss +1 -3
  71. package/table/fesm2022/wlcm-angular-table.mjs +130 -160
  72. package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
  73. package/table/package.json +27 -0
  74. package/table/types/wlcm-angular-table.d.ts +115 -0
  75. package/button/index.d.ts +0 -2
  76. package/button/lib/button.module.d.ts +0 -7
  77. package/button/lib/components/button/button.component.d.ts +0 -19
  78. package/button/lib/models/button.models.d.ts +0 -4
  79. package/core/index.d.ts +0 -11
  80. package/core/lib/components/default-loader/default-loader.component.d.ts +0 -5
  81. package/core/lib/components/icons/calendar-icon/calendar-icon.component.d.ts +0 -5
  82. package/core/lib/components/icons/chevron-down-icon/chevron-down-icon.component.d.ts +0 -5
  83. package/core/lib/components/icons/close-icon/close-icon.component.d.ts +0 -5
  84. package/core/lib/components/icons/search-icon/search-icon.component.d.ts +0 -5
  85. package/core/lib/components/loader/loader.component.d.ts +0 -11
  86. package/core/lib/constants/_index.d.ts +0 -2
  87. package/core/lib/constants/http.constants.d.ts +0 -2
  88. package/core/lib/constants/icon.contants.d.ts +0 -4
  89. package/core/lib/constants/loader.constants.d.ts +0 -2
  90. package/core/lib/directives/_index.d.ts +0 -1
  91. package/core/lib/directives/icon.directive.d.ts +0 -15
  92. package/core/lib/models/_index.d.ts +0 -2
  93. package/core/lib/models/icon.models.d.ts +0 -9
  94. package/core/lib/models/option.models.d.ts +0 -14
  95. package/core/lib/services/scroll-detection.api.d.ts +0 -10
  96. package/core/lib/utils/paginated-data-emulator.utils.d.ts +0 -9
  97. package/core/lib/utils/stream.utils.d.ts +0 -6
  98. package/datepicker/index.d.ts +0 -17
  99. package/datepicker/lib/components/calendar-header/calendar-header.component.d.ts +0 -24
  100. package/datepicker/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.d.ts +0 -24
  101. package/datepicker/lib/components/range/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.d.ts +0 -8
  102. package/datepicker/lib/components/range/date-range-picker-input/date-range-picker-input.component.d.ts +0 -36
  103. package/datepicker/lib/components/range/double-calendar-range-picker/double-calendar-range-picker.component.d.ts +0 -35
  104. package/datepicker/lib/components/range/single-calendar-range-picker/single-calendar-range-picker.component.d.ts +0 -27
  105. package/datepicker/lib/components/single/datepicker-input-container/datepicker-input-container.component.d.ts +0 -30
  106. package/datepicker/lib/components/single/datepicker-panel/datepicker-panel.component.d.ts +0 -17
  107. package/datepicker/lib/constants/datepicker.constants.d.ts +0 -7
  108. package/datepicker/lib/constants/range/date-range-picker.constants.d.ts +0 -4
  109. package/datepicker/lib/constants/range/date-range-selection-model.constants.d.ts +0 -4
  110. package/datepicker/lib/constants/range/date-range-trigger-selection-model.constants.d.ts +0 -4
  111. package/datepicker/lib/datepicker.module.d.ts +0 -12
  112. package/datepicker/lib/directives/calendar.directive.d.ts +0 -5
  113. package/datepicker/lib/directives/datepicker-input.base.d.ts +0 -33
  114. package/datepicker/lib/directives/datepicker-trigger.base.d.ts +0 -33
  115. package/datepicker/lib/directives/ragne/date-range-picker-input-end.directive.d.ts +0 -20
  116. package/datepicker/lib/directives/ragne/date-range-picker-input-start.directive.d.ts +0 -20
  117. package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +0 -23
  118. package/datepicker/lib/directives/ragne/left-calendar.directive.d.ts +0 -17
  119. package/datepicker/lib/directives/ragne/right-calendar.directive.d.ts +0 -20
  120. package/datepicker/lib/directives/single/datepicker-input.directive.d.ts +0 -21
  121. package/datepicker/lib/models/date-picker.models.d.ts +0 -18
  122. package/datepicker/lib/models/range/data-range-calendar.models.d.ts +0 -25
  123. package/datepicker/lib/models/range/date-range-picker.models.d.ts +0 -18
  124. package/datepicker/lib/models/range/date-range-validation.models.d.ts +0 -3
  125. package/datepicker/lib/utils/range/date-range-input.validators.d.ts +0 -2
  126. package/datepicker/lib/utils/range/date-range-picker-errors.d.ts +0 -4
  127. package/filters/index.d.ts +0 -5
  128. package/filters/lib/components/filters-group/filters-group.component.d.ts +0 -6
  129. package/filters/lib/constants/filter.constants.d.ts +0 -3
  130. package/filters/lib/constants/index.d.ts +0 -1
  131. package/filters/lib/directives/filter.directive.d.ts +0 -5
  132. package/filters/lib/directives/index.d.ts +0 -1
  133. package/filters/lib/filters.module.d.ts +0 -9
  134. package/filters/lib/models/array-filter.models.d.ts +0 -19
  135. package/filters/lib/models/filter.models.d.ts +0 -19
  136. package/filters/lib/models/filters-group.models.d.ts +0 -22
  137. package/filters/lib/models/index.d.ts +0 -3
  138. package/forms/index.d.ts +0 -12
  139. package/forms/lib/forms/components/autocomplete/autocomplete.component.d.ts +0 -76
  140. package/forms/lib/forms/components/checkbox/checkbox.component.d.ts +0 -28
  141. package/forms/lib/forms/components/checkbox-group/checkbox-group.component.d.ts +0 -25
  142. package/forms/lib/forms/components/error/error.component.d.ts +0 -5
  143. package/forms/lib/forms/components/form-field/form-field.component.d.ts +0 -34
  144. package/forms/lib/forms/components/index.d.ts +0 -8
  145. package/forms/lib/forms/components/label/label.component.d.ts +0 -7
  146. package/forms/lib/forms/components/partials/autocomplete-suffix/autocomplete-suffix.component.d.ts +0 -10
  147. package/forms/lib/forms/components/partials/index.d.ts +0 -1
  148. package/forms/lib/forms/components/select/select.component.d.ts +0 -90
  149. package/forms/lib/forms/constants/form-elements.constants.d.ts +0 -6
  150. package/forms/lib/forms/constants/form-errors.constants.d.ts +0 -4
  151. package/forms/lib/forms/constants/form-field.constants.d.ts +0 -1
  152. package/forms/lib/forms/constants/form-state-handlers.constants.d.ts +0 -6
  153. package/forms/lib/forms/constants/index.d.ts +0 -5
  154. package/forms/lib/forms/constants/select.constants.d.ts +0 -3
  155. package/forms/lib/forms/directives/autocomplete.directive.d.ts +0 -16
  156. package/forms/lib/forms/directives/form-field-custom-container.directive.d.ts +0 -8
  157. package/forms/lib/forms/directives/form-field-hint.directive.d.ts +0 -5
  158. package/forms/lib/forms/directives/form-field-prefix.directive.d.ts +0 -6
  159. package/forms/lib/forms/directives/form-field-suffix.directive.d.ts +0 -5
  160. package/forms/lib/forms/directives/input.directive.d.ts +0 -14
  161. package/forms/lib/forms/directives/select-input-binder.directive.d.ts +0 -5
  162. package/forms/lib/forms/forms.module.d.ts +0 -19
  163. package/forms/lib/forms/models/_index.d.ts +0 -5
  164. package/forms/lib/forms/models/autocomplete.models.d.ts +0 -9
  165. package/forms/lib/forms/models/form-errors.models.d.ts +0 -5
  166. package/forms/lib/forms/models/form.models.d.ts +0 -11
  167. package/forms/lib/forms/models/input.models.d.ts +0 -13
  168. package/forms/lib/forms/models/select.models.d.ts +0 -9
  169. package/forms/lib/forms/pipes/errors-mapper.pipe.d.ts +0 -17
  170. package/forms/lib/forms/services/form-state-handler.service.d.ts +0 -10
  171. package/forms/lib/forms/services/index.d.ts +0 -2
  172. package/forms/lib/forms/services/places.api.d.ts +0 -11
  173. package/phone-input/index.d.ts +0 -4
  174. package/phone-input/lib/components/country-code-select/country-code-select.component.d.ts +0 -15
  175. package/phone-input/lib/components/phone-input-container/phone-input-container.component.d.ts +0 -30
  176. package/phone-input/lib/constants/country-code-options.constants.d.ts +0 -3
  177. package/phone-input/lib/constants/phone-adapter.constants.d.ts +0 -3
  178. package/phone-input/lib/directives/phone-input.directive.d.ts +0 -36
  179. package/phone-input/lib/models/country-code.models.d.ts +0 -7
  180. package/phone-input/lib/models/phone-adapter.models.d.ts +0 -10
  181. package/phone-input/lib/models/phone.models.d.ts +0 -3
  182. package/phone-input/lib/phone-input.module.d.ts +0 -9
  183. package/phone-input/lib/pipes/phone-code.pipe.d.ts +0 -8
  184. package/search-field/index.d.ts +0 -2
  185. package/search-field/lib/components/search-field/search-field.component.d.ts +0 -16
  186. package/search-field/lib/search-field.module.d.ts +0 -8
  187. package/stepper/index.d.ts +0 -10
  188. package/stepper/lib/components/step/step.component.d.ts +0 -16
  189. package/stepper/lib/components/step-header/step-header.component.d.ts +0 -20
  190. package/stepper/lib/components/stepper/stepper.component.d.ts +0 -6
  191. package/stepper/lib/components/stepper-header/stepper-header.component.d.ts +0 -8
  192. package/stepper/lib/constants/step.constants.d.ts +0 -4
  193. package/stepper/lib/constants/stepper.stepper.d.ts +0 -3
  194. package/stepper/lib/directives/load-on-active-step.directive.d.ts +0 -13
  195. package/stepper/lib/models/step.models.d.ts +0 -43
  196. package/stepper/lib/models/stepper.models.d.ts +0 -44
  197. package/stepper/lib/stepper.module.d.ts +0 -12
  198. package/styles/core/_core.scss +0 -10
  199. package/table/index.d.ts +0 -9
  200. package/table/lib/components/table/table.component.d.ts +0 -24
  201. package/table/lib/components/table-head/table-head.component.d.ts +0 -8
  202. package/table/lib/components/table-head-actions/table-head-actions.component.d.ts +0 -12
  203. package/table/lib/components/table-head-data/table-head-data.component.d.ts +0 -5
  204. package/table/lib/components/table-row/table-row.component.d.ts +0 -23
  205. package/table/lib/components/table-row-actions/table-row-actions.component.d.ts +0 -5
  206. package/table/lib/components/table-row-data/table-row-data.component.d.ts +0 -5
  207. package/table/lib/components/table-row-spacer/table-row-spacer.component.d.ts +0 -5
  208. package/table/lib/constants/table-row.constants.d.ts +0 -3
  209. package/table/lib/constants/table.constants.d.ts +0 -3
  210. package/table/lib/directives/scrollable-table-container.directive.d.ts +0 -13
  211. package/table/lib/models/table-config-manager.models.d.ts +0 -12
  212. package/table/lib/models/table-row.models.d.ts +0 -10
  213. package/table/lib/models/table-selection-model.d.ts +0 -25
  214. package/table/lib/models/table.models.d.ts +0 -4
  215. package/table/lib/pipes/table-row-injector.pipe.d.ts +0 -9
  216. package/table/lib/table.module.d.ts +0 -13
  217. package/table/lib/utils/table-errors.utils.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"wlcm-angular-table.mjs","sources":["../../../../modules/table/src/lib/models/table-selection-model.ts","../../../../modules/table/src/lib/models/table-config-manager.models.ts","../../../../modules/table/src/lib/components/table-row-spacer/table-row-spacer.component.ts","../../../../modules/table/src/lib/components/table-row-spacer/table-row-spacer.component.html","../../../../modules/table/src/lib/constants/table-row.constants.ts","../../../../modules/table/src/lib/pipes/table-row-injector.pipe.ts","../../../../modules/table/src/lib/utils/table-errors.utils.ts","../../../../modules/table/src/lib/constants/table.constants.ts","../../../../modules/table/src/lib/components/table/table.component.ts","../../../../modules/table/src/lib/components/table/table.component.html","../../../../modules/table/src/lib/components/table-head-actions/table-head-actions.component.ts","../../../../modules/table/src/lib/components/table-head-actions/table-head-actions.component.html","../../../../modules/table/src/lib/components/table-head/table-head.component.ts","../../../../modules/table/src/lib/components/table-head/table-head.component.html","../../../../modules/table/src/lib/components/table-head-data/table-head-data.component.ts","../../../../modules/table/src/lib/components/table-head-data/table-head-data.component.html","../../../../modules/table/src/lib/components/table-row-actions/table-row-actions.component.ts","../../../../modules/table/src/lib/components/table-row-actions/table-row-actions.component.html","../../../../modules/table/src/lib/components/table-row/table-row.component.ts","../../../../modules/table/src/lib/components/table-row/table-row.component.html","../../../../modules/table/src/lib/components/table-row-data/table-row-data.component.ts","../../../../modules/table/src/lib/components/table-row-data/table-row-data.component.html","../../../../modules/table/src/lib/directives/scrollable-table-container.directive.ts","../../../../modules/table/src/lib/table.module.ts","../../../../modules/table/src/wlcm-angular-table.ts"],"sourcesContent":["import { BehaviorSubject, Observable, map } from 'rxjs';\n\nexport abstract class WlcmTableSelectionModel {\n protected _selection: Set<string> = new Set();\n\n protected readonly _selectionChanged: BehaviorSubject<Set<string>> = new BehaviorSubject(this._selection);\n\n readonly selectionChanged: Observable<Set<string>> = this._selectionChanged.asObservable();\n\n abstract readonly allSelected: Observable<boolean>;\n\n abstract selectOne(value: string): void;\n\n abstract deselectOne(value: string): void;\n\n abstract selectAll(): void;\n\n abstract deselectAll(): void;\n\n abstract updateCollection(values: string[]): void;\n\n abstract get selection(): Set<string>;\n}\n\nexport class DefaultWlcmTableSelectionModel extends WlcmTableSelectionModel {\n private _values: string[] = [];\n\n private _selectAll: boolean = false;\n\n readonly allSelected: Observable<boolean> = this._selectionChanged.pipe(\n map(() => this._values.length > 0 && this._selection.size === this._values.length),\n );\n\n selectOne(value: string): void {\n this._selection.add(value);\n\n this.triggerSelectionChanged();\n }\n\n deselectOne(value: string): void {\n this._selectAll = false;\n\n this._selection.delete(value);\n\n this.triggerSelectionChanged();\n }\n\n selectAll(): void {\n this._selectAll = true;\n\n this._selection.clear();\n\n this._values.forEach((value: string) => this._selection.add(value));\n\n this.triggerSelectionChanged();\n }\n\n deselectAll(): void {\n this._selectAll = false;\n\n this._selection.clear();\n\n this.triggerSelectionChanged();\n }\n\n updateCollection(values: string[]): void {\n this._values = values;\n\n if (this._selectAll) this.selectAll();\n }\n\n get selection(): Set<string> {\n return this._selection;\n }\n\n private triggerSelectionChanged(): void {\n this._selectionChanged.next(this._selection);\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\n\nexport abstract class TableConfigManager {\n abstract readonly selectable$: Observable<boolean>;\n\n abstract get selectable(): boolean;\n\n abstract set selectable(value: boolean);\n}\n\nexport class DefaultTableConfigManager extends TableConfigManager {\n #selectable$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n readonly selectable$: Observable<boolean> = this.#selectable$.asObservable();\n\n get selectable(): boolean {\n return this.#selectable$.value;\n }\n\n set selectable(value: boolean) {\n this.#selectable$.next(value);\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-row-spacer',\n host: { class: 'wlcm-table-row-spacer' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './table-row-spacer.component.html',\n styleUrl: './table-row-spacer.component.scss',\n})\nexport class WlcmTableRowSpacerComponent {}\n","","import { InjectionToken } from '@angular/core';\nimport { WlcmTableRowContext } from '../models/table-row.models';\n\nexport const WLCM_TABLE_ROW_CONTEXT: InjectionToken<WlcmTableRowContext<unknown>> = new InjectionToken(\n 'WLCM_TABLE_ROW_CONTEXT'\n);\n","import { Injector, Pipe, PipeTransform, inject } from '@angular/core';\nimport { WlcmTableRowContext } from '../models/table-row.models';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../constants/table-row.constants';\n\n@Pipe({\n name: 'wlcmTableRowInjector',\n standalone: true,\n})\nexport class WlcmTableRowInjectorPipe<T> implements PipeTransform {\n protected injector: Injector = inject(Injector);\n\n transform(context: WlcmTableRowContext<T>): Injector {\n return Injector.create({\n providers: [{ provide: WLCM_TABLE_ROW_CONTEXT, useValue: context }],\n parent: this.injector,\n });\n }\n}\n","export class WlcmTableErrorsUtils {\n static throwNoSelectIdError(): void {\n throw new Error('wlcm-table: [selectId] method must be provided');\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { WlcmTableConfig } from '../models/table.models';\n\nexport const WLCM_TABLE_CONFIG: InjectionToken<WlcmTableConfig> = new InjectionToken('WLCM_TABLE_CONFIG', {\n factory: () => ({ selectable: false }),\n});\n","import {\n Component,\n Inject,\n Injector,\n InputSignal,\n OnInit,\n TemplateRef,\n TrackByFunction,\n inject,\n input,\n} from '@angular/core';\nimport { DefaultWlcmTableSelectionModel, WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { DefaultTableConfigManager, TableConfigManager } from '../../models/table-config-manager.models';\nimport { WlcmTableRowSpacerComponent } from '../table-row-spacer/table-row-spacer.component';\nimport { WlcmIsRowSelectableFn, WlcmTableRowContext } from '../../models/table-row.models';\nimport { WlcmTableConfig, WlcmTableSelectIdFn } from '../../models/table.models';\nimport { WlcmTableRowInjectorPipe } from '../../pipes/table-row-injector.pipe';\nimport { WlcmTableErrorsUtils } from '../../utils/table-errors.utils';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WLCM_TABLE_CONFIG } from '../../constants/table.constants';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { map, Observable, switchMap } from 'rxjs';\nimport { RxLet } from '@rx-angular/template/let';\nimport { CommonModule } from '@angular/common';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-table',\n host: { class: 'wlcm-table' },\n standalone: true,\n imports: [CommonModule, WlcmTableRowInjectorPipe, WlcmTableRowSpacerComponent, RxLet],\n providers: [\n { provide: TableConfigManager, useClass: DefaultTableConfigManager },\n { provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel },\n ],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n})\nexport class WlcmTableComponent<T = unknown> implements OnInit {\n rows: InputSignal<T[]> = input<T[]>([]);\n\n headTemplate: InputSignal<TemplateRef<void> | undefined> = input();\n\n rowTemplate: InputSignal<TemplateRef<WlcmTableRowContext<T>>> = input.required();\n\n isRowSelectable: InputSignal<WlcmIsRowSelectableFn<T>> = input<WlcmIsRowSelectableFn<T>>(() => true);\n\n selectId: InputSignal<WlcmTableSelectIdFn<T> | undefined> = input();\n\n trackBy: InputSignal<TrackByFunction<T>> = input((_, row: T) => row);\n\n selectable: InputSignal<boolean | undefined> = input();\n\n injector: Injector = inject(Injector);\n\n #streamOfRows$: Observable<T[]> = toObservable(this.rows);\n\n constructor(\n public selectionModel: WlcmTableSelectionModel,\n @Inject(WLCM_TABLE_CONFIG) private config: WlcmTableConfig,\n private configManager: TableConfigManager,\n ) {\n this.configManager.selectable = config.selectable;\n\n toObservable(this.selectable)\n .pipe(untilDestroyed(this))\n .subscribe((value: boolean | undefined) => {\n if (value === undefined) return;\n\n this.configManager.selectable = value;\n });\n }\n\n ngOnInit(): void {\n if (this.config.selectable) {\n if (!this.selectId()) WlcmTableErrorsUtils.throwNoSelectIdError();\n }\n\n this.#streamOfRows$\n .pipe(untilDestroyed(this))\n .pipe(switchMap((rows: T[]) => this.configManager.selectable$.pipe(map(() => rows))))\n .subscribe((rows: T[]) => {\n if (!this.configManager.selectable) {\n this.selectionModel.deselectAll();\n\n return this.selectionModel.updateCollection([]);\n }\n\n this.selectionModel.updateCollection(rows.filter(this.isRowSelectable()).map(this.selectId()!));\n });\n }\n}\n","@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n isRowSelectable: isRowSelectable(),\n index: index,\n first: first,\n last: last\n };\n let context\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate();\n context: context;\n injector: context | wlcmTableRowInjector\n \"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n</tbody>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmFormsModule } from '@wlcm/angular/forms';\nimport { WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-table-head-actions',\n host: { class: 'wlcm-table-head-actions' },\n standalone: true,\n imports: [CommonModule, WlcmFormsModule, ReactiveFormsModule],\n templateUrl: './table-head-actions.component.html',\n styleUrl: './table-head-actions.component.scss',\n})\nexport class WlcmTableHeadActionsComponent {\n readonly control: FormControl = new FormControl(false);\n\n constructor(private selectionModel: WlcmTableSelectionModel) {\n this.handleSelectionChange();\n }\n\n toggle(isChecked: boolean): void {\n if (isChecked) {\n return this.selectionModel.selectAll();\n }\n\n this.selectionModel.deselectAll();\n }\n\n private handleSelectionChange(): void {\n this.selectionModel.allSelected\n .pipe(untilDestroyed(this))\n .subscribe((isSelected: boolean) => this.control.setValue(isSelected));\n }\n}\n","<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmTableHeadActionsComponent } from '../table-head-actions/table-head-actions.component';\nimport { TableConfigManager } from '../../models/table-config-manager.models';\n\n@Component({\n selector: 'wlcm-table-head',\n host: { class: 'wlcm-table-head' },\n standalone: true,\n imports: [CommonModule, WlcmTableHeadActionsComponent],\n templateUrl: './table-head.component.html',\n styleUrl: './table-head.component.scss',\n})\nexport class WlcmTableHeadComponent {\n constructor(public tableConfigManager: TableConfigManager) {}\n}\n","@if (tableConfigManager.selectable) {\n <wlcm-table-head-actions></wlcm-table-head-actions>\n}\n\n<ng-content select=\"wlcm-table-head-data\"></ng-content>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-head-data',\n host: { class: 'wlcm-table-head-data' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './table-head-data.component.html',\n styleUrl: './table-head-data.component.scss',\n})\nexport class WlcmTableHeadDataComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-row-actions',\n host: { class: 'wlcm-table-row-actions' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './table-row-actions.component.html',\n styleUrl: './table-row-actions.component.scss',\n})\nexport class WlcmTableRowActionsComponent {}\n","<ng-content></ng-content>\n","import { Component, ElementRef, HostBinding, Inject, WritableSignal, signal } from '@angular/core';\nimport { WlcmTableRowActionsComponent } from '../table-row-actions/table-row-actions.component';\nimport { TableConfigManager } from '../../models/table-config-manager.models';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';\nimport { WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmTableRowContext } from '../../models/table-row.models';\nimport { filter, finalize, map, skip, takeUntil } from 'rxjs';\nimport { WlcmFormsModule } from '@wlcm/angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-table-row',\n host: { class: 'wlcm-table-row' },\n standalone: true,\n imports: [CommonModule, WlcmTableRowActionsComponent, WlcmFormsModule, FormsModule],\n templateUrl: './table-row.component.html',\n styleUrl: './table-row.component.scss',\n})\nexport class WlcmTableRowComponent<T = unknown> {\n rowId!: string;\n\n isSelected: WritableSignal<boolean> = signal(false);\n\n isSelectable: WritableSignal<boolean> = signal(false);\n\n @HostBinding('class.wlcm-table-row-first') get first() {\n return this.rowContext.first;\n }\n\n @HostBinding('class.wlcm-table-row-last') get last() {\n return this.rowContext.last;\n }\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n public tableConfigManager: TableConfigManager,\n private selectionModel: WlcmTableSelectionModel,\n @Inject(WLCM_TABLE_ROW_CONTEXT) private rowContext: WlcmTableRowContext<T>,\n ) {\n this.tableConfigManager.selectable$.pipe(untilDestroyed(this)).subscribe((value: boolean) => {\n this.isSelectable.update(() => value && this.rowContext.isRowSelectable(rowContext.$implicit));\n\n if (this.isSelectable()) {\n this.rowId = this.rowContext.selectId!(this.rowContext.$implicit);\n\n this.handleSelectionChanges();\n }\n });\n }\n\n selectionChanged(isSelected: boolean): void {\n if (isSelected) {\n return this.selectionModel.selectOne(this.rowId);\n }\n\n this.selectionModel.deselectOne(this.rowId);\n\n this.isSelected.set(isSelected);\n }\n\n private handleSelectionChanges(): void {\n this.selectionModel.selectionChanged\n .pipe(untilDestroyed(this))\n .pipe(takeUntil(this.tableConfigManager.selectable$.pipe(skip(1))))\n .pipe(map((collection: Set<string>) => collection.has(this.rowId)))\n .pipe(filter((isSelected: boolean) => isSelected !== this.isSelected()))\n .pipe(finalize(() => this.markAsUnselected()))\n .subscribe((isSelected: boolean) => {\n this.isSelected.set(isSelected);\n\n isSelected ? this.markAsSelected() : this.markAsUnselected();\n });\n }\n\n private markAsSelected = (): void => {\n this.elementRef.nativeElement.classList.add('wlcm-table-row-selected');\n };\n\n private markAsUnselected = (): void => {\n this.elementRef.nativeElement.classList.remove('wlcm-table-row-selected');\n };\n}\n","@if (tableConfigManager.selectable) {\n <wlcm-table-row-actions>\n @if (isSelectable()) {\n <wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged($event)\"\n ></wlcm-checkbox>\n }\n </wlcm-table-row-actions>\n}\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-row-data',\n host: { class: 'wlcm-table-row-data' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './table-row-data.component.html',\n styleUrl: './table-row-data.component.scss',\n})\nexport class WlcmTableRowDataComponent {}\n","<ng-content></ng-content>\n","import { Directive, ElementRef, InputSignal, NgZone, OutputEmitterRef, input, output } from '@angular/core';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { debounceTime, fromEvent } from 'rxjs';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmScrollableTableContainer]',\n host: { class: 'wlcm-scrollable-table-container' },\n standalone: true,\n})\nexport class WlcmScrollableTableContainerDirective {\n scrollDownOffsetPercent: InputSignal<number> = input(0.8);\n\n scrolledDown: OutputEmitterRef<void> = output();\n\n constructor(private zone: NgZone, private elementRef: ElementRef<HTMLElement>) {\n this.handleScrolling();\n }\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private handleScrolling(): void {\n this.zone.runOutsideAngular(() => {\n fromEvent(this.element, 'scroll')\n .pipe(debounceTime(50))\n .pipe(untilDestroyed(this))\n .subscribe(() => {\n if (\n this.element.scrollHeight * this.scrollDownOffsetPercent() <=\n this.element.scrollTop + this.element.clientHeight\n ) {\n this.zone.run(() => this.scrolledDown.emit());\n }\n });\n });\n }\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmTableComponent } from './components/table/table.component';\nimport { WlcmTableHeadComponent } from './components/table-head/table-head.component';\nimport { WlcmTableHeadDataComponent } from './components/table-head-data/table-head-data.component';\nimport { WlcmTableRowComponent } from './components/table-row/table-row.component';\nimport { WlcmTableRowDataComponent } from './components/table-row-data/table-row-data.component';\nimport { WlcmScrollableTableContainerDirective } from './directives/scrollable-table-container.directive';\n\nconst publicComponents: Type<unknown>[] = [\n WlcmTableComponent,\n WlcmTableHeadComponent,\n WlcmTableHeadDataComponent,\n WlcmTableRowDataComponent,\n WlcmTableRowComponent,\n];\n\nconst publicDirectives: Type<unknown>[] = [WlcmScrollableTableContainerDirective];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n})\nexport class WlcmTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TableConfigManager","i1.WlcmTableSelectionModel","i3","i1.TableConfigManager","i4"],"mappings":"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"}
1
+ {"version":3,"file":"wlcm-angular-table.mjs","sources":["../../../../modules/table/src/lib/models/table-selection-model.ts","../../../../modules/table/src/lib/models/table-config-manager.models.ts","../../../../modules/table/src/lib/components/table-row-spacer/table-row-spacer.component.ts","../../../../modules/table/src/lib/components/table-row-spacer/table-row-spacer.component.html","../../../../modules/table/src/lib/constants/table-row.constants.ts","../../../../modules/table/src/lib/pipes/table-row-injector.pipe.ts","../../../../modules/table/src/lib/utils/table-errors.utils.ts","../../../../modules/table/src/lib/constants/table.constants.ts","../../../../modules/table/src/lib/components/table/table.component.ts","../../../../modules/table/src/lib/components/table/table.component.html","../../../../modules/table/src/lib/components/table-head-actions/table-head-actions.component.ts","../../../../modules/table/src/lib/components/table-head-actions/table-head-actions.component.html","../../../../modules/table/src/lib/components/table-head/table-head.component.ts","../../../../modules/table/src/lib/components/table-head/table-head.component.html","../../../../modules/table/src/lib/components/table-head-data/table-head-data.component.ts","../../../../modules/table/src/lib/components/table-head-data/table-head-data.component.html","../../../../modules/table/src/lib/components/table-row-actions/table-row-actions.component.ts","../../../../modules/table/src/lib/components/table-row-actions/table-row-actions.component.html","../../../../modules/table/src/lib/components/table-row/table-row.component.ts","../../../../modules/table/src/lib/components/table-row/table-row.component.html","../../../../modules/table/src/lib/components/table-row-data/table-row-data.component.ts","../../../../modules/table/src/lib/components/table-row-data/table-row-data.component.html","../../../../modules/table/src/lib/directives/scrollable-table-container.directive.ts","../../../../modules/table/src/lib/table.module.ts","../../../../modules/table/src/wlcm-angular-table.ts"],"sourcesContent":["import { BehaviorSubject, Observable, map } from 'rxjs';\n\nexport abstract class WlcmTableSelectionModel {\n protected _selection: Set<string> = new Set();\n\n protected readonly _selectionChanged: BehaviorSubject<Set<string>> = new BehaviorSubject(this._selection);\n\n readonly selectionChanged: Observable<Set<string>> = this._selectionChanged.asObservable();\n\n abstract readonly allSelected: Observable<boolean>;\n\n abstract selectOne(value: string): void;\n\n abstract deselectOne(value: string): void;\n\n abstract selectAll(): void;\n\n abstract deselectAll(): void;\n\n abstract updateCollection(values: string[]): void;\n\n abstract get selection(): Set<string>;\n}\n\nexport class DefaultWlcmTableSelectionModel extends WlcmTableSelectionModel {\n private _values: string[] = [];\n\n private _selectAll = false;\n\n readonly allSelected: Observable<boolean> = this._selectionChanged.pipe(\n map(() => this._values.length > 0 && this._selection.size === this._values.length),\n );\n\n selectOne(value: string): void {\n this._selection.add(value);\n\n this.triggerSelectionChanged();\n }\n\n deselectOne(value: string): void {\n this._selectAll = false;\n\n this._selection.delete(value);\n\n this.triggerSelectionChanged();\n }\n\n selectAll(): void {\n this._selectAll = true;\n\n this._selection.clear();\n\n this._values.forEach((value: string) => this._selection.add(value));\n\n this.triggerSelectionChanged();\n }\n\n deselectAll(): void {\n this._selectAll = false;\n\n this._selection.clear();\n\n this.triggerSelectionChanged();\n }\n\n updateCollection(values: string[]): void {\n this._values = values;\n\n if (this._selectAll) this.selectAll();\n }\n\n get selection(): Set<string> {\n return this._selection;\n }\n\n private triggerSelectionChanged(): void {\n this._selectionChanged.next(this._selection);\n }\n}\n","import { Signal, WritableSignal, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { Observable } from 'rxjs';\n\nexport abstract class TableConfigManager {\n /**\n * @deprecated Use {@link selectableSignal} for OnPush/zoneless-correct reads. Kept for RxJS consumers.\n */\n abstract readonly selectable$: Observable<boolean>;\n\n abstract readonly selectableSignal: Signal<boolean>;\n\n abstract get selectable(): boolean;\n\n abstract set selectable(value: boolean);\n}\n\nexport class DefaultTableConfigManager extends TableConfigManager {\n readonly #selectable: WritableSignal<boolean> = signal(false);\n\n readonly selectableSignal: Signal<boolean> = this.#selectable.asReadonly();\n\n readonly selectable$: Observable<boolean> = toObservable(this.#selectable);\n\n get selectable(): boolean {\n return this.#selectable();\n }\n\n set selectable(value: boolean) {\n this.#selectable.set(value);\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n\n@Component({\n selector: 'wlcm-table-row-spacer',\n host: { class: 'wlcm-table-row-spacer' },\n templateUrl: './table-row-spacer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table-row-spacer.component.scss',\n})\nexport class WlcmTableRowSpacerComponent {}\n","","import { InjectionToken } from '@angular/core';\nimport { WlcmTableRowContext } from '../models/table-row.models';\n\nexport const WLCM_TABLE_ROW_CONTEXT: InjectionToken<WlcmTableRowContext<unknown>> = new InjectionToken(\n 'WLCM_TABLE_ROW_CONTEXT'\n);\n","import { Injector, Pipe, PipeTransform, inject } from '@angular/core';\nimport { WlcmTableRowContext } from '../models/table-row.models';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../constants/table-row.constants';\n\n@Pipe({\n name: 'wlcmTableRowInjector',\n})\nexport class WlcmTableRowInjectorPipe<T> implements PipeTransform {\n protected injector: Injector = inject(Injector);\n\n transform(context: WlcmTableRowContext<T>): Injector {\n return Injector.create({\n providers: [{ provide: WLCM_TABLE_ROW_CONTEXT, useValue: context }],\n parent: this.injector,\n });\n }\n}\n","export class WlcmTableErrorsUtils {\n static throwNoSelectIdError(): void {\n throw new Error('wlcm-table: [selectId] method must be provided');\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { WlcmTableConfig } from '../models/table.models';\n\nexport const WLCM_TABLE_CONFIG: InjectionToken<WlcmTableConfig> = new InjectionToken('WLCM_TABLE_CONFIG', {\n factory: () => ({ selectable: false }),\n});\n","import {\n Component,\n DestroyRef,\n Injector,\n InputSignal,\n OnInit,\n TemplateRef,\n TrackByFunction,\n inject,\n input,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { DefaultWlcmTableSelectionModel, WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { DefaultTableConfigManager, TableConfigManager } from '../../models/table-config-manager.models';\nimport { WlcmTableRowSpacerComponent } from '../table-row-spacer/table-row-spacer.component';\nimport { WlcmIsRowSelectableFn, WlcmTableRowContext } from '../../models/table-row.models';\nimport { WlcmTableConfig, WlcmTableSelectIdFn } from '../../models/table.models';\nimport { WlcmTableRowInjectorPipe } from '../../pipes/table-row-injector.pipe';\nimport { WlcmTableErrorsUtils } from '../../utils/table-errors.utils';\nimport { WLCM_TABLE_CONFIG } from '../../constants/table.constants';\nimport { map, Observable, switchMap } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table',\n host: { class: 'wlcm-table' },\n imports: [CommonModule, WlcmTableRowInjectorPipe, WlcmTableRowSpacerComponent],\n providers: [\n { provide: TableConfigManager, useClass: DefaultTableConfigManager },\n { provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel },\n ],\n templateUrl: './table.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table.component.scss',\n})\nexport class WlcmTableComponent<T = unknown> implements OnInit {\n rows: InputSignal<T[]> = input<T[]>([]);\n\n headTemplate: InputSignal<TemplateRef<void> | undefined> = input();\n\n rowTemplate: InputSignal<TemplateRef<WlcmTableRowContext<T>>> = input.required();\n\n isRowSelectable: InputSignal<WlcmIsRowSelectableFn<T>> = input<WlcmIsRowSelectableFn<T>>(() => true);\n\n selectId: InputSignal<WlcmTableSelectIdFn<T> | undefined> = input();\n\n trackBy: InputSignal<TrackByFunction<T>> = input((_, row: T) => row);\n\n selectable: InputSignal<boolean | undefined> = input();\n\n injector: Injector = inject(Injector);\n\n selectionModel: WlcmTableSelectionModel = inject(WlcmTableSelectionModel);\n\n private config: WlcmTableConfig = inject(WLCM_TABLE_CONFIG);\n\n private configManager: TableConfigManager = inject(TableConfigManager);\n\n private destroyRef: DestroyRef = inject(DestroyRef);\n\n #streamOfRows$: Observable<T[]> = toObservable(this.rows);\n\n constructor() {\n this.configManager.selectable = this.config.selectable;\n\n toObservable(this.selectable)\n .pipe(takeUntilDestroyed())\n .subscribe((value: boolean | undefined) => {\n if (value === undefined) return;\n\n this.configManager.selectable = value;\n });\n }\n\n ngOnInit(): void {\n if (this.config.selectable) {\n if (!this.selectId()) WlcmTableErrorsUtils.throwNoSelectIdError();\n }\n\n this.#streamOfRows$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .pipe(switchMap((rows: T[]) => this.configManager.selectable$.pipe(map(() => rows))))\n .subscribe((rows: T[]) => {\n if (!this.configManager.selectable) {\n this.selectionModel.deselectAll();\n\n return this.selectionModel.updateCollection([]);\n }\n\n this.selectionModel.updateCollection(rows.filter(this.isRowSelectable()).map(this.selectId()!));\n });\n }\n}\n","@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n @for (\n row of rows(); track trackBy()(index,\n row); let index = $index; let first = $first; let last = $last) {\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\n @let context =\n {\n $implicit: row,\n selectId: selectId(),\n isRowSelectable: isRowSelectable(),\n index: index,\n first: first,\n last: last,\n };\n <ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate();\n context: context;\n injector: context | wlcmTableRowInjector\n \"\n >\n </ng-container>\n </ng-container>\n }\n</tbody>\n","import { Component, ChangeDetectionStrategy, DestroyRef, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { WlcmFormsModule } from '@wlcm/angular/forms';\nimport { WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'wlcm-table-head-actions',\n host: { class: 'wlcm-table-head-actions' },\n imports: [WlcmFormsModule, ReactiveFormsModule],\n templateUrl: './table-head-actions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table-head-actions.component.scss',\n})\nexport class WlcmTableHeadActionsComponent {\n readonly control: FormControl = new FormControl(false);\n\n private selectionModel = inject(WlcmTableSelectionModel);\n private destroyRef = inject(DestroyRef);\n\n constructor() {\n this.handleSelectionChange();\n }\n\n toggle(isChecked: boolean): void {\n if (isChecked) {\n return this.selectionModel.selectAll();\n }\n\n this.selectionModel.deselectAll();\n }\n\n private handleSelectionChange(): void {\n this.selectionModel.allSelected\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((isSelected: boolean) => this.control.setValue(isSelected));\n }\n}\n","<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n","import { Component, ChangeDetectionStrategy, inject } from '@angular/core';\n\nimport { WlcmTableHeadActionsComponent } from '../table-head-actions/table-head-actions.component';\nimport { TableConfigManager } from '../../models/table-config-manager.models';\n\n@Component({\n selector: 'wlcm-table-head',\n host: { class: 'wlcm-table-head' },\n imports: [WlcmTableHeadActionsComponent],\n templateUrl: './table-head.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table-head.component.scss',\n})\nexport class WlcmTableHeadComponent {\n readonly tableConfigManager = inject(TableConfigManager);\n}\n","@if (tableConfigManager.selectable) {\n <wlcm-table-head-actions></wlcm-table-head-actions>\n}\n\n<ng-content select=\"wlcm-table-head-data\"></ng-content>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n\n@Component({\n selector: 'wlcm-table-head-data',\n host: { class: 'wlcm-table-head-data' },\n templateUrl: './table-head-data.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table-head-data.component.scss',\n})\nexport class WlcmTableHeadDataComponent {}\n","<ng-content></ng-content>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n\n@Component({\n selector: 'wlcm-table-row-actions',\n host: { class: 'wlcm-table-row-actions' },\n templateUrl: './table-row-actions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table-row-actions.component.scss',\n})\nexport class WlcmTableRowActionsComponent {}\n","<ng-content></ng-content>\n","import { Component, DestroyRef, Inject, WritableSignal, inject, signal, ChangeDetectionStrategy } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { WlcmTableRowActionsComponent } from '../table-row-actions/table-row-actions.component';\nimport { TableConfigManager } from '../../models/table-config-manager.models';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';\nimport { WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { WlcmTableRowContext } from '../../models/table-row.models';\nimport { filter, map, skip, takeUntil } from 'rxjs';\nimport { WlcmFormsModule } from '@wlcm/angular/forms';\n\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'wlcm-table-row',\n host: {\n class: 'wlcm-table-row',\n '[class.wlcm-table-row-first]': 'rowContext.first',\n '[class.wlcm-table-row-last]': 'rowContext.last',\n '[class.wlcm-table-row-selected]': 'isSelected()',\n },\n imports: [WlcmTableRowActionsComponent, WlcmFormsModule, FormsModule],\n templateUrl: './table-row.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table-row.component.scss',\n})\nexport class WlcmTableRowComponent<T = unknown> {\n rowId!: string;\n\n isSelected: WritableSignal<boolean> = signal(false);\n\n isSelectable: WritableSignal<boolean> = signal(false);\n\n private destroyRef = inject(DestroyRef);\n\n tableConfigManager: TableConfigManager = inject(TableConfigManager);\n\n private selectionModel: WlcmTableSelectionModel = inject(WlcmTableSelectionModel);\n\n constructor(@Inject(WLCM_TABLE_ROW_CONTEXT) protected rowContext: WlcmTableRowContext<T>) {\n this.tableConfigManager.selectable$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((value: boolean) => {\n this.isSelectable.set(value && this.rowContext.isRowSelectable(this.rowContext.$implicit));\n\n if (this.isSelectable()) {\n this.rowId = this.rowContext.selectId!(this.rowContext.$implicit);\n\n this.handleSelectionChanges();\n }\n });\n }\n\n selectionChanged(isSelected: boolean): void {\n if (isSelected) {\n return this.selectionModel.selectOne(this.rowId);\n }\n\n this.selectionModel.deselectOne(this.rowId);\n\n this.isSelected.set(isSelected);\n }\n\n private handleSelectionChanges(): void {\n this.selectionModel.selectionChanged\n .pipe(takeUntilDestroyed(this.destroyRef))\n .pipe(takeUntil(this.tableConfigManager.selectable$.pipe(skip(1))))\n .pipe(map((collection: Set<string>) => collection.has(this.rowId)))\n .pipe(filter((isSelected: boolean) => isSelected !== this.isSelected()))\n .subscribe((isSelected: boolean) => this.isSelected.set(isSelected));\n }\n}\n","@if (tableConfigManager.selectable) {\n <wlcm-table-row-actions>\n @if (isSelectable()) {\n <wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged($event)\"\n ></wlcm-checkbox>\n }\n </wlcm-table-row-actions>\n}\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n\n@Component({\n selector: 'wlcm-table-row-data',\n host: { class: 'wlcm-table-row-data' },\n templateUrl: './table-row-data.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table-row-data.component.scss',\n})\nexport class WlcmTableRowDataComponent {}\n","<ng-content></ng-content>\n","import { Directive, ElementRef, InputSignal, OutputEmitterRef, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, fromEvent } from 'rxjs';\n\n@Directive({\n selector: '[wlcmScrollableTableContainer]',\n host: { class: 'wlcm-scrollable-table-container' },\n})\nexport class WlcmScrollableTableContainerDirective {\n scrollDownOffsetPercent: InputSignal<number> = input(0.8);\n\n scrolledDown: OutputEmitterRef<void> = output();\n\n private elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n constructor() {\n this.handleScrolling();\n }\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private handleScrolling(): void {\n fromEvent(this.element, 'scroll', { passive: true })\n .pipe(debounceTime(50))\n .pipe(takeUntilDestroyed())\n .subscribe(() => {\n if (\n this.element.scrollHeight * this.scrollDownOffsetPercent() <=\n this.element.scrollTop + this.element.clientHeight\n ) {\n this.scrolledDown.emit();\n }\n });\n }\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmTableComponent } from './components/table/table.component';\nimport { WlcmTableHeadComponent } from './components/table-head/table-head.component';\nimport { WlcmTableHeadDataComponent } from './components/table-head-data/table-head-data.component';\nimport { WlcmTableRowComponent } from './components/table-row/table-row.component';\nimport { WlcmTableRowDataComponent } from './components/table-row-data/table-row-data.component';\nimport { WlcmScrollableTableContainerDirective } from './directives/scrollable-table-container.directive';\n\nconst publicComponents: Type<unknown>[] = [\n WlcmTableComponent,\n WlcmTableHeadComponent,\n WlcmTableHeadDataComponent,\n WlcmTableRowDataComponent,\n WlcmTableRowComponent,\n];\n\nconst publicDirectives: Type<unknown>[] = [WlcmScrollableTableContainerDirective];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n})\nexport class WlcmTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@wlcm/angular/table",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^22.0.0",
6
+ "@angular/core": "^22.0.0",
7
+ "@wlcm/angular/forms": "0.0.1",
8
+ "@angular/forms": "^22.0.0",
9
+ "rxjs": "~7.8.1"
10
+ },
11
+ "dependencies": {
12
+ "tslib": "^2.3.0"
13
+ },
14
+ "sideEffects": false,
15
+ "module": "fesm2022/wlcm-angular-table.mjs",
16
+ "typings": "types/wlcm-angular-table.d.ts",
17
+ "exports": {
18
+ "./package.json": {
19
+ "default": "./package.json"
20
+ },
21
+ ".": {
22
+ "types": "./types/wlcm-angular-table.d.ts",
23
+ "default": "./fesm2022/wlcm-angular-table.mjs"
24
+ }
25
+ },
26
+ "type": "module"
27
+ }
@@ -0,0 +1,115 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, InputSignal, TemplateRef, TrackByFunction, Injector, Signal, WritableSignal, OutputEmitterRef, InjectionToken } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { BehaviorSubject, Observable } from 'rxjs';
5
+
6
+ declare abstract class WlcmTableSelectionModel {
7
+ protected _selection: Set<string>;
8
+ protected readonly _selectionChanged: BehaviorSubject<Set<string>>;
9
+ readonly selectionChanged: Observable<Set<string>>;
10
+ abstract readonly allSelected: Observable<boolean>;
11
+ abstract selectOne(value: string): void;
12
+ abstract deselectOne(value: string): void;
13
+ abstract selectAll(): void;
14
+ abstract deselectAll(): void;
15
+ abstract updateCollection(values: string[]): void;
16
+ abstract get selection(): Set<string>;
17
+ }
18
+
19
+ interface WlcmTableConfig {
20
+ selectable: boolean;
21
+ }
22
+ type WlcmTableSelectIdFn<T> = (row: T) => string;
23
+
24
+ type WlcmIsRowSelectableFn<T = unknown> = (row: T) => boolean;
25
+ interface WlcmTableRowContext<T> {
26
+ $implicit: T;
27
+ selectId?: WlcmTableSelectIdFn<T>;
28
+ isRowSelectable: WlcmIsRowSelectableFn<T>;
29
+ index: number;
30
+ first: boolean;
31
+ last: boolean;
32
+ }
33
+
34
+ declare class WlcmTableComponent<T = unknown> implements OnInit {
35
+ #private;
36
+ rows: InputSignal<T[]>;
37
+ headTemplate: InputSignal<TemplateRef<void> | undefined>;
38
+ rowTemplate: InputSignal<TemplateRef<WlcmTableRowContext<T>>>;
39
+ isRowSelectable: InputSignal<WlcmIsRowSelectableFn<T>>;
40
+ selectId: InputSignal<WlcmTableSelectIdFn<T> | undefined>;
41
+ trackBy: InputSignal<TrackByFunction<T>>;
42
+ selectable: InputSignal<boolean | undefined>;
43
+ injector: Injector;
44
+ selectionModel: WlcmTableSelectionModel;
45
+ private config;
46
+ private configManager;
47
+ private destroyRef;
48
+ constructor();
49
+ ngOnInit(): void;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableComponent<any>, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableComponent<any>, "wlcm-table", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "headTemplate": { "alias": "headTemplate"; "required": false; "isSignal": true; }; "rowTemplate": { "alias": "rowTemplate"; "required": true; "isSignal": true; }; "isRowSelectable": { "alias": "isRowSelectable"; "required": false; "isSignal": true; }; "selectId": { "alias": "selectId"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
52
+ }
53
+
54
+ declare abstract class TableConfigManager {
55
+ /**
56
+ * @deprecated Use {@link selectableSignal} for OnPush/zoneless-correct reads. Kept for RxJS consumers.
57
+ */
58
+ abstract readonly selectable$: Observable<boolean>;
59
+ abstract readonly selectableSignal: Signal<boolean>;
60
+ abstract get selectable(): boolean;
61
+ abstract set selectable(value: boolean);
62
+ }
63
+
64
+ declare class WlcmTableHeadComponent {
65
+ readonly tableConfigManager: TableConfigManager;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableHeadComponent, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableHeadComponent, "wlcm-table-head", never, {}, {}, never, ["wlcm-table-head-data"], true, never>;
68
+ }
69
+
70
+ declare class WlcmTableHeadDataComponent {
71
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableHeadDataComponent, never>;
72
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableHeadDataComponent, "wlcm-table-head-data", never, {}, {}, never, ["*"], true, never>;
73
+ }
74
+
75
+ declare class WlcmTableRowDataComponent {
76
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableRowDataComponent, never>;
77
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableRowDataComponent, "wlcm-table-row-data", never, {}, {}, never, ["*"], true, never>;
78
+ }
79
+
80
+ declare class WlcmTableRowComponent<T = unknown> {
81
+ protected rowContext: WlcmTableRowContext<T>;
82
+ rowId: string;
83
+ isSelected: WritableSignal<boolean>;
84
+ isSelectable: WritableSignal<boolean>;
85
+ private destroyRef;
86
+ tableConfigManager: TableConfigManager;
87
+ private selectionModel;
88
+ constructor(rowContext: WlcmTableRowContext<T>);
89
+ selectionChanged(isSelected: boolean): void;
90
+ private handleSelectionChanges;
91
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableRowComponent<any>, never>;
92
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableRowComponent<any>, "wlcm-table-row", never, {}, {}, never, ["wlcm-table-row-data"], true, never>;
93
+ }
94
+
95
+ declare class WlcmScrollableTableContainerDirective {
96
+ scrollDownOffsetPercent: InputSignal<number>;
97
+ scrolledDown: OutputEmitterRef<void>;
98
+ private elementRef;
99
+ constructor();
100
+ private get element();
101
+ private handleScrolling;
102
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmScrollableTableContainerDirective, never>;
103
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmScrollableTableContainerDirective, "[wlcmScrollableTableContainer]", never, { "scrollDownOffsetPercent": { "alias": "scrollDownOffsetPercent"; "required": false; "isSignal": true; }; }, { "scrolledDown": "scrolledDown"; }, never, never, true, never>;
104
+ }
105
+
106
+ declare class WlcmTableModule {
107
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableModule, never>;
108
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmTableModule, never, [typeof i1.CommonModule, typeof WlcmTableComponent, typeof WlcmTableHeadComponent, typeof WlcmTableHeadDataComponent, typeof WlcmTableRowDataComponent, typeof WlcmTableRowComponent, typeof WlcmScrollableTableContainerDirective], [typeof WlcmTableComponent, typeof WlcmTableHeadComponent, typeof WlcmTableHeadDataComponent, typeof WlcmTableRowDataComponent, typeof WlcmTableRowComponent, typeof WlcmScrollableTableContainerDirective]>;
109
+ static ɵinj: i0.ɵɵInjectorDeclaration<WlcmTableModule>;
110
+ }
111
+
112
+ declare const WLCM_TABLE_CONFIG: InjectionToken<WlcmTableConfig>;
113
+
114
+ export { WLCM_TABLE_CONFIG, WlcmScrollableTableContainerDirective, WlcmTableComponent, WlcmTableHeadComponent, WlcmTableHeadDataComponent, WlcmTableModule, WlcmTableRowComponent, WlcmTableRowDataComponent };
115
+ export type { WlcmTableConfig, WlcmTableSelectIdFn };
package/button/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './lib/button.module';
2
- export * from './lib/components/button/button.component';
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./components/button/button.component";
3
- export declare class WlcmButtonModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<WlcmButtonModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmButtonModule, never, [typeof i1.WlcmButtonComponent], [typeof i1.WlcmButtonComponent]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<WlcmButtonModule>;
7
- }
@@ -1,19 +0,0 @@
1
- import { EventEmitter, InputSignal } from '@angular/core';
2
- import { WlcmButtonColor, WlcmButtonSize, WlcmButtonStyleType, WlcmButtonType } from '../../models/button.models';
3
- import * as i0 from "@angular/core";
4
- export declare class WlcmButtonComponent {
5
- /**
6
- * @deprecated Use `styleType` instead. This input will be removed in a future release.
7
- */
8
- type: string;
9
- size: InputSignal<WlcmButtonSize>;
10
- styleType: InputSignal<WlcmButtonStyleType>;
11
- buttonColor: InputSignal<WlcmButtonColor>;
12
- buttonType: InputSignal<WlcmButtonType>;
13
- isDisabled: boolean;
14
- isLoading: boolean;
15
- clicked: EventEmitter<void>;
16
- onClick(): void;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<WlcmButtonComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<WlcmButtonComponent, "wlcm-button", never, { "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "styleType": { "alias": "styleType"; "required": false; "isSignal": true; }; "buttonColor": { "alias": "buttonColor"; "required": false; "isSignal": true; }; "buttonType": { "alias": "buttonType"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
19
- }
@@ -1,4 +0,0 @@
1
- export type WlcmButtonType = 'button' | 'submit' | 'reset';
2
- export type WlcmButtonStyleType = 'text' | 'filled' | 'compact' | (string & NonNullable<unknown>);
3
- export type WlcmButtonColor = 'primary' | 'secondary' | 'warn' | (string & NonNullable<unknown>);
4
- export type WlcmButtonSize = 'small' | 'medium' | 'large' | (string & NonNullable<unknown>);
package/core/index.d.ts DELETED
@@ -1,11 +0,0 @@
1
- export * from './lib/utils/stream.utils';
2
- export * from './lib/utils/paginated-data-emulator.utils';
3
- export * from './lib/models/_index';
4
- export * from './lib/constants/_index';
5
- export * from './lib/services/scroll-detection.api';
6
- export * from './lib/directives/_index';
7
- export * from './lib/components/icons/close-icon/close-icon.component';
8
- export * from './lib/components/icons/calendar-icon/calendar-icon.component';
9
- export * from './lib/components/icons/chevron-down-icon/chevron-down-icon.component';
10
- export * from './lib/components/icons/search-icon/search-icon.component';
11
- export * from './lib/components/loader/loader.component';
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class WlcmDefaultLoaderComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDefaultLoaderComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<WlcmDefaultLoaderComponent, "wlcm-default-loader", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CalendarIconComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<CalendarIconComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<CalendarIconComponent, "wlcm-calendar-icon", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class ChevronDownIconComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<ChevronDownIconComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<ChevronDownIconComponent, "wlcm-chevron-down-icon", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CloseIconComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<CloseIconComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<CloseIconComponent, "wlcm-close-icon", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class SearchIconComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<SearchIconComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<SearchIconComponent, "wlcm-search-icon", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,11 +0,0 @@
1
- import { InputSignal, Signal, Type, ViewContainerRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class WlcmLoaderComponent {
4
- private loaderComponent;
5
- hidden: InputSignal<boolean>;
6
- container: Signal<ViewContainerRef | undefined>;
7
- get isHidden(): boolean;
8
- constructor(loaderComponent: Type<unknown>);
9
- static ɵfac: i0.ɵɵFactoryDeclaration<WlcmLoaderComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<WlcmLoaderComponent, "wlcm-loader", never, { "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11
- }
@@ -1,2 +0,0 @@
1
- export * from './http.constants';
2
- export * from './icon.contants';
@@ -1,2 +0,0 @@
1
- import { WlcmQueryParams } from '@wlcm/common';
2
- export declare const DEFAULT_QUERY_PARAMS: WlcmQueryParams;
@@ -1,4 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { WlcmIcons } from '../models/icon.models';
3
- export declare const DEFAULT_WLCM_ICONS: WlcmIcons;
4
- export declare const WLCM_ICONS: InjectionToken<WlcmIcons>;
@@ -1,2 +0,0 @@
1
- import { InjectionToken, Type } from '@angular/core';
2
- export declare const WLCM_LOADER_COMPONENT: InjectionToken<Type<unknown>>;
@@ -1 +0,0 @@
1
- export * from './icon.directive';
@@ -1,15 +0,0 @@
1
- import { InputSignal, OnInit, OutputEmitterRef, ViewContainerRef } from '@angular/core';
2
- import { WlcmIconName, WlcmIcons } from '../models/icon.models';
3
- import * as i0 from "@angular/core";
4
- export declare class WlcmIconDirective implements OnInit {
5
- private icons;
6
- private viewContainer;
7
- name: InputSignal<WlcmIconName>;
8
- stopPropagation: InputSignal<boolean>;
9
- clicked: OutputEmitterRef<MouseEvent>;
10
- constructor(icons: WlcmIcons, viewContainer: ViewContainerRef);
11
- ngOnInit(): void;
12
- private handleClick;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<WlcmIconDirective, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmIconDirective, "[wlcmIcon]", never, { "name": { "alias": "wlcmIcon"; "required": true; "isSignal": true; }; "stopPropagation": { "alias": "wlcmIconStopPropagation"; "required": false; "isSignal": true; }; }, { "clicked": "wlcmIconClicked"; }, never, never, true, never>;
15
- }
@@ -1,2 +0,0 @@
1
- export * from './icon.models';
2
- export * from './option.models';
@@ -1,9 +0,0 @@
1
- import { ComponentType } from '@angular/cdk/portal';
2
- export declare enum WlcmIconName {
3
- SEARCH = "SEARCH",
4
- CALENDAR = "CALENDAR",
5
- CHEVRON_DOWN = "CHEVRON_DOWN"
6
- }
7
- export type WlcmIcons = {
8
- [key in WlcmIconName]: ComponentType<unknown>;
9
- };
@@ -1,14 +0,0 @@
1
- export declare class WlcmOption<D = unknown> {
2
- value: string | boolean;
3
- viewValue: string;
4
- data?: D | undefined;
5
- constructor(value: string | boolean, viewValue: string, data?: D | undefined);
6
- }
7
- export declare class WlcmAutocompleteOption<D = unknown> extends WlcmOption<D> {
8
- value: string;
9
- viewValue: string;
10
- searchValue: string;
11
- data?: D | undefined;
12
- constructor(value: string, viewValue: string, searchValue: string, data?: D | undefined);
13
- }
14
- export type WlcmSelectOptionFormat = 'CompleteOption' | 'ValueOnly';
@@ -1,10 +0,0 @@
1
- import { NgZone } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class ScrollDetectionApi {
5
- private zone;
6
- constructor(zone: NgZone);
7
- onScrolledDown(element: HTMLElement, threshold?: number): Observable<Event>;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<ScrollDetectionApi, never>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<ScrollDetectionApi>;
10
- }
@@ -1,9 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { WlcmPaginatedData, WlcmQueryParams } from '@wlcm/common';
3
- export declare class WlcmPaginatedDataEmulator<T> {
4
- handler: (index: number) => T;
5
- private data;
6
- constructor(count: number, handler: (index: number) => T);
7
- load(params: WlcmQueryParams): Observable<WlcmPaginatedData<T>>;
8
- private populateData;
9
- }
@@ -1,6 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { Subject, BehaviorSubject, Observable } from 'rxjs';
3
- export declare class WlcmStreamUtils {
4
- static loadingDetector(subject: Subject<boolean> | BehaviorSubject<boolean> | EventEmitter<boolean>): <T>(source: Observable<T>) => Observable<T>;
5
- static get emptySource(): Observable<void>;
6
- }
@@ -1,17 +0,0 @@
1
- export { WlcmDateRangePickerInputComponent } from './lib/components/range/date-range-picker-input/date-range-picker-input.component';
2
- export { DoubleCalendarRangePickerComponent } from './lib/components/range/double-calendar-range-picker/double-calendar-range-picker.component';
3
- export { SingleCalendarRangePickerComponent } from './lib/components/range/single-calendar-range-picker/single-calendar-range-picker.component';
4
- export { WlcmDatepickerInputContainerComponent } from './lib/components/single/datepicker-input-container/datepicker-input-container.component';
5
- export { DateRangePickerInputEndDirective } from './lib/directives/ragne/date-range-picker-input-end.directive';
6
- export { DateRangePickerInputStartDirective } from './lib/directives/ragne/date-range-picker-input-start.directive';
7
- export { WlcmDatepickerInputDirective } from './lib/directives/single/datepicker-input.directive';
8
- export { WlcmDateRangeInputValidator } from './lib/utils/range/date-range-input.validators';
9
- export { WlcmDateRangeValidation } from './lib/models/range/date-range-validation.models';
10
- export { WlcmDateRangePicker } from './lib/models/range/date-range-picker.models';
11
- export { WlcmDatepickerTrigger } from './lib/directives/datepicker-trigger.base';
12
- export { WlcmDateValidation } from './lib/models/date-picker.models';
13
- export { WlcmDatepickerModule } from './lib/datepicker.module';
14
- export { WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL_PROVIDER } from './lib/constants/range/date-range-trigger-selection-model.constants';
15
- export { WLCM_DATE_RANGE_SELECTION_MODEL } from './lib/constants/range/date-range-selection-model.constants';
16
- export { WLCM_DATEPICKER_CONFIG } from './lib/constants/datepicker.constants';
17
- export { WLCM_DATE_RANGE_PICKER_BP } from './lib/constants/range/date-range-picker.constants';
@@ -1,24 +0,0 @@
1
- import { InputSignal } from '@angular/core';
2
- import { DateAdapter, MatDateFormats } from '@angular/material/core';
3
- import { WlcmIconName } from '@wlcm/angular/core';
4
- import { MatCalendar } from '@angular/material/datepicker';
5
- import * as i0 from "@angular/core";
6
- export declare class WlcmCalendarHeaderComponent {
7
- private dateAdapter;
8
- protected dateFormats: MatDateFormats;
9
- calendar: MatCalendar<Date>;
10
- readonly WlcmIconName: typeof WlcmIconName;
11
- next: InputSignal<(() => void) | undefined>;
12
- previous: InputSignal<(() => void) | undefined>;
13
- disableLeftArrow: InputSignal<boolean>;
14
- disableRightArrow: InputSignal<boolean>;
15
- displayLeftArrow: InputSignal<boolean>;
16
- displayRightArrow: InputSignal<boolean>;
17
- constructor(dateAdapter: DateAdapter<Date>, dateFormats: MatDateFormats, calendar: MatCalendar<Date>);
18
- previousClicked(): void;
19
- nextClicked(): void;
20
- changeCalendarView(): void;
21
- get periodLabel(): string;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<WlcmCalendarHeaderComponent, [null, { optional: true; }, null]>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<WlcmCalendarHeaderComponent, "wlcm-calendar-header", never, { "next": { "alias": "next"; "required": false; "isSignal": true; }; "previous": { "alias": "previous"; "required": false; "isSignal": true; }; "disableLeftArrow": { "alias": "disableLeftArrow"; "required": false; "isSignal": true; }; "disableRightArrow": { "alias": "disableRightArrow"; "required": false; "isSignal": true; }; "displayLeftArrow": { "alias": "displayLeftArrow"; "required": false; "isSignal": true; }; "displayRightArrow": { "alias": "displayRightArrow"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
- }
@@ -1,24 +0,0 @@
1
- import { MatDateFormats } from '@angular/material/core';
2
- import { WlcmDataRangeCalendar } from '../../../models/range/data-range-calendar.models';
3
- import { WlcmDatepickerConfig } from '../../../models/date-picker.models';
4
- import { MatCalendar } from '@angular/material/datepicker';
5
- import { WlcmIconName } from '@wlcm/angular/core';
6
- import * as i0 from "@angular/core";
7
- export declare class WlcmDateRangeCalendarHeaderComponent {
8
- protected rangeCalendar: WlcmDataRangeCalendar;
9
- protected dateFormats: MatDateFormats;
10
- calendar: MatCalendar<Date>;
11
- protected datepickerConfig: WlcmDatepickerConfig;
12
- readonly WlcmIconName: typeof WlcmIconName;
13
- constructor(rangeCalendar: WlcmDataRangeCalendar, dateFormats: MatDateFormats, calendar: MatCalendar<Date>, datepickerConfig: WlcmDatepickerConfig);
14
- previous: () => void;
15
- next: () => void;
16
- get minDate(): Date | undefined;
17
- get maxDate(): Date | undefined;
18
- get isPreviousDisabled(): boolean;
19
- get isNextDisabled(): boolean;
20
- get canDisplayLeftArrow(): boolean;
21
- get canDisplayRightArrow(): boolean;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<WlcmDateRangeCalendarHeaderComponent, [{ optional: true; }, { optional: true; }, null, null]>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<WlcmDateRangeCalendarHeaderComponent, "wlcm-date-range-calendar-header", never, {}, {}, never, never, true, never>;
24
- }