ng-primitives 0.120.4 → 0.121.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 (147) hide show
  1. package/example-theme/index.css +9 -0
  2. package/fesm2022/ng-primitives-a11y.mjs +5 -5
  3. package/fesm2022/ng-primitives-a11y.mjs.map +1 -1
  4. package/fesm2022/ng-primitives-accordion.mjs +34 -51
  5. package/fesm2022/ng-primitives-accordion.mjs.map +1 -1
  6. package/fesm2022/ng-primitives-ai.mjs +39 -52
  7. package/fesm2022/ng-primitives-ai.mjs.map +1 -1
  8. package/fesm2022/ng-primitives-autofill.mjs +4 -4
  9. package/fesm2022/ng-primitives-autofill.mjs.map +1 -1
  10. package/fesm2022/ng-primitives-avatar.mjs +14 -17
  11. package/fesm2022/ng-primitives-avatar.mjs.map +1 -1
  12. package/fesm2022/ng-primitives-breadcrumbs.mjs +21 -21
  13. package/fesm2022/ng-primitives-breadcrumbs.mjs.map +1 -1
  14. package/fesm2022/ng-primitives-button.mjs +7 -9
  15. package/fesm2022/ng-primitives-button.mjs.map +1 -1
  16. package/fesm2022/ng-primitives-checkbox.mjs +15 -30
  17. package/fesm2022/ng-primitives-checkbox.mjs.map +1 -1
  18. package/fesm2022/ng-primitives-combobox.mjs +60 -92
  19. package/fesm2022/ng-primitives-combobox.mjs.map +1 -1
  20. package/fesm2022/ng-primitives-common.mjs +4 -4
  21. package/fesm2022/ng-primitives-common.mjs.map +1 -1
  22. package/fesm2022/ng-primitives-context-menu.mjs +68 -121
  23. package/fesm2022/ng-primitives-context-menu.mjs.map +1 -1
  24. package/fesm2022/ng-primitives-date-picker.mjs +91 -115
  25. package/fesm2022/ng-primitives-date-picker.mjs.map +1 -1
  26. package/fesm2022/ng-primitives-dialog.mjs +35 -51
  27. package/fesm2022/ng-primitives-dialog.mjs.map +1 -1
  28. package/fesm2022/ng-primitives-file-upload.mjs +26 -53
  29. package/fesm2022/ng-primitives-file-upload.mjs.map +1 -1
  30. package/fesm2022/ng-primitives-focus-trap.mjs +5 -8
  31. package/fesm2022/ng-primitives-focus-trap.mjs.map +1 -1
  32. package/fesm2022/ng-primitives-form-field.mjs +39 -44
  33. package/fesm2022/ng-primitives-form-field.mjs.map +1 -1
  34. package/fesm2022/ng-primitives-input-otp.mjs +30 -43
  35. package/fesm2022/ng-primitives-input-otp.mjs.map +1 -1
  36. package/fesm2022/ng-primitives-input.mjs +6 -8
  37. package/fesm2022/ng-primitives-input.mjs.map +1 -1
  38. package/fesm2022/ng-primitives-interactions.mjs +31 -48
  39. package/fesm2022/ng-primitives-interactions.mjs.map +1 -1
  40. package/fesm2022/ng-primitives-internal.mjs +39 -35
  41. package/fesm2022/ng-primitives-internal.mjs.map +1 -1
  42. package/fesm2022/ng-primitives-listbox.mjs +34 -48
  43. package/fesm2022/ng-primitives-listbox.mjs.map +1 -1
  44. package/fesm2022/ng-primitives-menu.mjs +85 -151
  45. package/fesm2022/ng-primitives-menu.mjs.map +1 -1
  46. package/fesm2022/ng-primitives-meter.mjs +25 -36
  47. package/fesm2022/ng-primitives-meter.mjs.map +1 -1
  48. package/fesm2022/ng-primitives-navigation-menu.mjs +60 -108
  49. package/fesm2022/ng-primitives-navigation-menu.mjs.map +1 -1
  50. package/fesm2022/ng-primitives-number-field.mjs +35 -59
  51. package/fesm2022/ng-primitives-number-field.mjs.map +1 -1
  52. package/fesm2022/ng-primitives-pagination.mjs +270 -297
  53. package/fesm2022/ng-primitives-pagination.mjs.map +1 -1
  54. package/fesm2022/ng-primitives-popover.mjs +209 -223
  55. package/fesm2022/ng-primitives-popover.mjs.map +1 -1
  56. package/fesm2022/ng-primitives-portal.mjs +88 -59
  57. package/fesm2022/ng-primitives-portal.mjs.map +1 -1
  58. package/fesm2022/ng-primitives-progress.mjs +30 -41
  59. package/fesm2022/ng-primitives-progress.mjs.map +1 -1
  60. package/fesm2022/ng-primitives-radio.mjs +20 -30
  61. package/fesm2022/ng-primitives-radio.mjs.map +1 -1
  62. package/fesm2022/ng-primitives-resize.mjs +3 -3
  63. package/fesm2022/ng-primitives-resize.mjs.map +1 -1
  64. package/fesm2022/ng-primitives-roving-focus.mjs +20 -34
  65. package/fesm2022/ng-primitives-roving-focus.mjs.map +1 -1
  66. package/fesm2022/ng-primitives-search.mjs +9 -9
  67. package/fesm2022/ng-primitives-search.mjs.map +1 -1
  68. package/fesm2022/ng-primitives-select.mjs +720 -620
  69. package/fesm2022/ng-primitives-select.mjs.map +1 -1
  70. package/fesm2022/ng-primitives-separator.mjs +4 -6
  71. package/fesm2022/ng-primitives-separator.mjs.map +1 -1
  72. package/fesm2022/ng-primitives-slider.mjs +63 -100
  73. package/fesm2022/ng-primitives-slider.mjs.map +1 -1
  74. package/fesm2022/ng-primitives-state.mjs +3 -3
  75. package/fesm2022/ng-primitives-state.mjs.map +1 -1
  76. package/fesm2022/ng-primitives-switch.mjs +15 -21
  77. package/fesm2022/ng-primitives-switch.mjs.map +1 -1
  78. package/fesm2022/ng-primitives-tabs.mjs +31 -41
  79. package/fesm2022/ng-primitives-tabs.mjs.map +1 -1
  80. package/fesm2022/ng-primitives-textarea.mjs +5 -7
  81. package/fesm2022/ng-primitives-textarea.mjs.map +1 -1
  82. package/fesm2022/ng-primitives-toast.mjs +30 -23
  83. package/fesm2022/ng-primitives-toast.mjs.map +1 -1
  84. package/fesm2022/ng-primitives-toggle-group.mjs +20 -36
  85. package/fesm2022/ng-primitives-toggle-group.mjs.map +1 -1
  86. package/fesm2022/ng-primitives-toggle.mjs +10 -19
  87. package/fesm2022/ng-primitives-toggle.mjs.map +1 -1
  88. package/fesm2022/ng-primitives-toolbar.mjs +4 -6
  89. package/fesm2022/ng-primitives-toolbar.mjs.map +1 -1
  90. package/fesm2022/ng-primitives-tooltip.mjs +401 -402
  91. package/fesm2022/ng-primitives-tooltip.mjs.map +1 -1
  92. package/fesm2022/ng-primitives-utils.mjs +5 -4
  93. package/fesm2022/ng-primitives-utils.mjs.map +1 -1
  94. package/package.json +56 -55
  95. package/schematics/ng-generate/templates/select/select.__fileSuffix@dasherize__.ts.template +48 -48
  96. package/{a11y/index.d.ts → types/ng-primitives-a11y.d.ts} +18 -24
  97. package/{accordion/index.d.ts → types/ng-primitives-accordion.d.ts} +85 -98
  98. package/{autofill/index.d.ts → types/ng-primitives-autofill.d.ts} +3 -10
  99. package/{avatar/index.d.ts → types/ng-primitives-avatar.d.ts} +7 -30
  100. package/{breadcrumbs/index.d.ts → types/ng-primitives-breadcrumbs.d.ts} +15 -70
  101. package/{button/index.d.ts → types/ng-primitives-button.d.ts} +23 -29
  102. package/{checkbox/index.d.ts → types/ng-primitives-checkbox.d.ts} +68 -74
  103. package/{combobox/index.d.ts → types/ng-primitives-combobox.d.ts} +35 -35
  104. package/{context-menu/index.d.ts → types/ng-primitives-context-menu.d.ts} +2 -1
  105. package/{date-picker/index.d.ts → types/ng-primitives-date-picker.d.ts} +2 -2
  106. package/{dialog/index.d.ts → types/ng-primitives-dialog.d.ts} +7 -2
  107. package/{file-upload/index.d.ts → types/ng-primitives-file-upload.d.ts} +5 -20
  108. package/{focus-trap/index.d.ts → types/ng-primitives-focus-trap.d.ts} +3 -10
  109. package/{form-field/index.d.ts → types/ng-primitives-form-field.d.ts} +9 -40
  110. package/{input/index.d.ts → types/ng-primitives-input.d.ts} +3 -10
  111. package/{menu/index.d.ts → types/ng-primitives-menu.d.ts} +17 -63
  112. package/{navigation-menu/index.d.ts → types/ng-primitives-navigation-menu.d.ts} +15 -70
  113. package/{number-field/index.d.ts → types/ng-primitives-number-field.d.ts} +80 -110
  114. package/types/ng-primitives-pagination.d.ts +502 -0
  115. package/{popover/index.d.ts → types/ng-primitives-popover.d.ts} +244 -57
  116. package/{portal/index.d.ts → types/ng-primitives-portal.d.ts} +22 -13
  117. package/{progress/index.d.ts → types/ng-primitives-progress.d.ts} +3 -10
  118. package/{roving-focus/index.d.ts → types/ng-primitives-roving-focus.d.ts} +65 -79
  119. package/types/ng-primitives-select.d.ts +687 -0
  120. package/{separator/index.d.ts → types/ng-primitives-separator.d.ts} +3 -10
  121. package/{slider/index.d.ts → types/ng-primitives-slider.d.ts} +76 -138
  122. package/{state/index.d.ts → types/ng-primitives-state.d.ts} +26 -21
  123. package/{switch/index.d.ts → types/ng-primitives-switch.d.ts} +50 -64
  124. package/{tabs/index.d.ts → types/ng-primitives-tabs.d.ts} +9 -40
  125. package/{textarea/index.d.ts → types/ng-primitives-textarea.d.ts} +3 -10
  126. package/{toast/index.d.ts → types/ng-primitives-toast.d.ts} +13 -1
  127. package/{toggle-group/index.d.ts → types/ng-primitives-toggle-group.d.ts} +75 -89
  128. package/{toggle/index.d.ts → types/ng-primitives-toggle.d.ts} +50 -56
  129. package/{toolbar/index.d.ts → types/ng-primitives-toolbar.d.ts} +3 -10
  130. package/types/ng-primitives-tooltip.d.ts +691 -0
  131. package/pagination/index.d.ts +0 -211
  132. package/select/index.d.ts +0 -396
  133. package/tooltip/index.d.ts +0 -384
  134. /package/{ai/index.d.ts → types/ng-primitives-ai.d.ts} +0 -0
  135. /package/{common/index.d.ts → types/ng-primitives-common.d.ts} +0 -0
  136. /package/{date-time-luxon/index.d.ts → types/ng-primitives-date-time-luxon.d.ts} +0 -0
  137. /package/{date-time/index.d.ts → types/ng-primitives-date-time.d.ts} +0 -0
  138. /package/{input-otp/index.d.ts → types/ng-primitives-input-otp.d.ts} +0 -0
  139. /package/{interactions/index.d.ts → types/ng-primitives-interactions.d.ts} +0 -0
  140. /package/{internal/index.d.ts → types/ng-primitives-internal.d.ts} +0 -0
  141. /package/{listbox/index.d.ts → types/ng-primitives-listbox.d.ts} +0 -0
  142. /package/{meter/index.d.ts → types/ng-primitives-meter.d.ts} +0 -0
  143. /package/{radio/index.d.ts → types/ng-primitives-radio.d.ts} +0 -0
  144. /package/{resize/index.d.ts → types/ng-primitives-resize.d.ts} +0 -0
  145. /package/{search/index.d.ts → types/ng-primitives-search.d.ts} +0 -0
  146. /package/{utils/index.d.ts → types/ng-primitives-utils.d.ts} +0 -0
  147. /package/{index.d.ts → types/ng-primitives.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { createOverlay, injectOverlay, coerceOffset, coerceFlip, coerceShift } from 'ng-primitives/portal';
1
+ import { createOverlay, injectOverlay, coerceOffset, coerceFlip, coerceShift, provideControlContainerIsolation } from 'ng-primitives/portal';
2
2
  export { injectOverlayContext as injectMenuContext } from 'ng-primitives/portal';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, inject, Injector, ViewContainerRef, signal, computed, effect, input, booleanAttribute, Directive, output, numberAttribute } from '@angular/core';
@@ -61,14 +61,14 @@ const [NgpMenuTriggerStateToken, ngpMenuTrigger, _injectMenuTriggerState, provid
61
61
  const offset = controlled(_offset);
62
62
  const context = controlled(_context);
63
63
  // Internal state
64
- const overlay = signal(null, ...(ngDevMode ? [{ debugName: "overlay" }] : []));
65
- const open = computed(() => overlay()?.isOpen() ?? false, ...(ngDevMode ? [{ debugName: "open" }] : []));
66
- const openOrigin = signal('program', ...(ngDevMode ? [{ debugName: "openOrigin" }] : []));
67
- const closeOrigin = signal('program', ...(ngDevMode ? [{ debugName: "closeOrigin" }] : []));
64
+ const overlay = signal(null, ...(ngDevMode ? [{ debugName: "overlay" }] : /* istanbul ignore next */ []));
65
+ const open = computed(() => overlay()?.isOpen() ?? false, ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
66
+ const openOrigin = signal('program', ...(ngDevMode ? [{ debugName: "openOrigin" }] : /* istanbul ignore next */ []));
67
+ const closeOrigin = signal('program', ...(ngDevMode ? [{ debugName: "closeOrigin" }] : /* istanbul ignore next */ []));
68
68
  // Track whether pointer is over trigger or content (for hover triggers)
69
- const pointerOverTrigger = signal(false, ...(ngDevMode ? [{ debugName: "pointerOverTrigger" }] : []));
70
- const pointerOverContent = signal(false, ...(ngDevMode ? [{ debugName: "pointerOverContent" }] : []));
71
- const isPointerOverMenuArea = computed(() => pointerOverTrigger() || pointerOverContent(), ...(ngDevMode ? [{ debugName: "isPointerOverMenuArea" }] : []));
69
+ const pointerOverTrigger = signal(false, ...(ngDevMode ? [{ debugName: "pointerOverTrigger" }] : /* istanbul ignore next */ []));
70
+ const pointerOverContent = signal(false, ...(ngDevMode ? [{ debugName: "pointerOverContent" }] : /* istanbul ignore next */ []));
71
+ const isPointerOverMenuArea = computed(() => pointerOverTrigger() || pointerOverContent(), ...(ngDevMode ? [{ debugName: "isPointerOverMenuArea" }] : /* istanbul ignore next */ []));
72
72
  // Reset pointer tracking when menu closes
73
73
  effect(() => {
74
74
  const isOpen = open();
@@ -80,7 +80,7 @@ const [NgpMenuTriggerStateToken, ngpMenuTrigger, _injectMenuTriggerState, provid
80
80
  });
81
81
  // Computed signal to determine if focus should be restored
82
82
  // Only restore if opened via keyboard OR closed via keyboard
83
- const shouldRestoreFocus = computed(() => openOrigin() === 'keyboard' || closeOrigin() === 'keyboard', ...(ngDevMode ? [{ debugName: "shouldRestoreFocus" }] : []));
83
+ const shouldRestoreFocus = computed(() => openOrigin() === 'keyboard' || closeOrigin() === 'keyboard', ...(ngDevMode ? [{ debugName: "shouldRestoreFocus" }] : /* istanbul ignore next */ []));
84
84
  // Host bindings
85
85
  attrBinding(element, 'aria-haspopup', 'true');
86
86
  attrBinding(element, 'aria-expanded', open);
@@ -336,8 +336,8 @@ const [NgpMenuTriggerStateToken, ngpMenuTrigger, _injectMenuTriggerState, provid
336
336
  flip,
337
337
  };
338
338
  });
339
- function injectMenuTriggerState() {
340
- return _injectMenuTriggerState();
339
+ function injectMenuTriggerState(options) {
340
+ return _injectMenuTriggerState(options);
341
341
  }
342
342
 
343
343
  const [NgpMenuStateToken, ngpMenu, injectMenuState, provideMenuState] = createPrimitive('NgpMenu', ({}) => {
@@ -348,7 +348,7 @@ const [NgpMenuStateToken, ngpMenu, injectMenuState, provideMenuState] = createPr
348
348
  const parentMenu = injectMenuState({ optional: true, skipSelf: true });
349
349
  // Always trap focus in menus per WAI-ARIA guidelines (Tab should not navigate within menus)
350
350
  // Pass the open origin so focus trap uses the correct origin for :focus-visible styling
351
- const openOrigin = computed(() => menuTrigger()?.openOrigin() ?? 'program', ...(ngDevMode ? [{ debugName: "openOrigin" }] : []));
351
+ const openOrigin = computed(() => menuTrigger()?.openOrigin() ?? 'program', ...(ngDevMode ? [{ debugName: "openOrigin" }] : /* istanbul ignore next */ []));
352
352
  ngpFocusTrap({
353
353
  focusOrigin: openOrigin,
354
354
  });
@@ -438,9 +438,9 @@ const [NgpSubmenuTriggerStateToken, ngpSubmenuTrigger, injectSubmenuTriggerState
438
438
  const placement = controlled(_placement);
439
439
  const flip = controlled(_flip);
440
440
  const offset = controlled(_offset);
441
- const overlay = signal(null, ...(ngDevMode ? [{ debugName: "overlay" }] : []));
442
- const open = computed(() => overlay()?.isOpen() ?? false, ...(ngDevMode ? [{ debugName: "open" }] : []));
443
- const openOrigin = signal('program', ...(ngDevMode ? [{ debugName: "openOrigin" }] : []));
441
+ const overlay = signal(null, ...(ngDevMode ? [{ debugName: "overlay" }] : /* istanbul ignore next */ []));
442
+ const open = computed(() => overlay()?.isOpen() ?? false, ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
443
+ const openOrigin = signal('program', ...(ngDevMode ? [{ debugName: "openOrigin" }] : /* istanbul ignore next */ []));
444
444
  // Subscribe to parent menu's closeSubmenus
445
445
  parentMenu()
446
446
  ?.closeSubmenus.pipe(safeTakeUntilDestroyed())
@@ -601,45 +601,32 @@ class NgpSubmenuTrigger {
601
601
  /**
602
602
  * Access the submenu template ref.
603
603
  */
604
- this.menu = input(undefined, ...(ngDevMode ? [{ debugName: "menu", alias: 'ngpSubmenuTrigger' }] : [{
605
- alias: 'ngpSubmenuTrigger',
606
- }]));
604
+ this.menu = input(undefined, { ...(ngDevMode ? { debugName: "menu" } : /* istanbul ignore next */ {}), alias: 'ngpSubmenuTrigger' });
607
605
  /**
608
606
  * Define if the trigger should be disabled.
609
607
  * @default false
610
608
  */
611
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", alias: 'ngpSubmenuTriggerDisabled',
612
- transform: booleanAttribute }] : [{
613
- alias: 'ngpSubmenuTriggerDisabled',
614
- transform: booleanAttribute,
615
- }]));
609
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), alias: 'ngpSubmenuTriggerDisabled',
610
+ transform: booleanAttribute });
616
611
  /**
617
612
  * Define the placement of the menu relative to the trigger.
618
613
  * @default 'right-start'
619
614
  */
620
- this.placement = input('right-start', ...(ngDevMode ? [{ debugName: "placement", alias: 'ngpSubmenuTriggerPlacement' }] : [{
621
- alias: 'ngpSubmenuTriggerPlacement',
622
- }]));
615
+ this.placement = input('right-start', { ...(ngDevMode ? { debugName: "placement" } : /* istanbul ignore next */ {}), alias: 'ngpSubmenuTriggerPlacement' });
623
616
  /**
624
617
  * Define the offset of the menu relative to the trigger.
625
618
  * Can be a number (applies to mainAxis) or an object with mainAxis, crossAxis, and alignmentAxis.
626
619
  * @default 0
627
620
  */
628
- this.offset = input(0, ...(ngDevMode ? [{ debugName: "offset", alias: 'ngpSubmenuTriggerOffset',
629
- transform: coerceOffset }] : [{
630
- alias: 'ngpSubmenuTriggerOffset',
631
- transform: coerceOffset,
632
- }]));
621
+ this.offset = input(0, { ...(ngDevMode ? { debugName: "offset" } : /* istanbul ignore next */ {}), alias: 'ngpSubmenuTriggerOffset',
622
+ transform: coerceOffset });
633
623
  /**
634
624
  * Define whether the menu should flip when there is not enough space for the menu.
635
625
  * Can be a boolean to enable/disable, or an object with padding and fallbackPlacements options.
636
626
  * @default true
637
627
  */
638
- this.flip = input(true, ...(ngDevMode ? [{ debugName: "flip", alias: 'ngpSubmenuTriggerFlip',
639
- transform: coerceFlip }] : [{
640
- alias: 'ngpSubmenuTriggerFlip',
641
- transform: coerceFlip,
642
- }]));
628
+ this.flip = input(true, { ...(ngDevMode ? { debugName: "flip" } : /* istanbul ignore next */ {}), alias: 'ngpSubmenuTriggerFlip',
629
+ transform: coerceFlip });
643
630
  /**
644
631
  * Access the menu trigger state.
645
632
  */
@@ -677,15 +664,15 @@ class NgpSubmenuTrigger {
677
664
  focus(origin = 'program') {
678
665
  this.state.focus(origin);
679
666
  }
680
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpSubmenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
681
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpSubmenuTrigger, isStandalone: true, selector: "[ngpSubmenuTrigger]", inputs: { menu: { classPropertyName: "menu", publicName: "ngpSubmenuTrigger", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpSubmenuTriggerDisabled", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "ngpSubmenuTriggerPlacement", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "ngpSubmenuTriggerOffset", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "ngpSubmenuTriggerFlip", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
667
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpSubmenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
668
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpSubmenuTrigger, isStandalone: true, selector: "[ngpSubmenuTrigger]", inputs: { menu: { classPropertyName: "menu", publicName: "ngpSubmenuTrigger", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpSubmenuTriggerDisabled", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "ngpSubmenuTriggerPlacement", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "ngpSubmenuTriggerOffset", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "ngpSubmenuTriggerFlip", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
682
669
  provideSubmenuTriggerState(),
683
670
  // Also provide as NgpMenuTriggerStateToken so the submenu's menu-state
684
671
  // can find this trigger's openOrigin for :focus-visible styling
685
672
  { provide: NgpMenuTriggerStateToken, useExisting: NgpSubmenuTriggerStateToken },
686
673
  ], exportAs: ["ngpSubmenuTrigger"], ngImport: i0 }); }
687
674
  }
688
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpSubmenuTrigger, decorators: [{
675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpSubmenuTrigger, decorators: [{
689
676
  type: Directive,
690
677
  args: [{
691
678
  selector: '[ngpSubmenuTrigger]',
@@ -755,24 +742,18 @@ const [NgpMenuItemStateToken, ngpMenuItem, injectMenuItemState, provideMenuItemS
755
742
  class NgpMenuItem {
756
743
  constructor() {
757
744
  /** Whether the menu item is disabled */
758
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", alias: 'ngpMenuItemDisabled',
759
- transform: booleanAttribute }] : [{
760
- alias: 'ngpMenuItemDisabled',
761
- transform: booleanAttribute,
762
- }]));
745
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), alias: 'ngpMenuItemDisabled',
746
+ transform: booleanAttribute });
763
747
  /** Whether the menu should close when this item is selected */
764
- this.closeOnSelect = input(true, ...(ngDevMode ? [{ debugName: "closeOnSelect", alias: 'ngpMenuItemCloseOnSelect',
765
- transform: booleanAttribute }] : [{
766
- alias: 'ngpMenuItemCloseOnSelect',
767
- transform: booleanAttribute,
768
- }]));
748
+ this.closeOnSelect = input(true, { ...(ngDevMode ? { debugName: "closeOnSelect" } : /* istanbul ignore next */ {}), alias: 'ngpMenuItemCloseOnSelect',
749
+ transform: booleanAttribute });
769
750
  ngpMenuItem({ disabled: this.disabled, closeOnSelect: this.closeOnSelect });
770
751
  ngpRovingFocusItem({ disabled: this.disabled });
771
752
  }
772
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
773
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpMenuItem, isStandalone: true, selector: "[ngpMenuItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "ngpMenuItemDisabled", isSignal: true, isRequired: false, transformFunction: null }, closeOnSelect: { classPropertyName: "closeOnSelect", publicName: "ngpMenuItemCloseOnSelect", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideMenuItemState(), provideRovingFocusItemState()], exportAs: ["ngpMenuItem"], ngImport: i0 }); }
753
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
754
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpMenuItem, isStandalone: true, selector: "[ngpMenuItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "ngpMenuItemDisabled", isSignal: true, isRequired: false, transformFunction: null }, closeOnSelect: { classPropertyName: "closeOnSelect", publicName: "ngpMenuItemCloseOnSelect", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideMenuItemState(), provideRovingFocusItemState()], exportAs: ["ngpMenuItem"], ngImport: i0 }); }
774
755
  }
775
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItem, decorators: [{
756
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItem, decorators: [{
776
757
  type: Directive,
777
758
  args: [{
778
759
  selector: '[ngpMenuItem]',
@@ -814,21 +795,15 @@ const [NgpMenuItemCheckboxStateToken, ngpMenuItemCheckbox, injectMenuItemCheckbo
814
795
  class NgpMenuItemCheckbox {
815
796
  constructor() {
816
797
  /** Whether the checkbox is checked */
817
- this.checked = input(false, ...(ngDevMode ? [{ debugName: "checked", alias: 'ngpMenuItemCheckboxChecked',
818
- transform: booleanAttribute }] : [{
819
- alias: 'ngpMenuItemCheckboxChecked',
820
- transform: booleanAttribute,
821
- }]));
798
+ this.checked = input(false, { ...(ngDevMode ? { debugName: "checked" } : /* istanbul ignore next */ {}), alias: 'ngpMenuItemCheckboxChecked',
799
+ transform: booleanAttribute });
822
800
  /** Event emitted when the checked state changes */
823
801
  this.checkedChange = output({
824
802
  alias: 'ngpMenuItemCheckboxCheckedChange',
825
803
  });
826
804
  /** Whether the menu item checkbox is disabled */
827
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", alias: 'ngpMenuItemCheckboxDisabled',
828
- transform: booleanAttribute }] : [{
829
- alias: 'ngpMenuItemCheckboxDisabled',
830
- transform: booleanAttribute,
831
- }]));
805
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), alias: 'ngpMenuItemCheckboxDisabled',
806
+ transform: booleanAttribute });
832
807
  ngpMenuItemCheckbox({
833
808
  checked: this.checked,
834
809
  disabled: this.disabled,
@@ -836,10 +811,10 @@ class NgpMenuItemCheckbox {
836
811
  });
837
812
  ngpRovingFocusItem({ disabled: this.disabled });
838
813
  }
839
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItemCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
840
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpMenuItemCheckbox, isStandalone: true, selector: "[ngpMenuItemCheckbox]", inputs: { checked: { classPropertyName: "checked", publicName: "ngpMenuItemCheckboxChecked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpMenuItemCheckboxDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "ngpMenuItemCheckboxCheckedChange" }, providers: [provideMenuItemCheckboxState(), provideRovingFocusItemState()], exportAs: ["ngpMenuItemCheckbox"], ngImport: i0 }); }
814
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItemCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
815
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpMenuItemCheckbox, isStandalone: true, selector: "[ngpMenuItemCheckbox]", inputs: { checked: { classPropertyName: "checked", publicName: "ngpMenuItemCheckboxChecked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpMenuItemCheckboxDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "ngpMenuItemCheckboxCheckedChange" }, providers: [provideMenuItemCheckboxState(), provideRovingFocusItemState()], exportAs: ["ngpMenuItemCheckbox"], ngImport: i0 }); }
841
816
  }
842
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItemCheckbox, decorators: [{
817
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItemCheckbox, decorators: [{
843
818
  type: Directive,
844
819
  args: [{
845
820
  selector: '[ngpMenuItemCheckbox]',
@@ -875,7 +850,7 @@ const [NgpMenuItemRadioStateToken, ngpMenuItemRadio, injectMenuItemRadioState, p
875
850
  // Use base menu item behavior but don't close on select
876
851
  ngpMenuItem({ disabled, closeOnSelect: signal(false), role: 'menuitemradio' });
877
852
  // Computed checked state
878
- const checked = computed(() => radioGroup()?.value() === value(), ...(ngDevMode ? [{ debugName: "checked" }] : []));
853
+ const checked = computed(() => radioGroup()?.value() === value(), ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
879
854
  // Host bindings
880
855
  attrBinding(element, 'aria-checked', checked);
881
856
  dataBinding(element, 'data-checked', checked);
@@ -900,13 +875,13 @@ class NgpMenuItemIndicator {
900
875
  const element = injectElementRef();
901
876
  const checkboxState = injectMenuItemCheckboxState({ optional: true });
902
877
  const radioState = injectMenuItemRadioState({ optional: true });
903
- const checked = computed(() => checkboxState()?.checked() ?? radioState()?.checked() ?? false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
878
+ const checked = computed(() => checkboxState()?.checked() ?? radioState()?.checked() ?? false, ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
904
879
  dataBinding(element, 'data-checked', checked);
905
880
  }
906
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItemIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
907
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: NgpMenuItemIndicator, isStandalone: true, selector: "[ngpMenuItemIndicator]", exportAs: ["ngpMenuItemIndicator"], ngImport: i0 }); }
881
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItemIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
882
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: NgpMenuItemIndicator, isStandalone: true, selector: "[ngpMenuItemIndicator]", exportAs: ["ngpMenuItemIndicator"], ngImport: i0 }); }
908
883
  }
909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItemIndicator, decorators: [{
884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItemIndicator, decorators: [{
910
885
  type: Directive,
911
886
  args: [{
912
887
  selector: '[ngpMenuItemIndicator]',
@@ -920,9 +895,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
920
895
  class NgpMenuItemRadioGroup {
921
896
  constructor() {
922
897
  /** The current value of the radio group */
923
- this.value = input(null, ...(ngDevMode ? [{ debugName: "value", alias: 'ngpMenuItemRadioGroupValue' }] : [{
924
- alias: 'ngpMenuItemRadioGroupValue',
925
- }]));
898
+ this.value = input(null, { ...(ngDevMode ? { debugName: "value" } : /* istanbul ignore next */ {}), alias: 'ngpMenuItemRadioGroupValue' });
926
899
  /** Event emitted when the value changes */
927
900
  this.valueChange = output({
928
901
  alias: 'ngpMenuItemRadioGroupValueChange',
@@ -932,10 +905,10 @@ class NgpMenuItemRadioGroup {
932
905
  onValueChange: value => this.valueChange.emit(value),
933
906
  });
934
907
  }
935
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItemRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
936
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpMenuItemRadioGroup, isStandalone: true, selector: "[ngpMenuItemRadioGroup]", inputs: { value: { classPropertyName: "value", publicName: "ngpMenuItemRadioGroupValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "ngpMenuItemRadioGroupValueChange" }, providers: [provideMenuItemRadioGroupState()], exportAs: ["ngpMenuItemRadioGroup"], ngImport: i0 }); }
908
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItemRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
909
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpMenuItemRadioGroup, isStandalone: true, selector: "[ngpMenuItemRadioGroup]", inputs: { value: { classPropertyName: "value", publicName: "ngpMenuItemRadioGroupValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "ngpMenuItemRadioGroupValueChange" }, providers: [provideMenuItemRadioGroupState()], exportAs: ["ngpMenuItemRadioGroup"], ngImport: i0 }); }
937
910
  }
938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItemRadioGroup, decorators: [{
911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItemRadioGroup, decorators: [{
939
912
  type: Directive,
940
913
  args: [{
941
914
  selector: '[ngpMenuItemRadioGroup]',
@@ -950,22 +923,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
950
923
  class NgpMenuItemRadio {
951
924
  constructor() {
952
925
  /** The value this radio item represents */
953
- this.value = input.required(...(ngDevMode ? [{ debugName: "value", alias: 'ngpMenuItemRadioValue' }] : [{
954
- alias: 'ngpMenuItemRadioValue',
955
- }]));
926
+ this.value = input.required({ ...(ngDevMode ? { debugName: "value" } : /* istanbul ignore next */ {}), alias: 'ngpMenuItemRadioValue' });
956
927
  /** Whether the radio item is disabled */
957
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", alias: 'ngpMenuItemRadioDisabled',
958
- transform: booleanAttribute }] : [{
959
- alias: 'ngpMenuItemRadioDisabled',
960
- transform: booleanAttribute,
961
- }]));
928
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), alias: 'ngpMenuItemRadioDisabled',
929
+ transform: booleanAttribute });
962
930
  ngpMenuItemRadio({ value: this.value, disabled: this.disabled });
963
931
  ngpRovingFocusItem({ disabled: this.disabled });
964
932
  }
965
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItemRadio, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
966
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpMenuItemRadio, isStandalone: true, selector: "[ngpMenuItemRadio]", inputs: { value: { classPropertyName: "value", publicName: "ngpMenuItemRadioValue", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpMenuItemRadioDisabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideMenuItemRadioState(), provideRovingFocusItemState()], exportAs: ["ngpMenuItemRadio"], ngImport: i0 }); }
933
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItemRadio, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
934
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpMenuItemRadio, isStandalone: true, selector: "[ngpMenuItemRadio]", inputs: { value: { classPropertyName: "value", publicName: "ngpMenuItemRadioValue", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpMenuItemRadioDisabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideMenuItemRadioState(), provideRovingFocusItemState()], exportAs: ["ngpMenuItemRadio"], ngImport: i0 }); }
967
935
  }
968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuItemRadio, decorators: [{
936
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuItemRadio, decorators: [{
969
937
  type: Directive,
970
938
  args: [{
971
939
  selector: '[ngpMenuItemRadio]',
@@ -986,111 +954,78 @@ class NgpMenuTrigger {
986
954
  /**
987
955
  * Access the menu template ref or ComponentType.
988
956
  */
989
- this.menu = input(undefined, ...(ngDevMode ? [{ debugName: "menu", alias: 'ngpMenuTrigger' }] : [{
990
- alias: 'ngpMenuTrigger',
991
- }]));
957
+ this.menu = input(undefined, { ...(ngDevMode ? { debugName: "menu" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTrigger' });
992
958
  /**
993
959
  * Define if the trigger should be disabled.
994
960
  * @default false
995
961
  */
996
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", alias: 'ngpMenuTriggerDisabled',
997
- transform: booleanAttribute }] : [{
998
- alias: 'ngpMenuTriggerDisabled',
999
- transform: booleanAttribute,
1000
- }]));
962
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerDisabled',
963
+ transform: booleanAttribute });
1001
964
  /**
1002
965
  * Define the placement of the menu relative to the trigger.
1003
966
  * @default 'bottom-start'
1004
967
  */
1005
- this.placement = input(this.config.placement, ...(ngDevMode ? [{ debugName: "placement", alias: 'ngpMenuTriggerPlacement' }] : [{
1006
- alias: 'ngpMenuTriggerPlacement',
1007
- }]));
968
+ this.placement = input(this.config.placement, { ...(ngDevMode ? { debugName: "placement" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerPlacement' });
1008
969
  /**
1009
970
  * Define the offset of the menu relative to the trigger.
1010
971
  * Can be a number (applies to mainAxis) or an object with mainAxis, crossAxis, and alignmentAxis.
1011
972
  * @default 4
1012
973
  */
1013
- this.offset = input(this.config.offset, ...(ngDevMode ? [{ debugName: "offset", alias: 'ngpMenuTriggerOffset',
1014
- transform: coerceOffset }] : [{
1015
- alias: 'ngpMenuTriggerOffset',
1016
- transform: coerceOffset,
1017
- }]));
974
+ this.offset = input(this.config.offset, { ...(ngDevMode ? { debugName: "offset" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerOffset',
975
+ transform: coerceOffset });
1018
976
  /**
1019
977
  * Define whether the menu should flip when there is not enough space for the menu.
1020
978
  * Can be a boolean to enable/disable, or an object with padding and fallbackPlacements options.
1021
979
  * @default true
1022
980
  */
1023
- this.flip = input(this.config.flip, ...(ngDevMode ? [{ debugName: "flip", alias: 'ngpMenuTriggerFlip',
1024
- transform: coerceFlip }] : [{
1025
- alias: 'ngpMenuTriggerFlip',
1026
- transform: coerceFlip,
1027
- }]));
981
+ this.flip = input(this.config.flip, { ...(ngDevMode ? { debugName: "flip" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerFlip',
982
+ transform: coerceFlip });
1028
983
  /**
1029
984
  * Configure shift behavior to keep the menu in view.
1030
985
  * Can be a boolean to enable/disable, or an object with padding and limiter options.
1031
986
  * @default undefined (enabled by default in overlay)
1032
987
  */
1033
- this.shift = input(this.config.shift, ...(ngDevMode ? [{ debugName: "shift", alias: 'ngpMenuTriggerShift',
1034
- transform: coerceShift }] : [{
1035
- alias: 'ngpMenuTriggerShift',
1036
- transform: coerceShift,
1037
- }]));
988
+ this.shift = input(this.config.shift, { ...(ngDevMode ? { debugName: "shift" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerShift',
989
+ transform: coerceShift });
1038
990
  /**
1039
991
  * Define the container in which the menu should be attached.
1040
992
  * @default document.body
1041
993
  */
1042
- this.container = input(this.config.container, ...(ngDevMode ? [{ debugName: "container", alias: 'ngpMenuTriggerContainer' }] : [{
1043
- alias: 'ngpMenuTriggerContainer',
1044
- }]));
994
+ this.container = input(this.config.container, { ...(ngDevMode ? { debugName: "container" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerContainer' });
1045
995
  /**
1046
996
  * Defines how the menu behaves when the window is scrolled.
1047
997
  * @default 'block'
1048
998
  */
1049
- this.scrollBehavior = input(this.config.scrollBehavior, ...(ngDevMode ? [{ debugName: "scrollBehavior", alias: 'ngpMenuTriggerScrollBehavior' }] : [{
1050
- alias: 'ngpMenuTriggerScrollBehavior',
1051
- }]));
999
+ this.scrollBehavior = input(this.config.scrollBehavior, { ...(ngDevMode ? { debugName: "scrollBehavior" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerScrollBehavior' });
1052
1000
  /**
1053
1001
  * Define the cooldown duration in milliseconds.
1054
1002
  * When moving from one menu to another within this duration,
1055
1003
  * the showDelay is skipped for the new menu.
1056
1004
  * @default 0
1057
1005
  */
1058
- this.cooldown = input(this.config.cooldown, ...(ngDevMode ? [{ debugName: "cooldown", alias: 'ngpMenuTriggerCooldown',
1059
- transform: numberAttribute }] : [{
1060
- alias: 'ngpMenuTriggerCooldown',
1061
- transform: numberAttribute,
1062
- }]));
1006
+ this.cooldown = input(this.config.cooldown, { ...(ngDevMode ? { debugName: "cooldown" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerCooldown',
1007
+ transform: numberAttribute });
1063
1008
  /**
1064
1009
  * Provide context to the menu. This can be used to pass data to the menu content.
1065
1010
  */
1066
- this.context = input(undefined, ...(ngDevMode ? [{ debugName: "context", alias: 'ngpMenuTriggerContext' }] : [{
1067
- alias: 'ngpMenuTriggerContext',
1068
- }]));
1011
+ this.context = input(undefined, { ...(ngDevMode ? { debugName: "context" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerContext' });
1069
1012
  /**
1070
1013
  * Define which trigger types are enabled for the menu.
1071
1014
  * @default ['click']
1072
1015
  */
1073
- this.triggers = input(this.config.triggers, ...(ngDevMode ? [{ debugName: "triggers", alias: 'ngpMenuTriggerOpenTriggers' }] : [{
1074
- alias: 'ngpMenuTriggerOpenTriggers',
1075
- }]));
1016
+ this.triggers = input(this.config.triggers, { ...(ngDevMode ? { debugName: "triggers" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerOpenTriggers' });
1076
1017
  /**
1077
1018
  * Define the delay before the menu is displayed (hover/focus triggers).
1078
1019
  * @default 0
1079
1020
  */
1080
- this.showDelay = input(this.config.showDelay, ...(ngDevMode ? [{ debugName: "showDelay", alias: 'ngpMenuTriggerShowDelay',
1081
- transform: numberAttribute }] : [{
1082
- alias: 'ngpMenuTriggerShowDelay',
1083
- transform: numberAttribute,
1084
- }]));
1021
+ this.showDelay = input(this.config.showDelay, { ...(ngDevMode ? { debugName: "showDelay" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerShowDelay',
1022
+ transform: numberAttribute });
1085
1023
  /**
1086
1024
  * Define the delay before the menu is hidden (hover/focus triggers).
1087
1025
  * @default 0
1088
1026
  */
1089
- this.hideDelay = input(this.config.hideDelay, ...(ngDevMode ? [{ debugName: "hideDelay", alias: 'ngpMenuTriggerHideDelay',
1090
- transform: numberAttribute }] : [{
1091
- alias: 'ngpMenuTriggerHideDelay',
1092
- transform: numberAttribute,
1093
- }]));
1027
+ this.hideDelay = input(this.config.hideDelay, { ...(ngDevMode ? { debugName: "hideDelay" } : /* istanbul ignore next */ {}), alias: 'ngpMenuTriggerHideDelay',
1028
+ transform: numberAttribute });
1094
1029
  /**
1095
1030
  * The menu trigger state.
1096
1031
  */
@@ -1131,10 +1066,10 @@ class NgpMenuTrigger {
1131
1066
  toggle(event) {
1132
1067
  this.state.toggle(event);
1133
1068
  }
1134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1135
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpMenuTrigger, isStandalone: true, selector: "[ngpMenuTrigger]", inputs: { menu: { classPropertyName: "menu", publicName: "ngpMenuTrigger", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpMenuTriggerDisabled", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "ngpMenuTriggerPlacement", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "ngpMenuTriggerOffset", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "ngpMenuTriggerFlip", isSignal: true, isRequired: false, transformFunction: null }, shift: { classPropertyName: "shift", publicName: "ngpMenuTriggerShift", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "ngpMenuTriggerContainer", isSignal: true, isRequired: false, transformFunction: null }, scrollBehavior: { classPropertyName: "scrollBehavior", publicName: "ngpMenuTriggerScrollBehavior", isSignal: true, isRequired: false, transformFunction: null }, cooldown: { classPropertyName: "cooldown", publicName: "ngpMenuTriggerCooldown", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "ngpMenuTriggerContext", isSignal: true, isRequired: false, transformFunction: null }, triggers: { classPropertyName: "triggers", publicName: "ngpMenuTriggerOpenTriggers", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "ngpMenuTriggerShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "ngpMenuTriggerHideDelay", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideMenuTriggerState()], exportAs: ["ngpMenuTrigger"], ngImport: i0 }); }
1069
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1070
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpMenuTrigger, isStandalone: true, selector: "[ngpMenuTrigger]", inputs: { menu: { classPropertyName: "menu", publicName: "ngpMenuTrigger", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpMenuTriggerDisabled", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "ngpMenuTriggerPlacement", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "ngpMenuTriggerOffset", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "ngpMenuTriggerFlip", isSignal: true, isRequired: false, transformFunction: null }, shift: { classPropertyName: "shift", publicName: "ngpMenuTriggerShift", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "ngpMenuTriggerContainer", isSignal: true, isRequired: false, transformFunction: null }, scrollBehavior: { classPropertyName: "scrollBehavior", publicName: "ngpMenuTriggerScrollBehavior", isSignal: true, isRequired: false, transformFunction: null }, cooldown: { classPropertyName: "cooldown", publicName: "ngpMenuTriggerCooldown", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "ngpMenuTriggerContext", isSignal: true, isRequired: false, transformFunction: null }, triggers: { classPropertyName: "triggers", publicName: "ngpMenuTriggerOpenTriggers", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "ngpMenuTriggerShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "ngpMenuTriggerHideDelay", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideMenuTriggerState()], exportAs: ["ngpMenuTrigger"], ngImport: i0 }); }
1136
1071
  }
1137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenuTrigger, decorators: [{
1072
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenuTrigger, decorators: [{
1138
1073
  type: Directive,
1139
1074
  args: [{
1140
1075
  selector: '[ngpMenuTrigger]',
@@ -1153,11 +1088,8 @@ class NgpMenu {
1153
1088
  * Whether focus should wrap around when reaching the end of the menu.
1154
1089
  * @default true
1155
1090
  */
1156
- this.wrap = input(this.config.wrap, ...(ngDevMode ? [{ debugName: "wrap", alias: 'ngpMenuWrap',
1157
- transform: booleanAttribute }] : [{
1158
- alias: 'ngpMenuWrap',
1159
- transform: booleanAttribute,
1160
- }]));
1091
+ this.wrap = input(this.config.wrap, { ...(ngDevMode ? { debugName: "wrap" } : /* istanbul ignore next */ {}), alias: 'ngpMenuWrap',
1092
+ transform: booleanAttribute });
1161
1093
  this.state = ngpMenu({ wrap: this.wrap });
1162
1094
  ngpRovingFocusGroup({ inherit: false, wrap: this.wrap });
1163
1095
  }
@@ -1165,15 +1097,16 @@ class NgpMenu {
1165
1097
  closeAllMenus(origin) {
1166
1098
  this.state.closeAllMenus(origin);
1167
1099
  }
1168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1169
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpMenu, isStandalone: true, selector: "[ngpMenu]", inputs: { wrap: { classPropertyName: "wrap", publicName: "ngpMenuWrap", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
1100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1101
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpMenu, isStandalone: true, selector: "[ngpMenu]", inputs: { wrap: { classPropertyName: "wrap", publicName: "ngpMenuWrap", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
1170
1102
  // ensure we don't inherit the focus group from the parent menu if there is one
1171
1103
  provideRovingFocusGroupState({ inherit: false }),
1172
1104
  provideMenuState({ inherit: false }),
1173
1105
  provideFocusTrapState(),
1106
+ provideControlContainerIsolation(),
1174
1107
  ], exportAs: ["ngpMenu"], ngImport: i0 }); }
1175
1108
  }
1176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpMenu, decorators: [{
1109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpMenu, decorators: [{
1177
1110
  type: Directive,
1178
1111
  args: [{
1179
1112
  selector: '[ngpMenu]',
@@ -1183,6 +1116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
1183
1116
  provideRovingFocusGroupState({ inherit: false }),
1184
1117
  provideMenuState({ inherit: false }),
1185
1118
  provideFocusTrapState(),
1119
+ provideControlContainerIsolation(),
1186
1120
  ],
1187
1121
  }]
1188
1122
  }], ctorParameters: () => [], propDecorators: { wrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngpMenuWrap", required: false }] }] } });