@frame-ui-ng/components 0.3.0-beta.0 → 0.4.1

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 (172) hide show
  1. package/button/src/styles/button.css +5 -1
  2. package/button-group/src/styles/button-group.css +6 -0
  3. package/confirm-popover/src/styles/confirm-popover.css +20 -0
  4. package/drag-drop/src/styles/_vars.css +28 -0
  5. package/drag-drop/src/styles/drag-drop.css +132 -0
  6. package/fesm2022/frame-ui-ng-components-accordion.mjs +26 -21
  7. package/fesm2022/frame-ui-ng-components-accordion.mjs.map +1 -1
  8. package/fesm2022/frame-ui-ng-components-alert.mjs +4 -0
  9. package/fesm2022/frame-ui-ng-components-alert.mjs.map +1 -1
  10. package/fesm2022/frame-ui-ng-components-avatar.mjs +7 -0
  11. package/fesm2022/frame-ui-ng-components-avatar.mjs.map +1 -1
  12. package/fesm2022/frame-ui-ng-components-badge.mjs +4 -0
  13. package/fesm2022/frame-ui-ng-components-badge.mjs.map +1 -1
  14. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs +13 -6
  15. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs.map +1 -1
  16. package/fesm2022/frame-ui-ng-components-button-group.mjs +1 -0
  17. package/fesm2022/frame-ui-ng-components-button-group.mjs.map +1 -1
  18. package/fesm2022/frame-ui-ng-components-button.mjs +5 -0
  19. package/fesm2022/frame-ui-ng-components-button.mjs.map +1 -1
  20. package/fesm2022/frame-ui-ng-components-calendar.mjs +4 -0
  21. package/fesm2022/frame-ui-ng-components-calendar.mjs.map +1 -1
  22. package/fesm2022/frame-ui-ng-components-card.mjs +15 -15
  23. package/fesm2022/frame-ui-ng-components-card.mjs.map +1 -1
  24. package/fesm2022/frame-ui-ng-components-carousel.mjs +33 -16
  25. package/fesm2022/frame-ui-ng-components-carousel.mjs.map +1 -1
  26. package/fesm2022/frame-ui-ng-components-checkbox.mjs +7 -9
  27. package/fesm2022/frame-ui-ng-components-checkbox.mjs.map +1 -1
  28. package/fesm2022/frame-ui-ng-components-collapsible.mjs +24 -23
  29. package/fesm2022/frame-ui-ng-components-collapsible.mjs.map +1 -1
  30. package/fesm2022/frame-ui-ng-components-combobox.mjs +113 -68
  31. package/fesm2022/frame-ui-ng-components-combobox.mjs.map +1 -1
  32. package/fesm2022/frame-ui-ng-components-command.mjs +47 -16
  33. package/fesm2022/frame-ui-ng-components-command.mjs.map +1 -1
  34. package/fesm2022/frame-ui-ng-components-confirm-modal.mjs +165 -0
  35. package/fesm2022/frame-ui-ng-components-confirm-modal.mjs.map +1 -0
  36. package/fesm2022/frame-ui-ng-components-confirm-popover.mjs +423 -0
  37. package/fesm2022/frame-ui-ng-components-confirm-popover.mjs.map +1 -0
  38. package/fesm2022/frame-ui-ng-components-context-menu.mjs +71 -45
  39. package/fesm2022/frame-ui-ng-components-context-menu.mjs.map +1 -1
  40. package/fesm2022/frame-ui-ng-components-date-picker.mjs +3 -0
  41. package/fesm2022/frame-ui-ng-components-date-picker.mjs.map +1 -1
  42. package/fesm2022/frame-ui-ng-components-drag-drop.mjs +293 -0
  43. package/fesm2022/frame-ui-ng-components-drag-drop.mjs.map +1 -0
  44. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +74 -37
  45. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -1
  46. package/fesm2022/frame-ui-ng-components-empty.mjs +6 -0
  47. package/fesm2022/frame-ui-ng-components-empty.mjs.map +1 -1
  48. package/fesm2022/frame-ui-ng-components-field.mjs +21 -12
  49. package/fesm2022/frame-ui-ng-components-field.mjs.map +1 -1
  50. package/fesm2022/frame-ui-ng-components-forms.mjs +1 -0
  51. package/fesm2022/frame-ui-ng-components-forms.mjs.map +1 -1
  52. package/fesm2022/frame-ui-ng-components-hover-card.mjs +49 -43
  53. package/fesm2022/frame-ui-ng-components-hover-card.mjs.map +1 -1
  54. package/fesm2022/frame-ui-ng-components-input-otp.mjs +69 -69
  55. package/fesm2022/frame-ui-ng-components-input-otp.mjs.map +1 -1
  56. package/fesm2022/frame-ui-ng-components-input.mjs +13 -0
  57. package/fesm2022/frame-ui-ng-components-input.mjs.map +1 -1
  58. package/fesm2022/frame-ui-ng-components-item.mjs +10 -0
  59. package/fesm2022/frame-ui-ng-components-item.mjs.map +1 -1
  60. package/fesm2022/frame-ui-ng-components-menubar.mjs +15 -0
  61. package/fesm2022/frame-ui-ng-components-menubar.mjs.map +1 -1
  62. package/fesm2022/frame-ui-ng-components-modal.mjs +221 -129
  63. package/fesm2022/frame-ui-ng-components-modal.mjs.map +1 -1
  64. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs +14 -0
  65. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs.map +1 -1
  66. package/fesm2022/frame-ui-ng-components-pagination.mjs +45 -36
  67. package/fesm2022/frame-ui-ng-components-pagination.mjs.map +1 -1
  68. package/fesm2022/frame-ui-ng-components-popover.mjs +63 -51
  69. package/fesm2022/frame-ui-ng-components-popover.mjs.map +1 -1
  70. package/fesm2022/frame-ui-ng-components-progress.mjs +4 -1
  71. package/fesm2022/frame-ui-ng-components-progress.mjs.map +1 -1
  72. package/fesm2022/frame-ui-ng-components-radio-group.mjs +5 -0
  73. package/fesm2022/frame-ui-ng-components-radio-group.mjs.map +1 -1
  74. package/fesm2022/frame-ui-ng-components-resizable.mjs +22 -26
  75. package/fesm2022/frame-ui-ng-components-resizable.mjs.map +1 -1
  76. package/fesm2022/frame-ui-ng-components-select.mjs +62 -14
  77. package/fesm2022/frame-ui-ng-components-select.mjs.map +1 -1
  78. package/fesm2022/frame-ui-ng-components-separator.mjs +1 -0
  79. package/fesm2022/frame-ui-ng-components-separator.mjs.map +1 -1
  80. package/fesm2022/frame-ui-ng-components-sheet.mjs +118 -104
  81. package/fesm2022/frame-ui-ng-components-sheet.mjs.map +1 -1
  82. package/fesm2022/frame-ui-ng-components-sidebar.mjs +45 -24
  83. package/fesm2022/frame-ui-ng-components-sidebar.mjs.map +1 -1
  84. package/fesm2022/frame-ui-ng-components-skeleton.mjs +1 -0
  85. package/fesm2022/frame-ui-ng-components-skeleton.mjs.map +1 -1
  86. package/fesm2022/frame-ui-ng-components-slider.mjs +82 -75
  87. package/fesm2022/frame-ui-ng-components-slider.mjs.map +1 -1
  88. package/fesm2022/frame-ui-ng-components-spinner.mjs +1 -0
  89. package/fesm2022/frame-ui-ng-components-spinner.mjs.map +1 -1
  90. package/fesm2022/frame-ui-ng-components-switch.mjs +6 -0
  91. package/fesm2022/frame-ui-ng-components-switch.mjs.map +1 -1
  92. package/fesm2022/frame-ui-ng-components-table.mjs +76 -50
  93. package/fesm2022/frame-ui-ng-components-table.mjs.map +1 -1
  94. package/fesm2022/frame-ui-ng-components-tabs.mjs +4 -0
  95. package/fesm2022/frame-ui-ng-components-tabs.mjs.map +1 -1
  96. package/fesm2022/frame-ui-ng-components-textarea.mjs +1 -0
  97. package/fesm2022/frame-ui-ng-components-textarea.mjs.map +1 -1
  98. package/fesm2022/frame-ui-ng-components-toast.mjs +2 -0
  99. package/fesm2022/frame-ui-ng-components-toast.mjs.map +1 -1
  100. package/fesm2022/frame-ui-ng-components-toggle.mjs +23 -16
  101. package/fesm2022/frame-ui-ng-components-toggle.mjs.map +1 -1
  102. package/fesm2022/frame-ui-ng-components-tooltip.mjs +74 -25
  103. package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -1
  104. package/fesm2022/frame-ui-ng-components-utils.mjs +20 -0
  105. package/fesm2022/frame-ui-ng-components-utils.mjs.map +1 -0
  106. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs +36 -20
  107. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs.map +1 -1
  108. package/fesm2022/frame-ui-ng-components.mjs +1737 -845
  109. package/fesm2022/frame-ui-ng-components.mjs.map +1 -1
  110. package/item/src/styles/item.css +188 -187
  111. package/modal/src/styles/modal.css +10 -1
  112. package/package.json +18 -2
  113. package/popover/src/styles/popover.css +106 -101
  114. package/sidebar/src/styles/sidebar.css +10 -4
  115. package/src/styles/blueprint.css +98 -0
  116. package/src/styles/components.css +2 -0
  117. package/styles/blueprint.css +98 -0
  118. package/styles/components.css +2 -0
  119. package/styles.css +2 -0
  120. package/tooltip/src/styles/tooltip.css +4 -4
  121. package/types/frame-ui-ng-components-accordion.d.ts +11 -4
  122. package/types/frame-ui-ng-components-alert.d.ts +4 -0
  123. package/types/frame-ui-ng-components-avatar.d.ts +7 -0
  124. package/types/frame-ui-ng-components-badge.d.ts +4 -0
  125. package/types/frame-ui-ng-components-breadcrumb.d.ts +7 -0
  126. package/types/frame-ui-ng-components-button-group.d.ts +1 -0
  127. package/types/frame-ui-ng-components-button.d.ts +5 -0
  128. package/types/frame-ui-ng-components-calendar.d.ts +1 -0
  129. package/types/frame-ui-ng-components-card.d.ts +8 -3
  130. package/types/frame-ui-ng-components-carousel.d.ts +11 -2
  131. package/types/frame-ui-ng-components-checkbox.d.ts +3 -2
  132. package/types/frame-ui-ng-components-collapsible.d.ts +9 -4
  133. package/types/frame-ui-ng-components-combobox.d.ts +33 -4
  134. package/types/frame-ui-ng-components-command.d.ts +26 -4
  135. package/types/frame-ui-ng-components-confirm-modal.d.ts +50 -0
  136. package/types/frame-ui-ng-components-confirm-popover.d.ts +87 -0
  137. package/types/frame-ui-ng-components-context-menu.d.ts +29 -10
  138. package/types/frame-ui-ng-components-date-picker.d.ts +1 -0
  139. package/types/frame-ui-ng-components-drag-drop.d.ts +103 -0
  140. package/types/frame-ui-ng-components-dropdown-menu.d.ts +32 -9
  141. package/types/frame-ui-ng-components-empty.d.ts +6 -0
  142. package/types/frame-ui-ng-components-field.d.ts +9 -0
  143. package/types/frame-ui-ng-components-forms.d.ts +1 -0
  144. package/types/frame-ui-ng-components-hover-card.d.ts +8 -2
  145. package/types/frame-ui-ng-components-input-otp.d.ts +5 -1
  146. package/types/frame-ui-ng-components-input.d.ts +13 -0
  147. package/types/frame-ui-ng-components-item.d.ts +10 -0
  148. package/types/frame-ui-ng-components-menubar.d.ts +15 -0
  149. package/types/frame-ui-ng-components-modal.d.ts +30 -7
  150. package/types/frame-ui-ng-components-navigation-menu.d.ts +14 -0
  151. package/types/frame-ui-ng-components-pagination.d.ts +8 -0
  152. package/types/frame-ui-ng-components-popover.d.ts +14 -2
  153. package/types/frame-ui-ng-components-progress.d.ts +2 -0
  154. package/types/frame-ui-ng-components-radio-group.d.ts +5 -0
  155. package/types/frame-ui-ng-components-resizable.d.ts +3 -0
  156. package/types/frame-ui-ng-components-select.d.ts +23 -2
  157. package/types/frame-ui-ng-components-separator.d.ts +1 -0
  158. package/types/frame-ui-ng-components-sheet.d.ts +13 -0
  159. package/types/frame-ui-ng-components-sidebar.d.ts +23 -2
  160. package/types/frame-ui-ng-components-skeleton.d.ts +1 -0
  161. package/types/frame-ui-ng-components-slider.d.ts +5 -2
  162. package/types/frame-ui-ng-components-spinner.d.ts +1 -0
  163. package/types/frame-ui-ng-components-switch.d.ts +6 -0
  164. package/types/frame-ui-ng-components-table.d.ts +26 -0
  165. package/types/frame-ui-ng-components-tabs.d.ts +4 -0
  166. package/types/frame-ui-ng-components-textarea.d.ts +1 -0
  167. package/types/frame-ui-ng-components-toast.d.ts +2 -0
  168. package/types/frame-ui-ng-components-toggle.d.ts +8 -2
  169. package/types/frame-ui-ng-components-tooltip.d.ts +11 -2
  170. package/types/frame-ui-ng-components-utils.d.ts +5 -0
  171. package/types/frame-ui-ng-components-virtual-scroll.d.ts +11 -2
  172. package/types/frame-ui-ng-components.d.ts +525 -96
@@ -1,11 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, TemplateRef, OnDestroy, InputSignal } from '@angular/core';
2
+ import { InjectionToken, TemplateRef, DoCheck, OnDestroy, InputSignal } from '@angular/core';
3
3
  import { ConnectedPosition } from '@angular/cdk/overlay';
4
4
  import { FrDropdownMenuContent, FrDropdownMenuParent } from '@frame-ui-ng/components/dropdown-menu';
5
5
  import * as i1 from '@angular/cdk/menu';
6
6
  import { CdkMenuItemCheckbox, CdkMenuItemRadio } from '@angular/cdk/menu';
7
7
 
8
8
  declare const FR_CONTEXT_MENU_CONTENT: InjectionToken<FrContextMenuContent>;
9
+ /** Content slot for context menu. */
9
10
  declare class FrContextMenuContent implements Partial<FrDropdownMenuContent> {
10
11
  readonly templateRef: TemplateRef<any>;
11
12
  readonly align: i0.InputSignal<"center" | "end" | "start">;
@@ -18,6 +19,7 @@ declare class FrContextMenuContent implements Partial<FrDropdownMenuContent> {
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuContent, never>;
19
20
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuContent, "ng-template[frContextMenuContent], ng-template[frContextMenuSubContent]", ["frContextMenuContent"], { "align": { "alias": "align"; "required": false; "isSignal": true; }; "alignOffset": { "alias": "alignOffset"; "required": false; "isSignal": true; }; "debugVisible": { "alias": "debugVisible"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
20
21
  }
22
+ /** Panel slot for context menu. */
21
23
  declare class FrContextMenuPanel {
22
24
  protected readonly side: i0.InputSignal<"auto" | "bottom" | "left" | "right" | "top">;
23
25
  private readonly tree;
@@ -28,70 +30,82 @@ declare class FrContextMenuPanel {
28
30
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuPanel, "[frContextMenuPanel]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkMenu; inputs: {}; outputs: {}; }, { directive: typeof i1.CdkTargetMenuAim; inputs: {}; outputs: {}; }]>;
29
31
  }
30
32
 
33
+ /** Item slot for context menu. */
31
34
  declare class FrContextMenuItem {
32
35
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
33
36
  readonly variant: i0.InputSignal<"default" | "destructive">;
34
37
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuItem, never>;
35
38
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuItem, "[frContextMenuItem]", never, { "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItem; inputs: {}; outputs: {}; }]>;
36
39
  }
37
- declare class FrContextMenuCheckboxItem {
40
+ /** Item slot for context menu checkbox. */
41
+ declare class FrContextMenuCheckboxItem implements DoCheck {
38
42
  protected readonly checkboxItem: CdkMenuItemCheckbox;
43
+ private lastChecked;
39
44
  readonly checked: i0.InputSignalWithTransform<boolean, unknown>;
40
45
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
41
46
  readonly variant: i0.InputSignal<"default" | "destructive">;
42
- constructor();
47
+ ngDoCheck(): void;
43
48
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuCheckboxItem, never>;
44
49
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuCheckboxItem, "button[frContextMenuCheckboxItem]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItemCheckbox; inputs: {}; outputs: {}; }]>;
45
50
  }
51
+ /** Group slot for context menu radio. */
46
52
  declare class FrContextMenuRadioGroup {
47
53
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuRadioGroup, never>;
48
54
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuRadioGroup, "[frContextMenuRadioGroup]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkMenuGroup; inputs: {}; outputs: {}; }]>;
49
55
  }
50
- declare class FrContextMenuRadioItem {
56
+ /** Item slot for context menu radio. */
57
+ declare class FrContextMenuRadioItem implements DoCheck {
51
58
  protected readonly radioItem: CdkMenuItemRadio;
59
+ private lastChecked;
52
60
  readonly checked: i0.InputSignalWithTransform<boolean, unknown>;
53
61
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
54
62
  readonly variant: i0.InputSignal<"default" | "destructive">;
55
- constructor();
63
+ ngDoCheck(): void;
56
64
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuRadioItem, never>;
57
65
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuRadioItem, "button[frContextMenuRadioItem]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItemRadio; inputs: {}; outputs: {}; }]>;
58
66
  }
67
+ /** Label slot for context menu. */
59
68
  declare class FrContextMenuLabel {
60
69
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
61
70
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuLabel, never>;
62
71
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuLabel, "[frContextMenuLabel]", never, { "inset": { "alias": "inset"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
63
72
  }
73
+ /** Separator slot for context menu. */
64
74
  declare class FrContextMenuSeparator {
65
75
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuSeparator, never>;
66
76
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuSeparator, "[frContextMenuSeparator]", never, {}, {}, never, never, true, never>;
67
77
  }
78
+ /** Shortcut slot for context menu. */
68
79
  declare class FrContextMenuShortcut {
69
80
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuShortcut, never>;
70
81
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuShortcut, "[frContextMenuShortcut]", never, {}, {}, never, never, true, never>;
71
82
  }
83
+ /** Indicator slot for context menu item. */
72
84
  declare class FrContextMenuItemIndicator {
73
85
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuItemIndicator, never>;
74
86
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuItemIndicator, "[frContextMenuItemIndicator]", never, {}, {}, never, never, true, never>;
75
87
  }
76
88
 
89
+ /** Root controller for context menu interactions. */
77
90
  declare class FrContextMenu implements FrDropdownMenuParent {
78
91
  readonly closeDelay: i0.InputSignal<number>;
79
92
  readonly triggerMode: i0.InputSignal<"both" | "click" | "hover">;
80
93
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenu, never>;
81
94
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenu, "[frContextMenu]", never, { "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "triggerMode": { "alias": "triggerMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
82
95
  }
96
+ /** Nested submenu controller for context menu. */
83
97
  declare class FrContextMenuSub implements FrDropdownMenuParent {
84
98
  private readonly parent;
85
99
  readonly closeDelayInput: i0.InputSignal<number | null>;
86
100
  readonly triggerModeInput: i0.InputSignal<"both" | "click" | "hover" | null>;
87
- readonly closeDelay: i0.WritableSignal<number>;
88
- readonly triggerMode: i0.WritableSignal<"both" | "click" | "hover">;
89
- constructor();
101
+ readonly closeDelay: i0.Signal<number>;
102
+ readonly triggerMode: i0.Signal<"both" | "click" | "hover">;
90
103
  static ɵfac: i0.ɵɵFactoryDeclaration<FrContextMenuSub, never>;
91
104
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrContextMenuSub, "[frContextMenuSub]", never, { "closeDelayInput": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "triggerModeInput": { "alias": "triggerMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
92
105
  }
93
106
 
94
- declare class FrContextMenuSubTrigger implements OnDestroy {
107
+ /** Trigger control for context menu sub. */
108
+ declare class FrContextMenuSubTrigger implements DoCheck, OnDestroy {
95
109
  private readonly cdkMenuTrigger;
96
110
  private readonly destroyRef;
97
111
  private readonly tree;
@@ -102,6 +116,8 @@ declare class FrContextMenuSubTrigger implements OnDestroy {
102
116
  readonly variant: InputSignal<"default" | "destructive">;
103
117
  readonly isOpen: i0.WritableSignal<boolean>;
104
118
  constructor();
119
+ ngDoCheck(): void;
120
+ private syncCdkTrigger;
105
121
  close(): void;
106
122
  ngOnDestroy(): void;
107
123
  protected handleMouseEnter(): void;
@@ -116,7 +132,8 @@ type ContextMenuCoordinates = {
116
132
  readonly x: number;
117
133
  readonly y: number;
118
134
  };
119
- declare class FrContextMenuTrigger {
135
+ /** Trigger control for context menu. */
136
+ declare class FrContextMenuTrigger implements DoCheck {
120
137
  private static readonly CUSTOM_PROPERTY_PREFIX;
121
138
  private readonly cdkContextMenuTrigger;
122
139
  private readonly destroyRef;
@@ -129,6 +146,8 @@ declare class FrContextMenuTrigger {
129
146
  readonly closed: i0.OutputEmitterRef<void>;
130
147
  readonly isOpen: i0.WritableSignal<boolean>;
131
148
  constructor();
149
+ ngDoCheck(): void;
150
+ private syncCdkTrigger;
132
151
  openAt(coordinates: ContextMenuCoordinates): void;
133
152
  close(): void;
134
153
  protected handlePointerDown(event: PointerEvent): void;
@@ -11,6 +11,7 @@ type FrDatePickerPreset = {
11
11
  };
12
12
  type FrDatePickerFormatter = (value: FrDatePickerValue, locale: string) => string;
13
13
  type FrDatePickerParser = (value: string, locale: string) => FrDatePickerValue | undefined;
14
+ /** Date picker control backed by the calendar primitive. */
14
15
  declare class FrDatePicker extends FrControlValueAccessor<FrDatePickerValue> {
15
16
  readonly mode: _angular_core.InputSignal<FrCalendarMode>;
16
17
  readonly captionLayout: _angular_core.InputSignal<FrCalendarCaptionLayout>;
@@ -0,0 +1,103 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { DoCheck, OnDestroy } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/drag-drop';
4
+ import { DragAxis, DragStartDelay, DragConstrainPosition, PreviewContainer, CdkDragStart, CdkDragRelease, CdkDragEnd, CdkDragEnter, CdkDragExit, CdkDragDrop, CdkDragMove, CdkDropList, CdkDrag, CdkDragSortEvent } from '@angular/cdk/drag-drop';
5
+ export { CdkDragDrop, CdkDragEnd, CdkDragEnter, CdkDragExit, CdkDragMove, CdkDragRelease, CdkDragSortEvent, CdkDragStart, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
6
+
7
+ declare const FR_DROP_LIST_ORIENTATIONS: readonly ["horizontal", "vertical", "mixed"];
8
+ type FrDropListOrientation = (typeof FR_DROP_LIST_ORIENTATIONS)[number];
9
+ /** Connects child drop lists dynamically through the CDK group primitive. */
10
+ declare class FrDragDropGroup implements DoCheck {
11
+ private readonly cdkGroup;
12
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
13
+ ngDoCheck(): void;
14
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrDragDropGroup, never>;
15
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrDragDropGroup, "[frDragDropGroup], frame-drag-drop-group", never, { "disabled": { "alias": "frDragDropGroupDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkDropListGroup; inputs: {}; outputs: {}; }]>;
16
+ }
17
+ /** Drop target for sortable and transferable draggable items. */
18
+ declare class FrDropList<T = unknown> implements DoCheck, OnDestroy {
19
+ private readonly cdkDropList;
20
+ private readonly subscriptions;
21
+ readonly connectedTo: _angular_core.InputSignal<string | CdkDropList<unknown> | (string | CdkDropList<unknown>)[]>;
22
+ readonly data: _angular_core.InputSignal<T | null>;
23
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical" | "mixed">;
24
+ readonly id: _angular_core.InputSignal<string | null>;
25
+ readonly lockAxis: _angular_core.InputSignal<DragAxis | null>;
26
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
27
+ readonly sortingDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
28
+ readonly enterPredicate: _angular_core.InputSignal<((drag: CdkDrag, drop: CdkDropList) => boolean) | null>;
29
+ readonly sortPredicate: _angular_core.InputSignal<((index: number, drag: CdkDrag, drop: CdkDropList) => boolean) | null>;
30
+ readonly autoScrollDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
31
+ readonly autoScrollStep: _angular_core.InputSignal<number | null>;
32
+ readonly elementContainerSelector: _angular_core.InputSignal<string | null>;
33
+ readonly hasAnchor: _angular_core.InputSignalWithTransform<boolean, unknown>;
34
+ readonly dropped: _angular_core.OutputEmitterRef<CdkDragDrop<T, T, any>>;
35
+ readonly entered: _angular_core.OutputEmitterRef<CdkDragEnter<T, T>>;
36
+ readonly exited: _angular_core.OutputEmitterRef<CdkDragExit<T, T>>;
37
+ readonly sorted: _angular_core.OutputEmitterRef<CdkDragSortEvent<T, T>>;
38
+ constructor();
39
+ ngOnDestroy(): void;
40
+ ngDoCheck(): void;
41
+ private forward;
42
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrDropList<any>, never>;
43
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrDropList<any>, "[frDropList], frame-drop-list", never, { "connectedTo": { "alias": "frDropListConnectedTo"; "required": false; "isSignal": true; }; "data": { "alias": "frDropListData"; "required": false; "isSignal": true; }; "orientation": { "alias": "frDropListOrientation"; "required": false; "isSignal": true; }; "id": { "alias": "frDropListId"; "required": false; "isSignal": true; }; "lockAxis": { "alias": "frDropListLockAxis"; "required": false; "isSignal": true; }; "disabled": { "alias": "frDropListDisabled"; "required": false; "isSignal": true; }; "sortingDisabled": { "alias": "frDropListSortingDisabled"; "required": false; "isSignal": true; }; "enterPredicate": { "alias": "frDropListEnterPredicate"; "required": false; "isSignal": true; }; "sortPredicate": { "alias": "frDropListSortPredicate"; "required": false; "isSignal": true; }; "autoScrollDisabled": { "alias": "frDropListAutoScrollDisabled"; "required": false; "isSignal": true; }; "autoScrollStep": { "alias": "frDropListAutoScrollStep"; "required": false; "isSignal": true; }; "elementContainerSelector": { "alias": "frDropListElementContainer"; "required": false; "isSignal": true; }; "hasAnchor": { "alias": "frDropListHasAnchor"; "required": false; "isSignal": true; }; }, { "dropped": "frDropListDropped"; "entered": "frDropListEntered"; "exited": "frDropListExited"; "sorted": "frDropListSorted"; }, never, never, true, [{ directive: typeof i1.CdkDropList; inputs: {}; outputs: {}; }]>;
44
+ }
45
+ /** Makes the host element draggable; add a handle to narrow the drag gesture. */
46
+ declare class FrDrag<T = unknown> implements DoCheck, OnDestroy {
47
+ private readonly cdkDrag;
48
+ private readonly subscriptions;
49
+ readonly data: _angular_core.InputSignal<T | null>;
50
+ readonly lockAxis: _angular_core.InputSignal<DragAxis | null>;
51
+ readonly rootElementSelector: _angular_core.InputSignal<string | null>;
52
+ readonly boundaryElement: _angular_core.InputSignal<string | HTMLElement | null>;
53
+ readonly dragStartDelay: _angular_core.InputSignal<DragStartDelay | null>;
54
+ readonly freeDragPosition: _angular_core.InputSignal<{
55
+ x: number;
56
+ y: number;
57
+ } | null>;
58
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
59
+ readonly constrainPosition: _angular_core.InputSignal<DragConstrainPosition | null>;
60
+ readonly previewClass: _angular_core.InputSignal<string | string[] | null>;
61
+ readonly previewContainer: _angular_core.InputSignal<PreviewContainer | null>;
62
+ readonly scale: _angular_core.InputSignal<number | null>;
63
+ readonly started: _angular_core.OutputEmitterRef<CdkDragStart<T>>;
64
+ readonly released: _angular_core.OutputEmitterRef<CdkDragRelease<T>>;
65
+ readonly ended: _angular_core.OutputEmitterRef<CdkDragEnd<T>>;
66
+ readonly entered: _angular_core.OutputEmitterRef<CdkDragEnter<T, T>>;
67
+ readonly exited: _angular_core.OutputEmitterRef<CdkDragExit<T, T>>;
68
+ readonly dropped: _angular_core.OutputEmitterRef<CdkDragDrop<T, T, any>>;
69
+ readonly moved: _angular_core.OutputEmitterRef<CdkDragMove<T>>;
70
+ constructor();
71
+ ngOnDestroy(): void;
72
+ ngDoCheck(): void;
73
+ private forward;
74
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrDrag<any>, never>;
75
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrDrag<any>, "[frDrag], frame-drag", never, { "data": { "alias": "frDragData"; "required": false; "isSignal": true; }; "lockAxis": { "alias": "frDragLockAxis"; "required": false; "isSignal": true; }; "rootElementSelector": { "alias": "frDragRootElement"; "required": false; "isSignal": true; }; "boundaryElement": { "alias": "frDragBoundary"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "frDragStartDelay"; "required": false; "isSignal": true; }; "freeDragPosition": { "alias": "frDragFreeDragPosition"; "required": false; "isSignal": true; }; "disabled": { "alias": "frDragDisabled"; "required": false; "isSignal": true; }; "constrainPosition": { "alias": "frDragConstrainPosition"; "required": false; "isSignal": true; }; "previewClass": { "alias": "frDragPreviewClass"; "required": false; "isSignal": true; }; "previewContainer": { "alias": "frDragPreviewContainer"; "required": false; "isSignal": true; }; "scale": { "alias": "frDragScale"; "required": false; "isSignal": true; }; }, { "started": "frDragStarted"; "released": "frDragReleased"; "ended": "frDragEnded"; "entered": "frDragEntered"; "exited": "frDragExited"; "dropped": "frDragDropped"; "moved": "frDragMoved"; }, never, never, true, [{ directive: typeof i1.CdkDrag; inputs: {}; outputs: {}; }]>;
76
+ }
77
+ /** Optional projected handle that starts dragging for the nearest draggable host. */
78
+ declare class FrDragHandle implements DoCheck {
79
+ private readonly cdkHandle;
80
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
81
+ ngDoCheck(): void;
82
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrDragHandle, never>;
83
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrDragHandle, "[frDragHandle], frame-drag-handle", never, { "disabled": { "alias": "frDragHandleDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkDragHandle; inputs: {}; outputs: {}; }]>;
84
+ }
85
+ /** Custom preview template rendered while an item is being dragged. */
86
+ declare class FrDragPreview {
87
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrDragPreview, never>;
88
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrDragPreview, "ng-template[frDragPreview]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkDragPreview; inputs: {}; outputs: {}; }]>;
89
+ }
90
+ /** Custom placeholder template rendered in the source list during drag. */
91
+ declare class FrDragPlaceholder {
92
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrDragPlaceholder, never>;
93
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrDragPlaceholder, "ng-template[frDragPlaceholder]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkDragPlaceholder; inputs: {}; outputs: {}; }]>;
94
+ }
95
+
96
+ declare class FrDragDropModule {
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrDragDropModule, never>;
98
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<FrDragDropModule, never, [typeof FrDrag, typeof FrDragDropGroup, typeof FrDragHandle, typeof FrDragPlaceholder, typeof FrDragPreview, typeof FrDropList], [typeof FrDrag, typeof FrDragDropGroup, typeof FrDragHandle, typeof FrDragPlaceholder, typeof FrDragPreview, typeof FrDropList]>;
99
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<FrDragDropModule>;
100
+ }
101
+
102
+ export { FR_DROP_LIST_ORIENTATIONS, FrDrag, FrDragDropGroup, FrDragDropModule, FrDragHandle, FrDragPlaceholder, FrDragPreview, FrDropList };
103
+ export type { FrDropListOrientation };
@@ -1,10 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, TemplateRef, OnDestroy, InputSignal } from '@angular/core';
2
+ import { InjectionToken, TemplateRef, DoCheck, OnDestroy, InputSignal } from '@angular/core';
3
3
  import { ConnectedPosition } from '@angular/cdk/overlay';
4
4
  import * as i1 from '@angular/cdk/menu';
5
5
  import { CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuTrigger } from '@angular/cdk/menu';
6
6
 
7
7
  declare const FR_DROPDOWN_MENU_CONTENT: InjectionToken<FrDropdownMenuContent>;
8
+ /** Content slot for dropdown menu. */
8
9
  declare class FrDropdownMenuContent {
9
10
  readonly templateRef: TemplateRef<any>;
10
11
  readonly align: i0.InputSignal<"center" | "end" | "start">;
@@ -17,6 +18,7 @@ declare class FrDropdownMenuContent {
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuContent, never>;
18
19
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuContent, "ng-template[frDropdownMenuContent], ng-template[frDropdownMenuSubContent]", ["frDropdownMenuContent"], { "align": { "alias": "align"; "required": false; "isSignal": true; }; "alignOffset": { "alias": "alignOffset"; "required": false; "isSignal": true; }; "debugVisible": { "alias": "debugVisible"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
19
20
  }
21
+ /** Panel slot for dropdown menu. */
20
22
  declare class FrDropdownMenuPanel {
21
23
  protected readonly side: i0.InputSignal<"auto" | "bottom" | "left" | "right" | "top">;
22
24
  private readonly tree;
@@ -27,47 +29,57 @@ declare class FrDropdownMenuPanel {
27
29
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuPanel, "[frDropdownMenuPanel]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkMenu; inputs: {}; outputs: {}; }, { directive: typeof i1.CdkTargetMenuAim; inputs: {}; outputs: {}; }]>;
28
30
  }
29
31
 
32
+ /** Item slot for dropdown menu. */
30
33
  declare class FrDropdownMenuItem {
31
34
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
32
35
  readonly variant: i0.InputSignal<"default" | "destructive">;
33
36
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuItem, never>;
34
37
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuItem, "[frDropdownMenuItem]", never, { "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItem; inputs: {}; outputs: {}; }]>;
35
38
  }
36
- declare class FrDropdownMenuCheckboxItem {
39
+ /** Item slot for dropdown menu checkbox. */
40
+ declare class FrDropdownMenuCheckboxItem implements DoCheck {
37
41
  protected readonly checkboxItem: CdkMenuItemCheckbox;
42
+ private lastChecked;
38
43
  readonly checked: i0.InputSignalWithTransform<boolean, unknown>;
39
44
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
40
45
  readonly variant: i0.InputSignal<"default" | "destructive">;
41
- constructor();
46
+ ngDoCheck(): void;
42
47
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuCheckboxItem, never>;
43
48
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuCheckboxItem, "button[frDropdownMenuCheckboxItem]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItemCheckbox; inputs: {}; outputs: {}; }]>;
44
49
  }
50
+ /** Group slot for dropdown menu radio. */
45
51
  declare class FrDropdownMenuRadioGroup {
46
52
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuRadioGroup, never>;
47
53
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuRadioGroup, "[frDropdownMenuRadioGroup]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkMenuGroup; inputs: {}; outputs: {}; }]>;
48
54
  }
49
- declare class FrDropdownMenuRadioItem {
55
+ /** Item slot for dropdown menu radio. */
56
+ declare class FrDropdownMenuRadioItem implements DoCheck {
50
57
  protected readonly radioItem: CdkMenuItemRadio;
58
+ private lastChecked;
51
59
  readonly checked: i0.InputSignalWithTransform<boolean, unknown>;
52
60
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
53
61
  readonly variant: i0.InputSignal<"default" | "destructive">;
54
- constructor();
62
+ ngDoCheck(): void;
55
63
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuRadioItem, never>;
56
64
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuRadioItem, "button[frDropdownMenuRadioItem]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItemRadio; inputs: {}; outputs: {}; }]>;
57
65
  }
66
+ /** Label slot for dropdown menu. */
58
67
  declare class FrDropdownMenuLabel {
59
68
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
60
69
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuLabel, never>;
61
70
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuLabel, "[frDropdownMenuLabel]", never, { "inset": { "alias": "inset"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
62
71
  }
72
+ /** Separator slot for dropdown menu. */
63
73
  declare class FrDropdownMenuSeparator {
64
74
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuSeparator, never>;
65
75
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuSeparator, "[frDropdownMenuSeparator]", never, {}, {}, never, never, true, never>;
66
76
  }
77
+ /** Shortcut slot for dropdown menu. */
67
78
  declare class FrDropdownMenuShortcut {
68
79
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuShortcut, never>;
69
80
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuShortcut, "[frDropdownMenuShortcut]", never, {}, {}, never, never, true, never>;
70
81
  }
82
+ /** Indicator slot for dropdown menu item. */
71
83
  declare class FrDropdownMenuItemIndicator {
72
84
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuItemIndicator, never>;
73
85
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuItemIndicator, "[frDropdownMenuItemIndicator]", never, {}, {}, never, never, true, never>;
@@ -96,6 +108,7 @@ interface FrDropdownMenuParent {
96
108
  readonly triggerMode: () => FrDropdownMenuTriggerMode;
97
109
  }
98
110
  declare const FR_DROPDOWN_MENU_PARENT: InjectionToken<FrDropdownMenuParent>;
111
+ /** Shared registry for nested dropdown menu state. */
99
112
  declare class FrDropdownMenuTree {
100
113
  private readonly triggers;
101
114
  private closeTimeoutId;
@@ -114,24 +127,26 @@ declare class FrDropdownMenuTree {
114
127
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuTree, never>;
115
128
  static ɵprov: i0.ɵɵInjectableDeclaration<FrDropdownMenuTree>;
116
129
  }
130
+ /** Root controller for dropdown menu interactions. */
117
131
  declare class FrDropdownMenu implements FrDropdownMenuParent {
118
132
  readonly closeDelay: i0.InputSignal<number>;
119
133
  readonly triggerMode: i0.InputSignal<"both" | "click" | "hover">;
120
134
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenu, never>;
121
135
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenu, "[frDropdownMenu]", never, { "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "triggerMode": { "alias": "triggerMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
122
136
  }
137
+ /** Nested submenu controller for dropdown menu. */
123
138
  declare class FrDropdownMenuSub implements FrDropdownMenuParent {
124
139
  private readonly parent;
125
140
  readonly closeDelayInput: i0.InputSignal<number | null>;
126
141
  readonly triggerModeInput: i0.InputSignal<"both" | "click" | "hover" | null>;
127
- readonly closeDelay: i0.WritableSignal<number>;
128
- readonly triggerMode: i0.WritableSignal<"both" | "click" | "hover">;
129
- constructor();
142
+ readonly closeDelay: i0.Signal<number>;
143
+ readonly triggerMode: i0.Signal<"both" | "click" | "hover">;
130
144
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuSub, never>;
131
145
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuSub, "[frDropdownMenuSub]", never, { "closeDelayInput": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "triggerModeInput": { "alias": "triggerMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
132
146
  }
133
147
 
134
- declare abstract class FrDropdownMenuTriggerBase implements OnDestroy {
148
+ /** Shared trigger behavior for root and nested dropdown menus. */
149
+ declare abstract class FrDropdownMenuTriggerBase implements DoCheck, OnDestroy {
135
150
  private static readonly CUSTOM_PROPERTY_PREFIX;
136
151
  protected readonly cdkMenuTrigger: CdkMenuTrigger;
137
152
  private readonly destroyRef;
@@ -139,22 +154,29 @@ declare abstract class FrDropdownMenuTriggerBase implements OnDestroy {
139
154
  private readonly tree;
140
155
  private readonly parent;
141
156
  protected readonly isOpen: i0.WritableSignal<boolean>;
157
+ private menuContentOverride;
142
158
  constructor();
143
159
  protected abstract readonly menuContent: () => FrDropdownMenuContent | null;
144
160
  protected abstract readonly isSubmenuTrigger: boolean;
145
161
  protected abstract readonly triggerModeInput: InputSignal<FrDropdownMenuTriggerMode | null>;
162
+ ngDoCheck(): void;
146
163
  protected get triggerMode(): FrDropdownMenuTriggerMode;
147
164
  protected get closeDelay(): number;
148
165
  protected resolvePositions(): ConnectedPosition[];
166
+ private syncCdkTrigger;
167
+ private currentMenuContent;
149
168
  protected openFromHover(): void;
150
169
  protected handleMouseEnter(): void;
151
170
  protected handleMouseLeave(): void;
152
171
  close(): void;
172
+ open(): void;
173
+ setMenuContentOverride(content: FrDropdownMenuContent | null): void;
153
174
  ngOnDestroy(): void;
154
175
  private syncCustomPropertiesToOverlay;
155
176
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuTriggerBase, never>;
156
177
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuTriggerBase, never, never, {}, {}, never, never, true, never>;
157
178
  }
179
+ /** Trigger control for dropdown menu. */
158
180
  declare class FrDropdownMenuTrigger extends FrDropdownMenuTriggerBase {
159
181
  readonly menuContent: InputSignal<FrDropdownMenuContent | null>;
160
182
  readonly triggerModeInput: InputSignal<"both" | "click" | "hover" | null>;
@@ -162,6 +184,7 @@ declare class FrDropdownMenuTrigger extends FrDropdownMenuTriggerBase {
162
184
  static ɵfac: i0.ɵɵFactoryDeclaration<FrDropdownMenuTrigger, never>;
163
185
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrDropdownMenuTrigger, "[frDropdownMenuTrigger]", never, { "menuContent": { "alias": "frDropdownMenuTrigger"; "required": false; "isSignal": true; }; "triggerModeInput": { "alias": "triggerMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuTrigger; inputs: {}; outputs: {}; }]>;
164
186
  }
187
+ /** Trigger control for dropdown menu sub. */
165
188
  declare class FrDropdownMenuSubTrigger extends FrDropdownMenuTriggerBase {
166
189
  readonly menuContent: InputSignal<FrDropdownMenuContent | null>;
167
190
  readonly inset: i0.InputSignalWithTransform<boolean, unknown>;
@@ -6,29 +6,35 @@ declare const FR_EMPTY_VARIANTS: readonly ["default", "outline", "soft"];
6
6
  type FrEmptyMediaVariant = (typeof FR_EMPTY_MEDIA_VARIANTS)[number];
7
7
  type FrEmptyOrientation = (typeof FR_EMPTY_ORIENTATIONS)[number];
8
8
  type FrEmptyVariant = (typeof FR_EMPTY_VARIANTS)[number];
9
+ /** Empty-state container with orientation and variant controls. */
9
10
  declare class FrEmpty {
10
11
  readonly orientation: i0.InputSignal<"vertical" | "horizontal">;
11
12
  readonly variant: i0.InputSignal<"default" | "outline" | "soft">;
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FrEmpty, never>;
13
14
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrEmpty, "[frEmpty], frame-empty", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
14
15
  }
16
+ /** Header slot for empty. */
15
17
  declare class FrEmptyHeader {
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<FrEmptyHeader, never>;
17
19
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrEmptyHeader, "[frEmptyHeader], frame-empty-header", never, {}, {}, never, never, true, never>;
18
20
  }
21
+ /** Media slot for empty. */
19
22
  declare class FrEmptyMedia {
20
23
  readonly variant: i0.InputSignal<"default" | "icon">;
21
24
  static ɵfac: i0.ɵɵFactoryDeclaration<FrEmptyMedia, never>;
22
25
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrEmptyMedia, "[frEmptyMedia], frame-empty-media", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
23
26
  }
27
+ /** Title slot for empty. */
24
28
  declare class FrEmptyTitle {
25
29
  static ɵfac: i0.ɵɵFactoryDeclaration<FrEmptyTitle, never>;
26
30
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrEmptyTitle, "[frEmptyTitle], frame-empty-title", never, {}, {}, never, never, true, never>;
27
31
  }
32
+ /** Description slot for empty. */
28
33
  declare class FrEmptyDescription {
29
34
  static ɵfac: i0.ɵɵFactoryDeclaration<FrEmptyDescription, never>;
30
35
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrEmptyDescription, "[frEmptyDescription], frame-empty-description", never, {}, {}, never, never, true, never>;
31
36
  }
37
+ /** Content slot for empty. */
32
38
  declare class FrEmptyContent {
33
39
  static ɵfac: i0.ɵɵFactoryDeclaration<FrEmptyContent, never>;
34
40
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrEmptyContent, "[frEmptyContent], frame-empty-content", never, {}, {}, never, never, true, never>;
@@ -7,19 +7,23 @@ type FrFieldOrientation = (typeof FR_FIELD_ORIENTATIONS)[number];
7
7
  type FrFieldErrorLike = string | {
8
8
  message?: string | null;
9
9
  } | null | undefined;
10
+ /** Fieldset wrapper for related form fields. */
10
11
  declare class FrFieldSet {
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<FrFieldSet, never>;
12
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrFieldSet, "fieldset[frFieldSet], frame-field-set", never, {}, {}, never, never, true, never>;
13
14
  }
15
+ /** Legend slot for field. */
14
16
  declare class FrFieldLegend {
15
17
  readonly variant: i0.InputSignal<"legend" | "label">;
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<FrFieldLegend, never>;
17
19
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrFieldLegend, "legend[frFieldLegend], frame-field-legend", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
20
  }
21
+ /** Group slot for field. */
19
22
  declare class FrFieldGroup {
20
23
  static ɵfac: i0.ɵɵFactoryDeclaration<FrFieldGroup, never>;
21
24
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrFieldGroup, "[frFieldGroup], frame-field-group", never, {}, {}, never, never, true, never>;
22
25
  }
26
+ /** Form field row with orientation and responsive layout. */
23
27
  declare class FrField {
24
28
  readonly orientation: i0.InputSignal<"vertical" | "horizontal">;
25
29
  readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
@@ -27,22 +31,27 @@ declare class FrField {
27
31
  static ɵfac: i0.ɵɵFactoryDeclaration<FrField, never>;
28
32
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrField, "[frField], frame-field", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
29
33
  }
34
+ /** Content slot for field. */
30
35
  declare class FrFieldContent {
31
36
  static ɵfac: i0.ɵɵFactoryDeclaration<FrFieldContent, never>;
32
37
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrFieldContent, "[frFieldContent], frame-field-content", never, {}, {}, never, never, true, never>;
33
38
  }
39
+ /** Label slot for field. */
34
40
  declare class FrFieldLabel {
35
41
  static ɵfac: i0.ɵɵFactoryDeclaration<FrFieldLabel, never>;
36
42
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrFieldLabel, "[frFieldLabel], frame-field-label", never, {}, {}, never, never, true, never>;
37
43
  }
44
+ /** Description slot for field. */
38
45
  declare class FrFieldDescription {
39
46
  static ɵfac: i0.ɵɵFactoryDeclaration<FrFieldDescription, never>;
40
47
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrFieldDescription, "[frFieldDescription], frame-field-description", never, {}, {}, never, never, true, never>;
41
48
  }
49
+ /** Separator slot for field. */
42
50
  declare class FrFieldSeparator {
43
51
  static ɵfac: i0.ɵɵFactoryDeclaration<FrFieldSeparator, never>;
44
52
  static ɵdir: i0.ɵɵDirectiveDeclaration<FrFieldSeparator, "[frFieldSeparator], frame-field-separator", never, {}, {}, never, never, true, never>;
45
53
  }
54
+ /** Error slot for field. */
46
55
  declare class FrFieldError {
47
56
  readonly errors: i0.InputSignal<FrFieldErrorLike>;
48
57
  message(): string;
@@ -7,6 +7,7 @@ declare function provideDsValueAccessor(type: Type<ControlValueAccessor>): {
7
7
  useExisting: Type<any>;
8
8
  multi: boolean;
9
9
  };
10
+ /** Base ControlValueAccessor implementation for FrameUI form controls. */
10
11
  declare abstract class FrControlValueAccessor<T> implements ControlValueAccessor, OnInit {
11
12
  private readonly injector;
12
13
  private readonly FrControlDestroyRef;
@@ -1,7 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef } from '@angular/core';
2
+ import { TemplateRef, DoCheck } from '@angular/core';
3
3
  import { ConnectedPosition, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';
4
4
 
5
+ /** Content slot for hover card. */
5
6
  declare class FrHoverCardContent {
6
7
  readonly templateRef: TemplateRef<any>;
7
8
  readonly align: _angular_core.InputSignal<"start" | "center" | "end">;
@@ -13,6 +14,7 @@ declare class FrHoverCardContent {
13
14
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrHoverCardContent, never>;
14
15
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrHoverCardContent, "ng-template[frHoverCardContent]", ["frHoverCardContent"], { "align": { "alias": "align"; "required": false; "isSignal": true; }; "alignOffset": { "alias": "alignOffset"; "required": false; "isSignal": true; }; "debugVisible": { "alias": "debugVisible"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
16
  }
17
+ /** Panel slot for hover card. */
16
18
  declare class FrHoverCardPanel {
17
19
  protected readonly content: FrHoverCardContent;
18
20
  private readonly root;
@@ -22,6 +24,7 @@ declare class FrHoverCardPanel {
22
24
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrHoverCardPanel, "[frHoverCardPanel]", never, {}, {}, never, never, true, never>;
23
25
  }
24
26
 
27
+ /** Root controller for hover card. */
25
28
  declare class FrHoverCardRoot {
26
29
  readonly openDelay: _angular_core.InputSignal<number>;
27
30
  readonly closeDelay: _angular_core.InputSignal<number>;
@@ -65,11 +68,14 @@ type FrHoverCardController = {
65
68
  setContent: (content: unknown | null) => void;
66
69
  };
67
70
 
68
- declare class FrHoverCardTrigger {
71
+ /** Trigger control for hover card. */
72
+ declare class FrHoverCardTrigger implements DoCheck {
69
73
  readonly content: _angular_core.InputSignal<FrHoverCardContent | null>;
70
74
  protected readonly root: FrHoverCardController;
71
75
  private readonly elementRef;
76
+ private lastContent;
72
77
  constructor();
78
+ ngDoCheck(): void;
73
79
  protected handleMouseEnter(): void;
74
80
  protected handleMouseLeave(): void;
75
81
  protected handleFocusIn(): void;
@@ -11,8 +11,9 @@ type FrInputOtpController = {
11
11
  focus: (index?: number) => void;
12
12
  invalid: () => boolean;
13
13
  };
14
+ /** One-time-code input with grouped slots. */
14
15
  declare class FrInputOtp extends FrControlValueAccessor<string> {
15
- private readonly nativeInput?;
16
+ private readonly nativeInput;
16
17
  readonly maxLength: _angular_core.InputSignalWithTransform<number, unknown>;
17
18
  readonly pattern: _angular_core.InputSignal<FrInputOtpPattern>;
18
19
  readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -41,10 +42,12 @@ declare class FrInputOtp extends FrControlValueAccessor<string> {
41
42
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrInputOtp, never>;
42
43
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FrInputOtp, "frame-input-otp", ["frInputOtp"], { "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "complete": "complete"; }, never, ["*"], true, never>;
43
44
  }
45
+ /** Group slot for input otp. */
44
46
  declare class FrInputOtpGroup {
45
47
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrInputOtpGroup, never>;
46
48
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrInputOtpGroup, "[frInputOtpGroup], frame-input-otp-group", never, {}, {}, never, never, true, never>;
47
49
  }
50
+ /** Input slot for one OTP character. */
48
51
  declare class FrInputOtpSlot {
49
52
  protected readonly root: FrInputOtpController;
50
53
  readonly index: _angular_core.InputSignal<number>;
@@ -55,6 +58,7 @@ declare class FrInputOtpSlot {
55
58
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrInputOtpSlot, never>;
56
59
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FrInputOtpSlot, "[frInputOtpSlot], frame-input-otp-slot", never, { "index": { "alias": "index"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
57
60
  }
61
+ /** Separator slot for input otp. */
58
62
  declare class FrInputOtpSeparator {
59
63
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FrInputOtpSeparator, never>;
60
64
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FrInputOtpSeparator, "[frInputOtpSeparator], frame-input-otp-separator", never, {}, {}, never, never, true, never>;