Skip to content

Commit 750ffcf

Browse files
authored
Missing API exports, unify event arguments naming
Missing API exports, unify event arguments naming
2 parents ebfa052 + 794f969 commit 750ffcf

File tree

14 files changed

+89
-43
lines changed

14 files changed

+89
-43
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
88
### Added
99
- New File Input Component(`igc-file-input`)
1010

11+
### Deprecated
12+
Some event argument types have been renamed for consistency:
13+
- `CheckboxChangeEventArgs` deprecated, use `IgcCheckboxChangeEventArgs` instead.
14+
- `RadioChangeEventArgs` deprecated, use `IgcRadioChangeEventArgs` instead.
15+
- `IgcRangeSliderValue` deprecated, use `IgcRangeSliderValueEventArgs` instead.
16+
- `IgcActiveStepChangingArgs` deprecated, use `IgcActiveStepChangingEventArgs` instead.
17+
- `IgcActiveStepChangedArgs` deprecated, use `IgcActiveStepChangedEventArgs` instead.
18+
1119
### Fixed
1220
- Setting validation properties on a pristine non-dirty form associated element does not apply invalid styles [#1632](https://github.com/IgniteUI/igniteui-webcomponents/issues/1632)
21+
- Exposed `IgcCalendarResourceStrings`, `PopoverPlacement` (Dropdown and Select) and `IgcTreeSelectionEventArgs` from the public API
1322

1423
## [5.3.0] - 2025-03-13
1524
### Added

src/components/checkbox/checkbox-base.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@ import {
1414
import { isEmpty } from '../common/util.js';
1515
import { checkBoxValidators } from './validators.js';
1616

17-
export interface CheckboxChangeEventArgs {
17+
export interface IgcCheckboxChangeEventArgs {
1818
checked: boolean;
1919
value?: string;
2020
}
2121

22+
/** @deprecated use IgcCheckboxChangeEventArgs instead */
23+
export type CheckboxChangeEventArgs = IgcCheckboxChangeEventArgs;
24+
2225
export interface IgcCheckboxComponentEventMap {
23-
igcChange: CustomEvent<CheckboxChangeEventArgs>;
26+
igcChange: CustomEvent<IgcCheckboxChangeEventArgs>;
2427
// For analyzer meta only:
2528
/* skipWCPrefix */
2629
focus: FocusEvent;

src/components/common/util.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,3 +334,8 @@ export function roundByDPR(value: number): number {
334334
const dpr = globalThis.devicePixelRatio || 1;
335335
return Math.round(value * dpr) / dpr;
336336
}
337+
338+
/** Required utility type for specific props */
339+
export type RequiredProps<T, K extends keyof T> = T & {
340+
[P in K]-?: T[P];
341+
};

src/components/dropdown/dropdown.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ import {
3434
getElementByIdFromRoot,
3535
isString,
3636
} from '../common/util.js';
37-
import IgcPopoverComponent, { type IgcPlacement } from '../popover/popover.js';
37+
import IgcPopoverComponent, {
38+
type PopoverPlacement,
39+
} from '../popover/popover.js';
3840
import IgcDropdownGroupComponent from './dropdown-group.js';
3941
import IgcDropdownHeaderComponent from './dropdown-header.js';
4042
import IgcDropdownItemComponent from './dropdown-item.js';
@@ -123,7 +125,7 @@ export default class IgcDropdownComponent extends EventEmitterMixin<
123125
* @attr
124126
*/
125127
@property()
126-
public placement: IgcPlacement = 'bottom-start';
128+
public placement: PopoverPlacement = 'bottom-start';
127129

128130
/**
129131
* Determines the behavior of the component during scrolling of the parent container.

src/components/popover/popover.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import { styles } from './themes/light/popover.base.css.js';
2424
/**
2525
* Describes the preferred placement of a toggle component.
2626
*/
27-
export type IgcPlacement =
27+
export type PopoverPlacement =
2828
| 'top'
2929
| 'top-start'
3030
| 'top-end'
@@ -95,7 +95,7 @@ export default class IgcPopoverComponent extends LitElement {
9595
* Where to place the floating element relative to the parent anchor element.
9696
*/
9797
@property()
98-
public placement: IgcPlacement = 'bottom-start';
98+
public placement: PopoverPlacement = 'bottom-start';
9999

100100
/**
101101
* When enabled the floating element will match the width of its parent anchor element.

src/components/radio/radio.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ import { all } from './themes/themes.js';
3939
import { getGroup } from './utils.js';
4040
import { radioValidators } from './validators.js';
4141

42-
export interface RadioChangeEventArgs {
42+
export interface IgcRadioChangeEventArgs {
4343
checked: boolean;
4444
value?: string;
4545
}
4646

47+
/** @deprecated use IgcRadioChangeEventArgs instead */
48+
export type RadioChangeEventArgs = IgcRadioChangeEventArgs;
49+
4750
export interface IgcRadioComponentEventMap {
48-
igcChange: CustomEvent<RadioChangeEventArgs>;
51+
igcChange: CustomEvent<IgcRadioChangeEventArgs>;
4952
// For analyzer meta only:
5053
/* skipWCPrefix */
5154
focus: FocusEvent;

src/components/select/select.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ import {
4949
} from '../common/util.js';
5050
import IgcIconComponent from '../icon/icon.js';
5151
import IgcInputComponent from '../input/input.js';
52-
import IgcPopoverComponent, { type IgcPlacement } from '../popover/popover.js';
52+
import IgcPopoverComponent, {
53+
type PopoverPlacement,
54+
} from '../popover/popover.js';
5355
import IgcValidationContainerComponent from '../validation-container/validation-container.js';
5456
import IgcSelectGroupComponent from './select-group.js';
5557
import IgcSelectHeaderComponent from './select-header.js';
@@ -225,7 +227,7 @@ export default class IgcSelectComponent extends FormAssociatedRequiredMixin(
225227
* @attr
226228
*/
227229
@property()
228-
public placement: IgcPlacement = 'bottom-start';
230+
public placement: PopoverPlacement = 'bottom-start';
229231

230232
/**
231233
* Determines the behavior of the component during scrolling of the parent container.

src/components/slider/range-slider.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,23 @@ import { IgcSliderBaseComponent } from './slider-base.js';
1111
import IgcSliderLabelComponent from './slider-label.js';
1212

1313
/* blazorSuppress */
14-
export interface IgcRangeSliderValue {
14+
export interface IgcRangeSliderValueEventArgs {
1515
lower: number;
1616
upper: number;
1717
}
1818

19+
/** @deprecated use IgcRangeSliderValueEventArgs instead */
20+
export type IgcRangeSliderValue = IgcRangeSliderValueEventArgs;
21+
1922
export interface IgcRangeSliderComponentEventMap {
2023
/**
2124
* Emitted when a value is changed via thumb drag or keyboard interaction.
2225
*/
23-
igcInput: CustomEvent<IgcRangeSliderValue>;
26+
igcInput: CustomEvent<IgcRangeSliderValueEventArgs>;
2427
/**
2528
* Emitted when a value change is committed on a thumb drag end or keyboard interaction.
2629
*/
27-
igcChange: CustomEvent<IgcRangeSliderValue>;
30+
igcChange: CustomEvent<IgcRangeSliderValueEventArgs>;
2831
}
2932

3033
/**
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
1-
export interface IgcActiveStepChangingArgs {
1+
export interface IgcActiveStepChangingEventArgs {
22
oldIndex: number;
33
newIndex: number;
44
}
55

6-
export interface IgcActiveStepChangedArgs {
6+
export interface IgcActiveStepChangedEventArgs {
77
index: number;
88
}
99

10+
/** @deprecated use IgcActiveStepChangingEventArgs instead */
11+
export type IgcActiveStepChangingArgs = IgcActiveStepChangingEventArgs;
12+
/** @deprecated use IgcActiveStepChangedEventArgs instead */
13+
export type IgcActiveStepChangedArgs = IgcActiveStepChangedEventArgs;
14+
1015
export interface IgcStepperComponentEventMap {
11-
igcActiveStepChanging: CustomEvent<IgcActiveStepChangingArgs>;
12-
igcActiveStepChanged: CustomEvent<IgcActiveStepChangedArgs>;
16+
igcActiveStepChanging: CustomEvent<IgcActiveStepChangingEventArgs>;
17+
igcActiveStepChanged: CustomEvent<IgcActiveStepChangedEventArgs>;
1318
}

src/components/tree/tree-navigation.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { spy } from 'sinon';
44
import { defineComponents } from '../../index.js';
55
import IgcTreeItemComponent from './tree-item.js';
66
import { SLOTS, TreeTestFunctions, navigationTree } from './tree-utils.spec.js';
7-
import type { IgcSelectionEventArgs } from './tree.common.js';
7+
import type { TreeSelectionEventInit } from './tree.common.js';
88
import IgcTreeComponent from './tree.js';
99
import type { IgcTreeNavigationService } from './tree.navigation.js';
1010

@@ -437,7 +437,7 @@ describe('Tree Navigation', () => {
437437
expect(topLevelItems[0].active).to.be.true;
438438
expect(topLevelItems[0].selected).to.be.true;
439439

440-
let args: IgcSelectionEventArgs = {
440+
let args: TreeSelectionEventInit = {
441441
detail: {
442442
newSelection: [topLevelItems[0]],
443443
},
@@ -510,7 +510,7 @@ describe('Tree Navigation', () => {
510510
expect(treeNavService.activeItem).to.equal(topLevelItems[1]);
511511
expect(treeNavService.focusedItem).to.equal(topLevelItems[1]);
512512

513-
const args: IgcSelectionEventArgs = {
513+
const args: TreeSelectionEventInit = {
514514
detail: {
515515
newSelection: [topLevelItems[1]],
516516
},
@@ -543,7 +543,7 @@ describe('Tree Navigation', () => {
543543
expect(treeNavService.activeItem).to.equal(topLevelItems[0]);
544544
expect(treeNavService.focusedItem).to.equal(topLevelItems[0]);
545545

546-
let args: IgcSelectionEventArgs = {
546+
let args: TreeSelectionEventInit = {
547547
detail: {
548548
newSelection: [topLevelItems[0]],
549549
},

0 commit comments

Comments
 (0)