@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-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,13 +1,18 @@
1
- @use 'sass:map';
2
- @use '../../../core//utils' as utils;
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;
10
7
  grid-auto-flow: column;
11
- grid-gap: 32px;
8
+ }
9
+
10
+ .double-calendar-range-picker {
11
+ &__calendars-container {
12
+ display: grid;
13
+ align-items: flex-start;
14
+ grid-auto-flow: column;
15
+ grid-gap: 32px;
16
+ }
12
17
  }
13
18
  }