@odx/angular 12.21.4 → 12.21.6

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 (149) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +6 -0
  3. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +11 -1
  4. package/esm2022/components/timepicker/lib/timepicker.component.mjs +10 -7
  5. package/fesm2022/odx-angular-animations.mjs.map +1 -1
  6. package/fesm2022/odx-angular-breakpoints.mjs +1 -1
  7. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  8. package/fesm2022/odx-angular-cdk-a11y.mjs +1 -1
  9. package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
  10. package/fesm2022/odx-angular-cdk-active-indicator.mjs +1 -1
  11. package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
  12. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +1 -1
  13. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  14. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +1 -1
  15. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  16. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +1 -1
  17. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  18. package/fesm2022/odx-angular-cdk-custom-form-control.mjs +1 -1
  19. package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  20. package/fesm2022/odx-angular-cdk-date-input.mjs.map +1 -1
  21. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +1 -1
  22. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  23. package/fesm2022/odx-angular-cdk-event-plugins.mjs.map +1 -1
  24. package/fesm2022/odx-angular-cdk-expandable.mjs +1 -1
  25. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  26. package/fesm2022/odx-angular-cdk-option-control.mjs +1 -1
  27. package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
  28. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +1 -1
  29. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  30. package/fesm2022/odx-angular-cdk-scrollable.mjs.map +1 -1
  31. package/fesm2022/odx-angular-components-accordion.mjs +1 -1
  32. package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
  33. package/fesm2022/odx-angular-components-action-group.mjs +1 -1
  34. package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
  35. package/fesm2022/odx-angular-components-anchor-navigation.mjs +1 -1
  36. package/fesm2022/odx-angular-components-anchor-navigation.mjs.map +1 -1
  37. package/fesm2022/odx-angular-components-area-header.mjs +1 -1
  38. package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
  39. package/fesm2022/odx-angular-components-autocomplete.mjs +1 -1
  40. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  41. package/fesm2022/odx-angular-components-avatar.mjs +1 -1
  42. package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
  43. package/fesm2022/odx-angular-components-badge.mjs +1 -1
  44. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  45. package/fesm2022/odx-angular-components-bar.mjs +1 -1
  46. package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
  47. package/fesm2022/odx-angular-components-breadcrumbs.mjs +1 -1
  48. package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
  49. package/fesm2022/odx-angular-components-button-group.mjs +1 -1
  50. package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
  51. package/fesm2022/odx-angular-components-button.mjs +1 -1
  52. package/fesm2022/odx-angular-components-button.mjs.map +1 -1
  53. package/fesm2022/odx-angular-components-calendar.mjs +2 -2
  54. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  55. package/fesm2022/odx-angular-components-card.mjs +2 -2
  56. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  57. package/fesm2022/odx-angular-components-checkbox.mjs +1 -1
  58. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  59. package/fesm2022/odx-angular-components-chip.mjs +1 -1
  60. package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
  61. package/fesm2022/odx-angular-components-circular-progress.mjs +1 -1
  62. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  63. package/fesm2022/odx-angular-components-content-box.mjs +1 -1
  64. package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
  65. package/fesm2022/odx-angular-components-data-table.mjs +1 -1
  66. package/fesm2022/odx-angular-components-data-table.mjs.map +1 -1
  67. package/fesm2022/odx-angular-components-datepicker.mjs +2 -2
  68. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  69. package/fesm2022/odx-angular-components-daterangepicker.mjs +3 -3
  70. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  71. package/fesm2022/odx-angular-components-dropdown.mjs +1 -1
  72. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  73. package/fesm2022/odx-angular-components-error-page.mjs +1 -1
  74. package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
  75. package/fesm2022/odx-angular-components-footer.mjs +2 -2
  76. package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
  77. package/fesm2022/odx-angular-components-form-field.mjs +1 -1
  78. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  79. package/fesm2022/odx-angular-components-header-navigation.mjs +1 -1
  80. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
  81. package/fesm2022/odx-angular-components-header.mjs +1 -1
  82. package/fesm2022/odx-angular-components-header.mjs.map +1 -1
  83. package/fesm2022/odx-angular-components-icon.mjs +1 -1
  84. package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
  85. package/fesm2022/odx-angular-components-inline-message.mjs +1 -1
  86. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  87. package/fesm2022/odx-angular-components-link.mjs.map +1 -1
  88. package/fesm2022/odx-angular-components-list.mjs +2 -2
  89. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  90. package/fesm2022/odx-angular-components-loading-spinner.mjs +1 -1
  91. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  92. package/fesm2022/odx-angular-components-logo.mjs +1 -1
  93. package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
  94. package/fesm2022/odx-angular-components-main-menu.mjs +2 -2
  95. package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
  96. package/fesm2022/odx-angular-components-mainfilter-group.mjs +1 -1
  97. package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
  98. package/fesm2022/odx-angular-components-menu.mjs +1 -1
  99. package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
  100. package/fesm2022/odx-angular-components-modal.mjs +1 -1
  101. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  102. package/fesm2022/odx-angular-components-navigation-back.mjs +1 -1
  103. package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
  104. package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -1
  105. package/fesm2022/odx-angular-components-notification.mjs +3 -3
  106. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  107. package/fesm2022/odx-angular-components-paginator.mjs +1 -1
  108. package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
  109. package/fesm2022/odx-angular-components-progress.mjs +1 -1
  110. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  111. package/fesm2022/odx-angular-components-radio-group.mjs +1 -1
  112. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  113. package/fesm2022/odx-angular-components-rail-navigation.mjs +1 -1
  114. package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
  115. package/fesm2022/odx-angular-components-rich-list.mjs +1 -1
  116. package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
  117. package/fesm2022/odx-angular-components-search-bar.mjs.map +1 -1
  118. package/fesm2022/odx-angular-components-select.mjs +1 -1
  119. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  120. package/fesm2022/odx-angular-components-slider.mjs +1 -1
  121. package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
  122. package/fesm2022/odx-angular-components-spinbox.mjs +1 -1
  123. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  124. package/fesm2022/odx-angular-components-switch.mjs +1 -1
  125. package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
  126. package/fesm2022/odx-angular-components-tab-bar.mjs +1 -1
  127. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  128. package/fesm2022/odx-angular-components-table.mjs +1 -1
  129. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  130. package/fesm2022/odx-angular-components-timepicker.mjs +21 -9
  131. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  132. package/fesm2022/odx-angular-components-toast.mjs +1 -1
  133. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  134. package/fesm2022/odx-angular-components-toggle-button-group.mjs +1 -1
  135. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  136. package/fesm2022/odx-angular-components-tooltip.mjs +1 -1
  137. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  138. package/fesm2022/odx-angular-components-wizard.mjs +1 -1
  139. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  140. package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
  141. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  142. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  143. package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
  144. package/fesm2022/odx-angular-sdk.mjs.map +1 -1
  145. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  146. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  147. package/fesm2022/odx-angular.mjs +2 -2
  148. package/fesm2022/odx-angular.mjs.map +1 -1
  149. package/package.json +7 -7
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, forwardRef, Directive, NgModule } from '@angular/core';
3
+ import { EventEmitter, booleanAttribute, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, forwardRef, Directive, NgModule } from '@angular/core';
4
4
  import * as i1 from '@odx/angular';
5
5
  import { ReadonlyController, WithDisabledState, CoreModule } from '@odx/angular';
6
6
  import { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-checkbox.mjs","sources":["../../../../libs/angular/components/checkbox/src/lib/checkbox.component.ts","../../../../libs/angular/components/checkbox/src/lib/checkbox.component.html","../../../../libs/angular/components/checkbox/src/lib/checkbox.validator.ts","../../../../libs/angular/components/checkbox/src/lib/checkbox.module.ts","../../../../libs/angular/components/checkbox/src/odx-angular-components-checkbox.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ReadonlyController, WithDisabledState } from '@odx/angular';\nimport { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';\nimport { ControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\n\n/**\n * Represents a checkbox component.\n * @extends {CheckBoxControl}\n *\n * @remarks\n * To add subtitle text to the checkbox, use class `odx-checkbox__subtitle` in template's content.\n *\n * @example\n * ```html\n * <odx-checkbox [(checked)]=\"isChecked\">\n * Checkbox label\n * <span class=\"odx-checkbox__subtitle\">Subtitle text</span>\n * </odx-checkbox>\n * ```\n */\n@CSSComponent('checkbox')\n@Component({\n standalone: true,\n selector: 'odx-checkbox',\n templateUrl: 'checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent, ControlDirective],\n providers: [ReadonlyController.connect()],\n hostDirectives: [WithDisabledState],\n host: {\n '[class.is-active]': 'checked || indeterminate',\n },\n})\nexport class CheckboxComponent extends CheckBoxControl {\n private isIndeterminate = false;\n\n /**\n * Gets or sets a value indicating whether the checkbox is in an indeterminate state.\n *\n * @type {boolean}\n *\n * @remarks\n * The indeterminate state is typically used when the checkbox represents a group of checkboxes\n * and not all of them are checked or unchecked.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public set indeterminate(value: boolean) {\n if (this.isIndeterminate !== value) {\n this.isIndeterminate = value;\n this.indeterminateChange.emit(this.isIndeterminate);\n }\n }\n\n public get indeterminate(): boolean {\n return this.isIndeterminate;\n }\n\n /**\n * Emits a boolean value when the indeterminate state of the checkbox changes.\n *\n * @emits {boolean} The new value of the indeterminate state.\n */\n @Output()\n public readonly indeterminateChange = new EventEmitter<boolean>();\n\n /**\n * Gets the value of the `ariaChecked` attribute.\n *\n * @returns {string} - The value of the `ariaChecked` attribute as a string.\n */\n public override get ariaChecked(): string {\n return this.checked ? 'true' : this.indeterminate ? 'mixed' : 'false';\n }\n\n /**\n * Gets the modifier icon for the checkbox component.\n *\n * @returns {string} 'minus' if the checkbox is in indeterminate state, otherwise returns 'check'.\n */\n public get modifierIcon(): string {\n return this.indeterminate ? 'minus' : 'check';\n }\n\n public override onChanged(event: Event): void {\n event.stopPropagation();\n this.indeterminate = false;\n super.updateValue((event.target as HTMLInputElement).checked);\n this.checkedChange.next(this.checked);\n }\n}\n","<label class=\"odx-checkbox__label\">\n <input\n odxControl\n class=\"odx-checkbox__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [attr.tabindex]=\"tabindex || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [indeterminate]=\"indeterminate\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-checkbox__indicator\">\n <odx-icon [name]=\"modifierIcon\" iconSet=\"core\" />\n </div>\n <div class=\"odx-checkbox__content\">\n <div class=\"odx-checkbox__title\">\n <ng-content />\n @if (isRequired) {\n <span class=\"odx-checkbox__required\">*</span>\n }\n </div>\n <ng-content select=\".odx-checkbox__subtitle\" />\n </div>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CheckboxRequiredValidator, NG_VALIDATORS } from '@angular/forms';\n\n/**\n * A directive that extends Angular's `CheckboxRequiredValidator` for use with `odx-checkbox` components,\n * enforcing required validation. This directive ensures that an `odx-checkbox` marked as required\n * is checked in order to be considered valid within a form.\n *\n * The directive is automatically applied to `odx-checkbox` elements that have the `required` attribute\n * along with either `formControlName`, `formControl`, or `ngModel` directives, making it integrate seamlessly\n * with both reactive and template-driven forms.\n *\n * @example\n * ```html\n * <!-- In a reactive form -->\n * <odx-checkbox formControlName=\"acceptTerms\" required />\n *\n * <!-- In a template-driven form -->\n * <odx-checkbox [(ngModel)]=\"acceptTerms\" name=\"acceptTerms\" required />\n * ```\n *\n * By using this directive, forms containing `odx-checkbox` components with the required validation\n * will ensure the checkbox is checked before considering the form valid.\n *\n * @extends {CheckboxRequiredValidator} Inherits the behavior of Angular's `CheckboxRequiredValidator`.\n */\n@Directive({\n standalone: true,\n selector: 'odx-checkbox[required][formControlName], odx-checkbox[required][formControl], odx-checkbox[required][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CheckboxValidator),\n multi: true,\n },\n ],\n})\nexport class CheckboxValidator extends CheckboxRequiredValidator {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CheckboxComponent } from './checkbox.component';\nimport { CheckboxValidator } from './checkbox.validator';\n\nconst modules = [CheckboxComponent, CheckboxValidator];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-checkbox.mjs","sources":["../../../../libs/angular/components/checkbox/src/lib/checkbox.component.ts","../../../../libs/angular/components/checkbox/src/lib/checkbox.component.html","../../../../libs/angular/components/checkbox/src/lib/checkbox.validator.ts","../../../../libs/angular/components/checkbox/src/lib/checkbox.module.ts","../../../../libs/angular/components/checkbox/src/odx-angular-components-checkbox.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ReadonlyController, WithDisabledState } from '@odx/angular';\nimport { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';\nimport { ControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\n\n/**\n * Represents a checkbox component.\n * @extends {CheckBoxControl}\n *\n * @remarks\n * To add subtitle text to the checkbox, use class `odx-checkbox__subtitle` in template's content.\n *\n * @example\n * ```html\n * <odx-checkbox [(checked)]=\"isChecked\">\n * Checkbox label\n * <span class=\"odx-checkbox__subtitle\">Subtitle text</span>\n * </odx-checkbox>\n * ```\n */\n@CSSComponent('checkbox')\n@Component({\n standalone: true,\n selector: 'odx-checkbox',\n templateUrl: 'checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent, ControlDirective],\n providers: [ReadonlyController.connect()],\n hostDirectives: [WithDisabledState],\n host: {\n '[class.is-active]': 'checked || indeterminate',\n },\n})\nexport class CheckboxComponent extends CheckBoxControl {\n private isIndeterminate = false;\n\n /**\n * Gets or sets a value indicating whether the checkbox is in an indeterminate state.\n *\n * @type {boolean}\n *\n * @remarks\n * The indeterminate state is typically used when the checkbox represents a group of checkboxes\n * and not all of them are checked or unchecked.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public set indeterminate(value: boolean) {\n if (this.isIndeterminate !== value) {\n this.isIndeterminate = value;\n this.indeterminateChange.emit(this.isIndeterminate);\n }\n }\n\n public get indeterminate(): boolean {\n return this.isIndeterminate;\n }\n\n /**\n * Emits a boolean value when the indeterminate state of the checkbox changes.\n *\n * @emits {boolean} The new value of the indeterminate state.\n */\n @Output()\n public readonly indeterminateChange = new EventEmitter<boolean>();\n\n /**\n * Gets the value of the `ariaChecked` attribute.\n *\n * @returns {string} - The value of the `ariaChecked` attribute as a string.\n */\n public override get ariaChecked(): string {\n return this.checked ? 'true' : this.indeterminate ? 'mixed' : 'false';\n }\n\n /**\n * Gets the modifier icon for the checkbox component.\n *\n * @returns {string} 'minus' if the checkbox is in indeterminate state, otherwise returns 'check'.\n */\n public get modifierIcon(): string {\n return this.indeterminate ? 'minus' : 'check';\n }\n\n public override onChanged(event: Event): void {\n event.stopPropagation();\n this.indeterminate = false;\n super.updateValue((event.target as HTMLInputElement).checked);\n this.checkedChange.next(this.checked);\n }\n}\n","<label class=\"odx-checkbox__label\">\n <input\n odxControl\n class=\"odx-checkbox__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [attr.tabindex]=\"tabindex || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [indeterminate]=\"indeterminate\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-checkbox__indicator\">\n <odx-icon [name]=\"modifierIcon\" iconSet=\"core\" />\n </div>\n <div class=\"odx-checkbox__content\">\n <div class=\"odx-checkbox__title\">\n <ng-content />\n @if (isRequired) {\n <span class=\"odx-checkbox__required\">*</span>\n }\n </div>\n <ng-content select=\".odx-checkbox__subtitle\" />\n </div>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CheckboxRequiredValidator, NG_VALIDATORS } from '@angular/forms';\n\n/**\n * A directive that extends Angular's `CheckboxRequiredValidator` for use with `odx-checkbox` components,\n * enforcing required validation. This directive ensures that an `odx-checkbox` marked as required\n * is checked in order to be considered valid within a form.\n *\n * The directive is automatically applied to `odx-checkbox` elements that have the `required` attribute\n * along with either `formControlName`, `formControl`, or `ngModel` directives, making it integrate seamlessly\n * with both reactive and template-driven forms.\n *\n * @example\n * ```html\n * <!-- In a reactive form -->\n * <odx-checkbox formControlName=\"acceptTerms\" required />\n *\n * <!-- In a template-driven form -->\n * <odx-checkbox [(ngModel)]=\"acceptTerms\" name=\"acceptTerms\" required />\n * ```\n *\n * By using this directive, forms containing `odx-checkbox` components with the required validation\n * will ensure the checkbox is checked before considering the form valid.\n *\n * @extends {CheckboxRequiredValidator} Inherits the behavior of Angular's `CheckboxRequiredValidator`.\n */\n@Directive({\n standalone: true,\n selector: 'odx-checkbox[required][formControlName], odx-checkbox[required][formControl], odx-checkbox[required][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CheckboxValidator),\n multi: true,\n },\n ],\n})\nexport class CheckboxValidator extends CheckboxRequiredValidator {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CheckboxComponent } from './checkbox.component';\nimport { CheckboxValidator } from './checkbox.validator';\n\nconst modules = [CheckboxComponent, CheckboxValidator];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, booleanAttribute, Input, Output } from '@angular/core';
3
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, EventEmitter, booleanAttribute, Output, Input } from '@angular/core';
4
4
  import { CSSComponent, CSSModifier } from '@odx/angular/internal';
5
5
  import { injectElement } from '@odx/angular/utils';
6
6
  import { CoreModule } from '@odx/angular';
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-chip.mjs","sources":["../../../../libs/angular/components/chip/src/lib/components/chip-list-row/chip-list-row.component.ts","../../../../libs/angular/components/chip/src/lib/components/chip-list-row/chip-list-row.component.html","../../../../libs/angular/components/chip/src/lib/components/chip-list/chip-list.component.ts","../../../../libs/angular/components/chip/src/lib/components/chip-list/chip-list.component.html","../../../../libs/angular/components/chip/src/lib/models/chip-size.ts","../../../../libs/angular/components/chip/src/lib/models/chip-variant.ts","../../../../libs/angular/components/chip/src/lib/components/chip/chip.component.ts","../../../../libs/angular/components/chip/src/lib/components/chip/chip.component.html","../../../../libs/angular/components/chip/src/odx-angular-components-chip.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a row in the chip list.\n */\n@CSSComponent('chip-list-row')\n@Component({\n selector: 'odx-chip-list-row',\n templateUrl: './chip-list-row.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ChipListRowComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-chip\" />\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a component that displays a list of chips.\n */\n@CSSComponent('chip-list')\n@Component({\n selector: 'odx-chip-list',\n templateUrl: './chip-list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ChipListComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-chip-list-row\" />\n<ng-content select=\"odx-autocomplete\" />\n","export type ChipSize = typeof ChipSize[keyof typeof ChipSize];\n\nexport const ChipSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n} as const;\n","export type ChipVariant = (typeof ChipVariant)[keyof typeof ChipVariant];\n\nexport const ChipVariant = {\n SECONDARY: 'secondary',\n HIGHLIGHT: 'highlight',\n SUCCESS: 'success',\n DANGER: 'danger',\n WARNING: 'warning',\n CONFIRMATION: 'confirmation',\n} as const;\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ButtonComponent, ButtonVariant } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { ChipSize, ChipVariant } from '../../models';\n\n/**\n * Represents a chip component.\n */\n@CSSComponent('chip')\n@Component({\n selector: 'odx-chip',\n templateUrl: './chip.component.html',\n imports: [CoreModule, ButtonComponent, IconComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ChipComponent {\n public readonly element = injectElement();\n\n /**\n * Indicates whether the chip is removable.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public removable = false;\n\n /**\n * The size of the chip.\n *\n * @type {ChipSize}\n * @default ChipSize.SMALL\n */\n @CSSModifier()\n @Input()\n public size: ChipSize = ChipSize.SMALL;\n\n /**\n * The variant of the chip.\n *\n * @type {ChipVariant}\n * @default ChipVariant.SECONDARY\n */\n @CSSModifier()\n @Input()\n public variant: ChipVariant = ChipVariant.SECONDARY;\n\n /**\n * Event emitter that emits when the chip is removed.\n *\n * @emits {void}\n */\n @Output()\n public remove = new EventEmitter<void>();\n\n protected onClick(): void {\n this.remove.emit();\n }\n\n protected get buttonVariant(): ButtonVariant | null {\n return this.variant === ChipVariant.WARNING ? null : this.variant;\n }\n}\n","<ng-content select=\"odx-icon\" />\n<div class=\"odx-chip__content\">\n <ng-content />\n</div>\n@if (removable) {\n <button odxButton class=\"odx-chip__action\" [size]=\"size\" [variant]=\"buttonVariant\" type=\"button\" (click)=\"onClick()\">\n <odx-icon [size]=\"size\" name=\"close\" iconSet=\"core\" />\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-chip.mjs","sources":["../../../../libs/angular/components/chip/src/lib/components/chip-list-row/chip-list-row.component.ts","../../../../libs/angular/components/chip/src/lib/components/chip-list-row/chip-list-row.component.html","../../../../libs/angular/components/chip/src/lib/components/chip-list/chip-list.component.ts","../../../../libs/angular/components/chip/src/lib/components/chip-list/chip-list.component.html","../../../../libs/angular/components/chip/src/lib/models/chip-size.ts","../../../../libs/angular/components/chip/src/lib/models/chip-variant.ts","../../../../libs/angular/components/chip/src/lib/components/chip/chip.component.ts","../../../../libs/angular/components/chip/src/lib/components/chip/chip.component.html","../../../../libs/angular/components/chip/src/odx-angular-components-chip.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a row in the chip list.\n */\n@CSSComponent('chip-list-row')\n@Component({\n selector: 'odx-chip-list-row',\n templateUrl: './chip-list-row.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ChipListRowComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-chip\" />\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a component that displays a list of chips.\n */\n@CSSComponent('chip-list')\n@Component({\n selector: 'odx-chip-list',\n templateUrl: './chip-list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ChipListComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-chip-list-row\" />\n<ng-content select=\"odx-autocomplete\" />\n","export type ChipSize = typeof ChipSize[keyof typeof ChipSize];\n\nexport const ChipSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n} as const;\n","export type ChipVariant = (typeof ChipVariant)[keyof typeof ChipVariant];\n\nexport const ChipVariant = {\n SECONDARY: 'secondary',\n HIGHLIGHT: 'highlight',\n SUCCESS: 'success',\n DANGER: 'danger',\n WARNING: 'warning',\n CONFIRMATION: 'confirmation',\n} as const;\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ButtonComponent, ButtonVariant } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { ChipSize, ChipVariant } from '../../models';\n\n/**\n * Represents a chip component.\n */\n@CSSComponent('chip')\n@Component({\n selector: 'odx-chip',\n templateUrl: './chip.component.html',\n imports: [CoreModule, ButtonComponent, IconComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ChipComponent {\n public readonly element = injectElement();\n\n /**\n * Indicates whether the chip is removable.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public removable = false;\n\n /**\n * The size of the chip.\n *\n * @type {ChipSize}\n * @default ChipSize.SMALL\n */\n @CSSModifier()\n @Input()\n public size: ChipSize = ChipSize.SMALL;\n\n /**\n * The variant of the chip.\n *\n * @type {ChipVariant}\n * @default ChipVariant.SECONDARY\n */\n @CSSModifier()\n @Input()\n public variant: ChipVariant = ChipVariant.SECONDARY;\n\n /**\n * Event emitter that emits when the chip is removed.\n *\n * @emits {void}\n */\n @Output()\n public remove = new EventEmitter<void>();\n\n protected onClick(): void {\n this.remove.emit();\n }\n\n protected get buttonVariant(): ButtonVariant | null {\n return this.variant === ChipVariant.WARNING ? null : this.variant;\n }\n}\n","<ng-content select=\"odx-icon\" />\n<div class=\"odx-chip__content\">\n <ng-content />\n</div>\n@if (removable) {\n <button odxButton class=\"odx-chip__action\" [size]=\"size\" [variant]=\"buttonVariant\" type=\"button\" (click)=\"onClick()\">\n <odx-icon [size]=\"size\" name=\"close\" iconSet=\"core\" />\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, ChangeDetectorRef, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';
3
+ import { inject, ChangeDetectorRef, numberAttribute, Input, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  import { CSSModifier, CSSComponent } from '@odx/angular/internal';
5
5
  import { fromElementResize$ } from '@odx/angular/rxjs';
6
6
  import { untilDestroyed, injectElement, hasChanged } from '@odx/angular/utils';
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-circular-progress.mjs","sources":["../../../../libs/angular/components/circular-progress/src/lib/models/circular-progress-size.ts","../../../../libs/angular/components/circular-progress/src/lib/circular-progress.component.ts","../../../../libs/angular/components/circular-progress/src/lib/circular-progress.component.html","../../../../libs/angular/components/circular-progress/src/odx-angular-components-circular-progress.ts"],"sourcesContent":["export type CircularProgressSize = typeof CircularProgressSize[keyof typeof CircularProgressSize];\n\nexport const CircularProgressSize = {\n AUTO: 'auto',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromElementResize$ } from '@odx/angular/rxjs';\nimport { hasChanged, injectElement, NgChanges, untilDestroyed } from '@odx/angular/utils';\nimport { CircularProgressSize } from './models/circular-progress-size';\n\n/**\n * Represents a circular progress component.\n * This component displays a circular progress indicator that can be used to show the progress of an operation.\n */\n@CSSComponent('circular-progress')\n@Component({\n standalone: true,\n selector: 'odx-circular-progress',\n templateUrl: './circular-progress.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-valuenow]': 'ariaValueNow',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuemin]': '0',\n '[attr.role]': '\"meter\"',\n },\n})\nexport class CircularProgressComponent implements OnChanges, AfterViewInit {\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly takeUntilDestroyed = untilDestroyed();\n private _value = 0;\n\n protected readonly viewPortSize = 100;\n protected radius = 0;\n protected normalizedStroke = 0;\n protected circumference = 283;\n\n protected get ariaValueNow(): null | number {\n return this.indeterminate ? null : this.value;\n }\n\n protected get progressValue(): number {\n return this.indeterminate ? this.circumference : Math.floor((1 - this.value / 100) * this.circumference);\n }\n\n public readonly element = injectElement();\n\n /**\n * Specifies whether the circular progress is in indeterminate mode.\n * In indeterminate mode, the progress indicator continuously animates without a specific value.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n public indeterminate = false;\n\n /**\n * The width of the stroke for the circular progress component.\n *\n * @type {number}\n * @default 4\n */\n @Input({ transform: numberAttribute })\n public stroke = 4;\n\n /**\n * The size of the circular progress component.\n *\n * @type {CircularProgressSize}\n * @default CircularProgressSize.MEDIUM\n */\n @CSSModifier()\n @Input()\n public size: CircularProgressSize = CircularProgressSize.MEDIUM;\n\n /**\n * Sets and gets the value of the circular progress component.\n *\n * @param {number} value - The value to set. Must be between -1 and 100 (inclusive).\n */\n @Input({ transform: numberAttribute })\n public set value(value: number) {\n if (value <= 100 && value >= -1) {\n this._value = value;\n this.indeterminate = value === -1;\n }\n }\n\n /**\n * Gets the value of the circular progress.\n *\n * @returns {number} The current value of the circular progress.\n */\n public get value(): number {\n return this._value;\n }\n\n public ngAfterViewInit(): void {\n fromElementResize$(this.element.nativeElement)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => this.updateDimensions());\n }\n\n public ngOnChanges(changes: NgChanges<CircularProgressComponent>): void {\n if (hasChanged(changes, ['stroke', 'size'])) {\n this.updateDimensions();\n }\n }\n\n private updateDimensions(): void {\n if (this.stroke < 0) return;\n const normalizeFactor = this.viewPortSize / (this.element.nativeElement.offsetWidth || 1);\n\n this.normalizedStroke = normalizeFactor * this.stroke;\n if (normalizeFactor >= 3) {\n this.normalizedStroke = Math.max(0, this.normalizedStroke - normalizeFactor);\n }\n this.radius = Math.max(0, this.viewPortSize / 2 - this.normalizedStroke / 2);\n this.circumference = Math.floor(2 * this.radius * Math.PI);\n this.changeDetector.detectChanges();\n }\n}\n","<svg class=\"odx-circular-progress__inner\" attr.viewBox=\"0 0 {{ viewPortSize }} {{ viewPortSize }}\">\n <circle class=\"odx-circular-progress__track\" [attr.stroke-width]=\"normalizedStroke\" [attr.r]=\"radius\" cx=\"50%\" cy=\"50%\" />\n <circle\n class=\"odx-circular-progress__indicator\"\n [attr.stroke-dasharray]=\"circumference\"\n [attr.stroke-dashoffset]=\"progressValue\"\n [attr.stroke-width]=\"normalizedStroke\"\n [attr.r]=\"radius\"\n cx=\"50%\"\n cy=\"50%\"\n />\n</svg>\n<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-circular-progress.mjs","sources":["../../../../libs/angular/components/circular-progress/src/lib/models/circular-progress-size.ts","../../../../libs/angular/components/circular-progress/src/lib/circular-progress.component.ts","../../../../libs/angular/components/circular-progress/src/lib/circular-progress.component.html","../../../../libs/angular/components/circular-progress/src/odx-angular-components-circular-progress.ts"],"sourcesContent":["export type CircularProgressSize = typeof CircularProgressSize[keyof typeof CircularProgressSize];\n\nexport const CircularProgressSize = {\n AUTO: 'auto',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromElementResize$ } from '@odx/angular/rxjs';\nimport { hasChanged, injectElement, NgChanges, untilDestroyed } from '@odx/angular/utils';\nimport { CircularProgressSize } from './models/circular-progress-size';\n\n/**\n * Represents a circular progress component.\n * This component displays a circular progress indicator that can be used to show the progress of an operation.\n */\n@CSSComponent('circular-progress')\n@Component({\n standalone: true,\n selector: 'odx-circular-progress',\n templateUrl: './circular-progress.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-valuenow]': 'ariaValueNow',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuemin]': '0',\n '[attr.role]': '\"meter\"',\n },\n})\nexport class CircularProgressComponent implements OnChanges, AfterViewInit {\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly takeUntilDestroyed = untilDestroyed();\n private _value = 0;\n\n protected readonly viewPortSize = 100;\n protected radius = 0;\n protected normalizedStroke = 0;\n protected circumference = 283;\n\n protected get ariaValueNow(): null | number {\n return this.indeterminate ? null : this.value;\n }\n\n protected get progressValue(): number {\n return this.indeterminate ? this.circumference : Math.floor((1 - this.value / 100) * this.circumference);\n }\n\n public readonly element = injectElement();\n\n /**\n * Specifies whether the circular progress is in indeterminate mode.\n * In indeterminate mode, the progress indicator continuously animates without a specific value.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n public indeterminate = false;\n\n /**\n * The width of the stroke for the circular progress component.\n *\n * @type {number}\n * @default 4\n */\n @Input({ transform: numberAttribute })\n public stroke = 4;\n\n /**\n * The size of the circular progress component.\n *\n * @type {CircularProgressSize}\n * @default CircularProgressSize.MEDIUM\n */\n @CSSModifier()\n @Input()\n public size: CircularProgressSize = CircularProgressSize.MEDIUM;\n\n /**\n * Sets and gets the value of the circular progress component.\n *\n * @param {number} value - The value to set. Must be between -1 and 100 (inclusive).\n */\n @Input({ transform: numberAttribute })\n public set value(value: number) {\n if (value <= 100 && value >= -1) {\n this._value = value;\n this.indeterminate = value === -1;\n }\n }\n\n /**\n * Gets the value of the circular progress.\n *\n * @returns {number} The current value of the circular progress.\n */\n public get value(): number {\n return this._value;\n }\n\n public ngAfterViewInit(): void {\n fromElementResize$(this.element.nativeElement)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => this.updateDimensions());\n }\n\n public ngOnChanges(changes: NgChanges<CircularProgressComponent>): void {\n if (hasChanged(changes, ['stroke', 'size'])) {\n this.updateDimensions();\n }\n }\n\n private updateDimensions(): void {\n if (this.stroke < 0) return;\n const normalizeFactor = this.viewPortSize / (this.element.nativeElement.offsetWidth || 1);\n\n this.normalizedStroke = normalizeFactor * this.stroke;\n if (normalizeFactor >= 3) {\n this.normalizedStroke = Math.max(0, this.normalizedStroke - normalizeFactor);\n }\n this.radius = Math.max(0, this.viewPortSize / 2 - this.normalizedStroke / 2);\n this.circumference = Math.floor(2 * this.radius * Math.PI);\n this.changeDetector.detectChanges();\n }\n}\n","<svg class=\"odx-circular-progress__inner\" attr.viewBox=\"0 0 {{ viewPortSize }} {{ viewPortSize }}\">\n <circle class=\"odx-circular-progress__track\" [attr.stroke-width]=\"normalizedStroke\" [attr.r]=\"radius\" cx=\"50%\" cy=\"50%\" />\n <circle\n class=\"odx-circular-progress__indicator\"\n [attr.stroke-dasharray]=\"circumference\"\n [attr.stroke-dashoffset]=\"progressValue\"\n [attr.stroke-width]=\"normalizedStroke\"\n [attr.r]=\"radius\"\n cx=\"50%\"\n cy=\"50%\"\n />\n</svg>\n<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, NgModule } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, Directive, NgModule } from '@angular/core';
3
3
 
4
4
  /**
5
5
  * Represents a content box component.
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-content-box.mjs","sources":["../../../../libs/angular/components/content-box/src/lib/content-box.component.ts","../../../../libs/angular/components/content-box/src/lib/content-box.component.html","../../../../libs/angular/components/content-box/src/lib/directives/content-box-footer.directive.ts","../../../../libs/angular/components/content-box/src/lib/directives/content-box-header.directive.ts","../../../../libs/angular/components/content-box/src/lib/content-box.module.ts","../../../../libs/angular/components/content-box/src/odx-angular-components-content-box.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Represents a content box component.\n */\n@Component({\n selector: 'odx-content-box',\n standalone: true,\n templateUrl: './content-box.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.odx-content-box]': 'true',\n },\n})\nexport class ContentBoxComponent {}\n","<ng-content select=\"odx-area-header, odx-content-box-header\" />\n<div class=\"odx-content-box__content\">\n <ng-content />\n</div>\n<ng-content select=\"odx-content-box-footer\" />\n","import { Directive } from '@angular/core';\n\n/**\n * Represents a directive for the footer of a content box component.\n */\n@Directive({\n selector: 'odx-content-box-footer',\n standalone: true,\n host: {\n '[class.odx-content-box__footer]': 'true',\n },\n})\nexport class ContentBoxFooterDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * Represents a directive for the header of a content box component.\n */\n@Directive({\n selector: 'odx-content-box-header',\n standalone: true,\n host: {\n '[class.odx-content-box__header]': 'true',\n },\n})\nexport class ContentBoxHeaderDirective {}\n","import { NgModule } from '@angular/core';\nimport { ContentBoxComponent } from './content-box.component';\nimport { ContentBoxFooterDirective } from './directives/content-box-footer.directive';\nimport { ContentBoxHeaderDirective } from './directives/content-box-header.directive';\n\nconst modules = [ContentBoxComponent, ContentBoxHeaderDirective, ContentBoxFooterDirective];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class ContentBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-content-box.mjs","sources":["../../../../libs/angular/components/content-box/src/lib/content-box.component.ts","../../../../libs/angular/components/content-box/src/lib/content-box.component.html","../../../../libs/angular/components/content-box/src/lib/directives/content-box-footer.directive.ts","../../../../libs/angular/components/content-box/src/lib/directives/content-box-header.directive.ts","../../../../libs/angular/components/content-box/src/lib/content-box.module.ts","../../../../libs/angular/components/content-box/src/odx-angular-components-content-box.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Represents a content box component.\n */\n@Component({\n selector: 'odx-content-box',\n standalone: true,\n templateUrl: './content-box.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.odx-content-box]': 'true',\n },\n})\nexport class ContentBoxComponent {}\n","<ng-content select=\"odx-area-header, odx-content-box-header\" />\n<div class=\"odx-content-box__content\">\n <ng-content />\n</div>\n<ng-content select=\"odx-content-box-footer\" />\n","import { Directive } from '@angular/core';\n\n/**\n * Represents a directive for the footer of a content box component.\n */\n@Directive({\n selector: 'odx-content-box-footer',\n standalone: true,\n host: {\n '[class.odx-content-box__footer]': 'true',\n },\n})\nexport class ContentBoxFooterDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * Represents a directive for the header of a content box component.\n */\n@Directive({\n selector: 'odx-content-box-header',\n standalone: true,\n host: {\n '[class.odx-content-box__header]': 'true',\n },\n})\nexport class ContentBoxHeaderDirective {}\n","import { NgModule } from '@angular/core';\nimport { ContentBoxComponent } from './content-box.component';\nimport { ContentBoxFooterDirective } from './directives/content-box-footer.directive';\nimport { ContentBoxHeaderDirective } from './directives/content-box-header.directive';\n\nconst modules = [ContentBoxComponent, ContentBoxHeaderDirective, ContentBoxFooterDirective];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class ContentBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, TemplateRef, Directive, contentChild, input, contentChildren, computed, Component, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
3
+ import { inject, TemplateRef, Directive, contentChild, input, contentChildren, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  export { SortDirection } from '@odx/angular/utils';
5
5
  import { CoreModule } from '@odx/angular';
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-data-table.mjs","sources":["../../../../libs/angular/components/data-table/src/lib/directives/cell-def.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/cell.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/header-cell-def.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/column-def.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/header-cell.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/table-empty.directive.ts","../../../../libs/angular/components/data-table/src/lib/models/table-variant.ts","../../../../libs/angular/components/data-table/src/lib/models/index.ts","../../../../libs/angular/components/data-table/src/lib/data-table.component.ts","../../../../libs/angular/components/data-table/src/lib/data-table.component.html","../../../../libs/angular/components/data-table/src/lib/data-table.module.ts","../../../../libs/angular/components/data-table/src/odx-angular-components-data-table.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[odxCellDef]',\n standalone: true,\n})\nexport class CellDef {\n public template = inject(TemplateRef);\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'td[odxCell]',\n standalone: true,\n host: {\n role: 'cell',\n class: 'odx-table__cell',\n },\n})\nexport class CellDirective {}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[odxHeaderCellDef]',\n standalone: true,\n})\nexport class HeaderCellDef {\n public template = inject(TemplateRef);\n}\n","import { contentChild, Directive, input, TemplateRef } from '@angular/core';\nimport { CellDef } from './cell-def.directive';\nimport { HeaderCellDef } from './header-cell-def.directive';\n\n@Directive({\n selector: '[odxColumnDef]',\n standalone: true,\n})\nexport class ColumnDef {\n private readonly headerCellDef = contentChild.required(HeaderCellDef);\n private readonly cellDef = contentChild.required(CellDef);\n\n public name = input.required<string>({ alias: 'odxColumnDef' });\n\n public getHeaderTemplate(): TemplateRef<unknown> | null {\n return this.headerCellDef().template ?? null;\n }\n\n public getCellTemplate(): TemplateRef<unknown> | null {\n return this.cellDef().template ?? null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'th[odxHeaderCell]',\n standalone: true,\n host: {\n role: 'columnheader',\n class: 'odx-table__header-cell odx-data-table__header-cell',\n },\n})\nexport class HeaderCellDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({ selector: 'odx-table-empty', standalone: true })\nexport class TableEmptyDirective {}\n","export type TableVariant = typeof TableVariant[keyof typeof TableVariant];\n\nexport const TableVariant = {\n DEFAULT: 'default',\n STRIPED: 'striped',\n} as const;\n","export { SortStatus as SortState } from '@odx/angular/components/table';\n\n/**\n * @deprecated Use `SortDirection` from `@odx/angular/utils` directly instead.\n * Will be removed in a future version.\n *\n * ```typescript\n * // Instead of:\n * // import { SortDirection } from '@odx/angular/components/data-table';\n *\n * // Use:\n * import { SortDirection } from '@odx/angular/utils';\n * ```\n */\nexport { SortDirection } from '@odx/angular/utils';\nexport * from './table-variant';\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, input, Signal, ViewEncapsulation } from '@angular/core';\nimport { ColumnDef } from './directives';\nimport { TableVariant } from './models';\n\n/**\n * DataTableComponent is a dynamic table structure built for displaying content.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[odxDataTable]',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'table',\n '[class]': 'classList()',\n },\n templateUrl: './data-table.component.html',\n imports: [NgTemplateOutlet],\n})\nexport class DataTableComponent<T = unknown> {\n protected columnDefs = contentChildren(ColumnDef, { descendants: true });\n\n protected orderedColumns = computed(() => {\n const cols = this.columnDefs() ?? [];\n const displayedCols = this.displayedColumns() ?? [];\n\n return displayedCols.length > 0\n ? displayedCols.map((colName) => cols.find((colDef) => colDef.name() === colName)).filter((colDef): colDef is ColumnDef => !!colDef)\n : cols;\n });\n\n /**\n * The data to be displayed in the table.\n * @required\n * @type {T[]}\n */\n public dataSource = input.required<T[]>();\n\n /**\n * The columns to be displayed in the table.\n * @required\n * @type {string[]}\n */\n public displayedColumns = input.required<string[]>();\n\n /**\n * The variant of the table.\n * @default TableVariant.DEFAULT\n * @type {TableVariant}\n */\n public variant = input<TableVariant>(TableVariant.DEFAULT);\n\n protected get classList(): Signal<string> {\n return computed(() => `odx-table odx-data-table odx-table--${this.variant()}`);\n }\n}\n","<thead role=\"rowgroup\" class=\"odx-table__head\">\n <tr role=\"row\" class=\"odx-table__header-row\">\n @for (col of orderedColumns(); track col.name) {\n <ng-container *ngTemplateOutlet=\"col.getHeaderTemplate()\" />\n }\n </tr>\n</thead>\n<tbody role=\"rowgroup\" class=\"odx-table__body\">\n @for (item of dataSource(); track item) {\n <tr class=\"odx-table__row\" role=\"row\">\n @for (col of orderedColumns(); track col.name) {\n <ng-container *ngTemplateOutlet=\"col.getCellTemplate(); context: { $implicit: item }\" />\n }\n </tr>\n } @empty {\n <tr class=\"odx-table__row\" role=\"row\">\n <td class=\"odx-table__cell\" role=\"cell\" [attr.colspan]=\"orderedColumns().length\">\n <ng-content select=\"odx-table-empty\" />\n </td>\n </tr>\n }\n</tbody>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DataTableComponent } from './data-table.component';\nimport { CellDef, CellDirective, ColumnDef, HeaderCellDef, HeaderCellDirective, TableEmptyDirective } from './directives';\n\nconst modules = [DataTableComponent, CellDef, ColumnDef, HeaderCellDef, TableEmptyDirective, CellDirective, HeaderCellDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DataTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-data-table.mjs","sources":["../../../../libs/angular/components/data-table/src/lib/directives/cell-def.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/cell.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/header-cell-def.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/column-def.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/header-cell.directive.ts","../../../../libs/angular/components/data-table/src/lib/directives/table-empty.directive.ts","../../../../libs/angular/components/data-table/src/lib/models/table-variant.ts","../../../../libs/angular/components/data-table/src/lib/models/index.ts","../../../../libs/angular/components/data-table/src/lib/data-table.component.ts","../../../../libs/angular/components/data-table/src/lib/data-table.component.html","../../../../libs/angular/components/data-table/src/lib/data-table.module.ts","../../../../libs/angular/components/data-table/src/odx-angular-components-data-table.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[odxCellDef]',\n standalone: true,\n})\nexport class CellDef {\n public template = inject(TemplateRef);\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'td[odxCell]',\n standalone: true,\n host: {\n role: 'cell',\n class: 'odx-table__cell',\n },\n})\nexport class CellDirective {}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[odxHeaderCellDef]',\n standalone: true,\n})\nexport class HeaderCellDef {\n public template = inject(TemplateRef);\n}\n","import { contentChild, Directive, input, TemplateRef } from '@angular/core';\nimport { CellDef } from './cell-def.directive';\nimport { HeaderCellDef } from './header-cell-def.directive';\n\n@Directive({\n selector: '[odxColumnDef]',\n standalone: true,\n})\nexport class ColumnDef {\n private readonly headerCellDef = contentChild.required(HeaderCellDef);\n private readonly cellDef = contentChild.required(CellDef);\n\n public name = input.required<string>({ alias: 'odxColumnDef' });\n\n public getHeaderTemplate(): TemplateRef<unknown> | null {\n return this.headerCellDef().template ?? null;\n }\n\n public getCellTemplate(): TemplateRef<unknown> | null {\n return this.cellDef().template ?? null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'th[odxHeaderCell]',\n standalone: true,\n host: {\n role: 'columnheader',\n class: 'odx-table__header-cell odx-data-table__header-cell',\n },\n})\nexport class HeaderCellDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({ selector: 'odx-table-empty', standalone: true })\nexport class TableEmptyDirective {}\n","export type TableVariant = typeof TableVariant[keyof typeof TableVariant];\n\nexport const TableVariant = {\n DEFAULT: 'default',\n STRIPED: 'striped',\n} as const;\n","export { SortStatus as SortState } from '@odx/angular/components/table';\n\n/**\n * @deprecated Use `SortDirection` from `@odx/angular/utils` directly instead.\n * Will be removed in a future version.\n *\n * ```typescript\n * // Instead of:\n * // import { SortDirection } from '@odx/angular/components/data-table';\n *\n * // Use:\n * import { SortDirection } from '@odx/angular/utils';\n * ```\n */\nexport { SortDirection } from '@odx/angular/utils';\nexport * from './table-variant';\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, input, Signal, ViewEncapsulation } from '@angular/core';\nimport { ColumnDef } from './directives';\nimport { TableVariant } from './models';\n\n/**\n * DataTableComponent is a dynamic table structure built for displaying content.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[odxDataTable]',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'table',\n '[class]': 'classList()',\n },\n templateUrl: './data-table.component.html',\n imports: [NgTemplateOutlet],\n})\nexport class DataTableComponent<T = unknown> {\n protected columnDefs = contentChildren(ColumnDef, { descendants: true });\n\n protected orderedColumns = computed(() => {\n const cols = this.columnDefs() ?? [];\n const displayedCols = this.displayedColumns() ?? [];\n\n return displayedCols.length > 0\n ? displayedCols.map((colName) => cols.find((colDef) => colDef.name() === colName)).filter((colDef): colDef is ColumnDef => !!colDef)\n : cols;\n });\n\n /**\n * The data to be displayed in the table.\n * @required\n * @type {T[]}\n */\n public dataSource = input.required<T[]>();\n\n /**\n * The columns to be displayed in the table.\n * @required\n * @type {string[]}\n */\n public displayedColumns = input.required<string[]>();\n\n /**\n * The variant of the table.\n * @default TableVariant.DEFAULT\n * @type {TableVariant}\n */\n public variant = input<TableVariant>(TableVariant.DEFAULT);\n\n protected get classList(): Signal<string> {\n return computed(() => `odx-table odx-data-table odx-table--${this.variant()}`);\n }\n}\n","<thead role=\"rowgroup\" class=\"odx-table__head\">\n <tr role=\"row\" class=\"odx-table__header-row\">\n @for (col of orderedColumns(); track col.name) {\n <ng-container *ngTemplateOutlet=\"col.getHeaderTemplate()\" />\n }\n </tr>\n</thead>\n<tbody role=\"rowgroup\" class=\"odx-table__body\">\n @for (item of dataSource(); track item) {\n <tr class=\"odx-table__row\" role=\"row\">\n @for (col of orderedColumns(); track col.name) {\n <ng-container *ngTemplateOutlet=\"col.getCellTemplate(); context: { $implicit: item }\" />\n }\n </tr>\n } @empty {\n <tr class=\"odx-table__row\" role=\"row\">\n <td class=\"odx-table__cell\" role=\"cell\" [attr.colspan]=\"orderedColumns().length\">\n <ng-content select=\"odx-table-empty\" />\n </td>\n </tr>\n }\n</tbody>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DataTableComponent } from './data-table.component';\nimport { CellDef, CellDirective, ColumnDef, HeaderCellDef, HeaderCellDirective, TableEmptyDirective } from './directives';\n\nconst modules = [DataTableComponent, CellDef, ColumnDef, HeaderCellDef, TableEmptyDirective, CellDirective, HeaderCellDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DataTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from 'tslib';
2
2
  import * as i1$1 from '@angular/cdk/a11y';
3
3
  import { A11yModule } from '@angular/cdk/a11y';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, EventEmitter, Directive, Output, HostListener, input, booleanAttribute, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, ContentChild, NgModule } from '@angular/core';
5
+ import { inject, EventEmitter, HostListener, Output, Directive, input, booleanAttribute, ElementRef, ContentChild, ViewChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
6
6
  import * as i1 from '@odx/angular';
7
7
  import { ReadonlyController, WithTabIndex, detectControllerChanges, CoreModule } from '@odx/angular';
8
8
  import { InputControlDirective, CustomFormControl } from '@odx/angular/cdk/custom-form-control';
@@ -12,7 +12,7 @@ import { ActionGroupComponent } from '@odx/angular/components/action-group';
12
12
  import { ButtonComponent } from '@odx/angular/components/button';
13
13
  import { CalendarComponent } from '@odx/angular/components/calendar';
14
14
  import * as i2$1 from '@odx/angular/components/dropdown';
15
- import { DropdownDirective, DropdownModule } from '@odx/angular/components/dropdown';
15
+ import { DropdownModule, DropdownDirective } from '@odx/angular/components/dropdown';
16
16
  import { IconComponent } from '@odx/angular/components/icon';
17
17
  import { CSSComponent } from '@odx/angular/internal';
18
18
  import { untilDestroyed, injectElement, deferFn } from '@odx/angular/utils';
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-datepicker.mjs","sources":["../../../../libs/angular/components/datepicker/src/lib/directives/datepicker-input-control.directive.ts","../../../../libs/angular/components/datepicker/src/lib/datepicker.component.ts","../../../../libs/angular/components/datepicker/src/lib/datepicker.component.html","../../../../libs/angular/components/datepicker/src/lib/datepicker.module.ts","../../../../libs/angular/components/datepicker/src/odx-angular-components-datepicker.ts"],"sourcesContent":["import { Directive, EventEmitter, HostListener, inject, Output } from '@angular/core';\nimport { ReadonlyController, WithTabIndex } from '@odx/angular';\nimport { InputControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { getDateInputFormat, getDateInputValueAsDate, injectDateConfig } from '@odx/angular/cdk/date-input';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\n\n/**\n * A directive to enhance an input element as part of a datepicker control. It applies date input formatting,\n * mask handling, and emits focus events. This directive integrates with ngx-mask to handle input masking and\n * ensures that the input complies with the date format specified in the datepicker configuration.\n * Extends the `InputControlDirective` to provide input control functionality.\n * Has host directive `WithTabIndex` to manage the tabindex attribute of the input element.\n *\n * @see {InputControlDirective}\n * @see {WithTabIndex}\n */\n@CSSComponent('datepicker__control')\n@Directive({\n standalone: true,\n selector: 'input[odxDatepickerControl]',\n host: {\n '[attr.readonly]': 'readonlyController?.readonly || null',\n '[attr.placeholder]': 'placeholder',\n },\n providers: [ReadonlyController.connect(), provideNgxMask({ validation: false, leadZeroDateTime: true })],\n hostDirectives: [WithTabIndex, NgxMaskDirective],\n})\nexport class DatepickerInputControlDirective extends InputControlDirective {\n protected readonly readonlyController = ReadonlyController.inject();\n protected readonly config = injectDateConfig();\n public readonly ngxMaskDirective = inject(NgxMaskDirective);\n\n /**\n * Emits an event when the input field receives focus or loses focus, indicating the focus state.\n *\n * @emits {boolean} - Indicates whether the input field is focused.\n */\n @Output()\n public focused = new EventEmitter<boolean>();\n\n /**\n * Gets the current value of the input field as a `Date` object, based on the date format from the datepicker\n * configuration.\n *\n * @returns {Date | null} - The current value of the input field as a `Date` object, or `null` if the value is invalid.\n */\n public get valueAsDate(): Date | null {\n return getDateInputValueAsDate(this.config, this.nativeElementValue);\n }\n\n /**\n * Computes the placeholder text for the input based on the date format from\n * the datepicker configuration.\n *\n * @returns {string} - The placeholder text, typically the date format in uppercase.\n */\n public get placeholder(): string {\n return getDateInputFormat(this.config).toUpperCase();\n }\n\n @HostListener('focusin')\n protected handleFocusIn(): void {\n this.focused.emit(true);\n }\n\n @HostListener('focusout')\n protected handleFocusOut(): void {\n this.focused.emit(false);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostListener,\n input,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { detectControllerChanges } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { getDateInputFormat, getDateInputMask, initNgxMask, injectDateConfig } from '@odx/angular/cdk/date-input';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { CalendarComponent, DateFilter } from '@odx/angular/components/calendar';\nimport { DropdownDirective, DropdownModule } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement, Position, untilDestroyed } from '@odx/angular/utils';\nimport { format, startOfDay } from 'date-fns';\nimport { DatepickerInputControlDirective } from './directives';\n\n/**\n * Represents a datepicker component for selecting a date.\n * Extends the `CustomFormControl` class and implements the `AfterViewInit` interface.\n *\n * @see {CustomFormControl}\n */\n@CSSComponent('datepicker')\n@Component({\n selector: 'odx-datepicker',\n standalone: true,\n imports: [A11yModule, ActionGroupComponent, ButtonComponent, CalendarComponent, DropdownModule, IconComponent],\n templateUrl: './datepicker.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DatepickerComponent extends CustomFormControl<Date | null> implements AfterViewInit {\n protected readonly takeUntilDestroyed = untilDestroyed();\n\n protected readonly config = injectDateConfig();\n\n public readonly element = injectElement();\n\n /**\n * Gets a value indicating whether the datepicker is currently open.\n *\n * @returns {boolean}\n */\n public get isOpen(): boolean {\n return !!this.dropdown.isOpen;\n }\n\n /**\n * Represents the current date.\n *\n * @type {Date}\n */\n public today = new Date();\n\n /**\n * The filter function used to determine if a date should be included or excluded in the datepicker.\n * If set to `null`, no filtering will be applied.\n *\n * @type {DateFilter | null}\n * @default null\n *\n * @example\n * ```ts\n * // Excludes mondays from the datepicker.\n * const filterFn: DateFilter = (date) => date.getDay() !== 1;\n * ```\n */\n @Input()\n public filterFn: DateFilter | null = null;\n\n /**\n * The minimum selectable date for the datepicker.\n * If set to null, there is no minimum date restriction.\n *\n * @type {Date | null}\n * @default null\n */\n @Input()\n public minDate: Date | null = null;\n\n /**\n * The maximum selectable date for the datepicker.\n * If set to null, there is no maximum date restriction.\n *\n * @type {Date | null}\n * @default null\n */\n @Input()\n public maxDate: Date | null = null;\n\n /**\n * The position of the dropdown relative to the input field.\n *\n * @type {Position}\n * @default Position.BOTTOM\n */\n @Input()\n public dropdownPosition: Position = 'bottom';\n\n /**\n * When set to true, the select will display a reset button.\n *\n * @type {boolean}\n * @default false\n */\n public clearable = input(false, { transform: booleanAttribute });\n\n /**\n * Emits the selected date when it changes.\n *\n * @emits {Date}\n */\n @Output()\n public selectedChange = new EventEmitter<Date>();\n\n /**\n * The dropdown directive used in the datepicker component.\n *\n * @type {DropdownDirective}\n */\n @ViewChild(DropdownDirective)\n public dropdown!: DropdownDirective;\n\n /**\n * The dropdown trigger element used in the datepicker component.\n *\n * @type {ElementRef<HTMLElement>}\n */\n @ViewChild('dropdownTrigger', { read: ElementRef, static: true })\n public dropdownTriggerElement!: ElementRef<HTMLElement>;\n\n /**\n * The date field input control directive used in the datepicker component.\n *\n * @type {DatepickerInputControlDirective | undefined}\n */\n @ContentChild(DatepickerInputControlDirective)\n public dateField?: DatepickerInputControlDirective;\n\n constructor() {\n super(null);\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n this.handleDateFieldChanges();\n this.handleDateFieldFocus();\n\n deferFn(() => {\n if (!this.value) return;\n this.updateDateField(startOfDay(this.value));\n });\n }\n\n /**\n * Selects a date.\n *\n * @param {Date | null} value - The date value to be selected.\n */\n public selectDate(value: Date | null): void {\n if (!value) return;\n\n this.updateInternalValue(value);\n\n this.selectedChange.emit(value);\n\n this.dropdown.close();\n }\n\n /**\n * Resets the datepicker's value to null.\n */\n public reset(): void {\n this.updateInternalValue(null);\n }\n\n /**\n * @internal\n * Writes a new value to the element.\n * Part of the ControlValueAccessor interface.\n * @param {Date | null} value - The new value.\n */\n public override writeValue(value: Date | null): void {\n super.writeValue(value);\n this.updateDateField(value);\n }\n\n /**\n * Opens the datepicker dropdown.\n *\n * @param {KeyboardEvent} event\n */\n @HostListener('keydown.alt.ArrowDown', ['$event'])\n public openDatepicker(event?: KeyboardEvent) {\n event?.stopPropagation();\n\n if (this.isReadonly || this.isDisabled) return;\n\n this.dropdown.open(event);\n }\n\n protected updateInternalValue(value: Date | null): void {\n this.updateValue(value);\n this.updateDateField(value);\n }\n\n protected handleDateFieldChanges(): void {\n initNgxMask(this.dateField?.ngxMaskDirective, getDateInputMask(this.config));\n this.dateField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => {\n if (!this.dateField?.valueAsDate) return;\n this.updateValue(this.dateField?.valueAsDate ?? null);\n });\n }\n\n protected handleDateFieldFocus(): void {\n this.dateField?.focused.pipe(this.takeUntilDestroyed()).subscribe((isFocused) => {\n if (!isFocused) {\n this.onTouched();\n }\n if (this.isOpen) {\n this.dropdown.close();\n }\n });\n }\n\n private updateDateField(date: Date | null): void {\n if (!this.dateField) return;\n\n const dateFormat = getDateInputFormat(this.config);\n this.dateField.nativeElementValue = date ? format(date, dateFormat) : '';\n }\n}\n","<ng-content select=\"input[odxDatepickerControl]\" />\n\n<odx-action-group class=\"odx-datepicker__trigger-wrapper\">\n @if (clearable() && value) {\n <button odxButton class=\"odx-datepicker__clear\" (click)=\"reset()\" size=\"small\" aria-label=\"Reset time\">\n <odx-icon name=\"close\" iconSet=\"core\" />\n </button>\n }\n <button\n #dropdownTrigger\n odxButton\n size=\"small\"\n variant=\"ghost\"\n class=\"odx-datepicker__trigger\"\n [odxDropdown]=\"calendarOverlay\"\n [odxDropdownOptions]=\"{ position: dropdownPosition }\"\n [odxDropdownTriggerElement]=\"dropdownTriggerElement.nativeElement\"\n [odxDropdownHost]=\"null\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n (odxDropdownBeforeClose)=\"onTouched()\"\n >\n <odx-icon name=\"calendar\" />\n </button>\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n\n<ng-template #calendarOverlay>\n <odx-calendar\n [selectedDate]=\"value || today\"\n [filterFn]=\"filterFn\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (selectedDateChange)=\"selectDate($event)\"\n />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DatepickerComponent } from './datepicker.component';\nimport { DatepickerInputControlDirective } from './directives';\n\nconst modules = [DatepickerComponent, DatepickerInputControlDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DatepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-datepicker.mjs","sources":["../../../../libs/angular/components/datepicker/src/lib/directives/datepicker-input-control.directive.ts","../../../../libs/angular/components/datepicker/src/lib/datepicker.component.ts","../../../../libs/angular/components/datepicker/src/lib/datepicker.component.html","../../../../libs/angular/components/datepicker/src/lib/datepicker.module.ts","../../../../libs/angular/components/datepicker/src/odx-angular-components-datepicker.ts"],"sourcesContent":["import { Directive, EventEmitter, HostListener, inject, Output } from '@angular/core';\nimport { ReadonlyController, WithTabIndex } from '@odx/angular';\nimport { InputControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { getDateInputFormat, getDateInputValueAsDate, injectDateConfig } from '@odx/angular/cdk/date-input';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\n\n/**\n * A directive to enhance an input element as part of a datepicker control. It applies date input formatting,\n * mask handling, and emits focus events. This directive integrates with ngx-mask to handle input masking and\n * ensures that the input complies with the date format specified in the datepicker configuration.\n * Extends the `InputControlDirective` to provide input control functionality.\n * Has host directive `WithTabIndex` to manage the tabindex attribute of the input element.\n *\n * @see {InputControlDirective}\n * @see {WithTabIndex}\n */\n@CSSComponent('datepicker__control')\n@Directive({\n standalone: true,\n selector: 'input[odxDatepickerControl]',\n host: {\n '[attr.readonly]': 'readonlyController?.readonly || null',\n '[attr.placeholder]': 'placeholder',\n },\n providers: [ReadonlyController.connect(), provideNgxMask({ validation: false, leadZeroDateTime: true })],\n hostDirectives: [WithTabIndex, NgxMaskDirective],\n})\nexport class DatepickerInputControlDirective extends InputControlDirective {\n protected readonly readonlyController = ReadonlyController.inject();\n protected readonly config = injectDateConfig();\n public readonly ngxMaskDirective = inject(NgxMaskDirective);\n\n /**\n * Emits an event when the input field receives focus or loses focus, indicating the focus state.\n *\n * @emits {boolean} - Indicates whether the input field is focused.\n */\n @Output()\n public focused = new EventEmitter<boolean>();\n\n /**\n * Gets the current value of the input field as a `Date` object, based on the date format from the datepicker\n * configuration.\n *\n * @returns {Date | null} - The current value of the input field as a `Date` object, or `null` if the value is invalid.\n */\n public get valueAsDate(): Date | null {\n return getDateInputValueAsDate(this.config, this.nativeElementValue);\n }\n\n /**\n * Computes the placeholder text for the input based on the date format from\n * the datepicker configuration.\n *\n * @returns {string} - The placeholder text, typically the date format in uppercase.\n */\n public get placeholder(): string {\n return getDateInputFormat(this.config).toUpperCase();\n }\n\n @HostListener('focusin')\n protected handleFocusIn(): void {\n this.focused.emit(true);\n }\n\n @HostListener('focusout')\n protected handleFocusOut(): void {\n this.focused.emit(false);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostListener,\n input,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { detectControllerChanges } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { getDateInputFormat, getDateInputMask, initNgxMask, injectDateConfig } from '@odx/angular/cdk/date-input';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { CalendarComponent, DateFilter } from '@odx/angular/components/calendar';\nimport { DropdownDirective, DropdownModule } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement, Position, untilDestroyed } from '@odx/angular/utils';\nimport { format, startOfDay } from 'date-fns';\nimport { DatepickerInputControlDirective } from './directives';\n\n/**\n * Represents a datepicker component for selecting a date.\n * Extends the `CustomFormControl` class and implements the `AfterViewInit` interface.\n *\n * @see {CustomFormControl}\n */\n@CSSComponent('datepicker')\n@Component({\n selector: 'odx-datepicker',\n standalone: true,\n imports: [A11yModule, ActionGroupComponent, ButtonComponent, CalendarComponent, DropdownModule, IconComponent],\n templateUrl: './datepicker.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DatepickerComponent extends CustomFormControl<Date | null> implements AfterViewInit {\n protected readonly takeUntilDestroyed = untilDestroyed();\n\n protected readonly config = injectDateConfig();\n\n public readonly element = injectElement();\n\n /**\n * Gets a value indicating whether the datepicker is currently open.\n *\n * @returns {boolean}\n */\n public get isOpen(): boolean {\n return !!this.dropdown.isOpen;\n }\n\n /**\n * Represents the current date.\n *\n * @type {Date}\n */\n public today = new Date();\n\n /**\n * The filter function used to determine if a date should be included or excluded in the datepicker.\n * If set to `null`, no filtering will be applied.\n *\n * @type {DateFilter | null}\n * @default null\n *\n * @example\n * ```ts\n * // Excludes mondays from the datepicker.\n * const filterFn: DateFilter = (date) => date.getDay() !== 1;\n * ```\n */\n @Input()\n public filterFn: DateFilter | null = null;\n\n /**\n * The minimum selectable date for the datepicker.\n * If set to null, there is no minimum date restriction.\n *\n * @type {Date | null}\n * @default null\n */\n @Input()\n public minDate: Date | null = null;\n\n /**\n * The maximum selectable date for the datepicker.\n * If set to null, there is no maximum date restriction.\n *\n * @type {Date | null}\n * @default null\n */\n @Input()\n public maxDate: Date | null = null;\n\n /**\n * The position of the dropdown relative to the input field.\n *\n * @type {Position}\n * @default Position.BOTTOM\n */\n @Input()\n public dropdownPosition: Position = 'bottom';\n\n /**\n * When set to true, the select will display a reset button.\n *\n * @type {boolean}\n * @default false\n */\n public clearable = input(false, { transform: booleanAttribute });\n\n /**\n * Emits the selected date when it changes.\n *\n * @emits {Date}\n */\n @Output()\n public selectedChange = new EventEmitter<Date>();\n\n /**\n * The dropdown directive used in the datepicker component.\n *\n * @type {DropdownDirective}\n */\n @ViewChild(DropdownDirective)\n public dropdown!: DropdownDirective;\n\n /**\n * The dropdown trigger element used in the datepicker component.\n *\n * @type {ElementRef<HTMLElement>}\n */\n @ViewChild('dropdownTrigger', { read: ElementRef, static: true })\n public dropdownTriggerElement!: ElementRef<HTMLElement>;\n\n /**\n * The date field input control directive used in the datepicker component.\n *\n * @type {DatepickerInputControlDirective | undefined}\n */\n @ContentChild(DatepickerInputControlDirective)\n public dateField?: DatepickerInputControlDirective;\n\n constructor() {\n super(null);\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n this.handleDateFieldChanges();\n this.handleDateFieldFocus();\n\n deferFn(() => {\n if (!this.value) return;\n this.updateDateField(startOfDay(this.value));\n });\n }\n\n /**\n * Selects a date.\n *\n * @param {Date | null} value - The date value to be selected.\n */\n public selectDate(value: Date | null): void {\n if (!value) return;\n\n this.updateInternalValue(value);\n\n this.selectedChange.emit(value);\n\n this.dropdown.close();\n }\n\n /**\n * Resets the datepicker's value to null.\n */\n public reset(): void {\n this.updateInternalValue(null);\n }\n\n /**\n * @internal\n * Writes a new value to the element.\n * Part of the ControlValueAccessor interface.\n * @param {Date | null} value - The new value.\n */\n public override writeValue(value: Date | null): void {\n super.writeValue(value);\n this.updateDateField(value);\n }\n\n /**\n * Opens the datepicker dropdown.\n *\n * @param {KeyboardEvent} event\n */\n @HostListener('keydown.alt.ArrowDown', ['$event'])\n public openDatepicker(event?: KeyboardEvent) {\n event?.stopPropagation();\n\n if (this.isReadonly || this.isDisabled) return;\n\n this.dropdown.open(event);\n }\n\n protected updateInternalValue(value: Date | null): void {\n this.updateValue(value);\n this.updateDateField(value);\n }\n\n protected handleDateFieldChanges(): void {\n initNgxMask(this.dateField?.ngxMaskDirective, getDateInputMask(this.config));\n this.dateField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => {\n if (!this.dateField?.valueAsDate) return;\n this.updateValue(this.dateField?.valueAsDate ?? null);\n });\n }\n\n protected handleDateFieldFocus(): void {\n this.dateField?.focused.pipe(this.takeUntilDestroyed()).subscribe((isFocused) => {\n if (!isFocused) {\n this.onTouched();\n }\n if (this.isOpen) {\n this.dropdown.close();\n }\n });\n }\n\n private updateDateField(date: Date | null): void {\n if (!this.dateField) return;\n\n const dateFormat = getDateInputFormat(this.config);\n this.dateField.nativeElementValue = date ? format(date, dateFormat) : '';\n }\n}\n","<ng-content select=\"input[odxDatepickerControl]\" />\n\n<odx-action-group class=\"odx-datepicker__trigger-wrapper\">\n @if (clearable() && value) {\n <button odxButton class=\"odx-datepicker__clear\" (click)=\"reset()\" size=\"small\" aria-label=\"Reset time\">\n <odx-icon name=\"close\" iconSet=\"core\" />\n </button>\n }\n <button\n #dropdownTrigger\n odxButton\n size=\"small\"\n variant=\"ghost\"\n class=\"odx-datepicker__trigger\"\n [odxDropdown]=\"calendarOverlay\"\n [odxDropdownOptions]=\"{ position: dropdownPosition }\"\n [odxDropdownTriggerElement]=\"dropdownTriggerElement.nativeElement\"\n [odxDropdownHost]=\"null\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n (odxDropdownBeforeClose)=\"onTouched()\"\n >\n <odx-icon name=\"calendar\" />\n </button>\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n\n<ng-template #calendarOverlay>\n <odx-calendar\n [selectedDate]=\"value || today\"\n [filterFn]=\"filterFn\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (selectedDateChange)=\"selectDate($event)\"\n />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DatepickerComponent } from './datepicker.component';\nimport { DatepickerInputControlDirective } from './directives';\n\nconst modules = [DatepickerComponent, DatepickerInputControlDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DatepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from 'tslib';
2
2
  import * as i1$1 from '@angular/cdk/a11y';
3
3
  import { A11yModule } from '@angular/cdk/a11y';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, EventEmitter, Directive, Output, HostListener, input, booleanAttribute, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, ContentChildren, forwardRef, NgModule } from '@angular/core';
5
+ import { inject, EventEmitter, HostListener, Output, Directive, input, booleanAttribute, ElementRef, ViewChild, ContentChildren, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, forwardRef, NgModule } from '@angular/core';
6
6
  import * as i1 from '@odx/angular';
7
7
  import { ReadonlyController, WithTabIndex, detectControllerChanges, CoreModule } from '@odx/angular';
8
8
  import { InputControlDirective, CustomFormControl } from '@odx/angular/cdk/custom-form-control';
@@ -10,9 +10,9 @@ import { injectDateConfig, getDateInputValueAsDate, getDateInputFormat, initNgxM
10
10
  export { DateConfig as DaterangepickerConfig, DateDefaultConfig as DaterangepickerDefaultConfig, InputDateOrder as DaterangepickerInputDateOrder, DateInputFormat as DaterangepickerInputFormat, DateInputMask as DaterangepickerInputMask, getDateInputFormat as getDaterangepickerInputFormat, getDateInputMask as getDaterangepickerInputMask, getDateInputValueAsDate as getDaterangepickerInputValueAsDate, injectDateConfig as injectDaterangepickerDateConfig, provideDateConfig as provideDaterangepickerConfig } from '@odx/angular/cdk/date-input';
11
11
  import { ActionGroupComponent } from '@odx/angular/components/action-group';
12
12
  import { ButtonComponent } from '@odx/angular/components/button';
13
- import { provideCalendarConfig, CalendarSelectionMode, CalendarComponent, validateDaterange } from '@odx/angular/components/calendar';
13
+ import { CalendarComponent, provideCalendarConfig, CalendarSelectionMode, validateDaterange } from '@odx/angular/components/calendar';
14
14
  import * as i2$1 from '@odx/angular/components/dropdown';
15
- import { DropdownDirective, DropdownModule } from '@odx/angular/components/dropdown';
15
+ import { DropdownModule, DropdownDirective } from '@odx/angular/components/dropdown';
16
16
  import { IconComponent } from '@odx/angular/components/icon';
17
17
  import { CSSComponent } from '@odx/angular/internal';
18
18
  import { untilDestroyed, injectElement, deferFn } from '@odx/angular/utils';