igniteui-angular 22.0.0-rc.1 → 22.0.0

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 (100) hide show
  1. package/fesm2022/igniteui-angular-accordion.mjs +1 -1
  2. package/fesm2022/igniteui-angular-accordion.mjs.map +1 -1
  3. package/fesm2022/igniteui-angular-action-strip.mjs +1 -1
  4. package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
  5. package/fesm2022/igniteui-angular-button-group.mjs +1 -1
  6. package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
  7. package/fesm2022/igniteui-angular-calendar.mjs +1 -1
  8. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  9. package/fesm2022/igniteui-angular-card.mjs +6 -6
  10. package/fesm2022/igniteui-angular-card.mjs.map +1 -1
  11. package/fesm2022/igniteui-angular-carousel.mjs +6 -6
  12. package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
  13. package/fesm2022/igniteui-angular-chips.mjs +34 -34
  14. package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
  15. package/fesm2022/igniteui-angular-core.mjs +6 -6
  16. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  17. package/fesm2022/igniteui-angular-date-picker.mjs +2 -2
  18. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  19. package/fesm2022/igniteui-angular-directives.mjs +12 -12
  20. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  21. package/fesm2022/igniteui-angular-drop-down.mjs +5 -5
  22. package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
  23. package/fesm2022/igniteui-angular-grids-core.mjs +35 -23
  24. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  25. package/fesm2022/igniteui-angular-grids-grid.mjs +51 -51
  26. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  27. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +7 -7
  28. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  29. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +5 -5
  30. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  31. package/fesm2022/igniteui-angular-icon.mjs +4 -4
  32. package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
  33. package/fesm2022/igniteui-angular-input-group.mjs +18 -18
  34. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  35. package/fesm2022/igniteui-angular-list.mjs +5 -5
  36. package/fesm2022/igniteui-angular-list.mjs.map +1 -1
  37. package/fesm2022/igniteui-angular-navbar.mjs +5 -5
  38. package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
  39. package/fesm2022/igniteui-angular-paginator.mjs +2 -2
  40. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  41. package/fesm2022/igniteui-angular-progressbar.mjs +7 -7
  42. package/fesm2022/igniteui-angular-progressbar.mjs.map +1 -1
  43. package/fesm2022/igniteui-angular-query-builder.mjs +2 -2
  44. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  45. package/fesm2022/igniteui-angular-radio.mjs +5 -5
  46. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  47. package/fesm2022/igniteui-angular-select.mjs +217 -209
  48. package/fesm2022/igniteui-angular-select.mjs.map +1 -1
  49. package/fesm2022/igniteui-angular-slider.mjs +17 -17
  50. package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
  51. package/fesm2022/igniteui-angular-snackbar.mjs +1 -1
  52. package/fesm2022/igniteui-angular-snackbar.mjs.map +1 -1
  53. package/fesm2022/igniteui-angular-splitter.mjs +2 -2
  54. package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
  55. package/fesm2022/igniteui-angular-stepper.mjs +2 -2
  56. package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
  57. package/fesm2022/igniteui-angular-time-picker.mjs +1 -1
  58. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  59. package/fesm2022/igniteui-angular-tree.mjs +1 -1
  60. package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
  61. package/input-group/README.md +1 -1
  62. package/migrations/migration-collection.json +5 -0
  63. package/migrations/update-22_0_0/index.d.ts +3 -0
  64. package/migrations/update-22_0_0/index.js +86 -0
  65. package/migrations/update-22_0_0/index.spec.d.ts +1 -0
  66. package/migrations/update-22_0_0/index.spec.js +116 -0
  67. package/package.json +2 -2
  68. package/skills/igniteui-angular-grids/references/sizing.md +1 -0
  69. package/skills/igniteui-angular-grids/references/structure.md +1 -0
  70. package/skills/igniteui-angular-grids/references/types.md +2 -1
  71. package/types/igniteui-angular-accordion.d.ts +3 -3
  72. package/types/igniteui-angular-action-strip.d.ts +1 -1
  73. package/types/igniteui-angular-button-group.d.ts +1 -1
  74. package/types/igniteui-angular-calendar.d.ts +1 -1
  75. package/types/igniteui-angular-card.d.ts +6 -6
  76. package/types/igniteui-angular-carousel.d.ts +6 -6
  77. package/types/igniteui-angular-chips.d.ts +38 -38
  78. package/types/igniteui-angular-core.d.ts +9 -9
  79. package/types/igniteui-angular-date-picker.d.ts +4 -4
  80. package/types/igniteui-angular-directives.d.ts +15 -15
  81. package/types/igniteui-angular-drop-down.d.ts +6 -6
  82. package/types/igniteui-angular-grids-core.d.ts +31 -29
  83. package/types/igniteui-angular-grids-grid.d.ts +51 -51
  84. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +7 -7
  85. package/types/igniteui-angular-grids-tree-grid.d.ts +7 -7
  86. package/types/igniteui-angular-icon.d.ts +4 -4
  87. package/types/igniteui-angular-input-group.d.ts +17 -17
  88. package/types/igniteui-angular-list.d.ts +7 -7
  89. package/types/igniteui-angular-navbar.d.ts +7 -7
  90. package/types/igniteui-angular-paginator.d.ts +2 -2
  91. package/types/igniteui-angular-progressbar.d.ts +7 -7
  92. package/types/igniteui-angular-query-builder.d.ts +3 -3
  93. package/types/igniteui-angular-radio.d.ts +5 -5
  94. package/types/igniteui-angular-select.d.ts +91 -7
  95. package/types/igniteui-angular-slider.d.ts +17 -17
  96. package/types/igniteui-angular-snackbar.d.ts +1 -1
  97. package/types/igniteui-angular-splitter.d.ts +3 -3
  98. package/types/igniteui-angular-stepper.d.ts +2 -2
  99. package/types/igniteui-angular-time-picker.d.ts +1 -1
  100. package/types/igniteui-angular-tree.d.ts +2 -2
@@ -59,7 +59,7 @@ class IgxChipComponent {
59
59
  return !this.disabled ? 0 : null;
60
60
  }
61
61
  /**
62
- * Sets the `IgxChipComponent` selected state.
62
+ * Sets the chip selected state.
63
63
  *
64
64
  * @example
65
65
  * ```html
@@ -75,7 +75,7 @@ class IgxChipComponent {
75
75
  this.changeSelection(newValue);
76
76
  }
77
77
  /**
78
- * Returns if the `IgxChipComponent` is selected.
78
+ * Returns if the chip is selected.
79
79
  *
80
80
  * @example
81
81
  * ```typescript
@@ -90,7 +90,7 @@ class IgxChipComponent {
90
90
  return this._selected;
91
91
  }
92
92
  /**
93
- * Sets the `IgxChipComponent` background color.
93
+ * Sets the chip background color.
94
94
  * The `color` property supports string, rgb, hex.
95
95
  *
96
96
  * @example
@@ -102,7 +102,7 @@ class IgxChipComponent {
102
102
  this.chipArea.nativeElement.style.backgroundColor = newColor;
103
103
  }
104
104
  /**
105
- * Returns the background color of the `IgxChipComponent`.
105
+ * Returns the background color of the chip.
106
106
  *
107
107
  * @example
108
108
  * ```typescript
@@ -198,7 +198,7 @@ class IgxChipComponent {
198
198
  */
199
199
  this.role = 'option';
200
200
  /**
201
- * Defines if the `IgxChipComponent` can be dragged in order to change it's position.
201
+ * Defines if the chip can be dragged in order to change it's position.
202
202
  * By default it is set to false.
203
203
  *
204
204
  * @example
@@ -228,7 +228,7 @@ class IgxChipComponent {
228
228
  */
229
229
  this.hideBaseOnDrag = true;
230
230
  /**
231
- * Defines if the `IgxChipComponent` should render remove button and throw remove events.
231
+ * Defines if the chip should render remove button and throw remove events.
232
232
  * By default it is set to false.
233
233
  *
234
234
  * @example
@@ -238,7 +238,7 @@ class IgxChipComponent {
238
238
  */
239
239
  this.removable = false;
240
240
  /**
241
- * Defines if the `IgxChipComponent` can be selected on click or through navigation,
241
+ * Defines if the chip can be selected on click or through navigation,
242
242
  * By default it is set to false.
243
243
  *
244
244
  * @example
@@ -253,7 +253,7 @@ class IgxChipComponent {
253
253
  */
254
254
  this.class = '';
255
255
  /**
256
- * Disables the `IgxChipComponent`. When disabled it restricts user interactions
256
+ * Disables the chip. When disabled it restricts user interactions
257
257
  * like focusing on click or tab, selection on click or Space, dragging.
258
258
  * By default it is set to false.
259
259
  *
@@ -269,8 +269,8 @@ class IgxChipComponent {
269
269
  */
270
270
  this.selectedChange = new EventEmitter();
271
271
  /**
272
- * Emits an event when the `IgxChipComponent` moving starts.
273
- * Returns the moving `IgxChipComponent`.
272
+ * Emits an event when the chip moving starts.
273
+ * Returns the moving chip.
274
274
  *
275
275
  * @example
276
276
  * ```html
@@ -279,8 +279,8 @@ class IgxChipComponent {
279
279
  */
280
280
  this.moveStart = new EventEmitter();
281
281
  /**
282
- * Emits an event when the `IgxChipComponent` moving ends.
283
- * Returns the moved `IgxChipComponent`.
282
+ * Emits an event when the chip moving ends.
283
+ * Returns the moved chip.
284
284
  *
285
285
  * @example
286
286
  * ```html
@@ -289,8 +289,8 @@ class IgxChipComponent {
289
289
  */
290
290
  this.moveEnd = new EventEmitter();
291
291
  /**
292
- * Emits an event when the `IgxChipComponent` is removed.
293
- * Returns the removed `IgxChipComponent`.
292
+ * Emits an event when the chip is removed.
293
+ * Returns the removed chip.
294
294
  *
295
295
  * @example
296
296
  * ```html
@@ -299,8 +299,8 @@ class IgxChipComponent {
299
299
  */
300
300
  this.remove = new EventEmitter();
301
301
  /**
302
- * Emits an event when the `IgxChipComponent` is clicked.
303
- * Returns the clicked `IgxChipComponent`, whether the event should be canceled.
302
+ * Emits an event when the chip is clicked.
303
+ * Returns the clicked chip, whether the event should be canceled.
304
304
  *
305
305
  * @example
306
306
  * ```html
@@ -309,7 +309,7 @@ class IgxChipComponent {
309
309
  */
310
310
  this.chipClick = new EventEmitter();
311
311
  /**
312
- * Emits event when the `IgxChipComponent` is selected/deselected.
312
+ * Emits event when the chip is selected/deselected.
313
313
  * Returns the selected chip reference, whether the event should be canceled, what is the next selection state and
314
314
  * when the event is triggered by interaction `originalEvent` is provided, otherwise `originalEvent` is `null`.
315
315
  *
@@ -320,7 +320,7 @@ class IgxChipComponent {
320
320
  */
321
321
  this.selectedChanging = new EventEmitter();
322
322
  /**
323
- * Emits event when the `IgxChipComponent` is selected/deselected and any related animations and transitions also end.
323
+ * Emits event when the chip is selected/deselected and any related animations and transitions also end.
324
324
  *
325
325
  * @example
326
326
  * ```html
@@ -329,8 +329,8 @@ class IgxChipComponent {
329
329
  */
330
330
  this.selectedChanged = new EventEmitter();
331
331
  /**
332
- * Emits an event when the `IgxChipComponent` keyboard navigation is being used.
333
- * Returns the focused/selected `IgxChipComponent`, whether the event should be canceled,
332
+ * Emits an event when the chip keyboard navigation is being used.
333
+ * Returns the focused/selected chip, whether the event should be canceled,
334
334
  * if the `alt`, `shift` or `control` key is pressed and the pressed key name.
335
335
  *
336
336
  * @example
@@ -340,8 +340,8 @@ class IgxChipComponent {
340
340
  */
341
341
  this.keyDown = new EventEmitter();
342
342
  /**
343
- * Emits an event when the `IgxChipComponent` has entered the `IgxChipsAreaComponent`.
344
- * Returns the target `IgxChipComponent`, the drag `IgxChipComponent`, as well as
343
+ * Emits an event when the chip has entered the chips area.
344
+ * Returns the target chip, the drag chip, as well as
345
345
  * the original drop event arguments.
346
346
  *
347
347
  * @example
@@ -351,8 +351,8 @@ class IgxChipComponent {
351
351
  */
352
352
  this.dragEnter = new EventEmitter();
353
353
  /**
354
- * Emits an event when the `IgxChipComponent` has left the `IgxChipsAreaComponent`.
355
- * Returns the target `IgxChipComponent`, the drag `IgxChipComponent`, as well as
354
+ * Emits an event when the chip has left the chips area.
355
+ * Returns the target chip, the drag chip, as well as
356
356
  * the original drop event arguments.
357
357
  *
358
358
  * @example
@@ -362,8 +362,8 @@ class IgxChipComponent {
362
362
  */
363
363
  this.dragLeave = new EventEmitter();
364
364
  /**
365
- * Emits an event when the `IgxChipComponent` is over the `IgxChipsAreaComponent`.
366
- * Returns the target `IgxChipComponent`, the drag `IgxChipComponent`, as well as
365
+ * Emits an event when the chip is over the chips area.
366
+ * Returns the target chip, the drag chip, as well as
367
367
  * the original drop event arguments.
368
368
  *
369
369
  * @example
@@ -373,8 +373,8 @@ class IgxChipComponent {
373
373
  */
374
374
  this.dragOver = new EventEmitter();
375
375
  /**
376
- * Emits an event when the `IgxChipComponent` has been dropped in the `IgxChipsAreaComponent`.
377
- * Returns the target `IgxChipComponent`, the drag `IgxChipComponent`, as well as
376
+ * Emits an event when the chip has been dropped in the chips area.
377
+ * Returns the target chip, the drag chip, as well as
378
378
  * the original drop event arguments.
379
379
  *
380
380
  * @example
@@ -847,8 +847,8 @@ class IgxChipsAreaComponent {
847
847
  */
848
848
  this.ariaLabel = 'chip area';
849
849
  /**
850
- * Emits an event when `IgxChipComponent`s in the `IgxChipsAreaComponent` should be reordered.
851
- * Returns an array of `IgxChipComponent`s.
850
+ * Emits an event when chips in the chips area should be reordered.
851
+ * Returns an array of chips.
852
852
  *
853
853
  * @example
854
854
  * ```html
@@ -857,9 +857,9 @@ class IgxChipsAreaComponent {
857
857
  */
858
858
  this.reorder = new EventEmitter();
859
859
  /**
860
- * Emits an event when an `IgxChipComponent` in the `IgxChipsAreaComponent` is selected/deselected.
860
+ * Emits an event when an chip in the chips area is selected/deselected.
861
861
  * Fired after the chips area is initialized if there are initially selected chips as well.
862
- * Returns an array of selected `IgxChipComponent`s and the `IgxChipAreaComponent`.
862
+ * Returns an array of selected chips and the chip area.
863
863
  *
864
864
  * @example
865
865
  * ```html
@@ -868,7 +868,7 @@ class IgxChipsAreaComponent {
868
868
  */
869
869
  this.selectionChange = new EventEmitter();
870
870
  /**
871
- * Emits an event when an `IgxChipComponent` in the `IgxChipsAreaComponent` is moved.
871
+ * Emits an event when an chip in the chips area is moved.
872
872
  *
873
873
  * @example
874
874
  * ```html
@@ -877,7 +877,7 @@ class IgxChipsAreaComponent {
877
877
  */
878
878
  this.moveStart = new EventEmitter();
879
879
  /**
880
- * Emits an event after an `IgxChipComponent` in the `IgxChipsAreaComponent` is moved.
880
+ * Emits an event after an chip in the chips area is moved.
881
881
  *
882
882
  * @example
883
883
  * ```html
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-chips.mjs","sources":["../../../projects/igniteui-angular/chips/src/chips/chip.component.ts","../../../projects/igniteui-angular/chips/src/chips/chip.component.html","../../../projects/igniteui-angular/chips/src/chips/chips-area.component.ts","../../../projects/igniteui-angular/chips/src/chips/chips-area.component.html","../../../projects/igniteui-angular/chips/src/chips/public_api.ts","../../../projects/igniteui-angular/chips/src/chips/chips.module.ts","../../../projects/igniteui-angular/chips/src/igniteui-angular-chips.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectorRef,\n EventEmitter,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewChild,\n Renderer2,\n TemplateRef,\n OnDestroy,\n booleanAttribute,\n OnInit,\n inject,\n DOCUMENT,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { IgxDragDirective, IDragBaseEventArgs, IDragStartEventArgs, IDropBaseEventArgs, IDropDroppedEventArgs, IgxDropDirective } from 'igniteui-angular/directives';\nimport { IBaseEventArgs, ɵSize } from 'igniteui-angular/core';\nimport { ChipResourceStringsEN, IChipResourceStrings } from 'igniteui-angular/core';\nimport { Subject } from 'rxjs';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { getCurrentResourceStrings, onResourceChangeHandle } from 'igniteui-angular/core';\n\nexport const IgxChipTypeVariant = {\n PRIMARY: 'primary',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n DANGER: 'danger'\n} as const;\nexport type IgxChipTypeVariant = (typeof IgxChipTypeVariant)[keyof typeof IgxChipTypeVariant];\n\nexport interface IBaseChipEventArgs extends IBaseEventArgs {\n originalEvent: IDragBaseEventArgs | IDropBaseEventArgs | KeyboardEvent | MouseEvent | TouchEvent;\n owner: IgxChipComponent;\n}\n\nexport interface IChipClickEventArgs extends IBaseChipEventArgs {\n cancel: boolean;\n}\n\nexport interface IChipKeyDownEventArgs extends IBaseChipEventArgs {\n originalEvent: KeyboardEvent;\n cancel: boolean;\n}\n\nexport interface IChipEnterDragAreaEventArgs extends IBaseChipEventArgs {\n dragChip: IgxChipComponent;\n}\n\nexport interface IChipSelectEventArgs extends IBaseChipEventArgs {\n cancel: boolean;\n selected: boolean;\n}\n\nlet CHIP_ID = 0;\n\n/**\n * Chip is compact visual component that displays information in an obround.\n *\n * @igxModule IgxChipsModule\n *\n * @igxTheme igx-chip-theme\n *\n * @igxKeywords chip\n *\n * @igxGroup display\n *\n * @remarks\n * The Ignite UI Chip can be templated, deleted, and selected.\n * Multiple chips can be reordered and visually connected to each other.\n * Chips reside in a container called chips area which is responsible for managing the interactions between the chips.\n *\n * @example\n * ```html\n * <igx-chip class=\"chipStyle\" [id]=\"901\" [draggable]=\"true\" [removable]=\"true\" (remove)=\"chipRemoved($event)\">\n * <igx-avatar class=\"chip-avatar-resized\" igxPrefix></igx-avatar>\n * </igx-chip>\n * ```\n */\n@Component({\n selector: 'igx-chip',\n templateUrl: 'chip.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxDropDirective, IgxDragDirective, NgClass, NgTemplateOutlet, IgxIconComponent]\n})\nexport class IgxChipComponent implements OnInit, OnDestroy {\n public cdr = inject(ChangeDetectorRef);\n private ref = inject<ElementRef<HTMLElement>>(ElementRef);\n private renderer = inject(Renderer2);\n public document = inject(DOCUMENT);\n\n\n /**\n * Sets/gets the variant of the chip.\n *\n * @remarks\n * Allowed values are `primary`, `info`, `success`, `warning`, `danger`.\n * Providing no/nullish value leaves the chip in its default state.\n *\n * @example\n * ```html\n * <igx-chip variant=\"success\"></igx-chip>\n * ```\n */\n @Input()\n public variant?: IgxChipTypeVariant | null;\n /**\n * Sets the value of `id` attribute. If not provided it will be automatically generated.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\"></igx-chip>\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-chip-${CHIP_ID++}`;\n\n /**\n * Returns the `role` attribute of the chip.\n *\n * @example\n * ```typescript\n * let chipRole = this.chip.role;\n * ```\n */\n @HostBinding('attr.role')\n public role = 'option';\n\n /**\n * Sets the value of `tabindex` attribute. If not provided it will use the element's tabindex if set.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [tabIndex]=\"1\"></igx-chip>\n * ```\n */\n @HostBinding('attr.tabIndex')\n @Input()\n public set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n public get tabIndex() {\n if (this._tabIndex !== null) {\n return this._tabIndex;\n }\n return !this.disabled ? 0 : null;\n }\n\n /**\n * Stores data related to the chip.\n *\n * @example\n * ```html\n * <igx-chip [data]=\"{ value: 'Country' }\"></igx-chip>\n * ```\n */\n @Input()\n public data: any;\n\n /**\n * Defines if the `IgxChipComponent` can be dragged in order to change it's position.\n * By default it is set to false.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [draggable]=\"true\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public draggable = false;\n\n /**\n * Enables/disables the draggable element animation when the element is released.\n * By default it's set to true.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [draggable]=\"true\" [animateOnRelease]=\"false\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public animateOnRelease = true;\n\n /**\n * Enables/disables the hiding of the base element that has been dragged.\n * By default it's set to true.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [draggable]=\"true\" [hideBaseOnDrag]=\"false\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public hideBaseOnDrag = true;\n\n /**\n * Defines if the `IgxChipComponent` should render remove button and throw remove events.\n * By default it is set to false.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [draggable]=\"true\" [removable]=\"true\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public removable = false;\n\n /**\n * Overrides the default icon that the chip applies to the remove button.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [removable]=\"true\" [removeIcon]=\"iconTemplate\"></igx-chip>\n * <ng-template #iconTemplate><igx-icon>delete</igx-icon></ng-template>\n * ```\n */\n @Input()\n public removeIcon: TemplateRef<any>;\n\n /**\n * Defines if the `IgxChipComponent` can be selected on click or through navigation,\n * By default it is set to false.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [draggable]=\"true\" [removable]=\"true\" [selectable]=\"true\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public selectable = false;\n\n /**\n * Overrides the default icon that the chip applies when it is selected.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [selectable]=\"true\" [selectIcon]=\"iconTemplate\"></igx-chip>\n * <ng-template #iconTemplate><igx-icon>done_outline</igx-icon></ng-template>\n * ```\n */\n @Input()\n public selectIcon: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n @Input()\n public class = '';\n\n /**\n * Disables the `IgxChipComponent`. When disabled it restricts user interactions\n * like focusing on click or tab, selection on click or Space, dragging.\n * By default it is set to false.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [disabled]=\"true\"></igx-chip>\n * ```\n */\n @HostBinding('class.igx-chip--disabled')\n @Input({ transform: booleanAttribute })\n public disabled = false;\n\n /**\n * Sets the `IgxChipComponent` selected state.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [selectable]=\"true\" [selected]=\"true\">\n * ```\n *\n * Two-way data binding:\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [selectable]=\"true\" [(selected)]=\"model.isSelected\">\n * ```\n */\n @HostBinding('attr.aria-selected')\n @Input({ transform: booleanAttribute })\n public set selected(newValue: boolean) {\n this.changeSelection(newValue);\n }\n\n /**\n * Returns if the `IgxChipComponent` is selected.\n *\n * @example\n * ```typescript\n * @ViewChild('myChip')\n * public chip: IgxChipComponent;\n * selectedChip(){\n * let selectedChip = this.chip.selected;\n * }\n * ```\n */\n public get selected() {\n return this._selected;\n }\n\n /**\n * @hidden\n * @internal\n */\n @Output()\n public selectedChange = new EventEmitter<boolean>();\n\n /**\n * Sets the `IgxChipComponent` background color.\n * The `color` property supports string, rgb, hex.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [color]=\"'#ff0000'\"></igx-chip>\n * ```\n */\n @Input()\n public set color(newColor) {\n this.chipArea.nativeElement.style.backgroundColor = newColor;\n }\n\n /**\n * Returns the background color of the `IgxChipComponent`.\n *\n * @example\n * ```typescript\n * @ViewChild('myChip')\n * public chip: IgxChipComponent;\n * ngAfterViewInit(){\n * let chipColor = this.chip.color;\n * }\n * ```\n */\n public get color() {\n return this.chipArea.nativeElement.style.backgroundColor;\n }\n\n /**\n * An accessor that sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IChipResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n /**\n * An accessor that returns the resource strings.\n */\n public get resourceStrings(): IChipResourceStrings {\n return this._resourceStrings || this._defaultResourceStrings;\n }\n\n /**\n * Emits an event when the `IgxChipComponent` moving starts.\n * Returns the moving `IgxChipComponent`.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (moveStart)=\"moveStarted($event)\">\n * ```\n */\n @Output()\n public moveStart = new EventEmitter<IBaseChipEventArgs>();\n\n /**\n * Emits an event when the `IgxChipComponent` moving ends.\n * Returns the moved `IgxChipComponent`.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (moveEnd)=\"moveEnded($event)\">\n * ```\n */\n @Output()\n public moveEnd = new EventEmitter<IBaseChipEventArgs>();\n\n /**\n * Emits an event when the `IgxChipComponent` is removed.\n * Returns the removed `IgxChipComponent`.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (remove)=\"remove($event)\">\n * ```\n */\n @Output()\n public remove = new EventEmitter<IBaseChipEventArgs>();\n\n /**\n * Emits an event when the `IgxChipComponent` is clicked.\n * Returns the clicked `IgxChipComponent`, whether the event should be canceled.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (click)=\"chipClick($event)\">\n * ```\n */\n @Output()\n public chipClick = new EventEmitter<IChipClickEventArgs>();\n\n /**\n * Emits event when the `IgxChipComponent` is selected/deselected.\n * Returns the selected chip reference, whether the event should be canceled, what is the next selection state and\n * when the event is triggered by interaction `originalEvent` is provided, otherwise `originalEvent` is `null`.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [selectable]=\"true\" (selectedChanging)=\"chipSelect($event)\">\n * ```\n */\n @Output()\n public selectedChanging = new EventEmitter<IChipSelectEventArgs>();\n\n /**\n * Emits event when the `IgxChipComponent` is selected/deselected and any related animations and transitions also end.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [selectable]=\"true\" (selectedChanged)=\"chipSelectEnd($event)\">\n * ```\n */\n @Output()\n public selectedChanged = new EventEmitter<IBaseChipEventArgs>();\n\n /**\n * Emits an event when the `IgxChipComponent` keyboard navigation is being used.\n * Returns the focused/selected `IgxChipComponent`, whether the event should be canceled,\n * if the `alt`, `shift` or `control` key is pressed and the pressed key name.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (keyDown)=\"chipKeyDown($event)\">\n * ```\n */\n @Output()\n public keyDown = new EventEmitter<IChipKeyDownEventArgs>();\n\n /**\n * Emits an event when the `IgxChipComponent` has entered the `IgxChipsAreaComponent`.\n * Returns the target `IgxChipComponent`, the drag `IgxChipComponent`, as well as\n * the original drop event arguments.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (dragEnter)=\"chipEnter($event)\">\n * ```\n */\n @Output()\n public dragEnter = new EventEmitter<IChipEnterDragAreaEventArgs>();\n\n /**\n * Emits an event when the `IgxChipComponent` has left the `IgxChipsAreaComponent`.\n * Returns the target `IgxChipComponent`, the drag `IgxChipComponent`, as well as\n * the original drop event arguments.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (dragLeave)=\"chipLeave($event)\">\n * ```\n */\n @Output()\n public dragLeave = new EventEmitter<IChipEnterDragAreaEventArgs>();\n\n /**\n * Emits an event when the `IgxChipComponent` is over the `IgxChipsAreaComponent`.\n * Returns the target `IgxChipComponent`, the drag `IgxChipComponent`, as well as\n * the original drop event arguments.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (dragOver)=\"chipOver($event)\">\n * ```\n */\n @Output()\n public dragOver = new EventEmitter<IChipEnterDragAreaEventArgs>();\n\n /**\n * Emits an event when the `IgxChipComponent` has been dropped in the `IgxChipsAreaComponent`.\n * Returns the target `IgxChipComponent`, the drag `IgxChipComponent`, as well as\n * the original drop event arguments.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (dragDrop)=\"chipLeave($event)\">\n * ```\n */\n @Output()\n public dragDrop = new EventEmitter<IChipEnterDragAreaEventArgs>();\n\n @HostBinding('class.igx-chip')\n protected defaultClass = 'igx-chip';\n\n @HostBinding('class.igx-chip--primary')\n protected get isPrimary() {\n return this.variant === IgxChipTypeVariant.PRIMARY;\n }\n\n @HostBinding('class.igx-chip--info')\n protected get isInfo() {\n return this.variant === IgxChipTypeVariant.INFO;\n }\n\n @HostBinding('class.igx-chip--success')\n protected get isSuccess() {\n return this.variant === IgxChipTypeVariant.SUCCESS;\n }\n\n @HostBinding('class.igx-chip--warning')\n protected get isWarning() {\n return this.variant === IgxChipTypeVariant.WARNING;\n }\n\n @HostBinding('class.igx-chip--danger')\n protected get isDanger() {\n return this.variant === IgxChipTypeVariant.DANGER;\n }\n\n /**\n * Property that contains a reference to the `IgxDragDirective` the `IgxChipComponent` uses for dragging behavior.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [draggable]=\"true\"></igx-chip>\n * ```\n * ```typescript\n * onMoveStart(event: IBaseChipEventArgs){\n * let dragDirective = event.owner.dragDirective;\n * }\n * ```\n */\n @ViewChild('chipArea', { read: IgxDragDirective, static: true })\n public dragDirective: IgxDragDirective;\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('chipArea', { read: ElementRef, static: true })\n public chipArea: ElementRef;\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('defaultRemoveIcon', { read: TemplateRef, static: true })\n public defaultRemoveIcon: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('defaultSelectIcon', { read: TemplateRef, static: true })\n public defaultSelectIcon: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n public get removeButtonTemplate() {\n if (!this.disabled) {\n return this.removeIcon || this.defaultRemoveIcon;\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public get selectIconTemplate() {\n return this.selectIcon || this.defaultSelectIcon;\n }\n\n /**\n * @hidden\n * @internal\n */\n public get ghostStyles() {\n return { '--ig-size': `${this.chipSize}` };\n }\n\n /** @hidden @internal */\n public get nativeElement() {\n return this.ref.nativeElement;\n }\n\n /**\n * @hidden\n * @internal\n */\n public hideBaseElement = false;\n\n /**\n * @hidden\n * @internal\n */\n public destroy$ = new Subject<void>();\n\n protected get chipSize(): ɵSize {\n return this.computedStyles?.getPropertyValue('--ig-size') || ɵSize.Medium;\n }\n protected _tabIndex = null;\n protected _selected = false;\n protected _selectedItemClass = 'igx-chip__item--selected';\n protected _movedWhileRemoving = false;\n protected computedStyles;\n private _resourceStrings: IChipResourceStrings = null;\n private _defaultResourceStrings = getCurrentResourceStrings(ChipResourceStringsEN);\n\n constructor() {\n onResourceChangeHandle(this.destroy$, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(ChipResourceStringsEN, false);\n }, this);\n }\n\n /**\n * @hidden\n * @internal\n */\n @HostListener('keydown', ['$event'])\n public keyEvent(event: KeyboardEvent) {\n this.onChipKeyDown(event);\n }\n\n /**\n * @hidden\n * @internal\n */\n public selectClass(condition: boolean): any {\n const SELECT_CLASS = 'igx-chip__select';\n\n return {\n [SELECT_CLASS]: condition,\n [`${SELECT_CLASS}--hidden`]: !condition\n };\n }\n\n public onSelectTransitionDone(event) {\n if (event.target.tagName) {\n // Trigger onSelectionDone on when `width` property is changed and the target is valid element(not comment).\n this.selectedChanged.emit({\n owner: this,\n originalEvent: event\n });\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipKeyDown(event: KeyboardEvent) {\n const keyDownArgs: IChipKeyDownEventArgs = {\n originalEvent: event,\n owner: this,\n cancel: false\n };\n\n this.keyDown.emit(keyDownArgs);\n if (keyDownArgs.cancel) {\n return;\n }\n\n if ((event.key === 'Delete' || event.key === 'Del') && this.removable) {\n this.remove.emit({\n originalEvent: event,\n owner: this\n });\n }\n\n if ((event.key === ' ' || event.key === 'Spacebar') && this.selectable && !this.disabled) {\n this.changeSelection(!this.selected, event);\n }\n\n if (event.key !== 'Tab') {\n event.preventDefault();\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public onRemoveBtnKeyDown(event: KeyboardEvent) {\n if (event.key === ' ' || event.key === 'Spacebar' || event.key === 'Enter') {\n this.remove.emit({\n originalEvent: event,\n owner: this\n });\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n public onRemoveMouseDown(event: PointerEvent | MouseEvent) {\n event.stopPropagation();\n }\n\n /**\n * @hidden\n * @internal\n */\n public onRemoveClick(event: MouseEvent | TouchEvent) {\n this.remove.emit({\n originalEvent: event,\n owner: this\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n public onRemoveTouchMove() {\n // We don't remove chip if user starting touch interacting on the remove button moves the chip\n this._movedWhileRemoving = true;\n }\n\n /**\n * @hidden\n * @internal\n */\n public onRemoveTouchEnd(event: TouchEvent) {\n if (!this._movedWhileRemoving) {\n this.onRemoveClick(event);\n }\n this._movedWhileRemoving = false;\n }\n\n /**\n * @hidden\n * @internal\n */\n // -----------------------------\n // Start chip igxDrag behavior\n public onChipDragStart(event: IDragStartEventArgs) {\n this.moveStart.emit({\n originalEvent: event,\n owner: this\n });\n event.cancel = !this.draggable || this.disabled;\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipDragEnd() {\n if (this.animateOnRelease) {\n this.dragDirective.transitionToOrigin();\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipMoveEnd(event: IDragBaseEventArgs) {\n // moveEnd is triggered after return animation has finished. This happen when we drag and release the chip.\n this.moveEnd.emit({\n originalEvent: event,\n owner: this\n });\n\n if (this.selected) {\n this.chipArea.nativeElement.focus();\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipGhostCreate() {\n this.hideBaseElement = this.hideBaseOnDrag;\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipGhostDestroy() {\n this.hideBaseElement = false;\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipDragClicked(event: IDragBaseEventArgs) {\n const clickEventArgs: IChipClickEventArgs = {\n originalEvent: event,\n owner: this,\n cancel: false\n };\n this.chipClick.emit(clickEventArgs);\n\n if (!clickEventArgs.cancel && this.selectable && !this.disabled) {\n this.changeSelection(!this.selected, event);\n }\n }\n // End chip igxDrag behavior\n\n /**\n * @hidden\n * @internal\n */\n // -----------------------------\n // Start chip igxDrop behavior\n public onChipDragEnterHandler(event: IDropBaseEventArgs) {\n if (this.dragDirective === event.drag) {\n return;\n }\n\n const eventArgs: IChipEnterDragAreaEventArgs = {\n owner: this,\n dragChip: event.drag.data?.chip,\n originalEvent: event\n };\n this.dragEnter.emit(eventArgs);\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipDragLeaveHandler(event: IDropBaseEventArgs) {\n if (this.dragDirective === event.drag) {\n return;\n }\n\n const eventArgs: IChipEnterDragAreaEventArgs = {\n owner: this,\n dragChip: event.drag.data?.chip,\n originalEvent: event\n };\n this.dragLeave.emit(eventArgs);\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipDrop(event: IDropDroppedEventArgs) {\n // Cancel the default drop logic\n event.cancel = true;\n if (this.dragDirective === event.drag) {\n return;\n }\n\n const eventArgs: IChipEnterDragAreaEventArgs = {\n owner: this,\n dragChip: event.drag.data?.chip,\n originalEvent: event\n };\n this.dragDrop.emit(eventArgs);\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipOverHandler(event: IDropBaseEventArgs) {\n if (this.dragDirective === event.drag) {\n return;\n }\n\n const eventArgs: IChipEnterDragAreaEventArgs = {\n owner: this,\n dragChip: event.drag.data?.chip,\n originalEvent: event\n };\n this.dragOver.emit(eventArgs);\n }\n // End chip igxDrop behavior\n\n protected changeSelection(newValue: boolean, srcEvent = null) {\n const onSelectArgs: IChipSelectEventArgs = {\n originalEvent: srcEvent,\n owner: this,\n selected: false,\n cancel: false\n };\n\n if (newValue && !this._selected) {\n onSelectArgs.selected = true;\n this.selectedChanging.emit(onSelectArgs);\n\n if (!onSelectArgs.cancel) {\n this.renderer.addClass(this.chipArea.nativeElement, this._selectedItemClass);\n this._selected = newValue;\n this.selectedChange.emit(this._selected);\n this.selectedChanged.emit({\n owner: this,\n originalEvent: srcEvent\n });\n }\n } else if (!newValue && this._selected) {\n this.selectedChanging.emit(onSelectArgs);\n\n if (!onSelectArgs.cancel) {\n this.renderer.removeClass(this.chipArea.nativeElement, this._selectedItemClass);\n this._selected = newValue;\n this.selectedChange.emit(this._selected);\n this.selectedChanged.emit({\n owner: this,\n originalEvent: srcEvent\n });\n }\n }\n }\n\n public ngOnInit(): void {\n this.computedStyles = this.document.defaultView.getComputedStyle(this.nativeElement);\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<div #chipArea class=\"igx-chip__item\"\n [igxDrag]=\"{chip: this}\"\n [style.visibility]='hideBaseElement ? \"hidden\" : \"visible\"'\n ghostClass=\"igx-chip__ghost\"\n [ghostStyle]=\"ghostStyles\"\n (dragStart)=\"onChipDragStart($event)\"\n (ghostCreate)=\"onChipGhostCreate()\"\n (ghostDestroy)=\"onChipGhostDestroy()\"\n (dragEnd)=\"onChipDragEnd()\"\n (transitioned)=\"onChipMoveEnd($event)\"\n (dragClick)=\"onChipDragClicked($event)\"\n igxDrop\n (enter)=\"onChipDragEnterHandler($event)\"\n (leave)=\"onChipDragLeaveHandler($event)\"\n (over)=\"onChipOverHandler($event)\"\n (dropped)=\"onChipDrop($event)\">\n\n <div class=\"igx-chip__start\" #selectContainer>\n @if (selected) {\n <div [ngClass]=\"selectClass(selected)\">\n <ng-container *ngTemplateOutlet=\"selectIconTemplate\"></ng-container>\n </div>\n }\n\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </div>\n\n <div class=\"igx-chip__content\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"igx-chip__end\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n\n @if (removable) {\n <div class=\"igx-chip__remove\"\n [attr.tabIndex]=\"tabIndex\"\n (keydown)=\"onRemoveBtnKeyDown($event)\"\n (pointerdown)=\"onRemoveMouseDown($event)\"\n (mousedown)=\"onRemoveMouseDown($event)\"\n (click)=\"onRemoveClick($event)\"\n (touchmove)=\"onRemoveTouchMove()\"\n (touchend)=\"onRemoveTouchEnd($event)\">\n <ng-container *ngTemplateOutlet=\"removeButtonTemplate\"></ng-container>\n </div>\n }\n </div>\n</div>\n\n<ng-template #defaultSelectIcon>\n <igx-icon\n [attr.aria-label]=\"resourceStrings.igx_chip_select\"\n family=\"default\"\n name=\"selected\"\n ></igx-icon>\n</ng-template>\n\n<ng-template #defaultRemoveIcon>\n <igx-icon\n [attr.aria-label]=\"resourceStrings.igx_chip_remove\"\n family=\"default\"\n name=\"remove\"\n ></igx-icon>\n</ng-template>\n","import { Component, ContentChildren, ChangeDetectorRef, EventEmitter, HostBinding, Input, IterableDiffer, IterableDiffers, Output, QueryList, DoCheck, AfterViewInit, OnDestroy, ElementRef, inject, ChangeDetectionStrategy } from '@angular/core';\nimport {\n IgxChipComponent,\n IChipSelectEventArgs,\n IChipKeyDownEventArgs,\n IChipEnterDragAreaEventArgs,\n IBaseChipEventArgs\n} from './chip.component';\nimport { IDropBaseEventArgs, IDragBaseEventArgs } from 'igniteui-angular/directives';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { rem } from 'igniteui-angular/core';\n\nexport interface IBaseChipsAreaEventArgs {\n originalEvent: IDragBaseEventArgs | IDropBaseEventArgs | KeyboardEvent | MouseEvent | TouchEvent;\n owner: IgxChipsAreaComponent;\n}\n\nexport interface IChipsAreaReorderEventArgs extends IBaseChipsAreaEventArgs {\n chipsArray: IgxChipComponent[];\n}\n\nexport interface IChipsAreaSelectEventArgs extends IBaseChipsAreaEventArgs {\n newSelection: IgxChipComponent[];\n}\n\n/**\n * The chip area allows you to perform more complex scenarios with chips that require interaction,\n * like dragging, selection, navigation, etc.\n *\n * @igxModule IgxChipsModule\n *\n * @igxTheme igx-chip-theme\n *\n * @igxKeywords chip area, chip\n *\n * @igxGroup display\n *\n * @example\n * ```html\n * <igx-chips-area>\n * <igx-chip *ngFor=\"let chip of chipList\" [id]=\"chip.id\">\n * <span>{{chip.text}}</span>\n * </igx-chip>\n * </igx-chips-area>\n * ```\n */\n@Component({\n selector: 'igx-chips-area',\n templateUrl: 'chips-area.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxChipsAreaComponent implements DoCheck, AfterViewInit, OnDestroy {\n public cdr = inject(ChangeDetectorRef);\n public element = inject(ElementRef);\n private _iterableDiffers = inject(IterableDiffers);\n\n\n /**\n * Returns the `role` attribute of the chips area.\n *\n * @example\n * ```typescript\n * let chipsAreaRole = this.chipsArea.role;\n * ```\n */\n @HostBinding('attr.role')\n public role = 'listbox';\n\n /**\n * Returns the `aria-label` attribute of the chips area.\n *\n * @example\n * ```typescript\n * let ariaLabel = this.chipsArea.ariaLabel;\n * ```\n *\n */\n @HostBinding('attr.aria-label')\n public ariaLabel = 'chip area';\n\n /**\n * Sets the width of the `IgxChipsAreaComponent`.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"300\" [height]=\"10\" (onReorder)=\"chipsOrderChanged($event)\"></igx-chips-area>\n * ```\n */\n @Input()\n public width: number;\n\n /** @hidden @internal */\n @HostBinding('style.width.rem')\n public get _widthToRem() {\n return rem(this.width);\n }\n\n /**\n * Sets the height of the `IgxChipsAreaComponent`.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"300\" [height]=\"10\" (onReorder)=\"chipsOrderChanged($event)\"></igx-chips-area>\n * ```\n */\n @Input()\n public height: number;\n\n /** @hidden @internal */\n @HostBinding('style.height.rem')\n public get _heightToRem() {\n return rem(this.height);\n }\n\n /**\n * Emits an event when `IgxChipComponent`s in the `IgxChipsAreaComponent` should be reordered.\n * Returns an array of `IgxChipComponent`s.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"'300'\" [height]=\"'10'\" (onReorder)=\"changedOrder($event)\"></igx-chips-area>\n * ```\n */\n @Output()\n public reorder = new EventEmitter<IChipsAreaReorderEventArgs>();\n\n /**\n * Emits an event when an `IgxChipComponent` in the `IgxChipsAreaComponent` is selected/deselected.\n * Fired after the chips area is initialized if there are initially selected chips as well.\n * Returns an array of selected `IgxChipComponent`s and the `IgxChipAreaComponent`.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"'300'\" [height]=\"'10'\" (selectionChange)=\"selection($event)\"></igx-chips-area>\n * ```\n */\n @Output()\n public selectionChange = new EventEmitter<IChipsAreaSelectEventArgs>();\n\n /**\n * Emits an event when an `IgxChipComponent` in the `IgxChipsAreaComponent` is moved.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"'300'\" [height]=\"'10'\" (moveStart)=\"moveStart($event)\"></igx-chips-area>\n * ```\n */\n @Output()\n public moveStart = new EventEmitter<IBaseChipsAreaEventArgs>();\n\n /**\n * Emits an event after an `IgxChipComponent` in the `IgxChipsAreaComponent` is moved.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"'300'\" [height]=\"'10'\" (moveEnd)=\"moveEnd($event)\"></igx-chips-area>\n * ```\n */\n @Output()\n public moveEnd = new EventEmitter<IBaseChipsAreaEventArgs>();\n\n /**\n * Holds the `IgxChipComponent` in the `IgxChipsAreaComponent`.\n *\n * @example\n * ```typescript\n * ngAfterViewInit(){\n * let chips = this.chipsArea.chipsList;\n * }\n * ```\n */\n @ContentChildren(IgxChipComponent, { descendants: true })\n public chipsList: QueryList<IgxChipComponent>;\n\n protected destroy$ = new Subject<boolean>();\n\n @HostBinding('class')\n protected hostClass = 'igx-chip-area';\n\n private modifiedChipsArray: IgxChipComponent[];\n private _differ: IterableDiffer<IgxChipComponent> | null = null;\n\n constructor() {\n this._differ = this._iterableDiffers.find([]).create(null);\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngAfterViewInit() {\n // If we have initially selected chips through their inputs, we need to get them, because we cannot listen to their events yet.\n if (this.chipsList.length) {\n const selectedChips = this.chipsList.filter((item: IgxChipComponent) => item.selected);\n if (selectedChips.length) {\n this.selectionChange.emit({\n originalEvent: null,\n newSelection: selectedChips,\n owner: this\n });\n }\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngDoCheck(): void {\n if (this.chipsList) {\n const changes = this._differ.diff(this.chipsList.toArray());\n if (changes) {\n changes.forEachAddedItem((addedChip) => {\n addedChip.item.moveStart.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipMoveStart(args);\n });\n addedChip.item.moveEnd.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipMoveEnd(args);\n });\n addedChip.item.dragEnter.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipDragEnter(args);\n });\n addedChip.item.keyDown.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipKeyDown(args);\n });\n if (addedChip.item.selectable) {\n addedChip.item.selectedChanging.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipSelectionChange(args);\n });\n }\n });\n this.modifiedChipsArray = this.chipsList.toArray();\n }\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipKeyDown(event: IChipKeyDownEventArgs) {\n let orderChanged = false;\n const chipsArray = this.chipsList.toArray();\n const dragChipIndex = chipsArray.findIndex((el) => el === event.owner);\n if (event.originalEvent.shiftKey === true) {\n if (event.originalEvent.key === 'ArrowLeft' || event.originalEvent.key === 'Left') {\n orderChanged = this.positionChipAtIndex(dragChipIndex, dragChipIndex - 1, false, event.originalEvent);\n if (orderChanged) {\n setTimeout(() => {\n this.chipsList.get(dragChipIndex - 1).nativeElement.focus();\n });\n }\n } else if (event.originalEvent.key === 'ArrowRight' || event.originalEvent.key === 'Right') {\n orderChanged = this.positionChipAtIndex(dragChipIndex, dragChipIndex + 1, true, event.originalEvent);\n }\n } else {\n if ((event.originalEvent.key === 'ArrowLeft' || event.originalEvent.key === 'Left') && dragChipIndex > 0) {\n chipsArray[dragChipIndex - 1].nativeElement.focus();\n } else if ((event.originalEvent.key === 'ArrowRight' || event.originalEvent.key === 'Right') &&\n dragChipIndex < chipsArray.length - 1) {\n chipsArray[dragChipIndex + 1].nativeElement.focus();\n }\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipMoveStart(event: IBaseChipEventArgs) {\n this.moveStart.emit({\n originalEvent: event.originalEvent,\n owner: this\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipMoveEnd(event: IBaseChipEventArgs) {\n this.moveEnd.emit({\n originalEvent: event.originalEvent,\n owner: this\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipDragEnter(event: IChipEnterDragAreaEventArgs) {\n const dropChipIndex = this.chipsList.toArray().findIndex((el) => el === event.owner);\n const dragChipIndex = this.chipsList.toArray().findIndex((el) => el === event.dragChip);\n if (dragChipIndex < dropChipIndex) {\n // from the left to right\n this.positionChipAtIndex(dragChipIndex, dropChipIndex, true, event.originalEvent);\n } else {\n // from the right to left\n this.positionChipAtIndex(dragChipIndex, dropChipIndex, false, event.originalEvent);\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n protected positionChipAtIndex(chipIndex, targetIndex, shiftRestLeft, originalEvent) {\n if (chipIndex < 0 || this.chipsList.length <= chipIndex ||\n targetIndex < 0 || this.chipsList.length <= targetIndex) {\n return false;\n }\n\n const chipsArray = this.chipsList.toArray();\n const result: IgxChipComponent[] = [];\n for (let i = 0; i < chipsArray.length; i++) {\n if (shiftRestLeft) {\n if (chipIndex <= i && i < targetIndex) {\n result.push(chipsArray[i + 1]);\n } else if (i === targetIndex) {\n result.push(chipsArray[chipIndex]);\n } else {\n result.push(chipsArray[i]);\n }\n } else {\n if (targetIndex < i && i <= chipIndex) {\n result.push(chipsArray[i - 1]);\n } else if (i === targetIndex) {\n result.push(chipsArray[chipIndex]);\n } else {\n result.push(chipsArray[i]);\n }\n }\n }\n this.modifiedChipsArray = result;\n\n const eventData: IChipsAreaReorderEventArgs = {\n chipsArray: this.modifiedChipsArray,\n originalEvent,\n owner: this\n };\n this.reorder.emit(eventData);\n return true;\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipSelectionChange(event: IChipSelectEventArgs) {\n let selectedChips = this.chipsList.filter((chip) => chip.selected);\n if (event.selected && !selectedChips.includes(event.owner)) {\n selectedChips.push(event.owner);\n } else if (!event.selected && selectedChips.includes(event.owner)) {\n selectedChips = selectedChips.filter((chip) => chip.id !== event.owner.id);\n }\n this.selectionChange.emit({\n originalEvent: event.originalEvent,\n newSelection: selectedChips,\n owner: this\n });\n }\n}\n","<ng-content></ng-content>\n","import { IgxPrefixDirective, IgxSuffixDirective } from 'igniteui-angular/input-group';\nimport { IgxChipComponent } from './chip.component';\nimport { IgxChipsAreaComponent } from './chips-area.component';\n\nexport * from './chip.component';\nexport * from './chips-area.component';\n\n/* NOTE: Chips directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_CHIPS_DIRECTIVES = [\n IgxChipsAreaComponent,\n IgxChipComponent,\n IgxPrefixDirective,\n IgxSuffixDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_CHIPS_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n exports: [\n ...IGX_CHIPS_DIRECTIVES\n ],\n imports: [\n ...IGX_CHIPS_DIRECTIVES\n ]\n})\nexport class IgxChipsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵSize","i1.IgxChipsAreaComponent","i2.IgxChipComponent"],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-chips.mjs","sources":["../../../projects/igniteui-angular/chips/src/chips/chip.component.ts","../../../projects/igniteui-angular/chips/src/chips/chip.component.html","../../../projects/igniteui-angular/chips/src/chips/chips-area.component.ts","../../../projects/igniteui-angular/chips/src/chips/chips-area.component.html","../../../projects/igniteui-angular/chips/src/chips/public_api.ts","../../../projects/igniteui-angular/chips/src/chips/chips.module.ts","../../../projects/igniteui-angular/chips/src/igniteui-angular-chips.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectorRef,\n EventEmitter,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewChild,\n Renderer2,\n TemplateRef,\n OnDestroy,\n booleanAttribute,\n OnInit,\n inject,\n DOCUMENT,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { IgxDragDirective, IDragBaseEventArgs, IDragStartEventArgs, IDropBaseEventArgs, IDropDroppedEventArgs, IgxDropDirective } from 'igniteui-angular/directives';\nimport { IBaseEventArgs, ɵSize } from 'igniteui-angular/core';\nimport { ChipResourceStringsEN, IChipResourceStrings } from 'igniteui-angular/core';\nimport { Subject } from 'rxjs';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { getCurrentResourceStrings, onResourceChangeHandle } from 'igniteui-angular/core';\n\nexport const IgxChipTypeVariant = {\n PRIMARY: 'primary',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n DANGER: 'danger'\n} as const;\nexport type IgxChipTypeVariant = (typeof IgxChipTypeVariant)[keyof typeof IgxChipTypeVariant];\n\nexport interface IBaseChipEventArgs extends IBaseEventArgs {\n originalEvent: IDragBaseEventArgs | IDropBaseEventArgs | KeyboardEvent | MouseEvent | TouchEvent;\n owner: IgxChipComponent;\n}\n\nexport interface IChipClickEventArgs extends IBaseChipEventArgs {\n cancel: boolean;\n}\n\nexport interface IChipKeyDownEventArgs extends IBaseChipEventArgs {\n originalEvent: KeyboardEvent;\n cancel: boolean;\n}\n\nexport interface IChipEnterDragAreaEventArgs extends IBaseChipEventArgs {\n dragChip: IgxChipComponent;\n}\n\nexport interface IChipSelectEventArgs extends IBaseChipEventArgs {\n cancel: boolean;\n selected: boolean;\n}\n\nlet CHIP_ID = 0;\n\n/**\n * Chip is compact visual component that displays information in an obround.\n *\n * @igxModule IgxChipsModule\n *\n * @igxTheme igx-chip-theme\n *\n * @igxKeywords chip\n *\n * @igxGroup display\n *\n * @remarks\n * The Ignite UI Chip can be templated, deleted, and selected.\n * Multiple chips can be reordered and visually connected to each other.\n * Chips reside in a container called chips area which is responsible for managing the interactions between the chips.\n *\n * @example\n * ```html\n * <igx-chip class=\"chipStyle\" [id]=\"901\" [draggable]=\"true\" [removable]=\"true\" (remove)=\"chipRemoved($event)\">\n * <igx-avatar class=\"chip-avatar-resized\" igxPrefix></igx-avatar>\n * </igx-chip>\n * ```\n */\n@Component({\n selector: 'igx-chip',\n templateUrl: 'chip.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxDropDirective, IgxDragDirective, NgClass, NgTemplateOutlet, IgxIconComponent]\n})\nexport class IgxChipComponent implements OnInit, OnDestroy {\n public cdr = inject(ChangeDetectorRef);\n private ref = inject<ElementRef<HTMLElement>>(ElementRef);\n private renderer = inject(Renderer2);\n public document = inject(DOCUMENT);\n\n\n /**\n * Sets/gets the variant of the chip.\n *\n * @remarks\n * Allowed values are `primary`, `info`, `success`, `warning`, `danger`.\n * Providing no/nullish value leaves the chip in its default state.\n *\n * @example\n * ```html\n * <igx-chip variant=\"success\"></igx-chip>\n * ```\n */\n @Input()\n public variant?: IgxChipTypeVariant | null;\n /**\n * Sets the value of `id` attribute. If not provided it will be automatically generated.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\"></igx-chip>\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-chip-${CHIP_ID++}`;\n\n /**\n * Returns the `role` attribute of the chip.\n *\n * @example\n * ```typescript\n * let chipRole = this.chip.role;\n * ```\n */\n @HostBinding('attr.role')\n public role = 'option';\n\n /**\n * Sets the value of `tabindex` attribute. If not provided it will use the element's tabindex if set.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [tabIndex]=\"1\"></igx-chip>\n * ```\n */\n @HostBinding('attr.tabIndex')\n @Input()\n public set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n public get tabIndex() {\n if (this._tabIndex !== null) {\n return this._tabIndex;\n }\n return !this.disabled ? 0 : null;\n }\n\n /**\n * Stores data related to the chip.\n *\n * @example\n * ```html\n * <igx-chip [data]=\"{ value: 'Country' }\"></igx-chip>\n * ```\n */\n @Input()\n public data: any;\n\n /**\n * Defines if the chip can be dragged in order to change it's position.\n * By default it is set to false.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [draggable]=\"true\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public draggable = false;\n\n /**\n * Enables/disables the draggable element animation when the element is released.\n * By default it's set to true.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [draggable]=\"true\" [animateOnRelease]=\"false\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public animateOnRelease = true;\n\n /**\n * Enables/disables the hiding of the base element that has been dragged.\n * By default it's set to true.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [draggable]=\"true\" [hideBaseOnDrag]=\"false\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public hideBaseOnDrag = true;\n\n /**\n * Defines if the chip should render remove button and throw remove events.\n * By default it is set to false.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"'igx-chip-1'\" [draggable]=\"true\" [removable]=\"true\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public removable = false;\n\n /**\n * Overrides the default icon that the chip applies to the remove button.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [removable]=\"true\" [removeIcon]=\"iconTemplate\"></igx-chip>\n * <ng-template #iconTemplate><igx-icon>delete</igx-icon></ng-template>\n * ```\n */\n @Input()\n public removeIcon: TemplateRef<any>;\n\n /**\n * Defines if the chip can be selected on click or through navigation,\n * By default it is set to false.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [draggable]=\"true\" [removable]=\"true\" [selectable]=\"true\"></igx-chip>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public selectable = false;\n\n /**\n * Overrides the default icon that the chip applies when it is selected.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [selectable]=\"true\" [selectIcon]=\"iconTemplate\"></igx-chip>\n * <ng-template #iconTemplate><igx-icon>done_outline</igx-icon></ng-template>\n * ```\n */\n @Input()\n public selectIcon: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n @Input()\n public class = '';\n\n /**\n * Disables the chip. When disabled it restricts user interactions\n * like focusing on click or tab, selection on click or Space, dragging.\n * By default it is set to false.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [disabled]=\"true\"></igx-chip>\n * ```\n */\n @HostBinding('class.igx-chip--disabled')\n @Input({ transform: booleanAttribute })\n public disabled = false;\n\n /**\n * Sets the chip selected state.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [selectable]=\"true\" [selected]=\"true\">\n * ```\n *\n * Two-way data binding:\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [selectable]=\"true\" [(selected)]=\"model.isSelected\">\n * ```\n */\n @HostBinding('attr.aria-selected')\n @Input({ transform: booleanAttribute })\n public set selected(newValue: boolean) {\n this.changeSelection(newValue);\n }\n\n /**\n * Returns if the chip is selected.\n *\n * @example\n * ```typescript\n * @ViewChild('myChip')\n * public chip: IgxChipComponent;\n * selectedChip(){\n * let selectedChip = this.chip.selected;\n * }\n * ```\n */\n public get selected() {\n return this._selected;\n }\n\n /**\n * @hidden\n * @internal\n */\n @Output()\n public selectedChange = new EventEmitter<boolean>();\n\n /**\n * Sets the chip background color.\n * The `color` property supports string, rgb, hex.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [color]=\"'#ff0000'\"></igx-chip>\n * ```\n */\n @Input()\n public set color(newColor) {\n this.chipArea.nativeElement.style.backgroundColor = newColor;\n }\n\n /**\n * Returns the background color of the chip.\n *\n * @example\n * ```typescript\n * @ViewChild('myChip')\n * public chip: IgxChipComponent;\n * ngAfterViewInit(){\n * let chipColor = this.chip.color;\n * }\n * ```\n */\n public get color() {\n return this.chipArea.nativeElement.style.backgroundColor;\n }\n\n /**\n * An accessor that sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IChipResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n /**\n * An accessor that returns the resource strings.\n */\n public get resourceStrings(): IChipResourceStrings {\n return this._resourceStrings || this._defaultResourceStrings;\n }\n\n /**\n * Emits an event when the chip moving starts.\n * Returns the moving chip.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (moveStart)=\"moveStarted($event)\">\n * ```\n */\n @Output()\n public moveStart = new EventEmitter<IBaseChipEventArgs>();\n\n /**\n * Emits an event when the chip moving ends.\n * Returns the moved chip.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (moveEnd)=\"moveEnded($event)\">\n * ```\n */\n @Output()\n public moveEnd = new EventEmitter<IBaseChipEventArgs>();\n\n /**\n * Emits an event when the chip is removed.\n * Returns the removed chip.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (remove)=\"remove($event)\">\n * ```\n */\n @Output()\n public remove = new EventEmitter<IBaseChipEventArgs>();\n\n /**\n * Emits an event when the chip is clicked.\n * Returns the clicked chip, whether the event should be canceled.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (click)=\"chipClick($event)\">\n * ```\n */\n @Output()\n public chipClick = new EventEmitter<IChipClickEventArgs>();\n\n /**\n * Emits event when the chip is selected/deselected.\n * Returns the selected chip reference, whether the event should be canceled, what is the next selection state and\n * when the event is triggered by interaction `originalEvent` is provided, otherwise `originalEvent` is `null`.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [selectable]=\"true\" (selectedChanging)=\"chipSelect($event)\">\n * ```\n */\n @Output()\n public selectedChanging = new EventEmitter<IChipSelectEventArgs>();\n\n /**\n * Emits event when the chip is selected/deselected and any related animations and transitions also end.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [selectable]=\"true\" (selectedChanged)=\"chipSelectEnd($event)\">\n * ```\n */\n @Output()\n public selectedChanged = new EventEmitter<IBaseChipEventArgs>();\n\n /**\n * Emits an event when the chip keyboard navigation is being used.\n * Returns the focused/selected chip, whether the event should be canceled,\n * if the `alt`, `shift` or `control` key is pressed and the pressed key name.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (keyDown)=\"chipKeyDown($event)\">\n * ```\n */\n @Output()\n public keyDown = new EventEmitter<IChipKeyDownEventArgs>();\n\n /**\n * Emits an event when the chip has entered the chips area.\n * Returns the target chip, the drag chip, as well as\n * the original drop event arguments.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (dragEnter)=\"chipEnter($event)\">\n * ```\n */\n @Output()\n public dragEnter = new EventEmitter<IChipEnterDragAreaEventArgs>();\n\n /**\n * Emits an event when the chip has left the chips area.\n * Returns the target chip, the drag chip, as well as\n * the original drop event arguments.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (dragLeave)=\"chipLeave($event)\">\n * ```\n */\n @Output()\n public dragLeave = new EventEmitter<IChipEnterDragAreaEventArgs>();\n\n /**\n * Emits an event when the chip is over the chips area.\n * Returns the target chip, the drag chip, as well as\n * the original drop event arguments.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (dragOver)=\"chipOver($event)\">\n * ```\n */\n @Output()\n public dragOver = new EventEmitter<IChipEnterDragAreaEventArgs>();\n\n /**\n * Emits an event when the chip has been dropped in the chips area.\n * Returns the target chip, the drag chip, as well as\n * the original drop event arguments.\n *\n * @example\n * ```html\n * <igx-chip #myChip [id]=\"'igx-chip-1'\" [draggable]=\"true\" (dragDrop)=\"chipLeave($event)\">\n * ```\n */\n @Output()\n public dragDrop = new EventEmitter<IChipEnterDragAreaEventArgs>();\n\n @HostBinding('class.igx-chip')\n protected defaultClass = 'igx-chip';\n\n @HostBinding('class.igx-chip--primary')\n protected get isPrimary() {\n return this.variant === IgxChipTypeVariant.PRIMARY;\n }\n\n @HostBinding('class.igx-chip--info')\n protected get isInfo() {\n return this.variant === IgxChipTypeVariant.INFO;\n }\n\n @HostBinding('class.igx-chip--success')\n protected get isSuccess() {\n return this.variant === IgxChipTypeVariant.SUCCESS;\n }\n\n @HostBinding('class.igx-chip--warning')\n protected get isWarning() {\n return this.variant === IgxChipTypeVariant.WARNING;\n }\n\n @HostBinding('class.igx-chip--danger')\n protected get isDanger() {\n return this.variant === IgxChipTypeVariant.DANGER;\n }\n\n /**\n * Property that contains a reference to the drag the chip uses for dragging behavior.\n *\n * @example\n * ```html\n * <igx-chip [id]=\"chip.id\" [draggable]=\"true\"></igx-chip>\n * ```\n * ```typescript\n * onMoveStart(event: IBaseChipEventArgs){\n * let dragDirective = event.owner.dragDirective;\n * }\n * ```\n */\n @ViewChild('chipArea', { read: IgxDragDirective, static: true })\n public dragDirective: IgxDragDirective;\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('chipArea', { read: ElementRef, static: true })\n public chipArea: ElementRef;\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('defaultRemoveIcon', { read: TemplateRef, static: true })\n public defaultRemoveIcon: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('defaultSelectIcon', { read: TemplateRef, static: true })\n public defaultSelectIcon: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n public get removeButtonTemplate() {\n if (!this.disabled) {\n return this.removeIcon || this.defaultRemoveIcon;\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public get selectIconTemplate() {\n return this.selectIcon || this.defaultSelectIcon;\n }\n\n /**\n * @hidden\n * @internal\n */\n public get ghostStyles() {\n return { '--ig-size': `${this.chipSize}` };\n }\n\n /** @hidden @internal */\n public get nativeElement() {\n return this.ref.nativeElement;\n }\n\n /**\n * @hidden\n * @internal\n */\n public hideBaseElement = false;\n\n /**\n * @hidden\n * @internal\n */\n public destroy$ = new Subject<void>();\n\n protected get chipSize(): ɵSize {\n return this.computedStyles?.getPropertyValue('--ig-size') || ɵSize.Medium;\n }\n protected _tabIndex = null;\n protected _selected = false;\n protected _selectedItemClass = 'igx-chip__item--selected';\n protected _movedWhileRemoving = false;\n protected computedStyles;\n private _resourceStrings: IChipResourceStrings = null;\n private _defaultResourceStrings = getCurrentResourceStrings(ChipResourceStringsEN);\n\n constructor() {\n onResourceChangeHandle(this.destroy$, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(ChipResourceStringsEN, false);\n }, this);\n }\n\n /**\n * @hidden\n * @internal\n */\n @HostListener('keydown', ['$event'])\n public keyEvent(event: KeyboardEvent) {\n this.onChipKeyDown(event);\n }\n\n /**\n * @hidden\n * @internal\n */\n public selectClass(condition: boolean): any {\n const SELECT_CLASS = 'igx-chip__select';\n\n return {\n [SELECT_CLASS]: condition,\n [`${SELECT_CLASS}--hidden`]: !condition\n };\n }\n\n public onSelectTransitionDone(event) {\n if (event.target.tagName) {\n // Trigger onSelectionDone on when `width` property is changed and the target is valid element(not comment).\n this.selectedChanged.emit({\n owner: this,\n originalEvent: event\n });\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipKeyDown(event: KeyboardEvent) {\n const keyDownArgs: IChipKeyDownEventArgs = {\n originalEvent: event,\n owner: this,\n cancel: false\n };\n\n this.keyDown.emit(keyDownArgs);\n if (keyDownArgs.cancel) {\n return;\n }\n\n if ((event.key === 'Delete' || event.key === 'Del') && this.removable) {\n this.remove.emit({\n originalEvent: event,\n owner: this\n });\n }\n\n if ((event.key === ' ' || event.key === 'Spacebar') && this.selectable && !this.disabled) {\n this.changeSelection(!this.selected, event);\n }\n\n if (event.key !== 'Tab') {\n event.preventDefault();\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public onRemoveBtnKeyDown(event: KeyboardEvent) {\n if (event.key === ' ' || event.key === 'Spacebar' || event.key === 'Enter') {\n this.remove.emit({\n originalEvent: event,\n owner: this\n });\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n public onRemoveMouseDown(event: PointerEvent | MouseEvent) {\n event.stopPropagation();\n }\n\n /**\n * @hidden\n * @internal\n */\n public onRemoveClick(event: MouseEvent | TouchEvent) {\n this.remove.emit({\n originalEvent: event,\n owner: this\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n public onRemoveTouchMove() {\n // We don't remove chip if user starting touch interacting on the remove button moves the chip\n this._movedWhileRemoving = true;\n }\n\n /**\n * @hidden\n * @internal\n */\n public onRemoveTouchEnd(event: TouchEvent) {\n if (!this._movedWhileRemoving) {\n this.onRemoveClick(event);\n }\n this._movedWhileRemoving = false;\n }\n\n /**\n * @hidden\n * @internal\n */\n // -----------------------------\n // Start chip igxDrag behavior\n public onChipDragStart(event: IDragStartEventArgs) {\n this.moveStart.emit({\n originalEvent: event,\n owner: this\n });\n event.cancel = !this.draggable || this.disabled;\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipDragEnd() {\n if (this.animateOnRelease) {\n this.dragDirective.transitionToOrigin();\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipMoveEnd(event: IDragBaseEventArgs) {\n // moveEnd is triggered after return animation has finished. This happen when we drag and release the chip.\n this.moveEnd.emit({\n originalEvent: event,\n owner: this\n });\n\n if (this.selected) {\n this.chipArea.nativeElement.focus();\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipGhostCreate() {\n this.hideBaseElement = this.hideBaseOnDrag;\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipGhostDestroy() {\n this.hideBaseElement = false;\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipDragClicked(event: IDragBaseEventArgs) {\n const clickEventArgs: IChipClickEventArgs = {\n originalEvent: event,\n owner: this,\n cancel: false\n };\n this.chipClick.emit(clickEventArgs);\n\n if (!clickEventArgs.cancel && this.selectable && !this.disabled) {\n this.changeSelection(!this.selected, event);\n }\n }\n // End chip igxDrag behavior\n\n /**\n * @hidden\n * @internal\n */\n // -----------------------------\n // Start chip igxDrop behavior\n public onChipDragEnterHandler(event: IDropBaseEventArgs) {\n if (this.dragDirective === event.drag) {\n return;\n }\n\n const eventArgs: IChipEnterDragAreaEventArgs = {\n owner: this,\n dragChip: event.drag.data?.chip,\n originalEvent: event\n };\n this.dragEnter.emit(eventArgs);\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipDragLeaveHandler(event: IDropBaseEventArgs) {\n if (this.dragDirective === event.drag) {\n return;\n }\n\n const eventArgs: IChipEnterDragAreaEventArgs = {\n owner: this,\n dragChip: event.drag.data?.chip,\n originalEvent: event\n };\n this.dragLeave.emit(eventArgs);\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipDrop(event: IDropDroppedEventArgs) {\n // Cancel the default drop logic\n event.cancel = true;\n if (this.dragDirective === event.drag) {\n return;\n }\n\n const eventArgs: IChipEnterDragAreaEventArgs = {\n owner: this,\n dragChip: event.drag.data?.chip,\n originalEvent: event\n };\n this.dragDrop.emit(eventArgs);\n }\n\n /**\n * @hidden\n * @internal\n */\n public onChipOverHandler(event: IDropBaseEventArgs) {\n if (this.dragDirective === event.drag) {\n return;\n }\n\n const eventArgs: IChipEnterDragAreaEventArgs = {\n owner: this,\n dragChip: event.drag.data?.chip,\n originalEvent: event\n };\n this.dragOver.emit(eventArgs);\n }\n // End chip igxDrop behavior\n\n protected changeSelection(newValue: boolean, srcEvent = null) {\n const onSelectArgs: IChipSelectEventArgs = {\n originalEvent: srcEvent,\n owner: this,\n selected: false,\n cancel: false\n };\n\n if (newValue && !this._selected) {\n onSelectArgs.selected = true;\n this.selectedChanging.emit(onSelectArgs);\n\n if (!onSelectArgs.cancel) {\n this.renderer.addClass(this.chipArea.nativeElement, this._selectedItemClass);\n this._selected = newValue;\n this.selectedChange.emit(this._selected);\n this.selectedChanged.emit({\n owner: this,\n originalEvent: srcEvent\n });\n }\n } else if (!newValue && this._selected) {\n this.selectedChanging.emit(onSelectArgs);\n\n if (!onSelectArgs.cancel) {\n this.renderer.removeClass(this.chipArea.nativeElement, this._selectedItemClass);\n this._selected = newValue;\n this.selectedChange.emit(this._selected);\n this.selectedChanged.emit({\n owner: this,\n originalEvent: srcEvent\n });\n }\n }\n }\n\n public ngOnInit(): void {\n this.computedStyles = this.document.defaultView.getComputedStyle(this.nativeElement);\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<div #chipArea class=\"igx-chip__item\"\n [igxDrag]=\"{chip: this}\"\n [style.visibility]='hideBaseElement ? \"hidden\" : \"visible\"'\n ghostClass=\"igx-chip__ghost\"\n [ghostStyle]=\"ghostStyles\"\n (dragStart)=\"onChipDragStart($event)\"\n (ghostCreate)=\"onChipGhostCreate()\"\n (ghostDestroy)=\"onChipGhostDestroy()\"\n (dragEnd)=\"onChipDragEnd()\"\n (transitioned)=\"onChipMoveEnd($event)\"\n (dragClick)=\"onChipDragClicked($event)\"\n igxDrop\n (enter)=\"onChipDragEnterHandler($event)\"\n (leave)=\"onChipDragLeaveHandler($event)\"\n (over)=\"onChipOverHandler($event)\"\n (dropped)=\"onChipDrop($event)\">\n\n <div class=\"igx-chip__start\" #selectContainer>\n @if (selected) {\n <div [ngClass]=\"selectClass(selected)\">\n <ng-container *ngTemplateOutlet=\"selectIconTemplate\"></ng-container>\n </div>\n }\n\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </div>\n\n <div class=\"igx-chip__content\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"igx-chip__end\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n\n @if (removable) {\n <div class=\"igx-chip__remove\"\n [attr.tabIndex]=\"tabIndex\"\n (keydown)=\"onRemoveBtnKeyDown($event)\"\n (pointerdown)=\"onRemoveMouseDown($event)\"\n (mousedown)=\"onRemoveMouseDown($event)\"\n (click)=\"onRemoveClick($event)\"\n (touchmove)=\"onRemoveTouchMove()\"\n (touchend)=\"onRemoveTouchEnd($event)\">\n <ng-container *ngTemplateOutlet=\"removeButtonTemplate\"></ng-container>\n </div>\n }\n </div>\n</div>\n\n<ng-template #defaultSelectIcon>\n <igx-icon\n [attr.aria-label]=\"resourceStrings.igx_chip_select\"\n family=\"default\"\n name=\"selected\"\n ></igx-icon>\n</ng-template>\n\n<ng-template #defaultRemoveIcon>\n <igx-icon\n [attr.aria-label]=\"resourceStrings.igx_chip_remove\"\n family=\"default\"\n name=\"remove\"\n ></igx-icon>\n</ng-template>\n","import { Component, ContentChildren, ChangeDetectorRef, EventEmitter, HostBinding, Input, IterableDiffer, IterableDiffers, Output, QueryList, DoCheck, AfterViewInit, OnDestroy, ElementRef, inject, ChangeDetectionStrategy } from '@angular/core';\nimport {\n IgxChipComponent,\n IChipSelectEventArgs,\n IChipKeyDownEventArgs,\n IChipEnterDragAreaEventArgs,\n IBaseChipEventArgs\n} from './chip.component';\nimport { IDropBaseEventArgs, IDragBaseEventArgs } from 'igniteui-angular/directives';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { rem } from 'igniteui-angular/core';\n\nexport interface IBaseChipsAreaEventArgs {\n originalEvent: IDragBaseEventArgs | IDropBaseEventArgs | KeyboardEvent | MouseEvent | TouchEvent;\n owner: IgxChipsAreaComponent;\n}\n\nexport interface IChipsAreaReorderEventArgs extends IBaseChipsAreaEventArgs {\n chipsArray: IgxChipComponent[];\n}\n\nexport interface IChipsAreaSelectEventArgs extends IBaseChipsAreaEventArgs {\n newSelection: IgxChipComponent[];\n}\n\n/**\n * The chip area allows you to perform more complex scenarios with chips that require interaction,\n * like dragging, selection, navigation, etc.\n *\n * @igxModule IgxChipsModule\n *\n * @igxTheme igx-chip-theme\n *\n * @igxKeywords chip area, chip\n *\n * @igxGroup display\n *\n * @example\n * ```html\n * <igx-chips-area>\n * <igx-chip *ngFor=\"let chip of chipList\" [id]=\"chip.id\">\n * <span>{{chip.text}}</span>\n * </igx-chip>\n * </igx-chips-area>\n * ```\n */\n@Component({\n selector: 'igx-chips-area',\n templateUrl: 'chips-area.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxChipsAreaComponent implements DoCheck, AfterViewInit, OnDestroy {\n public cdr = inject(ChangeDetectorRef);\n public element = inject(ElementRef);\n private _iterableDiffers = inject(IterableDiffers);\n\n\n /**\n * Returns the `role` attribute of the chips area.\n *\n * @example\n * ```typescript\n * let chipsAreaRole = this.chipsArea.role;\n * ```\n */\n @HostBinding('attr.role')\n public role = 'listbox';\n\n /**\n * Returns the `aria-label` attribute of the chips area.\n *\n * @example\n * ```typescript\n * let ariaLabel = this.chipsArea.ariaLabel;\n * ```\n *\n */\n @HostBinding('attr.aria-label')\n public ariaLabel = 'chip area';\n\n /**\n * Sets the width of the chips area.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"300\" [height]=\"10\" (onReorder)=\"chipsOrderChanged($event)\"></igx-chips-area>\n * ```\n */\n @Input()\n public width: number;\n\n /** @hidden @internal */\n @HostBinding('style.width.rem')\n public get _widthToRem() {\n return rem(this.width);\n }\n\n /**\n * Sets the height of the chips area.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"300\" [height]=\"10\" (onReorder)=\"chipsOrderChanged($event)\"></igx-chips-area>\n * ```\n */\n @Input()\n public height: number;\n\n /** @hidden @internal */\n @HostBinding('style.height.rem')\n public get _heightToRem() {\n return rem(this.height);\n }\n\n /**\n * Emits an event when chips in the chips area should be reordered.\n * Returns an array of chips.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"'300'\" [height]=\"'10'\" (onReorder)=\"changedOrder($event)\"></igx-chips-area>\n * ```\n */\n @Output()\n public reorder = new EventEmitter<IChipsAreaReorderEventArgs>();\n\n /**\n * Emits an event when an chip in the chips area is selected/deselected.\n * Fired after the chips area is initialized if there are initially selected chips as well.\n * Returns an array of selected chips and the chip area.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"'300'\" [height]=\"'10'\" (selectionChange)=\"selection($event)\"></igx-chips-area>\n * ```\n */\n @Output()\n public selectionChange = new EventEmitter<IChipsAreaSelectEventArgs>();\n\n /**\n * Emits an event when an chip in the chips area is moved.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"'300'\" [height]=\"'10'\" (moveStart)=\"moveStart($event)\"></igx-chips-area>\n * ```\n */\n @Output()\n public moveStart = new EventEmitter<IBaseChipsAreaEventArgs>();\n\n /**\n * Emits an event after an chip in the chips area is moved.\n *\n * @example\n * ```html\n * <igx-chips-area #chipsArea [width]=\"'300'\" [height]=\"'10'\" (moveEnd)=\"moveEnd($event)\"></igx-chips-area>\n * ```\n */\n @Output()\n public moveEnd = new EventEmitter<IBaseChipsAreaEventArgs>();\n\n /**\n * Holds the chip in the chips area.\n *\n * @example\n * ```typescript\n * ngAfterViewInit(){\n * let chips = this.chipsArea.chipsList;\n * }\n * ```\n */\n @ContentChildren(IgxChipComponent, { descendants: true })\n public chipsList: QueryList<IgxChipComponent>;\n\n protected destroy$ = new Subject<boolean>();\n\n @HostBinding('class')\n protected hostClass = 'igx-chip-area';\n\n private modifiedChipsArray: IgxChipComponent[];\n private _differ: IterableDiffer<IgxChipComponent> | null = null;\n\n constructor() {\n this._differ = this._iterableDiffers.find([]).create(null);\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngAfterViewInit() {\n // If we have initially selected chips through their inputs, we need to get them, because we cannot listen to their events yet.\n if (this.chipsList.length) {\n const selectedChips = this.chipsList.filter((item: IgxChipComponent) => item.selected);\n if (selectedChips.length) {\n this.selectionChange.emit({\n originalEvent: null,\n newSelection: selectedChips,\n owner: this\n });\n }\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngDoCheck(): void {\n if (this.chipsList) {\n const changes = this._differ.diff(this.chipsList.toArray());\n if (changes) {\n changes.forEachAddedItem((addedChip) => {\n addedChip.item.moveStart.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipMoveStart(args);\n });\n addedChip.item.moveEnd.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipMoveEnd(args);\n });\n addedChip.item.dragEnter.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipDragEnter(args);\n });\n addedChip.item.keyDown.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipKeyDown(args);\n });\n if (addedChip.item.selectable) {\n addedChip.item.selectedChanging.pipe(takeUntil(addedChip.item.destroy$)).subscribe((args) => {\n this.onChipSelectionChange(args);\n });\n }\n });\n this.modifiedChipsArray = this.chipsList.toArray();\n }\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipKeyDown(event: IChipKeyDownEventArgs) {\n let orderChanged = false;\n const chipsArray = this.chipsList.toArray();\n const dragChipIndex = chipsArray.findIndex((el) => el === event.owner);\n if (event.originalEvent.shiftKey === true) {\n if (event.originalEvent.key === 'ArrowLeft' || event.originalEvent.key === 'Left') {\n orderChanged = this.positionChipAtIndex(dragChipIndex, dragChipIndex - 1, false, event.originalEvent);\n if (orderChanged) {\n setTimeout(() => {\n this.chipsList.get(dragChipIndex - 1).nativeElement.focus();\n });\n }\n } else if (event.originalEvent.key === 'ArrowRight' || event.originalEvent.key === 'Right') {\n orderChanged = this.positionChipAtIndex(dragChipIndex, dragChipIndex + 1, true, event.originalEvent);\n }\n } else {\n if ((event.originalEvent.key === 'ArrowLeft' || event.originalEvent.key === 'Left') && dragChipIndex > 0) {\n chipsArray[dragChipIndex - 1].nativeElement.focus();\n } else if ((event.originalEvent.key === 'ArrowRight' || event.originalEvent.key === 'Right') &&\n dragChipIndex < chipsArray.length - 1) {\n chipsArray[dragChipIndex + 1].nativeElement.focus();\n }\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipMoveStart(event: IBaseChipEventArgs) {\n this.moveStart.emit({\n originalEvent: event.originalEvent,\n owner: this\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipMoveEnd(event: IBaseChipEventArgs) {\n this.moveEnd.emit({\n originalEvent: event.originalEvent,\n owner: this\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipDragEnter(event: IChipEnterDragAreaEventArgs) {\n const dropChipIndex = this.chipsList.toArray().findIndex((el) => el === event.owner);\n const dragChipIndex = this.chipsList.toArray().findIndex((el) => el === event.dragChip);\n if (dragChipIndex < dropChipIndex) {\n // from the left to right\n this.positionChipAtIndex(dragChipIndex, dropChipIndex, true, event.originalEvent);\n } else {\n // from the right to left\n this.positionChipAtIndex(dragChipIndex, dropChipIndex, false, event.originalEvent);\n }\n }\n\n /**\n * @hidden\n * @internal\n */\n protected positionChipAtIndex(chipIndex, targetIndex, shiftRestLeft, originalEvent) {\n if (chipIndex < 0 || this.chipsList.length <= chipIndex ||\n targetIndex < 0 || this.chipsList.length <= targetIndex) {\n return false;\n }\n\n const chipsArray = this.chipsList.toArray();\n const result: IgxChipComponent[] = [];\n for (let i = 0; i < chipsArray.length; i++) {\n if (shiftRestLeft) {\n if (chipIndex <= i && i < targetIndex) {\n result.push(chipsArray[i + 1]);\n } else if (i === targetIndex) {\n result.push(chipsArray[chipIndex]);\n } else {\n result.push(chipsArray[i]);\n }\n } else {\n if (targetIndex < i && i <= chipIndex) {\n result.push(chipsArray[i - 1]);\n } else if (i === targetIndex) {\n result.push(chipsArray[chipIndex]);\n } else {\n result.push(chipsArray[i]);\n }\n }\n }\n this.modifiedChipsArray = result;\n\n const eventData: IChipsAreaReorderEventArgs = {\n chipsArray: this.modifiedChipsArray,\n originalEvent,\n owner: this\n };\n this.reorder.emit(eventData);\n return true;\n }\n\n /**\n * @hidden\n * @internal\n */\n protected onChipSelectionChange(event: IChipSelectEventArgs) {\n let selectedChips = this.chipsList.filter((chip) => chip.selected);\n if (event.selected && !selectedChips.includes(event.owner)) {\n selectedChips.push(event.owner);\n } else if (!event.selected && selectedChips.includes(event.owner)) {\n selectedChips = selectedChips.filter((chip) => chip.id !== event.owner.id);\n }\n this.selectionChange.emit({\n originalEvent: event.originalEvent,\n newSelection: selectedChips,\n owner: this\n });\n }\n}\n","<ng-content></ng-content>\n","import { IgxPrefixDirective, IgxSuffixDirective } from 'igniteui-angular/input-group';\nimport { IgxChipComponent } from './chip.component';\nimport { IgxChipsAreaComponent } from './chips-area.component';\n\nexport * from './chip.component';\nexport * from './chips-area.component';\n\n/* NOTE: Chips directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_CHIPS_DIRECTIVES = [\n IgxChipsAreaComponent,\n IgxChipComponent,\n IgxPrefixDirective,\n IgxSuffixDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_CHIPS_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n exports: [\n ...IGX_CHIPS_DIRECTIVES\n ],\n imports: [\n ...IGX_CHIPS_DIRECTIVES\n ]\n})\nexport class IgxChipsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵSize","i1.IgxChipsAreaComponent","i2.IgxChipComponent"],"mappings":"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"}
@@ -1171,7 +1171,7 @@ class IgxActionStripActionsToken {
1171
1171
  /**
1172
1172
  * Templates the default toggle icon in the picker.
1173
1173
  *
1174
- * @remarks Can be applied to IgxDatePickerComponent, IgxTimePickerComponent, IgxDateRangePickerComponent
1174
+ * @remarks Can be applied to date picker, time picker, date range picker
1175
1175
  *
1176
1176
  * @example
1177
1177
  * ```html
@@ -1211,7 +1211,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImpor
1211
1211
  /**
1212
1212
  * Templates the default clear icon in the picker.
1213
1213
  *
1214
- * @remarks Can be applied to IgxDatePickerComponent, IgxTimePickerComponent, IgxDateRangePickerComponent
1214
+ * @remarks Can be applied to date picker, time picker, date range picker
1215
1215
  *
1216
1216
  * @example
1217
1217
  * ```html
@@ -1236,9 +1236,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImpor
1236
1236
  }]
1237
1237
  }] });
1238
1238
  /**
1239
- * IgxPickerActionsDirective can be used to re-template the dropdown/dialog action buttons.
1239
+ * Picker actions can be used to re-template the dropdown/dialog action buttons.
1240
1240
  *
1241
- * @remarks Can be applied to IgxDatePickerComponent, IgxTimePickerComponent, IgxDateRangePickerComponent
1241
+ * @remarks Can be applied to date picker, time picker, date range picker
1242
1242
  *
1243
1243
  */
1244
1244
  class IgxPickerActionsDirective {
@@ -3579,7 +3579,7 @@ class IgxSorting {
3579
3579
  }
3580
3580
  }
3581
3581
  /**
3582
- * Represents a class implementing the IGridGroupingStrategy interface and extending the IgxSorting class.
3582
+ * Represents a class implementing the IGridGroupingStrategy interface and extending the sorting class.
3583
3583
  * It provides a method to group data based on the given grouping state.
3584
3584
  */
3585
3585
  class IgxGrouping extends IgxSorting {
@@ -3743,7 +3743,7 @@ class NoopSortingStrategy {
3743
3743
  }
3744
3744
  }
3745
3745
  /**
3746
- * Represents a class extending the IgxSorting class
3746
+ * Represents a class extending the sorting class
3747
3747
  * Provides custom data record sorting.
3748
3748
  */
3749
3749
  class IgxDataRecordSorting extends IgxSorting {