@wlcm/angular 19.2.6 → 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 +329 -500
  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 +375 -401
  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 +67 -85
  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 +0 -3
  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 -18
  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 -37
  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 -5
  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 -19
  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-stepper.mjs","sources":["../../../../modules/stepper/src/lib/constants/stepper.stepper.ts","../../../../modules/stepper/src/lib/constants/step.constants.ts","../../../../modules/stepper/src/lib/models/stepper.models.ts","../../../../modules/stepper/src/lib/components/step-header/step-header.component.ts","../../../../modules/stepper/src/lib/components/step-header/step-header.component.html","../../../../modules/stepper/src/lib/models/step.models.ts","../../../../modules/stepper/src/lib/components/step/step.component.ts","../../../../modules/stepper/src/lib/components/step/step.component.html","../../../../modules/stepper/src/lib/components/stepper-header/stepper-header.component.ts","../../../../modules/stepper/src/lib/components/stepper-header/stepper-header.component.html","../../../../modules/stepper/src/lib/components/stepper/stepper.component.ts","../../../../modules/stepper/src/lib/components/stepper/stepper.component.html","../../../../modules/stepper/src/lib/directives/load-on-active-step.directive.ts","../../../../modules/stepper/src/lib/stepper.module.ts","../../../../modules/stepper/src/wlcm-angular-stepper.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { WlcmStepsNavigator } from '../models/stepper.models';\n\nexport const WLCM_STEPS_NAVIGATOR: InjectionToken<WlcmStepsNavigator> = new InjectionToken('WLCM_STEPS_NAVIGATOR');\n","import { InjectionToken } from '@angular/core';\nimport { WlcmStep, WlcmStepOptions } from '../models/step.models';\n\nexport const WLCM_STEP: InjectionToken<WlcmStep> = new InjectionToken('WLCM_STEP');\n\nexport const WLCM_STEP_OPTIONS: InjectionToken<WlcmStepOptions> = new InjectionToken('WLCM_STEP_OPTIONS', {\n factory: (): WlcmStepOptions => ({\n completed: false,\n\n disabled: 'on_any_previous_incomplete',\n }),\n});\n","import { ChangeDetectorRef, Directive, Signal, contentChildren, effect } from '@angular/core';\nimport {\n BehaviorSubject,\n Observable,\n Subject,\n combineLatest,\n distinctUntilChanged,\n filter,\n map,\n skip,\n takeUntil,\n} from 'rxjs';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WLCM_STEP } from '../constants/step.constants';\nimport { WlcmStep } from './step.models';\n\nexport abstract class WlcmStepsNavigator {\n abstract get active(): WlcmStep;\n\n abstract readonly active$: Observable<WlcmStep | null>;\n\n abstract get minIncompleteStepIndex(): number;\n\n abstract readonly minIncompleteStepIndex$: Observable<number>;\n\n abstract get isActiveCompleted(): boolean;\n\n abstract next(): void;\n\n abstract previous(): void;\n\n abstract activate(key: unknown): void;\n\n abstract canActivateNext(): boolean;\n\n abstract isCurrentOrPrevious(key: unknown): boolean;\n\n abstract getStepIndex(key: unknown): number | undefined;\n}\n\n@UntilDestroy()\n@Directive()\nexport class WlcmStepperBase extends WlcmStepsNavigator {\n private _listUpdated$: Subject<void> = new Subject();\n\n private _keyToIndexMap: Map<unknown, number> = new Map();\n\n protected _steps: Signal<ReadonlyArray<WlcmStep>> = contentChildren(WLCM_STEP, { descendants: true });\n\n private readonly _active$: BehaviorSubject<WlcmStep | null> = new BehaviorSubject<WlcmStep | null>(null);\n\n readonly active$: Observable<WlcmStep | null> = this._active$.asObservable();\n\n private readonly _minIncompleteStepIndex$: BehaviorSubject<number> = new BehaviorSubject(0);\n\n readonly minIncompleteStepIndex$: Observable<number> = this._minIncompleteStepIndex$\n .asObservable()\n .pipe(filter((index: number) => index !== Infinity));\n\n constructor(protected changeDetector: ChangeDetectorRef) {\n super();\n\n effect(() => this._handleUpdatedList(this._steps()));\n }\n\n get active(): WlcmStep {\n return this._active$.value!;\n }\n\n get isActiveCompleted(): boolean {\n return this.active.completed;\n }\n\n get minIncompleteStepIndex(): number {\n return this._minIncompleteStepIndex$.value;\n }\n\n next(): void {\n if (!this.canActivateNext()) return;\n\n const index: number = this._activeIndex + 1;\n\n if (index < this._steps().length) this.activate(this._steps()[index].key);\n }\n\n previous(): void {\n const index: number = this._activeIndex - 1;\n\n if (index >= 0) this.activate(this._steps()[index].key);\n }\n\n activate(key: unknown): void {\n if (!this._keyToIndexMap.has(key)) return;\n\n const step: WlcmStep = this._getStep(key);\n\n this._active$.next(step);\n\n this.changeDetector.markForCheck();\n }\n\n canActivateNext(): boolean {\n return this.isActiveCompleted;\n }\n\n isCurrentOrPrevious(key: unknown): boolean {\n const index: number = this._keyToIndexMap.get(key)!;\n\n const activeIndex: number = this._activeIndex;\n\n return index === activeIndex || activeIndex > index;\n }\n\n getStepIndex(key: unknown): number | undefined {\n return this._keyToIndexMap.get(key);\n }\n\n private get _activeIndex(): number {\n return this._keyToIndexMap.get(this.active.key)!;\n }\n\n private _getStep(key: unknown): WlcmStep {\n return this._steps()[this._keyToIndexMap.get(key)!];\n }\n\n private _handleUpdatedList(list: ReadonlyArray<WlcmStep>): void {\n this._listUpdated$.next();\n\n this._keyToIndexMap.clear();\n\n list.forEach((step: WlcmStep, index: number) => {\n if (!step.key) step.key = `${index}`;\n\n this._keyToIndexMap.set(step.key, index);\n\n this._handleKeyChanges(step, index);\n });\n\n this._handleCompleteChanges(list);\n\n if (!this._active$.value) this.activate(list[0].key);\n }\n\n private _handleKeyChanges(step: WlcmStep, index: number): void {\n let previousKey: unknown = step.key;\n\n step.key$\n .pipe(skip(1))\n .pipe(untilDestroyed(this), takeUntil(this._listUpdated$))\n .subscribe((newKey: unknown) => {\n this._keyToIndexMap.delete(previousKey);\n\n this._keyToIndexMap.set(newKey, index);\n\n previousKey = newKey;\n });\n }\n\n private _handleCompleteChanges(list: ReadonlyArray<WlcmStep>): void {\n combineLatest(\n list.map((step: WlcmStep, index: number) =>\n step.completed$\n .pipe(distinctUntilChanged())\n .pipe(map((isCompleted: boolean) => (isCompleted ? Infinity : index)))\n )\n )\n .pipe(untilDestroyed(this), takeUntil(this._listUpdated$))\n .subscribe((indexes: number[]) => {\n const minIndex: number = Math.min(...indexes);\n\n this._minIncompleteStepIndex$.next(minIndex !== Infinity ? minIndex : -1);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, HostBinding, Inject, InputSignal, effect, input } from '@angular/core';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\nimport { WlcmStepsNavigator } from '../../models/stepper.models';\nimport { WlcmStep, WlcmStepDisableValue } from '../../models/step.models';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { Subject, map, of, switchMap, takeUntil } from 'rxjs';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-step-header',\n host: { class: 'wlcm-step-header' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './step-header.component.html',\n styleUrl: './step-header.component.scss',\n})\nexport class WlcmStepHeaderComponent {\n step: InputSignal<WlcmStep> = input.required();\n\n @HostBinding('class.wlcm-step-header-passed') get isPassed() {\n return this._key && this.navigator.isCurrentOrPrevious(this._key);\n }\n\n @HostBinding('class.wlcm-step-header-completed') get isCompleted() {\n return this._step.completed;\n }\n\n private _stepUpdated$: Subject<void> = new Subject();\n\n constructor(private elementRef: ElementRef, @Inject(WLCM_STEPS_NAVIGATOR) protected navigator: WlcmStepsNavigator) {\n effect(() => this._handleDisableStatusChanges());\n }\n\n activate(): void {\n if (this.navigator.active?.key === this.step().key) return;\n\n this.navigator.activate(this.step().key);\n }\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private get _key(): unknown {\n return this.step().key;\n }\n\n private get _step(): WlcmStep {\n return this.step();\n }\n\n private _handleDisableStatusChanges(): void {\n this._stepUpdated$.next();\n\n this.step()\n .disabled$.pipe(\n switchMap((value: WlcmStepDisableValue) => {\n if (value === 'on_any_previous_incomplete') {\n return this.navigator.minIncompleteStepIndex$.pipe(\n map((minIndex: number) => {\n if (minIndex < 0) return false;\n\n return minIndex < this.navigator.getStepIndex(this.step().key)!;\n })\n );\n }\n\n return of(value);\n })\n )\n .pipe(untilDestroyed(this), takeUntil(this._stepUpdated$))\n .subscribe((isDisabled: boolean) => {\n if (isDisabled) {\n return this.element.classList.add('wlcm-step-header-disabled');\n }\n\n this.element.classList.remove('wlcm-step-header-disabled');\n });\n }\n}\n","<button class=\"wlcm-step-header-button\" (click)=\"activate()\">\n <span class=\"wlcm-step-header-label\">{{ step().label$ | async }}</span>\n\n <div class=\"wlcm-step-header-progress-bar\">\n <div class=\"wlcm-step-header-complete-indicator\"></div>\n\n <div class=\"wlcm-step-header-pass-indicator\"></div>\n </div>\n</button>\n","import { Directive, Input } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nexport type WlcmStepDisableValue = 'on_any_previous_incomplete' | boolean;\n\nexport interface WlcmStepOptions {\n completed?: boolean;\n\n disabled?: WlcmStepDisableValue;\n}\n\nexport abstract class WlcmStep {\n abstract set key(value: unknown);\n abstract get key(): unknown;\n\n abstract key$: Observable<unknown>;\n\n abstract set label(value: string);\n abstract get label(): string;\n\n abstract label$: Observable<string>;\n\n abstract set completed(value: boolean);\n abstract get completed(): boolean;\n\n abstract completed$: Observable<boolean>;\n\n abstract set disabled(value: WlcmStepDisableValue);\n abstract get disabled(): WlcmStepDisableValue;\n\n abstract disabled$: Observable<WlcmStepDisableValue>;\n}\n\n@Directive()\nexport abstract class WlcmStepBase extends WlcmStep {\n @Input() set key(value: unknown) {\n this._key$.next(value);\n }\n get key(): unknown {\n return this._key$.value;\n }\n\n private readonly _key$: BehaviorSubject<unknown> = new BehaviorSubject<unknown>(null);\n\n readonly key$: Observable<unknown> = this._key$.asObservable();\n\n @Input({ required: true }) set label(value: string) {\n this._label$.next(value);\n }\n get label(): string {\n return this._label$.value;\n }\n\n private readonly _label$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n\n readonly label$: Observable<string> = this._label$.asObservable();\n\n @Input() set completed(value: boolean) {\n this._completed$.next(value);\n }\n get completed(): boolean {\n return this._completed$.value;\n }\n\n private readonly _completed$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n readonly completed$: Observable<boolean> = this._completed$.asObservable();\n\n @Input() set disabled(value: WlcmStepDisableValue) {\n this._disabled$.next(value);\n }\n get disabled(): WlcmStepDisableValue {\n return this._disabled$.value;\n }\n\n private readonly _disabled$: BehaviorSubject<WlcmStepDisableValue> = new BehaviorSubject<WlcmStepDisableValue>(false);\n\n readonly disabled$: Observable<WlcmStepDisableValue> = this._disabled$.asObservable();\n\n constructor(protected options: WlcmStepOptions) {\n super();\n\n this.disabled = this.options.hasOwnProperty('completed') ? this.options.completed! : false;\n\n this.disabled = this.options.hasOwnProperty('disabled') ? this.options.disabled! : 'on_any_previous_incomplete';\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Inject, NgZone, forwardRef } from '@angular/core';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmStep, WlcmStepBase, WlcmStepOptions } from '../../models/step.models';\nimport { WlcmStepsNavigator } from '../../models/stepper.models';\nimport { WLCM_STEP, WLCM_STEP_OPTIONS } from '../../constants/step.constants';\nimport { CommonModule } from '@angular/common';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-step',\n host: { class: 'wlcm-step' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './step.component.html',\n styleUrl: './step.component.scss',\n providers: [{ provide: WLCM_STEP, useExisting: forwardRef(() => WlcmStepComponent) }],\n})\nexport class WlcmStepComponent extends WlcmStepBase implements WlcmStep {\n constructor(\n private zone: NgZone,\n private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(WLCM_STEP_OPTIONS) protected override options: WlcmStepOptions,\n @Inject(WLCM_STEPS_NAVIGATOR) private stepsNavigator: WlcmStepsNavigator\n ) {\n super(options);\n\n this.zone.runOutsideAngular(() => this._handleActiveChanges());\n }\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private _handleActiveChanges(): void {\n this.stepsNavigator.active$.pipe(untilDestroyed(this)).subscribe((active: WlcmStep | null) => {\n if (active?.key === this.key) {\n this.element.classList.add('wlcm-step-active');\n\n return this.changeDetectorRef.markForCheck();\n }\n\n this.element.classList.remove('wlcm-step-active');\n });\n }\n}\n","<ng-content></ng-content>\n","import { Component, InputSignal, input } from '@angular/core';\nimport { WlcmStepHeaderComponent } from '../step-header/step-header.component';\nimport { WlcmStep } from '../../models/step.models';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-stepper-header',\n host: { class: 'wlcm-stepper-header' },\n standalone: true,\n imports: [CommonModule, WlcmStepHeaderComponent],\n templateUrl: './stepper-header.component.html',\n styleUrl: './stepper-header.component.scss',\n})\nexport class WlcmStepperHeaderComponent {\n steps: InputSignal<ReadonlyArray<WlcmStep>> = input.required();\n}\n","@for (step of steps(); track step) {\n<wlcm-step-header [step]=\"step\"></wlcm-step-header>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, forwardRef } from '@angular/core';\nimport { WlcmStepperHeaderComponent } from '../stepper-header/stepper-header.component';\nimport { WlcmStepperBase } from '../../models/stepper.models';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\n\n@Component({\n selector: 'wlcm-stepper',\n host: { class: 'wlcm-stepper' },\n standalone: true,\n imports: [CommonModule, WlcmStepperHeaderComponent],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n providers: [{ provide: WLCM_STEPS_NAVIGATOR, useExisting: forwardRef(() => WlcmStepperComponent) }],\n})\nexport class WlcmStepperComponent extends WlcmStepperBase {}\n","<wlcm-stepper-header [steps]=\"_steps()\"></wlcm-stepper-header>\n\n<ng-content select=\"wlcm-step\"></ng-content>\n","import { Directive, Inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { WLCM_STEP } from '../constants/step.constants';\nimport { WlcmStep } from '../models/step.models';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WLCM_STEPS_NAVIGATOR } from '../constants/stepper.stepper';\nimport { WlcmStepsNavigator } from '../models/stepper.models';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmLoadOnActiveStep]',\n standalone: true,\n})\nexport class WlcmLoadOnActiveStepDirective {\n constructor(\n @Inject(WLCM_STEP) protected step: WlcmStep,\n @Inject(WLCM_STEPS_NAVIGATOR) protected navigator: WlcmStepsNavigator,\n private templateRef: TemplateRef<void>,\n private viewContainer: ViewContainerRef\n ) {\n this.navigator.active$.pipe(untilDestroyed(this)).subscribe((active: WlcmStep | null) => {\n if (active?.key === step.key) {\n this.viewContainer.clear();\n\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n });\n }\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmStepperComponent } from './components/stepper/stepper.component';\nimport { WlcmStepHeaderComponent } from './components/step-header/step-header.component';\nimport { WlcmStepperHeaderComponent } from './components/stepper-header/stepper-header.component';\nimport { WlcmStepComponent } from './components/step/step.component';\nimport { WlcmLoadOnActiveStepDirective } from './directives/load-on-active-step.directive';\n\nconst publicComponents: Type<unknown>[] = [\n WlcmStepComponent,\n WlcmStepperComponent,\n WlcmStepHeaderComponent,\n WlcmStepperHeaderComponent,\n];\n\nconst publicDirectives: Type<unknown>[] = [WlcmLoadOnActiveStepDirective];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n})\nexport class WlcmStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wlcm-angular-stepper.mjs","sources":["../../../../modules/stepper/src/lib/constants/stepper.stepper.ts","../../../../modules/stepper/src/lib/components/step-header/step-header.component.ts","../../../../modules/stepper/src/lib/components/step-header/step-header.component.html","../../../../modules/stepper/src/lib/models/step.models.ts","../../../../modules/stepper/src/lib/constants/step.constants.ts","../../../../modules/stepper/src/lib/components/step/step.component.ts","../../../../modules/stepper/src/lib/components/step/step.component.html","../../../../modules/stepper/src/lib/components/stepper-header/stepper-header.component.ts","../../../../modules/stepper/src/lib/components/stepper-header/stepper-header.component.html","../../../../modules/stepper/src/lib/models/stepper.models.ts","../../../../modules/stepper/src/lib/components/stepper/stepper.component.ts","../../../../modules/stepper/src/lib/components/stepper/stepper.component.html","../../../../modules/stepper/src/lib/directives/load-on-active-step.directive.ts","../../../../modules/stepper/src/lib/stepper.module.ts","../../../../modules/stepper/src/wlcm-angular-stepper.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { WlcmStepsNavigator } from '../models/stepper.models';\n\nexport const WLCM_STEPS_NAVIGATOR: InjectionToken<WlcmStepsNavigator> = new InjectionToken('WLCM_STEPS_NAVIGATOR');\n","import { ChangeDetectionStrategy, Component, InputSignal, Signal, computed, inject, input } from '@angular/core';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\nimport { WlcmStepsNavigator } from '../../models/stepper.models';\nimport { WlcmStep, WlcmStepDisableValue } from '../../models/step.models';\n\n@Component({\n selector: 'wlcm-step-header',\n host: {\n class: 'wlcm-step-header',\n '[class.wlcm-step-header-passed]': 'isPassed()',\n '[class.wlcm-step-header-completed]': 'isCompleted()',\n '[class.wlcm-step-header-disabled]': 'isDisabled()',\n },\n imports: [],\n templateUrl: './step-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './step-header.component.scss',\n})\nexport class WlcmStepHeaderComponent {\n readonly step: InputSignal<WlcmStep> = input.required();\n\n protected navigator: WlcmStepsNavigator = inject(WLCM_STEPS_NAVIGATOR);\n\n readonly isPassed: Signal<boolean> = computed(() => {\n const key: unknown = this.step().key();\n\n return !!key && this.navigator.isCurrentOrPrevious(key);\n });\n\n readonly isCompleted: Signal<boolean> = computed(() => this.step().completed());\n\n readonly isDisabled: Signal<boolean> = computed(() => {\n const disabled: WlcmStepDisableValue = this.step().disabled();\n\n if (disabled !== 'on_any_previous_incomplete') return disabled;\n\n const minIndex: number = this.navigator.minIncompleteStepIndex$();\n\n if (minIndex < 0) return false;\n\n return minIndex < this.navigator.getStepIndex(this.step().key())!;\n });\n\n activate(): void {\n if (this.navigator.active?.key() === this.step().key()) return;\n\n this.navigator.activate(this.step().key());\n }\n}\n","<button class=\"wlcm-step-header-button\" (click)=\"activate()\">\n <span class=\"wlcm-step-header-label\">{{ step().label() }}</span>\n\n <div class=\"wlcm-step-header-progress-bar\">\n <div class=\"wlcm-step-header-complete-indicator\"></div>\n\n <div class=\"wlcm-step-header-pass-indicator\"></div>\n </div>\n</button>\n","import { Directive, InputSignal, ModelSignal, input, model } from '@angular/core';\n\nexport type WlcmStepDisableValue = 'on_any_previous_incomplete' | boolean;\n\nexport interface WlcmStepOptions {\n completed?: boolean;\n\n disabled?: WlcmStepDisableValue;\n}\n\nexport abstract class WlcmStep {\n abstract readonly key: ModelSignal<unknown>;\n\n abstract readonly label: InputSignal<string>;\n\n abstract readonly completed: ModelSignal<boolean>;\n\n abstract readonly disabled: ModelSignal<WlcmStepDisableValue>;\n}\n\n@Directive()\nexport abstract class WlcmStepBase extends WlcmStep {\n readonly key: ModelSignal<unknown> = model<unknown>(null);\n\n readonly label: InputSignal<string> = input.required<string>();\n\n readonly completed: ModelSignal<boolean> = model<boolean>(false);\n\n readonly disabled: ModelSignal<WlcmStepDisableValue> = model<WlcmStepDisableValue>('on_any_previous_incomplete');\n\n constructor(protected options: WlcmStepOptions) {\n super();\n\n if (Object.prototype.hasOwnProperty.call(this.options, 'completed')) {\n this.completed.set(this.options.completed!);\n }\n\n if (Object.prototype.hasOwnProperty.call(this.options, 'disabled')) {\n this.disabled.set(this.options.disabled!);\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { WlcmStep, WlcmStepOptions } from '../models/step.models';\n\nexport const WLCM_STEP: InjectionToken<WlcmStep> = new InjectionToken('WLCM_STEP');\n\nexport const WLCM_STEP_OPTIONS: InjectionToken<WlcmStepOptions> = new InjectionToken('WLCM_STEP_OPTIONS', {\n factory: (): WlcmStepOptions => ({\n completed: false,\n\n disabled: 'on_any_previous_incomplete',\n }),\n});\n","import { ChangeDetectionStrategy, Component, Signal, computed, forwardRef, inject } from '@angular/core';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\nimport { WlcmStep, WlcmStepBase, WlcmStepOptions } from '../../models/step.models';\nimport { WlcmStepsNavigator } from '../../models/stepper.models';\nimport { WLCM_STEP, WLCM_STEP_OPTIONS } from '../../constants/step.constants';\n\n@Component({\n selector: 'wlcm-step',\n host: {\n class: 'wlcm-step',\n '[class.wlcm-step-active]': 'isActive()',\n },\n imports: [],\n templateUrl: './step.component.html',\n styleUrl: './step.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: WLCM_STEP, useExisting: forwardRef(() => WlcmStepComponent) }],\n})\nexport class WlcmStepComponent extends WlcmStepBase implements WlcmStep {\n private stepsNavigator: WlcmStepsNavigator = inject(WLCM_STEPS_NAVIGATOR);\n\n readonly isActive: Signal<boolean> = computed(() => this.stepsNavigator.active$()?.key() === this.key());\n\n constructor() {\n super(inject<WlcmStepOptions>(WLCM_STEP_OPTIONS));\n }\n}\n","<ng-content></ng-content>\n","import { Component, InputSignal, input, ChangeDetectionStrategy } from '@angular/core';\nimport { WlcmStepHeaderComponent } from '../step-header/step-header.component';\nimport { WlcmStep } from '../../models/step.models';\n\n\n@Component({\n selector: 'wlcm-stepper-header',\n host: { class: 'wlcm-stepper-header' },\n imports: [WlcmStepHeaderComponent],\n templateUrl: './stepper-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './stepper-header.component.scss',\n})\nexport class WlcmStepperHeaderComponent {\n steps: InputSignal<ReadonlyArray<WlcmStep>> = input.required();\n}\n","@for (step of steps(); track step) {\n<wlcm-step-header [step]=\"step\"></wlcm-step-header>\n}\n","import { Directive, Signal, WritableSignal, computed, contentChildren, effect, signal } from '@angular/core';\nimport { WLCM_STEP } from '../constants/step.constants';\nimport { WlcmStep } from './step.models';\n\nexport abstract class WlcmStepsNavigator {\n abstract get active(): WlcmStep;\n\n abstract readonly active$: Signal<WlcmStep | null>;\n\n abstract get minIncompleteStepIndex(): number;\n\n abstract readonly minIncompleteStepIndex$: Signal<number>;\n\n abstract get isActiveCompleted(): boolean;\n\n abstract next(): void;\n\n abstract previous(): void;\n\n abstract activate(key: unknown): void;\n\n abstract canActivateNext(): boolean;\n\n abstract isCurrentOrPrevious(key: unknown): boolean;\n\n abstract getStepIndex(key: unknown): number | undefined;\n}\n\n@Directive()\nexport class WlcmStepperBase extends WlcmStepsNavigator {\n protected _steps: Signal<ReadonlyArray<WlcmStep>> = contentChildren(WLCM_STEP, { descendants: true });\n\n private readonly _active: WritableSignal<WlcmStep | null> = signal<WlcmStep | null>(null);\n\n readonly active$: Signal<WlcmStep | null> = this._active.asReadonly();\n\n private readonly _keyToIndexMap: Signal<Map<unknown, number>> = computed(() => {\n const map: Map<unknown, number> = new Map();\n\n this._steps().forEach((step: WlcmStep, index: number) => map.set(step.key(), index));\n\n return map;\n });\n\n readonly minIncompleteStepIndex$: Signal<number> = computed(() => {\n const steps: ReadonlyArray<WlcmStep> = this._steps();\n\n const minIndex: number = Math.min(\n ...steps.map((step: WlcmStep, index: number) => (step.completed() ? Infinity : index))\n );\n\n return minIndex !== Infinity ? minIndex : -1;\n });\n\n constructor() {\n super();\n\n // Auto-assign a positional key to any step that was declared without one.\n effect(() => {\n this._steps().forEach((step: WlcmStep, index: number) => {\n if (!step.key()) step.key.set(`${index}`);\n });\n });\n\n // Activate the first step once the list is populated and nothing is active yet.\n effect(() => {\n const steps: ReadonlyArray<WlcmStep> = this._steps();\n\n if (!this._active() && steps.length) this.activate(steps[0].key());\n });\n }\n\n get active(): WlcmStep {\n return this._active()!;\n }\n\n get isActiveCompleted(): boolean {\n return this.active.completed();\n }\n\n get minIncompleteStepIndex(): number {\n return this.minIncompleteStepIndex$();\n }\n\n next(): void {\n if (!this.canActivateNext()) return;\n\n const index: number = this._activeIndex + 1;\n\n if (index < this._steps().length) this.activate(this._steps()[index].key());\n }\n\n previous(): void {\n const index: number = this._activeIndex - 1;\n\n if (index >= 0) this.activate(this._steps()[index].key());\n }\n\n activate(key: unknown): void {\n if (!this._keyToIndexMap().has(key)) return;\n\n this._active.set(this._getStep(key));\n }\n\n canActivateNext(): boolean {\n return this.isActiveCompleted;\n }\n\n isCurrentOrPrevious(key: unknown): boolean {\n const index: number = this._keyToIndexMap().get(key)!;\n\n const activeIndex: number = this._activeIndex;\n\n return index === activeIndex || activeIndex > index;\n }\n\n getStepIndex(key: unknown): number | undefined {\n return this._keyToIndexMap().get(key);\n }\n\n private get _activeIndex(): number {\n return this._keyToIndexMap().get(this.active.key())!;\n }\n\n private _getStep(key: unknown): WlcmStep {\n return this._steps()[this._keyToIndexMap().get(key)!];\n }\n}\n","\nimport { Component, forwardRef, ChangeDetectionStrategy } from '@angular/core';\nimport { WlcmStepperHeaderComponent } from '../stepper-header/stepper-header.component';\nimport { WlcmStepperBase } from '../../models/stepper.models';\nimport { WLCM_STEPS_NAVIGATOR } from '../../constants/stepper.stepper';\n\n@Component({\n selector: 'wlcm-stepper',\n host: { class: 'wlcm-stepper' },\n imports: [WlcmStepperHeaderComponent],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: WLCM_STEPS_NAVIGATOR, useExisting: forwardRef(() => WlcmStepperComponent) }],\n})\nexport class WlcmStepperComponent extends WlcmStepperBase {}\n","<wlcm-stepper-header [steps]=\"_steps()\"></wlcm-stepper-header>\n\n<ng-content select=\"wlcm-step\"></ng-content>\n","import { Directive, TemplateRef, ViewContainerRef, effect, inject } from '@angular/core';\nimport { WLCM_STEP } from '../constants/step.constants';\nimport { WlcmStep } from '../models/step.models';\nimport { WLCM_STEPS_NAVIGATOR } from '../constants/stepper.stepper';\nimport { WlcmStepsNavigator } from '../models/stepper.models';\n\n@Directive({\n selector: '[wlcmLoadOnActiveStep]',\n})\nexport class WlcmLoadOnActiveStepDirective {\n protected step: WlcmStep = inject(WLCM_STEP);\n\n protected navigator: WlcmStepsNavigator = inject(WLCM_STEPS_NAVIGATOR);\n\n private templateRef: TemplateRef<void> = inject(TemplateRef);\n\n private viewContainer: ViewContainerRef = inject(ViewContainerRef);\n\n constructor() {\n effect(() => {\n const active: WlcmStep | null = this.navigator.active$();\n\n this.viewContainer.clear();\n\n if (active?.key() === this.step.key()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n });\n }\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmStepperComponent } from './components/stepper/stepper.component';\nimport { WlcmStepHeaderComponent } from './components/step-header/step-header.component';\nimport { WlcmStepperHeaderComponent } from './components/stepper-header/stepper-header.component';\nimport { WlcmStepComponent } from './components/step/step.component';\nimport { WlcmLoadOnActiveStepDirective } from './directives/load-on-active-step.directive';\n\nconst publicComponents: Type<unknown>[] = [\n WlcmStepComponent,\n WlcmStepperComponent,\n WlcmStepHeaderComponent,\n WlcmStepperHeaderComponent,\n];\n\nconst publicDirectives: Type<unknown>[] = [WlcmLoadOnActiveStepDirective];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n})\nexport class WlcmStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@wlcm/angular/stepper",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^22.0.0",
6
+ "@angular/core": "^22.0.0"
7
+ },
8
+ "sideEffects": false,
9
+ "module": "fesm2022/wlcm-angular-stepper.mjs",
10
+ "typings": "types/wlcm-angular-stepper.d.ts",
11
+ "exports": {
12
+ "./package.json": {
13
+ "default": "./package.json"
14
+ },
15
+ ".": {
16
+ "types": "./types/wlcm-angular-stepper.d.ts",
17
+ "default": "./fesm2022/wlcm-angular-stepper.mjs"
18
+ }
19
+ },
20
+ "type": "module",
21
+ "dependencies": {
22
+ "tslib": "^2.3.0"
23
+ }
24
+ }
@@ -0,0 +1,114 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ModelSignal, InputSignal, Signal, InjectionToken } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+
5
+ type WlcmStepDisableValue = 'on_any_previous_incomplete' | boolean;
6
+ interface WlcmStepOptions {
7
+ completed?: boolean;
8
+ disabled?: WlcmStepDisableValue;
9
+ }
10
+ declare abstract class WlcmStep {
11
+ abstract readonly key: ModelSignal<unknown>;
12
+ abstract readonly label: InputSignal<string>;
13
+ abstract readonly completed: ModelSignal<boolean>;
14
+ abstract readonly disabled: ModelSignal<WlcmStepDisableValue>;
15
+ }
16
+ declare abstract class WlcmStepBase extends WlcmStep {
17
+ protected options: WlcmStepOptions;
18
+ readonly key: ModelSignal<unknown>;
19
+ readonly label: InputSignal<string>;
20
+ readonly completed: ModelSignal<boolean>;
21
+ readonly disabled: ModelSignal<WlcmStepDisableValue>;
22
+ constructor(options: WlcmStepOptions);
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepBase, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmStepBase, never, never, { "key": { "alias": "key"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "completed": { "alias": "completed"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "key": "keyChange"; "completed": "completedChange"; "disabled": "disabledChange"; }, never, never, true, never>;
25
+ }
26
+
27
+ declare abstract class WlcmStepsNavigator {
28
+ abstract get active(): WlcmStep;
29
+ abstract readonly active$: Signal<WlcmStep | null>;
30
+ abstract get minIncompleteStepIndex(): number;
31
+ abstract readonly minIncompleteStepIndex$: Signal<number>;
32
+ abstract get isActiveCompleted(): boolean;
33
+ abstract next(): void;
34
+ abstract previous(): void;
35
+ abstract activate(key: unknown): void;
36
+ abstract canActivateNext(): boolean;
37
+ abstract isCurrentOrPrevious(key: unknown): boolean;
38
+ abstract getStepIndex(key: unknown): number | undefined;
39
+ }
40
+ declare class WlcmStepperBase extends WlcmStepsNavigator {
41
+ protected _steps: Signal<ReadonlyArray<WlcmStep>>;
42
+ private readonly _active;
43
+ readonly active$: Signal<WlcmStep | null>;
44
+ private readonly _keyToIndexMap;
45
+ readonly minIncompleteStepIndex$: Signal<number>;
46
+ constructor();
47
+ get active(): WlcmStep;
48
+ get isActiveCompleted(): boolean;
49
+ get minIncompleteStepIndex(): number;
50
+ next(): void;
51
+ previous(): void;
52
+ activate(key: unknown): void;
53
+ canActivateNext(): boolean;
54
+ isCurrentOrPrevious(key: unknown): boolean;
55
+ getStepIndex(key: unknown): number | undefined;
56
+ private get _activeIndex();
57
+ private _getStep;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperBase, never>;
59
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmStepperBase, never, never, {}, {}, ["_steps"], never, true, never>;
60
+ }
61
+
62
+ declare class WlcmStepHeaderComponent {
63
+ readonly step: InputSignal<WlcmStep>;
64
+ protected navigator: WlcmStepsNavigator;
65
+ readonly isPassed: Signal<boolean>;
66
+ readonly isCompleted: Signal<boolean>;
67
+ readonly isDisabled: Signal<boolean>;
68
+ activate(): void;
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepHeaderComponent, never>;
70
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmStepHeaderComponent, "wlcm-step-header", never, { "step": { "alias": "step"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
71
+ }
72
+
73
+ declare class WlcmStepComponent extends WlcmStepBase implements WlcmStep {
74
+ private stepsNavigator;
75
+ readonly isActive: Signal<boolean>;
76
+ constructor();
77
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepComponent, never>;
78
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmStepComponent, "wlcm-step", never, {}, {}, never, ["*"], true, never>;
79
+ }
80
+
81
+ declare class WlcmStepperHeaderComponent {
82
+ steps: InputSignal<ReadonlyArray<WlcmStep>>;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperHeaderComponent, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmStepperHeaderComponent, "wlcm-stepper-header", never, { "steps": { "alias": "steps"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
85
+ }
86
+
87
+ declare class WlcmStepperComponent extends WlcmStepperBase {
88
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperComponent, never>;
89
+ static ɵcmp: i0.ɵɵComponentDeclaration<WlcmStepperComponent, "wlcm-stepper", never, {}, {}, never, ["wlcm-step"], true, never>;
90
+ }
91
+
92
+ declare class WlcmLoadOnActiveStepDirective {
93
+ protected step: WlcmStep;
94
+ protected navigator: WlcmStepsNavigator;
95
+ private templateRef;
96
+ private viewContainer;
97
+ constructor();
98
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmLoadOnActiveStepDirective, never>;
99
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmLoadOnActiveStepDirective, "[wlcmLoadOnActiveStep]", never, {}, {}, never, never, true, never>;
100
+ }
101
+
102
+ declare class WlcmStepperModule {
103
+ static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperModule, never>;
104
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmStepperModule, never, [typeof i1.CommonModule, typeof WlcmStepComponent, typeof WlcmStepperComponent, typeof WlcmStepHeaderComponent, typeof WlcmStepperHeaderComponent, typeof WlcmLoadOnActiveStepDirective], [typeof WlcmStepComponent, typeof WlcmStepperComponent, typeof WlcmStepHeaderComponent, typeof WlcmStepperHeaderComponent, typeof WlcmLoadOnActiveStepDirective]>;
105
+ static ɵinj: i0.ɵɵInjectorDeclaration<WlcmStepperModule>;
106
+ }
107
+
108
+ declare const WLCM_STEP: InjectionToken<WlcmStep>;
109
+ declare const WLCM_STEP_OPTIONS: InjectionToken<WlcmStepOptions>;
110
+
111
+ declare const WLCM_STEPS_NAVIGATOR: InjectionToken<WlcmStepsNavigator>;
112
+
113
+ export { WLCM_STEP, WLCM_STEPS_NAVIGATOR, WLCM_STEP_OPTIONS, WlcmLoadOnActiveStepDirective, WlcmStep, WlcmStepComponent, WlcmStepHeaderComponent, WlcmStepperComponent, WlcmStepperHeaderComponent, WlcmStepperModule, WlcmStepsNavigator };
114
+ export type { WlcmStepDisableValue, WlcmStepOptions };
@@ -1,9 +1,6 @@
1
- @use 'sass:map';
2
1
  @use '../../core/utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .wlcm-button {
8
5
  display: flex;
9
6
  align-items: center;
@@ -16,7 +13,7 @@
16
13
  &__content {
17
14
  display: flex;
18
15
  align-items: center;
19
- font-family: map-get($theme, bold-font-family);
16
+ @include utils.font(bold);
20
17
  white-space: nowrap;
21
18
  font-size: 14px;
22
19
  }
@@ -36,108 +33,54 @@
36
33
  padding: 0 16px;
37
34
  }
38
35
 
39
- // ⚠️ Temporary fallback to avoid conflicts with the previous styling method.
40
- // In future cleanup, remove legacy style variants (e.g., wlcm-button--primary, etc.)
41
- // and fully rely on styleType + color combination.
42
- &:not(
43
- &.wlcm-button--primary,
44
- &.wlcm-button--secondary,
45
- &.wlcm-button--accent,
46
- &.wlcm-button--borderless,
47
- &.wlcm-button--paddingless
48
- ) {
36
+ &--style-text {
49
37
  &.wlcm-button {
50
- &--style-text {
51
- &.wlcm-button {
52
- background-color: transparent;
53
-
54
- &--color-primary {
55
- color: map-get($theme, primary-color);
56
- }
57
- }
58
- }
38
+ background-color: transparent;
59
39
 
60
- &--style-filled {
61
- &.wlcm-button {
62
- &--color-primary {
63
- color: #ffffff;
64
- background-color: map-get($theme, primary-color);
65
-
66
- &:hover {
67
- background-color: lighten(map-get($theme, primary-color), 5%);
68
- }
69
- }
70
- }
71
- }
72
-
73
- &--style-compact {
74
- padding-left: 0;
75
- padding-right: 0;
76
- background-color: transparent;
77
-
78
- &.wlcm-button--disabled {
79
- pointer-events: none;
80
- user-select: none;
81
- opacity: 0.5;
82
- }
83
-
84
- &--color-primary {
85
- color: map-get($theme, primary-color);
86
- }
40
+ &--color-primary {
41
+ color: var(--mat-sys-primary);
87
42
  }
88
43
  }
89
44
  }
90
45
 
91
- &--primary {
92
- color: #ffffff;
93
- background-color: map-get($theme, primary-color);
94
-
95
- &:hover {
96
- background-color: lighten(map-get($theme, primary-color), 5%);
97
- }
98
- }
99
-
100
- &--secondary {
101
- background-color: map-get($theme, accent-color);
102
- color: #5a5a5a;
103
-
104
- &:hover {
105
- background-color: lighten(map-get($theme, accent-color), 2.5%);
106
- }
107
- }
108
-
109
- &--accent {
110
- background-color: map-get($theme, warn-color);
111
- color: #ffffff;
112
-
113
- &:hover {
114
- background-color: lighten(map-get($theme, warn-color), 5%);
46
+ &--style-filled {
47
+ &.wlcm-button {
48
+ &--color-primary {
49
+ color: var(--mat-sys-on-primary);
50
+ background-color: var(--mat-sys-primary);
51
+
52
+ &:hover {
53
+ background-color: color-mix(
54
+ in srgb,
55
+ var(--mat-sys-on-primary) 10%,
56
+ var(--mat-sys-primary)
57
+ );
58
+ }
59
+ }
115
60
  }
116
61
  }
117
62
 
118
- &--borderless {
119
- background-color: transparent;
120
- color: map-get($theme, primary-color);
121
- }
122
-
123
- &--paddingless {
63
+ &--style-compact {
124
64
  padding-left: 0;
125
65
  padding-right: 0;
126
66
  background-color: transparent;
127
- color: map-get($theme, primary-color);
128
67
 
129
68
  &.wlcm-button--disabled {
130
69
  pointer-events: none;
131
70
  user-select: none;
132
71
  opacity: 0.5;
133
72
  }
73
+
74
+ &--color-primary {
75
+ color: var(--mat-sys-primary);
76
+ }
134
77
  }
135
78
 
136
79
  &--loading {
137
80
  pointer-events: none;
138
81
  opacity: 0.7;
139
82
 
140
- mat-spinner {
83
+ .wlcm-loader {
141
84
  margin-right: 8px;
142
85
  }
143
86
  }
@@ -1,9 +1,6 @@
1
- @use 'sass:map';
2
1
  @use '../../core/utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .wlcm-calendar-header {
8
5
  display: flex;
9
6
  align-items: center;
@@ -25,8 +22,8 @@
25
22
  .wlcm-calendar-header-period-label {
26
23
  font-size: 16px;
27
24
  line-height: 24px;
28
- font-family: map-get($theme, bold-font-family);
29
- color: map-get($theme, text-black-color);
25
+ @include utils.font(bold);
26
+ color: var(--mat-sys-on-surface);
30
27
  }
31
28
 
32
29
  .wlcm-calendar-header-button-container {
@@ -42,7 +39,7 @@
42
39
  display: flex;
43
40
  align-items: center;
44
41
  justify-content: center;
45
- background-color: map-get($theme, selected-option-color);
42
+ background-color: var(--mat-sys-primary-container);
46
43
  border-radius: 8px;
47
44
  cursor: pointer;
48
45
  padding: 0;
@@ -1,9 +1,6 @@
1
- @use 'sass:map';
2
1
  @use '../../core/utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .wlcm-calendar {
8
5
  &.mat-calendar {
9
6
  width: 224px;
@@ -50,33 +47,33 @@
50
47
  }
51
48
 
52
49
  .mat-calendar-table-header th {
53
- color: #a4a3a3;
50
+ color: var(--mat-sys-on-surface-variant);
54
51
  font-size: 16px;
55
52
  }
56
53
 
57
54
  .mat-calendar-body-cell-content {
58
55
  font-size: 16px;
59
56
  border-radius: 8px;
60
- color: map-get($theme, text-black-color);
57
+ color: var(--mat-sys-on-surface);
61
58
  }
62
59
 
63
60
  .mat-calendar-body-selected {
64
- background-color: map-get($theme, selected-option-color);
61
+ background-color: var(--mat-sys-primary-container);
65
62
  }
66
63
 
67
64
  .mat-calendar-body-today {
68
65
  border: none;
69
- color: map-get($theme, primary-color);
70
- font-family: map-get($theme, bold-font-family);
66
+ color: var(--mat-sys-primary);
67
+ @include utils.font(bold);
71
68
  }
72
69
 
73
70
  .mat-calendar-body-in-range {
74
71
  &::before {
75
- background: map-get($theme, selected-option-color);
72
+ background: var(--mat-sys-primary-container);
76
73
  }
77
74
 
78
75
  .mat-calendar-body-cell-content {
79
- color: map-get($theme, primary-color);
76
+ color: var(--mat-sys-primary);
80
77
  }
81
78
  }
82
79
 
@@ -84,13 +81,13 @@
84
81
  > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(
85
82
  .mat-calendar-body-comparison-identical
86
83
  ) {
87
- background: map-get($theme, selected-option-color);
84
+ background: var(--mat-sys-primary-container);
88
85
  }
89
86
 
90
87
  .mat-calendar-body-in-preview {
91
88
  .mat-calendar-body-cell-preview {
92
89
  border: none;
93
- background: map-get($theme, selected-option-color);
90
+ background: var(--mat-sys-primary-container);
94
91
  }
95
92
  }
96
93
 
@@ -104,7 +101,7 @@
104
101
  .mat-calendar-body-comparison-identical
105
102
  ) {
106
103
  background-color: transparent;
107
- border: 1px solid map-get($theme, primary-color);
104
+ border: 1px solid var(--mat-sys-primary);
108
105
  }
109
106
  }
110
107
  }
@@ -1,18 +1,15 @@
1
- @use 'sass:map';
2
1
  @use '../../core/utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .wlcm-entities-count {
8
5
  height: 14px;
9
6
  min-width: 14px;
10
7
  display: flex;
11
8
  align-items: center;
12
9
  justify-content: center;
13
- font-family: map-get($theme, bold-font-family);
14
- background: map-get($theme, selected-option-color);
15
- color: map-get($theme, primary-color);
10
+ @include utils.font(bold);
11
+ background: var(--mat-sys-primary-container);
12
+ color: var(--mat-sys-primary);
16
13
  letter-spacing: 0.32px;
17
14
  box-sizing: border-box;
18
15
  border-radius: 4px;
@@ -21,7 +18,7 @@
21
18
  }
22
19
 
23
20
  .wlcm-hint {
24
- color: #5a5a5a;
21
+ color: var(--mat-sys-on-surface-variant);
25
22
  letter-spacing: 0.35px;
26
23
  line-height: 20px;
27
24
  font-size: 12px;
@@ -1,9 +1,6 @@
1
- @use 'sass:map';
2
1
  @use '../../core/utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .wlcm-datepicker-input-container {
8
5
  width: 100%;
9
6
  display: block;
@@ -1,14 +1,11 @@
1
- @use 'sass:map';
2
1
  @use '../../core/utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .wlcm-datepicker-panel {
8
5
  width: 100%;
9
6
  display: block;
10
- background: #ffffff;
11
- box-shadow: 0 4px 32px 0 rgba(0, 0, 0, 0.16);
7
+ background: var(--mat-sys-surface);
8
+ box-shadow: 0 4px 32px 0 color-mix(in srgb, var(--mat-sys-shadow) 16%, transparent);
12
9
  border-radius: 12px;
13
10
  padding: 16px;
14
11
  }
@@ -1,9 +1,6 @@
1
- @use 'sass:map';
2
1
  @use '../../core/utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .wlcm-datepicker-select-only-mode {
8
5
  cursor: pointer;
9
6
 
@@ -1,9 +1,6 @@
1
- @use 'sass:map';
2
1
  @use '../../../core/utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .double-calendar-range-picker-body {
8
5
  display: grid;
9
6
  align-items: flex-start;
@@ -1,9 +1,6 @@
1
- @use 'sass:map';
2
1
  @use '../../../core//utils' as utils;
3
2
 
4
3
  @mixin theme($theme-config) {
5
- $theme: utils.using-theme($theme_config);
6
-
7
4
  .wlcm-form-field.wlcm-field-disabled {
8
5
  .wlcm-date-range-picker-input {
9
6
  pointer-events: none;
@@ -24,13 +21,13 @@
24
21
  outline: none;
25
22
  height: 18px;
26
23
  padding: 0;
27
- font-family: map-get($theme, regular-font-family);
28
- color: map-get($theme, field-text-color);
24
+ @include utils.font(regular);
25
+ color: var(--mat-sys-on-surface);
29
26
  background: transparent;
30
27
  max-width: 120px;
31
28
 
32
29
  &::placeholder {
33
- color: map-get($theme, placeholder-color);
30
+ color: var(--mat-sys-on-surface-variant);
34
31
  }
35
32
  }
36
33
 
@@ -45,6 +42,6 @@
45
42
  width: 12px;
46
43
  height: 1px;
47
44
  margin: 0 4px;
48
- background: map-get($theme, field-text-color);
45
+ background: var(--mat-sys-on-surface);
49
46
  }
50
47
  }