@frame-ui-ng/components 0.4.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 (161) hide show
  1. package/confirm-popover/src/styles/confirm-popover.css +20 -0
  2. package/drag-drop/src/styles/_vars.css +28 -0
  3. package/drag-drop/src/styles/drag-drop.css +132 -0
  4. package/fesm2022/frame-ui-ng-components-accordion.mjs +26 -21
  5. package/fesm2022/frame-ui-ng-components-accordion.mjs.map +1 -1
  6. package/fesm2022/frame-ui-ng-components-alert.mjs +4 -0
  7. package/fesm2022/frame-ui-ng-components-alert.mjs.map +1 -1
  8. package/fesm2022/frame-ui-ng-components-avatar.mjs +7 -0
  9. package/fesm2022/frame-ui-ng-components-avatar.mjs.map +1 -1
  10. package/fesm2022/frame-ui-ng-components-badge.mjs +4 -0
  11. package/fesm2022/frame-ui-ng-components-badge.mjs.map +1 -1
  12. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs +13 -6
  13. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs.map +1 -1
  14. package/fesm2022/frame-ui-ng-components-button-group.mjs +1 -0
  15. package/fesm2022/frame-ui-ng-components-button-group.mjs.map +1 -1
  16. package/fesm2022/frame-ui-ng-components-button.mjs +5 -0
  17. package/fesm2022/frame-ui-ng-components-button.mjs.map +1 -1
  18. package/fesm2022/frame-ui-ng-components-calendar.mjs +4 -0
  19. package/fesm2022/frame-ui-ng-components-calendar.mjs.map +1 -1
  20. package/fesm2022/frame-ui-ng-components-card.mjs +15 -15
  21. package/fesm2022/frame-ui-ng-components-card.mjs.map +1 -1
  22. package/fesm2022/frame-ui-ng-components-carousel.mjs +33 -16
  23. package/fesm2022/frame-ui-ng-components-carousel.mjs.map +1 -1
  24. package/fesm2022/frame-ui-ng-components-checkbox.mjs +7 -9
  25. package/fesm2022/frame-ui-ng-components-checkbox.mjs.map +1 -1
  26. package/fesm2022/frame-ui-ng-components-collapsible.mjs +24 -23
  27. package/fesm2022/frame-ui-ng-components-collapsible.mjs.map +1 -1
  28. package/fesm2022/frame-ui-ng-components-combobox.mjs +66 -18
  29. package/fesm2022/frame-ui-ng-components-combobox.mjs.map +1 -1
  30. package/fesm2022/frame-ui-ng-components-command.mjs +47 -16
  31. package/fesm2022/frame-ui-ng-components-command.mjs.map +1 -1
  32. package/fesm2022/frame-ui-ng-components-confirm-modal.mjs +3 -0
  33. package/fesm2022/frame-ui-ng-components-confirm-modal.mjs.map +1 -1
  34. package/fesm2022/frame-ui-ng-components-confirm-popover.mjs +423 -0
  35. package/fesm2022/frame-ui-ng-components-confirm-popover.mjs.map +1 -0
  36. package/fesm2022/frame-ui-ng-components-context-menu.mjs +71 -45
  37. package/fesm2022/frame-ui-ng-components-context-menu.mjs.map +1 -1
  38. package/fesm2022/frame-ui-ng-components-date-picker.mjs +3 -0
  39. package/fesm2022/frame-ui-ng-components-date-picker.mjs.map +1 -1
  40. package/fesm2022/frame-ui-ng-components-drag-drop.mjs +293 -0
  41. package/fesm2022/frame-ui-ng-components-drag-drop.mjs.map +1 -0
  42. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +73 -36
  43. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -1
  44. package/fesm2022/frame-ui-ng-components-empty.mjs +6 -0
  45. package/fesm2022/frame-ui-ng-components-empty.mjs.map +1 -1
  46. package/fesm2022/frame-ui-ng-components-field.mjs +21 -12
  47. package/fesm2022/frame-ui-ng-components-field.mjs.map +1 -1
  48. package/fesm2022/frame-ui-ng-components-forms.mjs +1 -0
  49. package/fesm2022/frame-ui-ng-components-forms.mjs.map +1 -1
  50. package/fesm2022/frame-ui-ng-components-hover-card.mjs +49 -43
  51. package/fesm2022/frame-ui-ng-components-hover-card.mjs.map +1 -1
  52. package/fesm2022/frame-ui-ng-components-input-otp.mjs +5 -0
  53. package/fesm2022/frame-ui-ng-components-input-otp.mjs.map +1 -1
  54. package/fesm2022/frame-ui-ng-components-input.mjs +13 -0
  55. package/fesm2022/frame-ui-ng-components-input.mjs.map +1 -1
  56. package/fesm2022/frame-ui-ng-components-item.mjs +10 -0
  57. package/fesm2022/frame-ui-ng-components-item.mjs.map +1 -1
  58. package/fesm2022/frame-ui-ng-components-menubar.mjs +15 -0
  59. package/fesm2022/frame-ui-ng-components-menubar.mjs.map +1 -1
  60. package/fesm2022/frame-ui-ng-components-modal.mjs +128 -114
  61. package/fesm2022/frame-ui-ng-components-modal.mjs.map +1 -1
  62. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs +14 -0
  63. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs.map +1 -1
  64. package/fesm2022/frame-ui-ng-components-pagination.mjs +8 -0
  65. package/fesm2022/frame-ui-ng-components-pagination.mjs.map +1 -1
  66. package/fesm2022/frame-ui-ng-components-popover.mjs +63 -51
  67. package/fesm2022/frame-ui-ng-components-popover.mjs.map +1 -1
  68. package/fesm2022/frame-ui-ng-components-progress.mjs +2 -0
  69. package/fesm2022/frame-ui-ng-components-progress.mjs.map +1 -1
  70. package/fesm2022/frame-ui-ng-components-radio-group.mjs +5 -0
  71. package/fesm2022/frame-ui-ng-components-radio-group.mjs.map +1 -1
  72. package/fesm2022/frame-ui-ng-components-resizable.mjs +6 -0
  73. package/fesm2022/frame-ui-ng-components-resizable.mjs.map +1 -1
  74. package/fesm2022/frame-ui-ng-components-select.mjs +62 -14
  75. package/fesm2022/frame-ui-ng-components-select.mjs.map +1 -1
  76. package/fesm2022/frame-ui-ng-components-separator.mjs +1 -0
  77. package/fesm2022/frame-ui-ng-components-separator.mjs.map +1 -1
  78. package/fesm2022/frame-ui-ng-components-sheet.mjs +99 -88
  79. package/fesm2022/frame-ui-ng-components-sheet.mjs.map +1 -1
  80. package/fesm2022/frame-ui-ng-components-sidebar.mjs +27 -12
  81. package/fesm2022/frame-ui-ng-components-sidebar.mjs.map +1 -1
  82. package/fesm2022/frame-ui-ng-components-skeleton.mjs +1 -0
  83. package/fesm2022/frame-ui-ng-components-skeleton.mjs.map +1 -1
  84. package/fesm2022/frame-ui-ng-components-slider.mjs +29 -16
  85. package/fesm2022/frame-ui-ng-components-slider.mjs.map +1 -1
  86. package/fesm2022/frame-ui-ng-components-spinner.mjs +1 -0
  87. package/fesm2022/frame-ui-ng-components-spinner.mjs.map +1 -1
  88. package/fesm2022/frame-ui-ng-components-switch.mjs +6 -0
  89. package/fesm2022/frame-ui-ng-components-switch.mjs.map +1 -1
  90. package/fesm2022/frame-ui-ng-components-table.mjs +76 -50
  91. package/fesm2022/frame-ui-ng-components-table.mjs.map +1 -1
  92. package/fesm2022/frame-ui-ng-components-tabs.mjs +4 -0
  93. package/fesm2022/frame-ui-ng-components-tabs.mjs.map +1 -1
  94. package/fesm2022/frame-ui-ng-components-textarea.mjs +1 -0
  95. package/fesm2022/frame-ui-ng-components-textarea.mjs.map +1 -1
  96. package/fesm2022/frame-ui-ng-components-toast.mjs +2 -0
  97. package/fesm2022/frame-ui-ng-components-toast.mjs.map +1 -1
  98. package/fesm2022/frame-ui-ng-components-toggle.mjs +23 -16
  99. package/fesm2022/frame-ui-ng-components-toggle.mjs.map +1 -1
  100. package/fesm2022/frame-ui-ng-components-tooltip.mjs +30 -25
  101. package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -1
  102. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs +26 -8
  103. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs.map +1 -1
  104. package/fesm2022/frame-ui-ng-components.mjs +1387 -552
  105. package/fesm2022/frame-ui-ng-components.mjs.map +1 -1
  106. package/package.json +10 -2
  107. package/popover/src/styles/popover.css +106 -101
  108. package/src/styles/components.css +6 -4
  109. package/styles/components.css +6 -4
  110. package/styles.css +6 -4
  111. package/types/frame-ui-ng-components-accordion.d.ts +11 -4
  112. package/types/frame-ui-ng-components-alert.d.ts +4 -0
  113. package/types/frame-ui-ng-components-avatar.d.ts +7 -0
  114. package/types/frame-ui-ng-components-badge.d.ts +4 -0
  115. package/types/frame-ui-ng-components-breadcrumb.d.ts +7 -0
  116. package/types/frame-ui-ng-components-button-group.d.ts +1 -0
  117. package/types/frame-ui-ng-components-button.d.ts +5 -0
  118. package/types/frame-ui-ng-components-calendar.d.ts +1 -0
  119. package/types/frame-ui-ng-components-card.d.ts +8 -3
  120. package/types/frame-ui-ng-components-carousel.d.ts +11 -2
  121. package/types/frame-ui-ng-components-checkbox.d.ts +3 -2
  122. package/types/frame-ui-ng-components-collapsible.d.ts +9 -4
  123. package/types/frame-ui-ng-components-combobox.d.ts +32 -3
  124. package/types/frame-ui-ng-components-command.d.ts +26 -4
  125. package/types/frame-ui-ng-components-confirm-modal.d.ts +2 -0
  126. package/types/frame-ui-ng-components-confirm-popover.d.ts +87 -0
  127. package/types/frame-ui-ng-components-context-menu.d.ts +29 -10
  128. package/types/frame-ui-ng-components-date-picker.d.ts +1 -0
  129. package/types/frame-ui-ng-components-drag-drop.d.ts +103 -0
  130. package/types/frame-ui-ng-components-dropdown-menu.d.ts +32 -9
  131. package/types/frame-ui-ng-components-empty.d.ts +6 -0
  132. package/types/frame-ui-ng-components-field.d.ts +9 -0
  133. package/types/frame-ui-ng-components-forms.d.ts +1 -0
  134. package/types/frame-ui-ng-components-hover-card.d.ts +8 -2
  135. package/types/frame-ui-ng-components-input-otp.d.ts +4 -0
  136. package/types/frame-ui-ng-components-input.d.ts +13 -0
  137. package/types/frame-ui-ng-components-item.d.ts +10 -0
  138. package/types/frame-ui-ng-components-menubar.d.ts +15 -0
  139. package/types/frame-ui-ng-components-modal.d.ts +12 -0
  140. package/types/frame-ui-ng-components-navigation-menu.d.ts +14 -0
  141. package/types/frame-ui-ng-components-pagination.d.ts +8 -0
  142. package/types/frame-ui-ng-components-popover.d.ts +14 -2
  143. package/types/frame-ui-ng-components-progress.d.ts +2 -0
  144. package/types/frame-ui-ng-components-radio-group.d.ts +5 -0
  145. package/types/frame-ui-ng-components-resizable.d.ts +3 -0
  146. package/types/frame-ui-ng-components-select.d.ts +23 -2
  147. package/types/frame-ui-ng-components-separator.d.ts +1 -0
  148. package/types/frame-ui-ng-components-sheet.d.ts +11 -0
  149. package/types/frame-ui-ng-components-sidebar.d.ts +21 -0
  150. package/types/frame-ui-ng-components-skeleton.d.ts +1 -0
  151. package/types/frame-ui-ng-components-slider.d.ts +5 -2
  152. package/types/frame-ui-ng-components-spinner.d.ts +1 -0
  153. package/types/frame-ui-ng-components-switch.d.ts +6 -0
  154. package/types/frame-ui-ng-components-table.d.ts +26 -0
  155. package/types/frame-ui-ng-components-tabs.d.ts +4 -0
  156. package/types/frame-ui-ng-components-textarea.d.ts +1 -0
  157. package/types/frame-ui-ng-components-toast.d.ts +2 -0
  158. package/types/frame-ui-ng-components-toggle.d.ts +8 -2
  159. package/types/frame-ui-ng-components-tooltip.d.ts +6 -2
  160. package/types/frame-ui-ng-components-virtual-scroll.d.ts +11 -2
  161. package/types/frame-ui-ng-components.d.ts +492 -76
@@ -1 +1 @@
1
- {"version":3,"file":"frame-ui-ng-components-menubar.mjs","sources":["../../../projects/components/menubar/src/menubar.ts","../../../projects/components/menubar/menubar.module.ts","../../../projects/components/menubar/frame-ui-ng-components-menubar.ts"],"sourcesContent":["import { Directive, InjectionToken, input } from '@angular/core';\n\nimport {\n FR_DROPDOWN_MENU_PARENT,\n FR_DROPDOWN_MENU_CONTENT,\n FrDropdownMenuCheckboxItem,\n FrDropdownMenuContent,\n FrDropdownMenuItem,\n FrDropdownMenuItemIndicator,\n FrDropdownMenuLabel,\n FrDropdownMenuPanel,\n FrDropdownMenuRadioGroup,\n FrDropdownMenuRadioItem,\n FrDropdownMenuSeparator,\n FrDropdownMenuShortcut,\n FrDropdownMenuSub,\n FrDropdownMenuSubTrigger,\n FrDropdownMenuTree,\n FrDropdownMenuTrigger,\n} from '@frame-ui-ng/components/dropdown-menu';\nimport { FrDropdownMenuParent } from '@frame-ui-ng/components/dropdown-menu';\nimport { FrDropdownMenuTriggerMode } from '@frame-ui-ng/components/dropdown-menu';\n\nexport const FR_MENUBAR_PARENT = new InjectionToken<FrMenuBar>('FrMenuBarParent');\n\n@Directive({\n selector: '[frMenuBar], frame-menubar',\n providers: [\n FrDropdownMenuTree,\n {\n provide: FR_DROPDOWN_MENU_PARENT,\n useExisting: FrMenuBar,\n },\n {\n provide: FR_MENUBAR_PARENT,\n useExisting: FrMenuBar,\n },\n ],\n host: {\n class: 'frame-menubar',\n role: 'menubar',\n },\n})\nexport class FrMenuBar implements FrDropdownMenuParent {\n readonly closeDelay = input(140);\n readonly triggerMode = input<FrDropdownMenuTriggerMode>('both');\n}\n\n@Directive({\n selector: '[frMenuBarMenu], frame-menubar-menu',\n host: {\n class: 'frame-menubar__menu',\n role: 'none',\n },\n})\nexport class FrMenuBarMenu {}\n\n@Directive({\n selector: '[frMenuBarTrigger]',\n hostDirectives: [\n {\n directive: FrDropdownMenuTrigger,\n inputs: ['frDropdownMenuTrigger: frMenuBarTrigger', 'triggerMode'],\n },\n ],\n host: {\n class: 'frame-menubar__trigger',\n role: 'menuitem',\n },\n})\nexport class FrMenuBarTrigger {}\n\n@Directive({\n selector: 'ng-template[frMenuBarContent], ng-template[frMenuBarSubContent]',\n exportAs: 'frMenuBarContent',\n providers: [\n {\n provide: FrDropdownMenuContent,\n useExisting: FrMenuBarContent,\n },\n {\n provide: FR_DROPDOWN_MENU_CONTENT,\n useExisting: FrMenuBarContent,\n },\n ],\n})\nexport class FrMenuBarContent extends FrDropdownMenuContent {}\n\n@Directive({\n selector: '[frMenuBarPanel]',\n hostDirectives: [FrDropdownMenuPanel],\n host: {\n class: 'frame-menubar__content',\n },\n})\nexport class FrMenuBarPanel {}\n\n@Directive({\n selector: '[frMenuBarItem]',\n hostDirectives: [\n {\n directive: FrDropdownMenuItem,\n inputs: ['inset', 'variant'],\n },\n ],\n host: {\n class: 'frame-menubar__item',\n },\n})\nexport class FrMenuBarItem {}\n\n@Directive({\n selector: 'button[frMenuBarCheckboxItem]',\n hostDirectives: [\n {\n directive: FrDropdownMenuCheckboxItem,\n inputs: ['checked', 'inset', 'variant'],\n },\n ],\n host: {\n class: 'frame-menubar__checkbox-item',\n },\n})\nexport class FrMenuBarCheckboxItem {}\n\n@Directive({\n selector: '[frMenuBarRadioGroup]',\n hostDirectives: [FrDropdownMenuRadioGroup],\n host: {\n class: 'frame-menubar__radio-group',\n },\n})\nexport class FrMenuBarRadioGroup {}\n\n@Directive({\n selector: 'button[frMenuBarRadioItem]',\n hostDirectives: [\n {\n directive: FrDropdownMenuRadioItem,\n inputs: ['checked', 'inset', 'variant'],\n },\n ],\n host: {\n class: 'frame-menubar__radio-item',\n },\n})\nexport class FrMenuBarRadioItem {}\n\n@Directive({\n selector: '[frMenuBarLabel]',\n hostDirectives: [\n {\n directive: FrDropdownMenuLabel,\n inputs: ['inset'],\n },\n ],\n host: {\n class: 'frame-menubar__label',\n },\n})\nexport class FrMenuBarLabel {}\n\n@Directive({\n selector: '[frMenuBarSeparator]',\n hostDirectives: [FrDropdownMenuSeparator],\n host: {\n class: 'frame-menubar__separator',\n },\n})\nexport class FrMenuBarSeparator {}\n\n@Directive({\n selector: '[frMenuBarShortcut]',\n hostDirectives: [FrDropdownMenuShortcut],\n host: {\n class: 'frame-menubar__shortcut',\n },\n})\nexport class FrMenuBarShortcut {}\n\n@Directive({\n selector: '[frMenuBarItemIndicator]',\n hostDirectives: [FrDropdownMenuItemIndicator],\n host: {\n class: 'frame-menubar__indicator',\n },\n})\nexport class FrMenuBarItemIndicator {}\n\n@Directive({\n selector: '[frMenuBarSub]',\n hostDirectives: [\n {\n directive: FrDropdownMenuSub,\n inputs: ['closeDelay', 'triggerMode'],\n },\n ],\n host: {\n class: 'frame-menubar__sub',\n },\n})\nexport class FrMenuBarSub {}\n\n@Directive({\n selector: '[frMenuBarSubTrigger]',\n hostDirectives: [\n {\n directive: FrDropdownMenuSubTrigger,\n inputs: ['frDropdownMenuSubTrigger: frMenuBarSubTrigger', 'inset', 'triggerMode', 'variant'],\n },\n ],\n host: {\n class: 'frame-menubar__sub-trigger',\n },\n})\nexport class FrMenuBarSubTrigger {}\n\r\n","import { NgModule } from '@angular/core';\nimport {\n FrMenuBar,\n FrMenuBarCheckboxItem,\n FrMenuBarContent,\n FrMenuBarItem,\n FrMenuBarItemIndicator,\n FrMenuBarLabel,\n FrMenuBarMenu,\n FrMenuBarPanel,\n FrMenuBarRadioGroup,\n FrMenuBarRadioItem,\n FrMenuBarSeparator,\n FrMenuBarShortcut,\n FrMenuBarSub,\n FrMenuBarSubTrigger,\n FrMenuBarTrigger,\n} from './src/menubar';\n\n@NgModule({\n imports: [\n FrMenuBar,\n FrMenuBarCheckboxItem,\n FrMenuBarContent,\n FrMenuBarItem,\n FrMenuBarItemIndicator,\n FrMenuBarLabel,\n FrMenuBarMenu,\n FrMenuBarPanel,\n FrMenuBarRadioGroup,\n FrMenuBarRadioItem,\n FrMenuBarSeparator,\n FrMenuBarShortcut,\n FrMenuBarSub,\n FrMenuBarSubTrigger,\n FrMenuBarTrigger,\n ],\n exports: [\n FrMenuBar,\n FrMenuBarCheckboxItem,\n FrMenuBarContent,\n FrMenuBarItem,\n FrMenuBarItemIndicator,\n FrMenuBarLabel,\n FrMenuBarMenu,\n FrMenuBarPanel,\n FrMenuBarRadioGroup,\n FrMenuBarRadioItem,\n FrMenuBarSeparator,\n FrMenuBarShortcut,\n FrMenuBarSub,\n FrMenuBarSubTrigger,\n FrMenuBarTrigger,\n ],\n})\nexport class FrMenubarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-ui-ng-components-menubar.mjs","sources":["../../../projects/components/menubar/src/menubar.ts","../../../projects/components/menubar/menubar.module.ts","../../../projects/components/menubar/frame-ui-ng-components-menubar.ts"],"sourcesContent":["import { Directive, InjectionToken, input } from '@angular/core';\r\n\r\nimport {\r\n FR_DROPDOWN_MENU_PARENT,\r\n FR_DROPDOWN_MENU_CONTENT,\r\n FrDropdownMenuCheckboxItem,\r\n FrDropdownMenuContent,\r\n FrDropdownMenuItem,\r\n FrDropdownMenuItemIndicator,\r\n FrDropdownMenuLabel,\r\n FrDropdownMenuPanel,\r\n FrDropdownMenuRadioGroup,\r\n FrDropdownMenuRadioItem,\r\n FrDropdownMenuSeparator,\r\n FrDropdownMenuShortcut,\r\n FrDropdownMenuSub,\r\n FrDropdownMenuSubTrigger,\r\n FrDropdownMenuTree,\r\n FrDropdownMenuTrigger,\r\n} from '@frame-ui-ng/components/dropdown-menu';\r\nimport { FrDropdownMenuParent } from '@frame-ui-ng/components/dropdown-menu';\r\nimport { FrDropdownMenuTriggerMode } from '@frame-ui-ng/components/dropdown-menu';\r\n\r\nexport const FR_MENUBAR_PARENT = new InjectionToken<FrMenuBar>('FrMenuBarParent');\r\n\r\n/** Menubar root for top-level menu interactions. */\r\n@Directive({\r\n selector: '[frMenuBar], frame-menubar',\r\n providers: [\r\n FrDropdownMenuTree,\r\n {\r\n provide: FR_DROPDOWN_MENU_PARENT,\r\n useExisting: FrMenuBar,\r\n },\r\n {\r\n provide: FR_MENUBAR_PARENT,\r\n useExisting: FrMenuBar,\r\n },\r\n ],\r\n host: {\r\n class: 'frame-menubar',\r\n role: 'menubar',\r\n },\r\n})\r\nexport class FrMenuBar implements FrDropdownMenuParent {\r\n readonly closeDelay = input(140);\r\n readonly triggerMode = input<FrDropdownMenuTriggerMode>('both');\r\n}\r\n\r\n/** Top-level menu scope inside a menubar. */\r\n@Directive({\r\n selector: '[frMenuBarMenu], frame-menubar-menu',\r\n host: {\r\n class: 'frame-menubar__menu',\r\n role: 'none',\r\n },\r\n})\r\nexport class FrMenuBarMenu {}\r\n\r\n/** Trigger control for menu bar. */\r\n@Directive({\r\n selector: '[frMenuBarTrigger]',\r\n hostDirectives: [\r\n {\r\n directive: FrDropdownMenuTrigger,\r\n inputs: ['frDropdownMenuTrigger: frMenuBarTrigger', 'triggerMode'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-menubar__trigger',\r\n role: 'menuitem',\r\n },\r\n})\r\nexport class FrMenuBarTrigger {}\r\n\r\n/** Content slot for menu bar. */\r\n@Directive({\r\n selector: 'ng-template[frMenuBarContent], ng-template[frMenuBarSubContent]',\r\n exportAs: 'frMenuBarContent',\r\n providers: [\r\n {\r\n provide: FrDropdownMenuContent,\r\n useExisting: FrMenuBarContent,\r\n },\r\n {\r\n provide: FR_DROPDOWN_MENU_CONTENT,\r\n useExisting: FrMenuBarContent,\r\n },\r\n ],\r\n})\r\nexport class FrMenuBarContent extends FrDropdownMenuContent {}\r\n\r\n/** Panel slot for menu bar. */\r\n@Directive({\r\n selector: '[frMenuBarPanel]',\r\n hostDirectives: [FrDropdownMenuPanel],\r\n host: {\r\n class: 'frame-menubar__content',\r\n },\r\n})\r\nexport class FrMenuBarPanel {}\r\n\r\n/** Item slot for menu bar. */\r\n@Directive({\r\n selector: '[frMenuBarItem]',\r\n hostDirectives: [\r\n {\r\n directive: FrDropdownMenuItem,\r\n inputs: ['inset', 'variant'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-menubar__item',\r\n },\r\n})\r\nexport class FrMenuBarItem {}\r\n\r\n/** Item slot for menu bar checkbox. */\r\n@Directive({\r\n selector: 'button[frMenuBarCheckboxItem]',\r\n hostDirectives: [\r\n {\r\n directive: FrDropdownMenuCheckboxItem,\r\n inputs: ['checked', 'inset', 'variant'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-menubar__checkbox-item',\r\n },\r\n})\r\nexport class FrMenuBarCheckboxItem {}\r\n\r\n/** Group slot for menu bar radio. */\r\n@Directive({\r\n selector: '[frMenuBarRadioGroup]',\r\n hostDirectives: [FrDropdownMenuRadioGroup],\r\n host: {\r\n class: 'frame-menubar__radio-group',\r\n },\r\n})\r\nexport class FrMenuBarRadioGroup {}\r\n\r\n/** Item slot for menu bar radio. */\r\n@Directive({\r\n selector: 'button[frMenuBarRadioItem]',\r\n hostDirectives: [\r\n {\r\n directive: FrDropdownMenuRadioItem,\r\n inputs: ['checked', 'inset', 'variant'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-menubar__radio-item',\r\n },\r\n})\r\nexport class FrMenuBarRadioItem {}\r\n\r\n/** Label slot for menu bar. */\r\n@Directive({\r\n selector: '[frMenuBarLabel]',\r\n hostDirectives: [\r\n {\r\n directive: FrDropdownMenuLabel,\r\n inputs: ['inset'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-menubar__label',\r\n },\r\n})\r\nexport class FrMenuBarLabel {}\r\n\r\n/** Separator slot for menu bar. */\r\n@Directive({\r\n selector: '[frMenuBarSeparator]',\r\n hostDirectives: [FrDropdownMenuSeparator],\r\n host: {\r\n class: 'frame-menubar__separator',\r\n },\r\n})\r\nexport class FrMenuBarSeparator {}\r\n\r\n/** Shortcut slot for menu bar. */\r\n@Directive({\r\n selector: '[frMenuBarShortcut]',\r\n hostDirectives: [FrDropdownMenuShortcut],\r\n host: {\r\n class: 'frame-menubar__shortcut',\r\n },\r\n})\r\nexport class FrMenuBarShortcut {}\r\n\r\n/** Indicator slot for menu bar item. */\r\n@Directive({\r\n selector: '[frMenuBarItemIndicator]',\r\n hostDirectives: [FrDropdownMenuItemIndicator],\r\n host: {\r\n class: 'frame-menubar__indicator',\r\n },\r\n})\r\nexport class FrMenuBarItemIndicator {}\r\n\r\n/** Nested submenu scope inside a menubar. */\r\n@Directive({\r\n selector: '[frMenuBarSub]',\r\n hostDirectives: [\r\n {\r\n directive: FrDropdownMenuSub,\r\n inputs: ['closeDelay', 'triggerMode'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-menubar__sub',\r\n },\r\n})\r\nexport class FrMenuBarSub {}\r\n\r\n/** Trigger control for menu bar sub. */\r\n@Directive({\r\n selector: '[frMenuBarSubTrigger]',\r\n hostDirectives: [\r\n {\r\n directive: FrDropdownMenuSubTrigger,\r\n inputs: ['frDropdownMenuSubTrigger: frMenuBarSubTrigger', 'inset', 'triggerMode', 'variant'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-menubar__sub-trigger',\r\n },\r\n})\r\nexport class FrMenuBarSubTrigger {}\r\n\r\n\r\n","import { NgModule } from '@angular/core';\nimport {\n FrMenuBar,\n FrMenuBarCheckboxItem,\n FrMenuBarContent,\n FrMenuBarItem,\n FrMenuBarItemIndicator,\n FrMenuBarLabel,\n FrMenuBarMenu,\n FrMenuBarPanel,\n FrMenuBarRadioGroup,\n FrMenuBarRadioItem,\n FrMenuBarSeparator,\n FrMenuBarShortcut,\n FrMenuBarSub,\n FrMenuBarSubTrigger,\n FrMenuBarTrigger,\n} from './src/menubar';\n\n@NgModule({\n imports: [\n FrMenuBar,\n FrMenuBarCheckboxItem,\n FrMenuBarContent,\n FrMenuBarItem,\n FrMenuBarItemIndicator,\n FrMenuBarLabel,\n FrMenuBarMenu,\n FrMenuBarPanel,\n FrMenuBarRadioGroup,\n FrMenuBarRadioItem,\n FrMenuBarSeparator,\n FrMenuBarShortcut,\n FrMenuBarSub,\n FrMenuBarSubTrigger,\n FrMenuBarTrigger,\n ],\n exports: [\n FrMenuBar,\n FrMenuBarCheckboxItem,\n FrMenuBarContent,\n FrMenuBarItem,\n FrMenuBarItemIndicator,\n FrMenuBarLabel,\n FrMenuBarMenu,\n FrMenuBarPanel,\n FrMenuBarRadioGroup,\n FrMenuBarRadioItem,\n FrMenuBarSeparator,\n FrMenuBarShortcut,\n FrMenuBarSub,\n FrMenuBarSubTrigger,\n FrMenuBarTrigger,\n ],\n})\nexport class FrMenubarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { NgComponentOutlet } from '@angular/common';
5
5
  import { FrButton, FrButtonLabel } from '@frame-ui-ng/components/button';
6
6
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
7
 
8
+ /** Content slot for modal. */
8
9
  class FrModalContent {
9
10
  templateRef = inject((TemplateRef));
10
11
  ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
@@ -57,6 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
57
58
  }]
58
59
  }], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], ariaDescribedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdropClass", required: false }] }], closeOnDestroy: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnDestroy", required: false }] }], closeOnNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnNavigation", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], disableClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableClose", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], minHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "minHeight", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], panelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClass", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }] } });
59
60
 
61
+ /** Close control for modal. */
60
62
  class FrModalClose {
61
63
  dialogRef = inject(DialogRef, { optional: true });
62
64
  result = input(undefined, { ...(ngDevMode ? { debugName: "result" } : /* istanbul ignore next */ {}), alias: 'frModalClose' });
@@ -76,24 +78,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
76
78
  },
77
79
  }]
78
80
  }], propDecorators: { result: [{ type: i0.Input, args: [{ isSignal: true, alias: "frModalClose", required: false }] }] } });
81
+ /** Panel slot for modal. */
79
82
  class FrModalPanel {
80
83
  scrollable = input(false, { ...(ngDevMode ? { debugName: "scrollable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
81
84
  showCloseButton = input(true, { ...(ngDevMode ? { debugName: "showCloseButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
82
85
  size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
83
86
  stickyFooter = input(false, { ...(ngDevMode ? { debugName: "stickyFooter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
84
87
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
85
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrModalPanel, isStandalone: true, selector: "[frModalPanel], frame-modal-panel", inputs: { scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, stickyFooter: { classPropertyName: "stickyFooter", publicName: "stickyFooter", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-scrollable": "scrollable() ? \"\" : null", "attr.data-sticky-footer": "stickyFooter() ? \"\" : null", "attr.data-size": "size()" }, classAttribute: "frame-modal__panel" }, ngImport: i0, template: `
86
- <ng-content />
87
- @if (showCloseButton()) {
88
- <button
89
- class="frame-modal__close"
90
- frModalClose
91
- type="button"
92
- aria-label="Close dialog"
93
- >
94
- <span aria-hidden="true">×</span>
95
- </button>
96
- }
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrModalPanel, isStandalone: true, selector: "[frModalPanel], frame-modal-panel", inputs: { scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, stickyFooter: { classPropertyName: "stickyFooter", publicName: "stickyFooter", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-scrollable": "scrollable() ? \"\" : null", "attr.data-sticky-footer": "stickyFooter() ? \"\" : null", "attr.data-size": "size()" }, classAttribute: "frame-modal__panel" }, ngImport: i0, template: `
89
+ <ng-content />
90
+ @if (showCloseButton()) {
91
+ <button
92
+ class="frame-modal__close"
93
+ frModalClose
94
+ type="button"
95
+ aria-label="Close dialog"
96
+ >
97
+ <span aria-hidden="true">×</span>
98
+ </button>
99
+ }
97
100
  `, isInline: true, dependencies: [{ kind: "directive", type: FrModalClose, selector: "[frModalClose]", inputs: ["frModalClose"] }] });
98
101
  }
99
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalPanel, decorators: [{
@@ -106,22 +109,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
106
109
  '[attr.data-sticky-footer]': 'stickyFooter() ? "" : null',
107
110
  '[attr.data-size]': 'size()',
108
111
  },
109
- template: `
110
- <ng-content />
111
- @if (showCloseButton()) {
112
- <button
113
- class="frame-modal__close"
114
- frModalClose
115
- type="button"
116
- aria-label="Close dialog"
117
- >
118
- <span aria-hidden="true">×</span>
119
- </button>
120
- }
112
+ template: `
113
+ <ng-content />
114
+ @if (showCloseButton()) {
115
+ <button
116
+ class="frame-modal__close"
117
+ frModalClose
118
+ type="button"
119
+ aria-label="Close dialog"
120
+ >
121
+ <span aria-hidden="true">×</span>
122
+ </button>
123
+ }
121
124
  `,
122
125
  imports: [FrModalClose],
123
126
  }]
124
127
  }], propDecorators: { scrollable: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollable", required: false }] }], showCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCloseButton", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], stickyFooter: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyFooter", required: false }] }] } });
128
+ /** Header slot for modal. */
125
129
  class FrModalHeader {
126
130
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
127
131
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrModalHeader, isStandalone: true, selector: "[frModalHeader], frame-modal-header", host: { classAttribute: "frame-modal__header" }, ngImport: i0 });
@@ -135,6 +139,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
135
139
  },
136
140
  }]
137
141
  }] });
142
+ /** Body slot for modal. */
138
143
  class FrModalBody {
139
144
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalBody, deps: [], target: i0.ɵɵFactoryTarget.Directive });
140
145
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrModalBody, isStandalone: true, selector: "[frModalBody], frame-modal-body", host: { classAttribute: "frame-modal__body" }, ngImport: i0 });
@@ -148,6 +153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
148
153
  },
149
154
  }]
150
155
  }] });
156
+ /** Footer slot for modal. */
151
157
  class FrModalFooter {
152
158
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
153
159
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrModalFooter, isStandalone: true, selector: "[frModalFooter], frame-modal-footer", host: { classAttribute: "frame-modal__footer" }, ngImport: i0 });
@@ -161,6 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
161
167
  },
162
168
  }]
163
169
  }] });
170
+ /** Title slot for modal. */
164
171
  class FrModalTitle {
165
172
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
166
173
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrModalTitle, isStandalone: true, selector: "[frModalTitle], frame-modal-title", host: { classAttribute: "frame-modal__title" }, ngImport: i0 });
@@ -174,6 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
174
181
  },
175
182
  }]
176
183
  }] });
184
+ /** Description slot for modal. */
177
185
  class FrModalDescription {
178
186
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
179
187
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrModalDescription, isStandalone: true, selector: "[frModalDescription], frame-modal-description", host: { classAttribute: "frame-modal__description" }, ngImport: i0 });
@@ -188,12 +196,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
188
196
  }]
189
197
  }] });
190
198
 
199
+ /** Reference handle for an opened modal. */
191
200
  class FrModalRef extends DialogRef {
192
201
  }
193
202
 
194
203
  const FR_MODAL_DATA = DIALOG_DATA;
195
204
  const FR_MODAL_REF = FrModalRef;
196
205
 
206
+ /** Default shell for modal content, title, and footer actions. */
197
207
  class FrModalShell {
198
208
  dialogRef = inject((DialogRef));
199
209
  injector = inject(Injector);
@@ -213,51 +223,51 @@ class FrModalShell {
213
223
  }
214
224
  }
215
225
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalShell, deps: [], target: i0.ɵɵFactoryTarget.Component });
216
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrModalShell, isStandalone: true, selector: "frame-modal-shell", ngImport: i0, template: `
217
- <div
218
- frModalPanel
219
- [size]="options.size ?? 'md'"
220
- [showCloseButton]="options.showCloseButton ?? true"
221
- [scrollable]="options.scrollable ?? false"
222
- [stickyFooter]="options.stickyFooter ?? false"
223
- >
224
- @if (options.title || options.description) {
225
- <div frModalHeader>
226
- @if (options.title) {
227
- <h2 frModalTitle>{{ options.title }}</h2>
228
- }
229
-
230
- @if (options.description) {
231
- <p frModalDescription>{{ options.description }}</p>
232
- }
233
- </div>
234
- }
235
-
236
- <div frModalBody>
237
- <ng-container
238
- [ngComponentOutlet]="options.bodyComponent"
239
- [ngComponentOutletInputs]="options.bodyInputs ?? {}"
240
- [ngComponentOutletInjector]="bodyInjector"
241
- />
242
- </div>
243
-
244
- @if (options.footerActions?.length) {
245
- <div frModalFooter>
246
- @for (action of options.footerActions; track action.label) {
247
- <button
248
- frButton
249
- type="button"
250
- [appearance]="action.appearance ?? 'primary'"
251
- [disabled]="action.disabled ?? false"
252
- [attr.aria-label]="action.ariaLabel ?? null"
253
- (click)="handleAction(action)"
254
- >
255
- <span frButtonLabel>{{ action.label }}</span>
256
- </button>
257
- }
258
- </div>
259
- }
260
- </div>
226
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrModalShell, isStandalone: true, selector: "frame-modal-shell", ngImport: i0, template: `
227
+ <div
228
+ frModalPanel
229
+ [size]="options.size ?? 'md'"
230
+ [showCloseButton]="options.showCloseButton ?? true"
231
+ [scrollable]="options.scrollable ?? false"
232
+ [stickyFooter]="options.stickyFooter ?? false"
233
+ >
234
+ @if (options.title || options.description) {
235
+ <div frModalHeader>
236
+ @if (options.title) {
237
+ <h2 frModalTitle>{{ options.title }}</h2>
238
+ }
239
+
240
+ @if (options.description) {
241
+ <p frModalDescription>{{ options.description }}</p>
242
+ }
243
+ </div>
244
+ }
245
+
246
+ <div frModalBody>
247
+ <ng-container
248
+ [ngComponentOutlet]="options.bodyComponent"
249
+ [ngComponentOutletInputs]="options.bodyInputs ?? {}"
250
+ [ngComponentOutletInjector]="bodyInjector"
251
+ />
252
+ </div>
253
+
254
+ @if (options.footerActions?.length) {
255
+ <div frModalFooter>
256
+ @for (action of options.footerActions; track action.label) {
257
+ <button
258
+ frButton
259
+ type="button"
260
+ [appearance]="action.appearance ?? 'primary'"
261
+ [disabled]="action.disabled ?? false"
262
+ [attr.aria-label]="action.ariaLabel ?? null"
263
+ (click)="handleAction(action)"
264
+ >
265
+ <span frButtonLabel>{{ action.label }}</span>
266
+ </button>
267
+ }
268
+ </div>
269
+ }
270
+ </div>
261
271
  `, isInline: true, dependencies: [{ kind: "directive", type: FrButton, selector: "a[frButton], button[frButton]", inputs: ["appearance", "disabled", "loading", "loadingDisplay", "radius", "size"] }, { kind: "directive", type: FrButtonLabel, selector: "[frButtonLabel]" }, { kind: "directive", type: FrModalBody, selector: "[frModalBody], frame-modal-body" }, { kind: "directive", type: FrModalDescription, selector: "[frModalDescription], frame-modal-description" }, { kind: "directive", type: FrModalFooter, selector: "[frModalFooter], frame-modal-footer" }, { kind: "directive", type: FrModalHeader, selector: "[frModalHeader], frame-modal-header" }, { kind: "component", type: FrModalPanel, selector: "[frModalPanel], frame-modal-panel", inputs: ["scrollable", "showCloseButton", "size", "stickyFooter"] }, { kind: "directive", type: FrModalTitle, selector: "[frModalTitle], frame-modal-title" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }] });
262
272
  }
263
273
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalShell, decorators: [{
@@ -275,57 +285,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
275
285
  FrModalTitle,
276
286
  NgComponentOutlet,
277
287
  ],
278
- template: `
279
- <div
280
- frModalPanel
281
- [size]="options.size ?? 'md'"
282
- [showCloseButton]="options.showCloseButton ?? true"
283
- [scrollable]="options.scrollable ?? false"
284
- [stickyFooter]="options.stickyFooter ?? false"
285
- >
286
- @if (options.title || options.description) {
287
- <div frModalHeader>
288
- @if (options.title) {
289
- <h2 frModalTitle>{{ options.title }}</h2>
290
- }
291
-
292
- @if (options.description) {
293
- <p frModalDescription>{{ options.description }}</p>
294
- }
295
- </div>
296
- }
297
-
298
- <div frModalBody>
299
- <ng-container
300
- [ngComponentOutlet]="options.bodyComponent"
301
- [ngComponentOutletInputs]="options.bodyInputs ?? {}"
302
- [ngComponentOutletInjector]="bodyInjector"
303
- />
304
- </div>
305
-
306
- @if (options.footerActions?.length) {
307
- <div frModalFooter>
308
- @for (action of options.footerActions; track action.label) {
309
- <button
310
- frButton
311
- type="button"
312
- [appearance]="action.appearance ?? 'primary'"
313
- [disabled]="action.disabled ?? false"
314
- [attr.aria-label]="action.ariaLabel ?? null"
315
- (click)="handleAction(action)"
316
- >
317
- <span frButtonLabel>{{ action.label }}</span>
318
- </button>
319
- }
320
- </div>
321
- }
322
- </div>
288
+ template: `
289
+ <div
290
+ frModalPanel
291
+ [size]="options.size ?? 'md'"
292
+ [showCloseButton]="options.showCloseButton ?? true"
293
+ [scrollable]="options.scrollable ?? false"
294
+ [stickyFooter]="options.stickyFooter ?? false"
295
+ >
296
+ @if (options.title || options.description) {
297
+ <div frModalHeader>
298
+ @if (options.title) {
299
+ <h2 frModalTitle>{{ options.title }}</h2>
300
+ }
301
+
302
+ @if (options.description) {
303
+ <p frModalDescription>{{ options.description }}</p>
304
+ }
305
+ </div>
306
+ }
307
+
308
+ <div frModalBody>
309
+ <ng-container
310
+ [ngComponentOutlet]="options.bodyComponent"
311
+ [ngComponentOutletInputs]="options.bodyInputs ?? {}"
312
+ [ngComponentOutletInjector]="bodyInjector"
313
+ />
314
+ </div>
315
+
316
+ @if (options.footerActions?.length) {
317
+ <div frModalFooter>
318
+ @for (action of options.footerActions; track action.label) {
319
+ <button
320
+ frButton
321
+ type="button"
322
+ [appearance]="action.appearance ?? 'primary'"
323
+ [disabled]="action.disabled ?? false"
324
+ [attr.aria-label]="action.ariaLabel ?? null"
325
+ (click)="handleAction(action)"
326
+ >
327
+ <span frButtonLabel>{{ action.label }}</span>
328
+ </button>
329
+ }
330
+ </div>
331
+ }
332
+ </div>
323
333
  `,
324
334
  }]
325
335
  }] });
326
336
 
327
337
  const DEFAULT_PANEL_CLASS = 'frame-modal__overlay-pane';
328
338
  const DEFAULT_BACKDROP_CLASS = 'frame-modal__backdrop';
339
+ /** Service for opening modal dialogs. */
329
340
  class FrModalService {
330
341
  dialog = inject(Dialog);
331
342
  open(content, dataOrConfig, config) {
@@ -397,6 +408,7 @@ function resolveOpenConfig(content, dataOrConfig, config) {
397
408
  if (!isComponentType(content)) {
398
409
  return (dataOrConfig ?? {});
399
410
  }
411
+ // Component opens support the shorthand `open(Component, data, config)` shape.
400
412
  if (config) {
401
413
  return {
402
414
  ...config,
@@ -406,6 +418,7 @@ function resolveOpenConfig(content, dataOrConfig, config) {
406
418
  if (dataOrConfig === undefined) {
407
419
  return {};
408
420
  }
421
+ // Without a third argument, distinguish raw data from a full modal config by known keys.
409
422
  if (isModalConfig(dataOrConfig)) {
410
423
  return dataOrConfig;
411
424
  }
@@ -473,6 +486,7 @@ function withModalRefProvider(providers) {
473
486
  return [modalRefProvider, ...(providers ?? [])];
474
487
  }
475
488
 
489
+ /** Trigger control for modal. */
476
490
  class FrModalTrigger {
477
491
  static CUSTOM_PROPERTY_PREFIX = '--frame-modal-';
478
492
  destroyRef = inject(DestroyRef);