@clr/angular 18.0.0-beta.1 → 18.0.0-beta.2

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 (76) hide show
  1. package/fesm2022/clr-angular-button.mjs +2 -2
  2. package/fesm2022/clr-angular-button.mjs.map +1 -1
  3. package/fesm2022/clr-angular-data-datagrid.mjs +12 -26
  4. package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
  5. package/fesm2022/clr-angular-data-tree-view.mjs +2 -2
  6. package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -1
  7. package/fesm2022/clr-angular-data.mjs +13 -27
  8. package/fesm2022/clr-angular-data.mjs.map +1 -1
  9. package/fesm2022/clr-angular-emphasis-alert.mjs +2 -2
  10. package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -1
  11. package/fesm2022/clr-angular-emphasis.mjs +2 -2
  12. package/fesm2022/clr-angular-emphasis.mjs.map +1 -1
  13. package/fesm2022/clr-angular-forms-checkbox.mjs +13 -44
  14. package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -1
  15. package/fesm2022/clr-angular-forms-combobox.mjs +94 -61
  16. package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -1
  17. package/fesm2022/clr-angular-forms-common.mjs +61 -58
  18. package/fesm2022/clr-angular-forms-common.mjs.map +1 -1
  19. package/fesm2022/clr-angular-forms-datalist.mjs +2 -14
  20. package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -1
  21. package/fesm2022/clr-angular-forms-datepicker.mjs +16 -24
  22. package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -1
  23. package/fesm2022/clr-angular-forms-file-input.mjs +72 -55
  24. package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -1
  25. package/fesm2022/clr-angular-forms-input.mjs +4 -18
  26. package/fesm2022/clr-angular-forms-input.mjs.map +1 -1
  27. package/fesm2022/clr-angular-forms-number-input.mjs +2 -14
  28. package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -1
  29. package/fesm2022/clr-angular-forms-password.mjs +2 -14
  30. package/fesm2022/clr-angular-forms-password.mjs.map +1 -1
  31. package/fesm2022/clr-angular-forms-radio.mjs +13 -44
  32. package/fesm2022/clr-angular-forms-radio.mjs.map +1 -1
  33. package/fesm2022/clr-angular-forms-range.mjs +3 -16
  34. package/fesm2022/clr-angular-forms-range.mjs.map +1 -1
  35. package/fesm2022/clr-angular-forms-select.mjs +3 -16
  36. package/fesm2022/clr-angular-forms-select.mjs.map +1 -1
  37. package/fesm2022/clr-angular-forms-textarea.mjs +4 -17
  38. package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -1
  39. package/fesm2022/clr-angular-forms.mjs +258 -358
  40. package/fesm2022/clr-angular-forms.mjs.map +1 -1
  41. package/fesm2022/clr-angular-modal.mjs +2 -2
  42. package/fesm2022/clr-angular-modal.mjs.map +1 -1
  43. package/fesm2022/clr-angular-popover-common.mjs +151 -85
  44. package/fesm2022/clr-angular-popover-common.mjs.map +1 -1
  45. package/fesm2022/clr-angular-popover-dropdown.mjs +7 -4
  46. package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -1
  47. package/fesm2022/clr-angular-popover-signpost.mjs +27 -12
  48. package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -1
  49. package/fesm2022/clr-angular-popover-tooltip.mjs +4 -4
  50. package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -1
  51. package/fesm2022/clr-angular-popover.mjs +186 -102
  52. package/fesm2022/clr-angular-popover.mjs.map +1 -1
  53. package/fesm2022/clr-angular-stepper.mjs +4 -4
  54. package/fesm2022/clr-angular-stepper.mjs.map +1 -1
  55. package/fesm2022/clr-angular-utils.mjs +12 -47
  56. package/fesm2022/clr-angular-utils.mjs.map +1 -1
  57. package/fesm2022/clr-angular-wizard.mjs +19 -11
  58. package/fesm2022/clr-angular-wizard.mjs.map +1 -1
  59. package/fesm2022/clr-angular.mjs +491 -548
  60. package/fesm2022/clr-angular.mjs.map +1 -1
  61. package/package.json +2 -2
  62. package/popover/common/README.md +14 -12
  63. package/types/clr-angular-data-datagrid.d.ts +0 -10
  64. package/types/clr-angular-data.d.ts +0 -10
  65. package/types/clr-angular-forms-combobox.d.ts +11 -4
  66. package/types/clr-angular-forms-common.d.ts +9 -9
  67. package/types/clr-angular-forms-datepicker.d.ts +7 -0
  68. package/types/clr-angular-forms-file-input.d.ts +5 -2
  69. package/types/clr-angular-forms.d.ts +31 -15
  70. package/types/clr-angular-popover-common.d.ts +38 -13
  71. package/types/clr-angular-popover-dropdown.d.ts +2 -1
  72. package/types/clr-angular-popover-signpost.d.ts +14 -6
  73. package/types/clr-angular-popover.d.ts +52 -18
  74. package/types/clr-angular-utils.d.ts +4 -14
  75. package/types/clr-angular-wizard.d.ts +7 -4
  76. package/types/clr-angular.d.ts +91 -59
@@ -1 +1 @@
1
- {"version":3,"file":"clr-angular-forms-datalist.mjs","sources":["../../../projects/angular/forms/datalist/providers/datalist-id.service.ts","../../../projects/angular/forms/datalist/datalist.ts","../../../projects/angular/forms/datalist/datalist-container.ts","../../../projects/angular/forms/datalist/datalist-input.ts","../../../projects/angular/forms/datalist/datalist.module.ts","../../../projects/angular/forms/datalist/index.ts","../../../projects/angular/forms/datalist/clr-angular-forms-datalist.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nlet counter = 0;\n\n@Injectable()\nexport class DatalistIdService {\n private _id = 'clr-datalist-' + ++counter;\n private _idChange = new BehaviorSubject(this._id);\n\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value;\n this._idChange.next(value);\n }\n\n get idChange(): Observable<string> {\n return this._idChange.asObservable();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterContentInit, Directive, Input, Optional } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DatalistIdService } from './providers/datalist-id.service';\n\n@Directive({\n selector: 'datalist',\n host: {\n '[id]': 'datalistId',\n },\n standalone: false,\n})\nexport class ClrDatalist implements AfterContentInit {\n datalistId: string;\n\n private subscriptions: Subscription[] = [];\n\n constructor(@Optional() private datalistIdService: DatalistIdService) {}\n\n @Input()\n set id(idValue: string) {\n if (!!idValue && this.datalistIdService) {\n this.datalistId = idValue;\n this.datalistIdService.id = idValue;\n } else if (idValue) {\n this.datalistId = idValue;\n }\n }\n\n ngAfterContentInit() {\n if (!this.datalistIdService) {\n return;\n }\n this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.datalistId = id)));\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Optional } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n FormsFocusService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\n\nimport { DatalistIdService } from './providers/datalist-id.service';\n\n@Component({\n selector: 'clr-datalist-container',\n template: `\n <ng-content select=\"label\"></ng-content>\n @if (!label && addGrid()) {\n <label></label>\n }\n <div class=\"clr-control-container\" [ngClass]=\"controlClass()\">\n <div class=\"clr-input-wrapper\">\n <div class=\"clr-input-group\" [class.clr-focus]=\"focus\" #datalist>\n <ng-content select=\"[clrDatalistInput]\"></ng-content>\n <ng-content select=\"datalist\"></ng-content>\n <cds-icon shape=\"angle\" class=\"clr-datalist-caret\" direction=\"down\" (click)=\"showPicker(datalist)\"></cds-icon>\n </div>\n @if (showInvalid) {\n <cds-icon class=\"clr-validate-icon\" shape=\"exclamation-circle\" status=\"danger\" aria-hidden=\"true\"></cds-icon>\n }\n @if (showValid) {\n <cds-icon class=\"clr-validate-icon\" shape=\"check-circle\" status=\"success\" aria-hidden=\"true\"></cds-icon>\n }\n </div>\n @if (showHelper) {\n <ng-content select=\"clr-control-helper\"></ng-content>\n }\n @if (showInvalid) {\n <ng-content select=\"clr-control-error\"></ng-content>\n }\n @if (showValid) {\n <ng-content select=\"clr-control-success\"></ng-content>\n }\n </div>\n `,\n host: {\n '[class.clr-form-control]': 'true',\n '[class.clr-form-control-disabled]': 'control?.disabled',\n '[class.clr-row]': 'addGrid()',\n },\n providers: [ControlClassService, ControlIdService, FormsFocusService, NgControlService, DatalistIdService],\n standalone: false,\n})\nexport class ClrDatalistContainer extends ClrAbstractContainer {\n focus = false;\n\n constructor(\n controlClassService: ControlClassService,\n @Optional() layoutService: LayoutService,\n ngControlService: NgControlService,\n focusService: FormsFocusService\n ) {\n super(layoutService, controlClassService, ngControlService);\n\n this.subscriptions.push(focusService.focusChange.subscribe(state => (this.focus = state)));\n }\n\n showPicker(datalist: HTMLElement) {\n const datalistInput = datalist.querySelector('input[clrDatalistInput]') as HTMLInputElement;\n if (datalistInput) {\n datalistInput.focus();\n datalistInput.showPicker();\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n HostListener,\n Injector,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { FormsFocusService, WrappedFormControl } from '@clr/angular/forms/common';\n\nimport { ClrDatalistContainer } from './datalist-container';\nimport { DatalistIdService } from './providers/datalist-id.service';\n\n@Directive({\n selector: '[clrDatalistInput]',\n host: {\n '[class.clr-input]': 'true',\n '[attr.list]': 'listValue',\n },\n standalone: false,\n})\nexport class ClrDatalistInput extends WrappedFormControl<ClrDatalistContainer> implements AfterContentInit {\n listValue: string;\n\n constructor(\n @Optional() private focusService: FormsFocusService,\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n control: NgControl,\n renderer: Renderer2,\n el: ElementRef<HTMLInputElement>,\n private datalistIdService: DatalistIdService\n ) {\n super(vcr, ClrDatalistContainer, injector, control, renderer, el);\n\n if (!focusService) {\n throw new Error('clrDatalist requires being wrapped in <clr-datalist-container>');\n }\n }\n\n ngAfterContentInit() {\n // Subscriptions is inherited from WrappedFormControl, unsubscribe is handled there\n this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.listValue = id)));\n }\n\n @HostListener('focus')\n triggerFocus() {\n if (this.focusService) {\n this.focusService.focused = true;\n }\n }\n\n override triggerValidation() {\n super.triggerValidation();\n if (this.focusService) {\n this.focusService.focused = false;\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClrInputModule } from '@clr/angular/forms/input';\nimport { checkCircleIcon, ClarityIcons, ClrIcon, exclamationCircleIcon } from '@clr/angular/icon';\n\nimport { ClrDatalist } from './datalist';\nimport { ClrDatalistContainer } from './datalist-container';\nimport { ClrDatalistInput } from './datalist-input';\n\n@NgModule({\n imports: [CommonModule, ClrInputModule, ClrIcon],\n declarations: [ClrDatalist, ClrDatalistInput, ClrDatalistContainer],\n exports: [ClrDatalist, ClrDatalistInput, ClrDatalistContainer],\n})\nexport class ClrDatalistModule {\n constructor() {\n ClarityIcons.addIcons(exclamationCircleIcon, checkCircleIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './datalist';\nexport * from './datalist-input';\nexport * from './datalist-container';\nexport * from './datalist.module';\nexport * from './providers/datalist-id.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DatalistIdService","i2","i3.DatalistIdService"],"mappings":"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"}
1
+ {"version":3,"file":"clr-angular-forms-datalist.mjs","sources":["../../../projects/angular/forms/datalist/providers/datalist-id.service.ts","../../../projects/angular/forms/datalist/datalist.ts","../../../projects/angular/forms/datalist/datalist-container.ts","../../../projects/angular/forms/datalist/datalist-input.ts","../../../projects/angular/forms/datalist/datalist.module.ts","../../../projects/angular/forms/datalist/index.ts","../../../projects/angular/forms/datalist/clr-angular-forms-datalist.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nlet counter = 0;\n\n@Injectable()\nexport class DatalistIdService {\n private _id = 'clr-datalist-' + ++counter;\n private _idChange = new BehaviorSubject(this._id);\n\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value;\n this._idChange.next(value);\n }\n\n get idChange(): Observable<string> {\n return this._idChange.asObservable();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterContentInit, Directive, Input, Optional } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DatalistIdService } from './providers/datalist-id.service';\n\n@Directive({\n selector: 'datalist',\n host: {\n '[id]': 'datalistId',\n },\n standalone: false,\n})\nexport class ClrDatalist implements AfterContentInit {\n datalistId: string;\n\n private subscriptions: Subscription[] = [];\n\n constructor(@Optional() private datalistIdService: DatalistIdService) {}\n\n @Input()\n set id(idValue: string) {\n if (!!idValue && this.datalistIdService) {\n this.datalistId = idValue;\n this.datalistIdService.id = idValue;\n } else if (idValue) {\n this.datalistId = idValue;\n }\n }\n\n ngAfterContentInit() {\n if (!this.datalistIdService) {\n return;\n }\n this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.datalistId = id)));\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Optional } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n FormsFocusService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\n\nimport { DatalistIdService } from './providers/datalist-id.service';\n\n@Component({\n selector: 'clr-datalist-container',\n template: `\n <ng-content select=\"label\"></ng-content>\n @if (!label && addGrid()) {\n <label></label>\n }\n <div class=\"clr-control-container\" [ngClass]=\"controlClass()\">\n <div class=\"clr-input-wrapper\">\n <div class=\"clr-input-group\" [class.clr-focus]=\"focus\" #datalist>\n <ng-content select=\"[clrDatalistInput]\"></ng-content>\n <ng-content select=\"datalist\"></ng-content>\n <cds-icon shape=\"angle\" class=\"clr-datalist-caret\" direction=\"down\" (click)=\"showPicker(datalist)\"></cds-icon>\n </div>\n </div>\n @if (showHelper) {\n <ng-content select=\"clr-control-helper\"></ng-content>\n }\n @if (showInvalid) {\n <ng-content select=\"clr-control-error\"></ng-content>\n }\n @if (showValid) {\n <ng-content select=\"clr-control-success\"></ng-content>\n }\n </div>\n `,\n host: {\n '[class.clr-form-control]': 'true',\n '[class.clr-form-control-disabled]': 'control?.disabled',\n '[class.clr-row]': 'addGrid()',\n },\n providers: [ControlClassService, ControlIdService, FormsFocusService, NgControlService, DatalistIdService],\n standalone: false,\n})\nexport class ClrDatalistContainer extends ClrAbstractContainer {\n focus = false;\n\n constructor(\n controlClassService: ControlClassService,\n @Optional() layoutService: LayoutService,\n ngControlService: NgControlService,\n focusService: FormsFocusService\n ) {\n super(layoutService, controlClassService, ngControlService);\n\n this.subscriptions.push(focusService.focusChange.subscribe(state => (this.focus = state)));\n }\n\n showPicker(datalist: HTMLElement) {\n const datalistInput = datalist.querySelector('input[clrDatalistInput]') as HTMLInputElement;\n if (datalistInput) {\n datalistInput.focus();\n datalistInput.showPicker();\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n HostListener,\n Injector,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { FormsFocusService, WrappedFormControl } from '@clr/angular/forms/common';\n\nimport { ClrDatalistContainer } from './datalist-container';\nimport { DatalistIdService } from './providers/datalist-id.service';\n\n@Directive({\n selector: '[clrDatalistInput]',\n host: {\n '[class.clr-input]': 'true',\n '[attr.list]': 'listValue',\n },\n standalone: false,\n})\nexport class ClrDatalistInput extends WrappedFormControl<ClrDatalistContainer> implements AfterContentInit {\n listValue: string;\n\n constructor(\n @Optional() private focusService: FormsFocusService,\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n control: NgControl,\n renderer: Renderer2,\n el: ElementRef<HTMLInputElement>,\n private datalistIdService: DatalistIdService\n ) {\n super(vcr, ClrDatalistContainer, injector, control, renderer, el);\n\n if (!focusService) {\n throw new Error('clrDatalist requires being wrapped in <clr-datalist-container>');\n }\n }\n\n ngAfterContentInit() {\n // Subscriptions is inherited from WrappedFormControl, unsubscribe is handled there\n this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.listValue = id)));\n }\n\n @HostListener('focus')\n triggerFocus() {\n if (this.focusService) {\n this.focusService.focused = true;\n }\n }\n\n override triggerValidation() {\n super.triggerValidation();\n if (this.focusService) {\n this.focusService.focused = false;\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClrInputModule } from '@clr/angular/forms/input';\nimport { ClarityIcons, ClrIcon, errorStandardIcon, successStandardIcon } from '@clr/angular/icon';\n\nimport { ClrDatalist } from './datalist';\nimport { ClrDatalistContainer } from './datalist-container';\nimport { ClrDatalistInput } from './datalist-input';\n\n@NgModule({\n imports: [CommonModule, ClrInputModule, ClrIcon],\n declarations: [ClrDatalist, ClrDatalistInput, ClrDatalistContainer],\n exports: [ClrDatalist, ClrDatalistInput, ClrDatalistContainer],\n})\nexport class ClrDatalistModule {\n constructor() {\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './datalist';\nexport * from './datalist-input';\nexport * from './datalist-container';\nexport * from './datalist.module';\nexport * from './providers/datalist-id.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DatalistIdService","i2","i3.DatalistIdService"],"mappings":"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"}
@@ -5,13 +5,13 @@ import { Injectable, LOCALE_ID, Inject, DOCUMENT, PLATFORM_ID, HostListener, Com
5
5
  import * as i7 from '@clr/angular/forms/common';
6
6
  import { ClrAbstractContainer, ControlIdService, ControlClassService, FormsFocusService, NgControlService, WrappedFormControl, ClrCommonFormsModule } from '@clr/angular/forms/common';
7
7
  import * as i4 from '@clr/angular/utils';
8
- import { DATEPICKER_ENABLE_BREAKPOINT, normalizeKey, Keys, isBooleanAttributeSet, CdkTrapFocusModule, ClrHostWrappingModule, ClrConditionalModule } from '@clr/angular/utils';
8
+ import { DATEPICKER_ENABLE_BREAKPOINT, Keys, isBooleanAttributeSet, CdkTrapFocusModule, ClrHostWrappingModule, ClrConditionalModule } from '@clr/angular/utils';
9
9
  import { first, filter, startWith } from 'rxjs/operators';
10
10
  import * as i1 from '@clr/angular/popover/common';
11
11
  import { ClrPopoverPosition, ClrPopoverType, DROPDOWN_POSITIONS, ClrPopoverHostDirective, ÇlrClrPopoverModuleNext as _lrClrPopoverModuleNext } from '@clr/angular/popover/common';
12
12
  import { Subject, tap } from 'rxjs';
13
13
  import * as i5 from '@clr/angular/icon';
14
- import { ClarityIcons, exclamationCircleIcon, checkCircleIcon, angleIcon, eventIcon, calendarIcon, ClrIcon } from '@clr/angular/icon';
14
+ import { ClarityIcons, successStandardIcon, errorStandardIcon, angleIcon, eventIcon, calendarIcon, ClrIcon } from '@clr/angular/icon';
15
15
  import * as i6 from '@clr/angular/layout/vertical-nav';
16
16
  import { ClrVerticalNavModule } from '@clr/angular/layout/vertical-nav';
17
17
  import * as i1$1 from '@angular/forms';
@@ -318,10 +318,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
318
318
  */
319
319
  class DateIOService {
320
320
  constructor(localeHelperService) {
321
+ /**
322
+ * This is the default range. It approximates the beginning of time to the end of time.
323
+ * The disabled dates are the dates that are not allowed to be selected.
324
+ * The min date is the earliest date that can be selected.
325
+ * The max date is the latest date that can be selected.
326
+ * Unless a minDate or maxDate is set with the native HTML5 api the range is all dates
327
+ */
321
328
  this.disabledDates = {
322
- // This is the default range. It approximates the beginning of time to the end of time.
323
- // Unless a minDate or maxDate is set with the native HTML5 api the range is all dates
324
- // TODO: turn this into an Array of min/max ranges that allow configuration of multiple ranges.
325
329
  minDate: new DayModel(0, 0, 1),
326
330
  maxDate: new DayModel(9999, 11, 31),
327
331
  };
@@ -976,7 +980,7 @@ class ClrMonthpicker {
976
980
  // the logic is fairly simple and it didn't make sense for me
977
981
  // to create extra observables just to move this logic to the service.
978
982
  if (event) {
979
- const key = normalizeKey(event.key);
983
+ const key = event.key;
980
984
  if (key === Keys.ArrowUp && this._focusedMonthIndex > 1) {
981
985
  event.preventDefault();
982
986
  this._focusedMonthIndex -= 2;
@@ -1323,7 +1327,7 @@ class ClrYearpicker {
1323
1327
  // the logic is fairly simple and it didn't make sense for me
1324
1328
  // to create extra observables just to move this logic to the service.
1325
1329
  if (event) {
1326
- const key = normalizeKey(event.key);
1330
+ const key = event.key;
1327
1331
  if (key === Keys.ArrowUp) {
1328
1332
  event.preventDefault();
1329
1333
  this.incrementFocusYearBy(-2);
@@ -1970,7 +1974,7 @@ class ClrCalendar {
1970
1974
  */
1971
1975
  onKeyDown(event) {
1972
1976
  if (event && this.focusedDay) {
1973
- switch (normalizeKey(event.key)) {
1977
+ switch (event.key) {
1974
1978
  case Keys.ArrowUp:
1975
1979
  event.preventDefault();
1976
1980
  this._dateNavigationService.incrementFocusDay(-1 * NO_OF_DAYS_IN_A_WEEK);
@@ -2440,7 +2444,7 @@ class ClrDateContainer extends ClrAbstractContainer {
2440
2444
  <label></label>
2441
2445
  }
2442
2446
  <div class="clr-control-container" [ngClass]="controlClass()">
2443
- <div class="clr-input-wrapper" clrPopoverAnchor>
2447
+ <div class="clr-input-wrapper" clrPopoverOrigin>
2444
2448
  <div class="clr-input-group" [class.clr-focus]="focus">
2445
2449
  <!-- render range inputs only if using clr-date-range-container -->
2446
2450
  @if (isRangePicker) {
@@ -2472,12 +2476,6 @@ class ClrDateContainer extends ClrAbstractContainer {
2472
2476
  cdkTrapFocus
2473
2477
  ></clr-datepicker-view-manager>
2474
2478
  </div>
2475
- @if (showInvalid) {
2476
- <cds-icon class="clr-validate-icon" shape="exclamation-circle" status="danger" aria-hidden="true"></cds-icon>
2477
- }
2478
- @if (showValid) {
2479
- <cds-icon class="clr-validate-icon" shape="check-circle" status="success" aria-hidden="true"></cds-icon>
2480
- }
2481
2479
  </div>
2482
2480
  @if (showHelper) {
2483
2481
  <ng-content select="clr-control-helper"></ng-content>
@@ -2489,7 +2487,7 @@ class ClrDateContainer extends ClrAbstractContainer {
2489
2487
  <ng-content select="clr-control-success"></ng-content>
2490
2488
  }
2491
2489
  </div>
2492
- `, isInline: true, dependencies: [{ kind: "directive", type: i5$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "directive", type: i1.ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: i1.ÇlrClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i1.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentAvailablePositions", "clrPopoverContentType", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }, { kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i7.ClrControlLabel, selector: "label", inputs: ["id", "for"] }, { kind: "component", type: ClrDatepickerViewManager, selector: "clr-datepicker-view-manager" }] }); }
2490
+ `, isInline: true, dependencies: [{ kind: "directive", type: i5$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "directive", type: i1.ClrPopoverOrigin, selector: "[clrPopoverOrigin]" }, { kind: "directive", type: i1.ÇlrClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i1.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentAvailablePositions", "clrPopoverContentType", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose", "clrPopoverContentOrigin"] }, { kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i7.ClrControlLabel, selector: "label", inputs: ["id", "for"] }, { kind: "component", type: ClrDatepickerViewManager, selector: "clr-datepicker-view-manager" }] }); }
2493
2491
  }
2494
2492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrDateContainer, decorators: [{
2495
2493
  type: Component,
@@ -2501,7 +2499,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
2501
2499
  <label></label>
2502
2500
  }
2503
2501
  <div class="clr-control-container" [ngClass]="controlClass()">
2504
- <div class="clr-input-wrapper" clrPopoverAnchor>
2502
+ <div class="clr-input-wrapper" clrPopoverOrigin>
2505
2503
  <div class="clr-input-group" [class.clr-focus]="focus">
2506
2504
  <!-- render range inputs only if using clr-date-range-container -->
2507
2505
  @if (isRangePicker) {
@@ -2533,12 +2531,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
2533
2531
  cdkTrapFocus
2534
2532
  ></clr-datepicker-view-manager>
2535
2533
  </div>
2536
- @if (showInvalid) {
2537
- <cds-icon class="clr-validate-icon" shape="exclamation-circle" status="danger" aria-hidden="true"></cds-icon>
2538
- }
2539
- @if (showValid) {
2540
- <cds-icon class="clr-validate-icon" shape="check-circle" status="success" aria-hidden="true"></cds-icon>
2541
- }
2542
2534
  </div>
2543
2535
  @if (showHelper) {
2544
2536
  <ng-content select="clr-control-helper"></ng-content>
@@ -3151,7 +3143,7 @@ const CLR_DATEPICKER_DIRECTIVES = [
3151
3143
  ];
3152
3144
  class ClrDatepickerModule {
3153
3145
  constructor() {
3154
- ClarityIcons.addIcons(exclamationCircleIcon, checkCircleIcon, angleIcon, eventIcon, calendarIcon);
3146
+ ClarityIcons.addIcons(successStandardIcon, errorStandardIcon, angleIcon, eventIcon, calendarIcon);
3155
3147
  }
3156
3148
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3157
3149
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrDatepickerModule, declarations: [ClrDateInput,