@frame-ui-ng/components 0.4.0-beta.0 → 0.4.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/calendar/src/styles/_vars.css +4 -0
  2. package/calendar/src/styles/calendar.css +29 -5
  3. package/confirm-popover/src/styles/confirm-popover.css +20 -0
  4. package/date-picker/src/styles/date-picker.css +27 -1
  5. package/drag-drop/src/styles/_vars.css +28 -0
  6. package/drag-drop/src/styles/drag-drop.css +132 -0
  7. package/fesm2022/frame-ui-ng-components-accordion.mjs +26 -21
  8. package/fesm2022/frame-ui-ng-components-accordion.mjs.map +1 -1
  9. package/fesm2022/frame-ui-ng-components-alert.mjs +4 -0
  10. package/fesm2022/frame-ui-ng-components-alert.mjs.map +1 -1
  11. package/fesm2022/frame-ui-ng-components-avatar.mjs +7 -0
  12. package/fesm2022/frame-ui-ng-components-avatar.mjs.map +1 -1
  13. package/fesm2022/frame-ui-ng-components-badge.mjs +4 -0
  14. package/fesm2022/frame-ui-ng-components-badge.mjs.map +1 -1
  15. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs +13 -6
  16. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs.map +1 -1
  17. package/fesm2022/frame-ui-ng-components-button-group.mjs +1 -0
  18. package/fesm2022/frame-ui-ng-components-button-group.mjs.map +1 -1
  19. package/fesm2022/frame-ui-ng-components-button.mjs +5 -0
  20. package/fesm2022/frame-ui-ng-components-button.mjs.map +1 -1
  21. package/fesm2022/frame-ui-ng-components-calendar.mjs +24 -1
  22. package/fesm2022/frame-ui-ng-components-calendar.mjs.map +1 -1
  23. package/fesm2022/frame-ui-ng-components-card.mjs +15 -15
  24. package/fesm2022/frame-ui-ng-components-card.mjs.map +1 -1
  25. package/fesm2022/frame-ui-ng-components-carousel.mjs +33 -16
  26. package/fesm2022/frame-ui-ng-components-carousel.mjs.map +1 -1
  27. package/fesm2022/frame-ui-ng-components-checkbox.mjs +7 -9
  28. package/fesm2022/frame-ui-ng-components-checkbox.mjs.map +1 -1
  29. package/fesm2022/frame-ui-ng-components-collapsible.mjs +24 -23
  30. package/fesm2022/frame-ui-ng-components-collapsible.mjs.map +1 -1
  31. package/fesm2022/frame-ui-ng-components-combobox.mjs +66 -18
  32. package/fesm2022/frame-ui-ng-components-combobox.mjs.map +1 -1
  33. package/fesm2022/frame-ui-ng-components-command.mjs +47 -16
  34. package/fesm2022/frame-ui-ng-components-command.mjs.map +1 -1
  35. package/fesm2022/frame-ui-ng-components-confirm-modal.mjs +3 -0
  36. package/fesm2022/frame-ui-ng-components-confirm-modal.mjs.map +1 -1
  37. package/fesm2022/frame-ui-ng-components-confirm-popover.mjs +423 -0
  38. package/fesm2022/frame-ui-ng-components-confirm-popover.mjs.map +1 -0
  39. package/fesm2022/frame-ui-ng-components-context-menu.mjs +71 -45
  40. package/fesm2022/frame-ui-ng-components-context-menu.mjs.map +1 -1
  41. package/fesm2022/frame-ui-ng-components-date-picker.mjs +3 -0
  42. package/fesm2022/frame-ui-ng-components-date-picker.mjs.map +1 -1
  43. package/fesm2022/frame-ui-ng-components-drag-drop.mjs +293 -0
  44. package/fesm2022/frame-ui-ng-components-drag-drop.mjs.map +1 -0
  45. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +73 -36
  46. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -1
  47. package/fesm2022/frame-ui-ng-components-empty.mjs +6 -0
  48. package/fesm2022/frame-ui-ng-components-empty.mjs.map +1 -1
  49. package/fesm2022/frame-ui-ng-components-field.mjs +21 -12
  50. package/fesm2022/frame-ui-ng-components-field.mjs.map +1 -1
  51. package/fesm2022/frame-ui-ng-components-forms.mjs +1 -0
  52. package/fesm2022/frame-ui-ng-components-forms.mjs.map +1 -1
  53. package/fesm2022/frame-ui-ng-components-hover-card.mjs +49 -43
  54. package/fesm2022/frame-ui-ng-components-hover-card.mjs.map +1 -1
  55. package/fesm2022/frame-ui-ng-components-input-otp.mjs +5 -0
  56. package/fesm2022/frame-ui-ng-components-input-otp.mjs.map +1 -1
  57. package/fesm2022/frame-ui-ng-components-input.mjs +13 -0
  58. package/fesm2022/frame-ui-ng-components-input.mjs.map +1 -1
  59. package/fesm2022/frame-ui-ng-components-item.mjs +10 -0
  60. package/fesm2022/frame-ui-ng-components-item.mjs.map +1 -1
  61. package/fesm2022/frame-ui-ng-components-menubar.mjs +15 -0
  62. package/fesm2022/frame-ui-ng-components-menubar.mjs.map +1 -1
  63. package/fesm2022/frame-ui-ng-components-modal.mjs +167 -128
  64. package/fesm2022/frame-ui-ng-components-modal.mjs.map +1 -1
  65. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs +14 -0
  66. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs.map +1 -1
  67. package/fesm2022/frame-ui-ng-components-pagination.mjs +8 -0
  68. package/fesm2022/frame-ui-ng-components-pagination.mjs.map +1 -1
  69. package/fesm2022/frame-ui-ng-components-popover.mjs +63 -51
  70. package/fesm2022/frame-ui-ng-components-popover.mjs.map +1 -1
  71. package/fesm2022/frame-ui-ng-components-progress.mjs +2 -0
  72. package/fesm2022/frame-ui-ng-components-progress.mjs.map +1 -1
  73. package/fesm2022/frame-ui-ng-components-radio-group.mjs +5 -0
  74. package/fesm2022/frame-ui-ng-components-radio-group.mjs.map +1 -1
  75. package/fesm2022/frame-ui-ng-components-resizable.mjs +6 -0
  76. package/fesm2022/frame-ui-ng-components-resizable.mjs.map +1 -1
  77. package/fesm2022/frame-ui-ng-components-select.mjs +62 -14
  78. package/fesm2022/frame-ui-ng-components-select.mjs.map +1 -1
  79. package/fesm2022/frame-ui-ng-components-separator.mjs +1 -0
  80. package/fesm2022/frame-ui-ng-components-separator.mjs.map +1 -1
  81. package/fesm2022/frame-ui-ng-components-sheet.mjs +99 -88
  82. package/fesm2022/frame-ui-ng-components-sheet.mjs.map +1 -1
  83. package/fesm2022/frame-ui-ng-components-sidebar.mjs +27 -12
  84. package/fesm2022/frame-ui-ng-components-sidebar.mjs.map +1 -1
  85. package/fesm2022/frame-ui-ng-components-skeleton.mjs +1 -0
  86. package/fesm2022/frame-ui-ng-components-skeleton.mjs.map +1 -1
  87. package/fesm2022/frame-ui-ng-components-slider.mjs +29 -16
  88. package/fesm2022/frame-ui-ng-components-slider.mjs.map +1 -1
  89. package/fesm2022/frame-ui-ng-components-spinner.mjs +1 -0
  90. package/fesm2022/frame-ui-ng-components-spinner.mjs.map +1 -1
  91. package/fesm2022/frame-ui-ng-components-switch.mjs +6 -0
  92. package/fesm2022/frame-ui-ng-components-switch.mjs.map +1 -1
  93. package/fesm2022/frame-ui-ng-components-table.mjs +76 -50
  94. package/fesm2022/frame-ui-ng-components-table.mjs.map +1 -1
  95. package/fesm2022/frame-ui-ng-components-tabs.mjs +4 -0
  96. package/fesm2022/frame-ui-ng-components-tabs.mjs.map +1 -1
  97. package/fesm2022/frame-ui-ng-components-textarea.mjs +1 -0
  98. package/fesm2022/frame-ui-ng-components-textarea.mjs.map +1 -1
  99. package/fesm2022/frame-ui-ng-components-toast.mjs +2 -0
  100. package/fesm2022/frame-ui-ng-components-toast.mjs.map +1 -1
  101. package/fesm2022/frame-ui-ng-components-toggle.mjs +23 -16
  102. package/fesm2022/frame-ui-ng-components-toggle.mjs.map +1 -1
  103. package/fesm2022/frame-ui-ng-components-tooltip.mjs +30 -25
  104. package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -1
  105. package/fesm2022/frame-ui-ng-components-utils.mjs +5 -1
  106. package/fesm2022/frame-ui-ng-components-utils.mjs.map +1 -1
  107. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs +26 -8
  108. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs.map +1 -1
  109. package/fesm2022/frame-ui-ng-components.mjs +1449 -571
  110. package/fesm2022/frame-ui-ng-components.mjs.map +1 -1
  111. package/package.json +10 -2
  112. package/popover/src/styles/popover.css +106 -101
  113. package/select/src/styles/select-content.css +27 -19
  114. package/src/styles/components.css +6 -4
  115. package/styles/components.css +6 -4
  116. package/styles.css +6 -4
  117. package/types/frame-ui-ng-components-accordion.d.ts +11 -4
  118. package/types/frame-ui-ng-components-alert.d.ts +4 -0
  119. package/types/frame-ui-ng-components-avatar.d.ts +7 -0
  120. package/types/frame-ui-ng-components-badge.d.ts +4 -0
  121. package/types/frame-ui-ng-components-breadcrumb.d.ts +7 -0
  122. package/types/frame-ui-ng-components-button-group.d.ts +1 -0
  123. package/types/frame-ui-ng-components-button.d.ts +5 -0
  124. package/types/frame-ui-ng-components-calendar.d.ts +2 -0
  125. package/types/frame-ui-ng-components-card.d.ts +8 -3
  126. package/types/frame-ui-ng-components-carousel.d.ts +11 -2
  127. package/types/frame-ui-ng-components-checkbox.d.ts +3 -2
  128. package/types/frame-ui-ng-components-collapsible.d.ts +9 -4
  129. package/types/frame-ui-ng-components-combobox.d.ts +32 -3
  130. package/types/frame-ui-ng-components-command.d.ts +26 -4
  131. package/types/frame-ui-ng-components-confirm-modal.d.ts +2 -0
  132. package/types/frame-ui-ng-components-confirm-popover.d.ts +87 -0
  133. package/types/frame-ui-ng-components-context-menu.d.ts +29 -10
  134. package/types/frame-ui-ng-components-date-picker.d.ts +1 -0
  135. package/types/frame-ui-ng-components-drag-drop.d.ts +103 -0
  136. package/types/frame-ui-ng-components-dropdown-menu.d.ts +32 -9
  137. package/types/frame-ui-ng-components-empty.d.ts +6 -0
  138. package/types/frame-ui-ng-components-field.d.ts +9 -0
  139. package/types/frame-ui-ng-components-forms.d.ts +1 -0
  140. package/types/frame-ui-ng-components-hover-card.d.ts +8 -2
  141. package/types/frame-ui-ng-components-input-otp.d.ts +4 -0
  142. package/types/frame-ui-ng-components-input.d.ts +13 -0
  143. package/types/frame-ui-ng-components-item.d.ts +10 -0
  144. package/types/frame-ui-ng-components-menubar.d.ts +15 -0
  145. package/types/frame-ui-ng-components-modal.d.ts +27 -4
  146. package/types/frame-ui-ng-components-navigation-menu.d.ts +14 -0
  147. package/types/frame-ui-ng-components-pagination.d.ts +8 -0
  148. package/types/frame-ui-ng-components-popover.d.ts +14 -2
  149. package/types/frame-ui-ng-components-progress.d.ts +2 -0
  150. package/types/frame-ui-ng-components-radio-group.d.ts +5 -0
  151. package/types/frame-ui-ng-components-resizable.d.ts +3 -0
  152. package/types/frame-ui-ng-components-select.d.ts +23 -2
  153. package/types/frame-ui-ng-components-separator.d.ts +1 -0
  154. package/types/frame-ui-ng-components-sheet.d.ts +11 -0
  155. package/types/frame-ui-ng-components-sidebar.d.ts +21 -0
  156. package/types/frame-ui-ng-components-skeleton.d.ts +1 -0
  157. package/types/frame-ui-ng-components-slider.d.ts +5 -2
  158. package/types/frame-ui-ng-components-spinner.d.ts +1 -0
  159. package/types/frame-ui-ng-components-switch.d.ts +6 -0
  160. package/types/frame-ui-ng-components-table.d.ts +26 -0
  161. package/types/frame-ui-ng-components-tabs.d.ts +4 -0
  162. package/types/frame-ui-ng-components-textarea.d.ts +1 -0
  163. package/types/frame-ui-ng-components-toast.d.ts +2 -0
  164. package/types/frame-ui-ng-components-toggle.d.ts +8 -2
  165. package/types/frame-ui-ng-components-tooltip.d.ts +6 -2
  166. package/types/frame-ui-ng-components-utils.d.ts +3 -1
  167. package/types/frame-ui-ng-components-virtual-scroll.d.ts +11 -2
  168. package/types/frame-ui-ng-components.d.ts +507 -80
@@ -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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"}
@@ -1,10 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, TemplateRef, input, booleanAttribute, Directive, Component, Injector, Injectable, DestroyRef, ElementRef, ViewContainerRef, output, signal, NgModule } from '@angular/core';
2
+ import { inject, TemplateRef, input, booleanAttribute, Directive, InjectionToken, Component, Injector, Injectable, DestroyRef, ElementRef, ViewContainerRef, output, signal, NgModule } from '@angular/core';
3
3
  import { DialogRef, DIALOG_DATA, Dialog } from '@angular/cdk/dialog';
4
+ import { valueToCssSize } from '@frame-ui-ng/components/utils';
4
5
  import { NgComponentOutlet } from '@angular/common';
5
6
  import { FrButton, FrButtonLabel } from '@frame-ui-ng/components/button';
6
7
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
8
 
9
+ /** Content slot for modal. */
8
10
  class FrModalContent {
9
11
  templateRef = inject((TemplateRef));
10
12
  ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
@@ -57,6 +59,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
57
59
  }]
58
60
  }], 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
61
 
62
+ /** Reference handle for an opened modal. */
63
+ class FrModalRef extends DialogRef {
64
+ }
65
+
66
+ const FR_MODAL_DATA = DIALOG_DATA;
67
+ const FR_MODAL_PANEL_LAYOUT = new InjectionToken('FrModalPanelLayout');
68
+ const FR_MODAL_REF = FrModalRef;
69
+
70
+ /** Close control for modal. */
60
71
  class FrModalClose {
61
72
  dialogRef = inject(DialogRef, { optional: true });
62
73
  result = input(undefined, { ...(ngDevMode ? { debugName: "result" } : /* istanbul ignore next */ {}), alias: 'frModalClose' });
@@ -76,24 +87,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
76
87
  },
77
88
  }]
78
89
  }], propDecorators: { result: [{ type: i0.Input, args: [{ isSignal: true, alias: "frModalClose", required: false }] }] } });
90
+ /** Panel slot for modal. */
79
91
  class FrModalPanel {
92
+ panelLayout = inject(FR_MODAL_PANEL_LAYOUT, { optional: true });
80
93
  scrollable = input(false, { ...(ngDevMode ? { debugName: "scrollable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
81
94
  showCloseButton = input(true, { ...(ngDevMode ? { debugName: "showCloseButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
82
95
  size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
83
96
  stickyFooter = input(false, { ...(ngDevMode ? { debugName: "stickyFooter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
84
97
  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
- }
98
+ 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()", "style.height": "panelLayout?.height ?? null", "style.max-height": "panelLayout?.maxHeight ?? null", "style.max-width": "panelLayout?.maxWidth ?? null", "style.min-height": "panelLayout?.minHeight ?? null", "style.min-width": "panelLayout?.minWidth ?? null", "style.width": "panelLayout?.width ?? null" }, classAttribute: "frame-modal__panel" }, ngImport: i0, template: `
99
+ <ng-content />
100
+ @if (showCloseButton()) {
101
+ <button
102
+ class="frame-modal__close"
103
+ frModalClose
104
+ type="button"
105
+ aria-label="Close dialog"
106
+ >
107
+ <span aria-hidden="true">×</span>
108
+ </button>
109
+ }
97
110
  `, isInline: true, dependencies: [{ kind: "directive", type: FrModalClose, selector: "[frModalClose]", inputs: ["frModalClose"] }] });
98
111
  }
99
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalPanel, decorators: [{
@@ -105,23 +118,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
105
118
  '[attr.data-scrollable]': 'scrollable() ? "" : null',
106
119
  '[attr.data-sticky-footer]': 'stickyFooter() ? "" : null',
107
120
  '[attr.data-size]': 'size()',
121
+ '[style.height]': 'panelLayout?.height ?? null',
122
+ '[style.max-height]': 'panelLayout?.maxHeight ?? null',
123
+ '[style.max-width]': 'panelLayout?.maxWidth ?? null',
124
+ '[style.min-height]': 'panelLayout?.minHeight ?? null',
125
+ '[style.min-width]': 'panelLayout?.minWidth ?? null',
126
+ '[style.width]': 'panelLayout?.width ?? null',
108
127
  },
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
- }
128
+ template: `
129
+ <ng-content />
130
+ @if (showCloseButton()) {
131
+ <button
132
+ class="frame-modal__close"
133
+ frModalClose
134
+ type="button"
135
+ aria-label="Close dialog"
136
+ >
137
+ <span aria-hidden="true">×</span>
138
+ </button>
139
+ }
121
140
  `,
122
141
  imports: [FrModalClose],
123
142
  }]
124
143
  }], 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 }] }] } });
144
+ /** Header slot for modal. */
125
145
  class FrModalHeader {
126
146
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
127
147
  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 +155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
135
155
  },
136
156
  }]
137
157
  }] });
158
+ /** Body slot for modal. */
138
159
  class FrModalBody {
139
160
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalBody, deps: [], target: i0.ɵɵFactoryTarget.Directive });
140
161
  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 +169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
148
169
  },
149
170
  }]
150
171
  }] });
172
+ /** Footer slot for modal. */
151
173
  class FrModalFooter {
152
174
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
153
175
  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 +183,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
161
183
  },
162
184
  }]
163
185
  }] });
186
+ /** Title slot for modal. */
164
187
  class FrModalTitle {
165
188
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
166
189
  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 +197,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
174
197
  },
175
198
  }]
176
199
  }] });
200
+ /** Description slot for modal. */
177
201
  class FrModalDescription {
178
202
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
179
203
  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 +212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
188
212
  }]
189
213
  }] });
190
214
 
191
- class FrModalRef extends DialogRef {
192
- }
193
-
194
- const FR_MODAL_DATA = DIALOG_DATA;
195
- const FR_MODAL_REF = FrModalRef;
196
-
215
+ /** Default shell for modal content, title, and footer actions. */
197
216
  class FrModalShell {
198
217
  dialogRef = inject((DialogRef));
199
218
  injector = inject(Injector);
@@ -213,51 +232,51 @@ class FrModalShell {
213
232
  }
214
233
  }
215
234
  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>
235
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrModalShell, isStandalone: true, selector: "frame-modal-shell", ngImport: i0, template: `
236
+ <div
237
+ frModalPanel
238
+ [size]="options.size ?? 'md'"
239
+ [showCloseButton]="options.showCloseButton ?? true"
240
+ [scrollable]="options.scrollable ?? false"
241
+ [stickyFooter]="options.stickyFooter ?? false"
242
+ >
243
+ @if (options.title || options.description) {
244
+ <div frModalHeader>
245
+ @if (options.title) {
246
+ <h2 frModalTitle>{{ options.title }}</h2>
247
+ }
248
+
249
+ @if (options.description) {
250
+ <p frModalDescription>{{ options.description }}</p>
251
+ }
252
+ </div>
253
+ }
254
+
255
+ <div frModalBody>
256
+ <ng-container
257
+ [ngComponentOutlet]="options.bodyComponent"
258
+ [ngComponentOutletInputs]="options.bodyInputs ?? {}"
259
+ [ngComponentOutletInjector]="bodyInjector"
260
+ />
261
+ </div>
262
+
263
+ @if (options.footerActions?.length) {
264
+ <div frModalFooter>
265
+ @for (action of options.footerActions; track action.label) {
266
+ <button
267
+ frButton
268
+ type="button"
269
+ [appearance]="action.appearance ?? 'primary'"
270
+ [disabled]="action.disabled ?? false"
271
+ [attr.aria-label]="action.ariaLabel ?? null"
272
+ (click)="handleAction(action)"
273
+ >
274
+ <span frButtonLabel>{{ action.label }}</span>
275
+ </button>
276
+ }
277
+ </div>
278
+ }
279
+ </div>
261
280
  `, 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
281
  }
263
282
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalShell, decorators: [{
@@ -275,57 +294,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
275
294
  FrModalTitle,
276
295
  NgComponentOutlet,
277
296
  ],
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>
297
+ template: `
298
+ <div
299
+ frModalPanel
300
+ [size]="options.size ?? 'md'"
301
+ [showCloseButton]="options.showCloseButton ?? true"
302
+ [scrollable]="options.scrollable ?? false"
303
+ [stickyFooter]="options.stickyFooter ?? false"
304
+ >
305
+ @if (options.title || options.description) {
306
+ <div frModalHeader>
307
+ @if (options.title) {
308
+ <h2 frModalTitle>{{ options.title }}</h2>
309
+ }
310
+
311
+ @if (options.description) {
312
+ <p frModalDescription>{{ options.description }}</p>
313
+ }
314
+ </div>
315
+ }
316
+
317
+ <div frModalBody>
318
+ <ng-container
319
+ [ngComponentOutlet]="options.bodyComponent"
320
+ [ngComponentOutletInputs]="options.bodyInputs ?? {}"
321
+ [ngComponentOutletInjector]="bodyInjector"
322
+ />
323
+ </div>
324
+
325
+ @if (options.footerActions?.length) {
326
+ <div frModalFooter>
327
+ @for (action of options.footerActions; track action.label) {
328
+ <button
329
+ frButton
330
+ type="button"
331
+ [appearance]="action.appearance ?? 'primary'"
332
+ [disabled]="action.disabled ?? false"
333
+ [attr.aria-label]="action.ariaLabel ?? null"
334
+ (click)="handleAction(action)"
335
+ >
336
+ <span frButtonLabel>{{ action.label }}</span>
337
+ </button>
338
+ }
339
+ </div>
340
+ }
341
+ </div>
323
342
  `,
324
343
  }]
325
344
  }] });
326
345
 
327
346
  const DEFAULT_PANEL_CLASS = 'frame-modal__overlay-pane';
328
347
  const DEFAULT_BACKDROP_CLASS = 'frame-modal__backdrop';
348
+ const DEFAULT_MAX_WIDTH = 'calc(100vw - 2rem)';
349
+ /** Service for opening modal dialogs. */
329
350
  class FrModalService {
330
351
  dialog = inject(Dialog);
331
352
  open(content, dataOrConfig, config) {
@@ -358,11 +379,11 @@ class FrModalService {
358
379
  ariaModal: true,
359
380
  autoFocus: 'first-tabbable',
360
381
  restoreFocus: true,
361
- maxWidth: 'calc(100vw - 2rem)',
382
+ maxWidth: DEFAULT_MAX_WIDTH,
362
383
  ...config,
363
384
  panelClass: mergeClassList(config.panelClass, DEFAULT_PANEL_CLASS),
364
385
  backdropClass: mergeClassList(config.backdropClass, DEFAULT_BACKDROP_CLASS),
365
- providers: withModalRefProvider(config.providers),
386
+ providers: withModalProviders(config.providers, modalPanelLayoutFromConfig(config)),
366
387
  };
367
388
  }
368
389
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -397,6 +418,7 @@ function resolveOpenConfig(content, dataOrConfig, config) {
397
418
  if (!isComponentType(content)) {
398
419
  return (dataOrConfig ?? {});
399
420
  }
421
+ // Component opens support the shorthand `open(Component, data, config)` shape.
400
422
  if (config) {
401
423
  return {
402
424
  ...config,
@@ -406,6 +428,7 @@ function resolveOpenConfig(content, dataOrConfig, config) {
406
428
  if (dataOrConfig === undefined) {
407
429
  return {};
408
430
  }
431
+ // Without a third argument, distinguish raw data from a full modal config by known keys.
409
432
  if (isModalConfig(dataOrConfig)) {
410
433
  return dataOrConfig;
411
434
  }
@@ -462,17 +485,33 @@ function mergeClassList(classList, defaultClass) {
462
485
  : [];
463
486
  return Array.from(new Set([defaultClass, ...classes].filter(Boolean)));
464
487
  }
465
- function withModalRefProvider(providers) {
466
- const modalRefProvider = { provide: FrModalRef, useExisting: DialogRef };
488
+ function modalPanelLayoutFromConfig(config) {
489
+ const layout = {
490
+ height: valueToCssSize(config.height),
491
+ maxHeight: valueToCssSize(config.maxHeight),
492
+ maxWidth: valueToCssSize(config.maxWidth ?? (config.width ? DEFAULT_MAX_WIDTH : undefined)),
493
+ minHeight: valueToCssSize(config.minHeight),
494
+ minWidth: valueToCssSize(config.minWidth),
495
+ width: valueToCssSize(config.width),
496
+ };
497
+ const hasLayout = Object.values(layout).some((value) => value !== undefined);
498
+ return hasLayout ? layout : null;
499
+ }
500
+ function withModalProviders(providers, panelLayout) {
501
+ const defaultProviders = [
502
+ { provide: FrModalRef, useExisting: DialogRef },
503
+ ...(panelLayout ? [{ provide: FR_MODAL_PANEL_LAYOUT, useValue: panelLayout }] : []),
504
+ ];
467
505
  if (typeof providers === 'function') {
468
506
  return (dialogRef, config, container) => [
469
- modalRefProvider,
507
+ ...defaultProviders,
470
508
  ...providers(dialogRef, config, container),
471
509
  ];
472
510
  }
473
- return [modalRefProvider, ...(providers ?? [])];
511
+ return [...defaultProviders, ...(providers ?? [])];
474
512
  }
475
513
 
514
+ /** Trigger control for modal. */
476
515
  class FrModalTrigger {
477
516
  static CUSTOM_PROPERTY_PREFIX = '--frame-modal-';
478
517
  destroyRef = inject(DestroyRef);
@@ -599,5 +638,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
599
638
  * Generated bundle index. Do not edit.
600
639
  */
601
640
 
602
- export { FR_MODAL_DATA, FR_MODAL_REF, FrModalBody, FrModalClose, FrModalContent, FrModalDescription, FrModalFooter, FrModalHeader, FrModalModule, FrModalPanel, FrModalRef, FrModalService, FrModalShell, FrModalTitle, FrModalTrigger };
641
+ export { FR_MODAL_DATA, FR_MODAL_PANEL_LAYOUT, FR_MODAL_REF, FrModalBody, FrModalClose, FrModalContent, FrModalDescription, FrModalFooter, FrModalHeader, FrModalModule, FrModalPanel, FrModalRef, FrModalService, FrModalShell, FrModalTitle, FrModalTrigger };
603
642
  //# sourceMappingURL=frame-ui-ng-components-modal.mjs.map