@frame-ui-ng/components 0.1.0-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 (249) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +31 -0
  3. package/accordion/src/styles/_vars.css +25 -0
  4. package/accordion/src/styles/accordion.css +87 -0
  5. package/alert/src/styles/_vars.css +28 -0
  6. package/alert/src/styles/alert.css +77 -0
  7. package/avatar/src/styles/_vars.css +34 -0
  8. package/avatar/src/styles/avatar.css +209 -0
  9. package/badge/src/styles/_vars.css +16 -0
  10. package/badge/src/styles/badge.css +125 -0
  11. package/breadcrumb/src/styles/_vars.css +16 -0
  12. package/breadcrumb/src/styles/breadcrumb.css +98 -0
  13. package/button/src/styles/_vars.css +20 -0
  14. package/button/src/styles/button-icon.css +18 -0
  15. package/button/src/styles/button-label.css +3 -0
  16. package/button/src/styles/button.css +243 -0
  17. package/button-group/src/styles/button-group.css +69 -0
  18. package/calendar/src/styles/_vars.css +29 -0
  19. package/calendar/src/styles/calendar.css +226 -0
  20. package/card/src/styles/_vars.css +17 -0
  21. package/card/src/styles/card.css +142 -0
  22. package/carousel/src/styles/_vars.css +7 -0
  23. package/carousel/src/styles/carousel.css +89 -0
  24. package/checkbox/src/styles/_vars.css +22 -0
  25. package/checkbox/src/styles/checkbox.css +95 -0
  26. package/collapsible/src/styles/_vars.css +13 -0
  27. package/collapsible/src/styles/collapsible.css +42 -0
  28. package/combobox/src/styles/_vars.css +60 -0
  29. package/combobox/src/styles/combobox.css +285 -0
  30. package/command/src/styles/_vars.css +37 -0
  31. package/command/src/styles/command.css +171 -0
  32. package/context-menu/src/styles/context-menu.css +5 -0
  33. package/date-picker/src/styles/_vars.css +29 -0
  34. package/date-picker/src/styles/date-picker.css +177 -0
  35. package/dropdown-menu/src/styles/_vars.css +34 -0
  36. package/dropdown-menu/src/styles/dropdown-menu-item.css +87 -0
  37. package/dropdown-menu/src/styles/dropdown-menu-motion.css +42 -0
  38. package/dropdown-menu/src/styles/dropdown-menu-panel.css +26 -0
  39. package/dropdown-menu/src/styles/dropdown-menu.css +4 -0
  40. package/empty/src/styles/_vars.css +23 -0
  41. package/empty/src/styles/empty.css +108 -0
  42. package/fesm2022/frame-ui-ng-components-accordion.mjs +268 -0
  43. package/fesm2022/frame-ui-ng-components-accordion.mjs.map +1 -0
  44. package/fesm2022/frame-ui-ng-components-alert.mjs +102 -0
  45. package/fesm2022/frame-ui-ng-components-alert.mjs.map +1 -0
  46. package/fesm2022/frame-ui-ng-components-avatar.mjs +197 -0
  47. package/fesm2022/frame-ui-ng-components-avatar.mjs.map +1 -0
  48. package/fesm2022/frame-ui-ng-components-badge.mjs +120 -0
  49. package/fesm2022/frame-ui-ng-components-badge.mjs.map +1 -0
  50. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs +156 -0
  51. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs.map +1 -0
  52. package/fesm2022/frame-ui-ng-components-button-group.mjs +44 -0
  53. package/fesm2022/frame-ui-ng-components-button-group.mjs.map +1 -0
  54. package/fesm2022/frame-ui-ng-components-button.mjs +150 -0
  55. package/fesm2022/frame-ui-ng-components-button.mjs.map +1 -0
  56. package/fesm2022/frame-ui-ng-components-calendar.mjs +559 -0
  57. package/fesm2022/frame-ui-ng-components-calendar.mjs.map +1 -0
  58. package/fesm2022/frame-ui-ng-components-card.mjs +169 -0
  59. package/fesm2022/frame-ui-ng-components-card.mjs.map +1 -0
  60. package/fesm2022/frame-ui-ng-components-carousel.mjs +454 -0
  61. package/fesm2022/frame-ui-ng-components-carousel.mjs.map +1 -0
  62. package/fesm2022/frame-ui-ng-components-checkbox.mjs +83 -0
  63. package/fesm2022/frame-ui-ng-components-checkbox.mjs.map +1 -0
  64. package/fesm2022/frame-ui-ng-components-collapsible.mjs +191 -0
  65. package/fesm2022/frame-ui-ng-components-collapsible.mjs.map +1 -0
  66. package/fesm2022/frame-ui-ng-components-combobox.mjs +859 -0
  67. package/fesm2022/frame-ui-ng-components-combobox.mjs.map +1 -0
  68. package/fesm2022/frame-ui-ng-components-command.mjs +658 -0
  69. package/fesm2022/frame-ui-ng-components-command.mjs.map +1 -0
  70. package/fesm2022/frame-ui-ng-components-context-menu.mjs +579 -0
  71. package/fesm2022/frame-ui-ng-components-context-menu.mjs.map +1 -0
  72. package/fesm2022/frame-ui-ng-components-date-picker.mjs +512 -0
  73. package/fesm2022/frame-ui-ng-components-date-picker.mjs.map +1 -0
  74. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +647 -0
  75. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -0
  76. package/fesm2022/frame-ui-ng-components-empty.mjs +134 -0
  77. package/fesm2022/frame-ui-ng-components-empty.mjs.map +1 -0
  78. package/fesm2022/frame-ui-ng-components-field.mjs +210 -0
  79. package/fesm2022/frame-ui-ng-components-field.mjs.map +1 -0
  80. package/fesm2022/frame-ui-ng-components-forms.mjs +89 -0
  81. package/fesm2022/frame-ui-ng-components-forms.mjs.map +1 -0
  82. package/fesm2022/frame-ui-ng-components-hover-card.mjs +412 -0
  83. package/fesm2022/frame-ui-ng-components-hover-card.mjs.map +1 -0
  84. package/fesm2022/frame-ui-ng-components-input-otp.mjs +327 -0
  85. package/fesm2022/frame-ui-ng-components-input-otp.mjs.map +1 -0
  86. package/fesm2022/frame-ui-ng-components-input.mjs +250 -0
  87. package/fesm2022/frame-ui-ng-components-input.mjs.map +1 -0
  88. package/fesm2022/frame-ui-ng-components-item.mjs +207 -0
  89. package/fesm2022/frame-ui-ng-components-item.mjs.map +1 -0
  90. package/fesm2022/frame-ui-ng-components-menubar.mjs +371 -0
  91. package/fesm2022/frame-ui-ng-components-menubar.mjs.map +1 -0
  92. package/fesm2022/frame-ui-ng-components-modal.mjs +525 -0
  93. package/fesm2022/frame-ui-ng-components-modal.mjs.map +1 -0
  94. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs +322 -0
  95. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs.map +1 -0
  96. package/fesm2022/frame-ui-ng-components-pagination.mjs +327 -0
  97. package/fesm2022/frame-ui-ng-components-pagination.mjs.map +1 -0
  98. package/fesm2022/frame-ui-ng-components-popover.mjs +454 -0
  99. package/fesm2022/frame-ui-ng-components-popover.mjs.map +1 -0
  100. package/fesm2022/frame-ui-ng-components-progress.mjs +96 -0
  101. package/fesm2022/frame-ui-ng-components-progress.mjs.map +1 -0
  102. package/fesm2022/frame-ui-ng-components-radio-group.mjs +124 -0
  103. package/fesm2022/frame-ui-ng-components-radio-group.mjs.map +1 -0
  104. package/fesm2022/frame-ui-ng-components-resizable.mjs +325 -0
  105. package/fesm2022/frame-ui-ng-components-resizable.mjs.map +1 -0
  106. package/fesm2022/frame-ui-ng-components-select.mjs +434 -0
  107. package/fesm2022/frame-ui-ng-components-select.mjs.map +1 -0
  108. package/fesm2022/frame-ui-ng-components-separator.mjs +51 -0
  109. package/fesm2022/frame-ui-ng-components-separator.mjs.map +1 -0
  110. package/fesm2022/frame-ui-ng-components-sheet.mjs +514 -0
  111. package/fesm2022/frame-ui-ng-components-sheet.mjs.map +1 -0
  112. package/fesm2022/frame-ui-ng-components-sidebar.mjs +628 -0
  113. package/fesm2022/frame-ui-ng-components-sidebar.mjs.map +1 -0
  114. package/fesm2022/frame-ui-ng-components-skeleton.mjs +46 -0
  115. package/fesm2022/frame-ui-ng-components-skeleton.mjs.map +1 -0
  116. package/fesm2022/frame-ui-ng-components-slider.mjs +279 -0
  117. package/fesm2022/frame-ui-ng-components-slider.mjs.map +1 -0
  118. package/fesm2022/frame-ui-ng-components-spinner.mjs +51 -0
  119. package/fesm2022/frame-ui-ng-components-spinner.mjs.map +1 -0
  120. package/fesm2022/frame-ui-ng-components-switch.mjs +130 -0
  121. package/fesm2022/frame-ui-ng-components-switch.mjs.map +1 -0
  122. package/fesm2022/frame-ui-ng-components-table.mjs +594 -0
  123. package/fesm2022/frame-ui-ng-components-table.mjs.map +1 -0
  124. package/fesm2022/frame-ui-ng-components-tabs.mjs +208 -0
  125. package/fesm2022/frame-ui-ng-components-tabs.mjs.map +1 -0
  126. package/fesm2022/frame-ui-ng-components-textarea.mjs +40 -0
  127. package/fesm2022/frame-ui-ng-components-textarea.mjs.map +1 -0
  128. package/fesm2022/frame-ui-ng-components-toast.mjs +346 -0
  129. package/fesm2022/frame-ui-ng-components-toast.mjs.map +1 -0
  130. package/fesm2022/frame-ui-ng-components-toggle.mjs +127 -0
  131. package/fesm2022/frame-ui-ng-components-toggle.mjs.map +1 -0
  132. package/fesm2022/frame-ui-ng-components-tooltip.mjs +425 -0
  133. package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -0
  134. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs +321 -0
  135. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs.map +1 -0
  136. package/fesm2022/frame-ui-ng-components.mjs +10278 -0
  137. package/fesm2022/frame-ui-ng-components.mjs.map +1 -0
  138. package/field/src/styles/_vars.css +20 -0
  139. package/field/src/styles/field.css +165 -0
  140. package/hover-card/src/styles/_vars.css +21 -0
  141. package/hover-card/src/styles/hover-card.css +76 -0
  142. package/input/src/styles/_vars.css +65 -0
  143. package/input/src/styles/input-group.css +112 -0
  144. package/input/src/styles/input.css +163 -0
  145. package/input-otp/src/styles/_vars.css +21 -0
  146. package/input-otp/src/styles/input-otp.css +116 -0
  147. package/item/src/styles/_vars.css +34 -0
  148. package/item/src/styles/item.css +187 -0
  149. package/menubar/src/styles/_vars.css +22 -0
  150. package/menubar/src/styles/menubar.css +70 -0
  151. package/modal/src/styles/_vars.css +18 -0
  152. package/modal/src/styles/modal.css +179 -0
  153. package/navigation-menu/src/styles/_vars.css +45 -0
  154. package/navigation-menu/src/styles/navigation-menu.css +245 -0
  155. package/package.json +243 -0
  156. package/pagination/src/styles/_vars.css +22 -0
  157. package/pagination/src/styles/pagination.css +138 -0
  158. package/popover/src/styles/_vars.css +24 -0
  159. package/popover/src/styles/popover.css +101 -0
  160. package/progress/src/styles/_vars.css +15 -0
  161. package/progress/src/styles/progress.css +64 -0
  162. package/radio-group/src/styles/_vars.css +29 -0
  163. package/radio-group/src/styles/radio-group.css +137 -0
  164. package/resizable/src/styles/_vars.css +20 -0
  165. package/resizable/src/styles/resizable.css +130 -0
  166. package/select/src/styles/_vars.css +28 -0
  167. package/select/src/styles/select-content.css +19 -0
  168. package/select/src/styles/select-feedback.css +6 -0
  169. package/select/src/styles/select-item.css +69 -0
  170. package/select/src/styles/select-trigger.css +95 -0
  171. package/select/src/styles/select.css +5 -0
  172. package/separator/src/styles/_vars.css +9 -0
  173. package/separator/src/styles/separator.css +25 -0
  174. package/sheet/src/styles/_vars.css +18 -0
  175. package/sheet/src/styles/sheet.css +215 -0
  176. package/sidebar/src/styles/_vars.css +24 -0
  177. package/sidebar/src/styles/sidebar.css +531 -0
  178. package/skeleton/src/styles/_vars.css +8 -0
  179. package/skeleton/src/styles/skeleton.css +40 -0
  180. package/slider/src/styles/_vars.css +17 -0
  181. package/slider/src/styles/slider.css +147 -0
  182. package/spinner/src/styles/_vars.css +9 -0
  183. package/spinner/src/styles/spinner.css +62 -0
  184. package/src/styles/components.css +47 -0
  185. package/styles/components.css +47 -0
  186. package/styles.css +49 -0
  187. package/switch/src/styles/_vars.css +34 -0
  188. package/switch/src/styles/switch.css +131 -0
  189. package/table/src/styles/_vars.css +25 -0
  190. package/table/src/styles/table.css +245 -0
  191. package/tabs/src/styles/_vars.css +23 -0
  192. package/tabs/src/styles/tabs.css +164 -0
  193. package/textarea/src/styles/_vars.css +20 -0
  194. package/textarea/src/styles/textarea.css +60 -0
  195. package/toast/src/styles/_vars.css +47 -0
  196. package/toast/src/styles/toast.css +314 -0
  197. package/toggle/src/styles/_vars.css +24 -0
  198. package/toggle/src/styles/toggle.css +110 -0
  199. package/tooltip/src/styles/_vars.css +21 -0
  200. package/tooltip/src/styles/tooltip.css +103 -0
  201. package/types/frame-ui-ng-components-accordion.d.ts +75 -0
  202. package/types/frame-ui-ng-components-alert.d.ts +30 -0
  203. package/types/frame-ui-ng-components-avatar.d.ts +65 -0
  204. package/types/frame-ui-ng-components-badge.d.ts +35 -0
  205. package/types/frame-ui-ng-components-breadcrumb.d.ts +40 -0
  206. package/types/frame-ui-ng-components-button-group.d.ts +18 -0
  207. package/types/frame-ui-ng-components-button.d.ts +50 -0
  208. package/types/frame-ui-ng-components-calendar.d.ts +101 -0
  209. package/types/frame-ui-ng-components-card.d.ts +51 -0
  210. package/types/frame-ui-ng-components-carousel.d.ts +117 -0
  211. package/types/frame-ui-ng-components-checkbox.d.ts +25 -0
  212. package/types/frame-ui-ng-components-collapsible.d.ts +55 -0
  213. package/types/frame-ui-ng-components-combobox.d.ts +201 -0
  214. package/types/frame-ui-ng-components-command.d.ts +198 -0
  215. package/types/frame-ui-ng-components-context-menu.d.ts +149 -0
  216. package/types/frame-ui-ng-components-date-picker.d.ts +95 -0
  217. package/types/frame-ui-ng-components-dropdown-menu.d.ts +182 -0
  218. package/types/frame-ui-ng-components-empty.d.ts +44 -0
  219. package/types/frame-ui-ng-components-field.d.ts +60 -0
  220. package/types/frame-ui-ng-components-forms.d.ts +39 -0
  221. package/types/frame-ui-ng-components-hover-card.d.ts +94 -0
  222. package/types/frame-ui-ng-components-input-otp.d.ts +70 -0
  223. package/types/frame-ui-ng-components-input.d.ts +67 -0
  224. package/types/frame-ui-ng-components-item.d.ts +62 -0
  225. package/types/frame-ui-ng-components-menubar.d.ts +76 -0
  226. package/types/frame-ui-ng-components-modal.d.ts +148 -0
  227. package/types/frame-ui-ng-components-navigation-menu.d.ts +74 -0
  228. package/types/frame-ui-ng-components-pagination.d.ts +79 -0
  229. package/types/frame-ui-ng-components-popover.d.ts +95 -0
  230. package/types/frame-ui-ng-components-progress.d.ts +24 -0
  231. package/types/frame-ui-ng-components-radio-group.d.ts +40 -0
  232. package/types/frame-ui-ng-components-resizable.d.ts +61 -0
  233. package/types/frame-ui-ng-components-select.d.ts +114 -0
  234. package/types/frame-ui-ng-components-separator.d.ts +19 -0
  235. package/types/frame-ui-ng-components-sheet.d.ts +146 -0
  236. package/types/frame-ui-ng-components-sidebar.d.ts +163 -0
  237. package/types/frame-ui-ng-components-skeleton.d.ts +18 -0
  238. package/types/frame-ui-ng-components-slider.d.ts +56 -0
  239. package/types/frame-ui-ng-components-spinner.d.ts +23 -0
  240. package/types/frame-ui-ng-components-switch.d.ts +38 -0
  241. package/types/frame-ui-ng-components-table.d.ts +125 -0
  242. package/types/frame-ui-ng-components-tabs.d.ts +62 -0
  243. package/types/frame-ui-ng-components-textarea.d.ts +14 -0
  244. package/types/frame-ui-ng-components-toast.d.ts +74 -0
  245. package/types/frame-ui-ng-components-toggle.d.ts +45 -0
  246. package/types/frame-ui-ng-components-tooltip.d.ts +99 -0
  247. package/types/frame-ui-ng-components-virtual-scroll.d.ts +106 -0
  248. package/types/frame-ui-ng-components.d.ts +2746 -0
  249. package/virtual-scroll/src/styles/virtual-scroll.css +54 -0
@@ -0,0 +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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"}
@@ -0,0 +1,525 @@
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';
3
+ import { DialogRef, DIALOG_DATA, Dialog } from '@angular/cdk/dialog';
4
+ import { NgComponentOutlet } from '@angular/common';
5
+ import { FrButton, FrButtonLabel } from '@frame-ui-ng/components/button';
6
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
+
8
+ class FrModalContent {
9
+ templateRef = inject((TemplateRef));
10
+ ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
11
+ ariaLabelledBy = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledBy" } : /* istanbul ignore next */ {}), alias: 'aria-labelledby' });
12
+ ariaDescribedBy = input(null, { ...(ngDevMode ? { debugName: "ariaDescribedBy" } : /* istanbul ignore next */ {}), alias: 'aria-describedby' });
13
+ backdropClass = input(null, ...(ngDevMode ? [{ debugName: "backdropClass" }] : /* istanbul ignore next */ []));
14
+ closeOnDestroy = input(true, { ...(ngDevMode ? { debugName: "closeOnDestroy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
15
+ closeOnNavigation = input(true, { ...(ngDevMode ? { debugName: "closeOnNavigation" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
16
+ direction = input(null, ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
17
+ disableClose = input(false, { ...(ngDevMode ? { debugName: "disableClose" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
18
+ height = input(null, ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
19
+ id = input(null, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
20
+ maxHeight = input(null, ...(ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ []));
21
+ maxWidth = input(null, ...(ngDevMode ? [{ debugName: "maxWidth" }] : /* istanbul ignore next */ []));
22
+ minHeight = input(null, ...(ngDevMode ? [{ debugName: "minHeight" }] : /* istanbul ignore next */ []));
23
+ minWidth = input(null, ...(ngDevMode ? [{ debugName: "minWidth" }] : /* istanbul ignore next */ []));
24
+ panelClass = input(null, ...(ngDevMode ? [{ debugName: "panelClass" }] : /* istanbul ignore next */ []));
25
+ role = input('dialog', ...(ngDevMode ? [{ debugName: "role" }] : /* istanbul ignore next */ []));
26
+ width = input(null, ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
27
+ buildConfig(viewContainerRef) {
28
+ return {
29
+ ariaLabel: this.ariaLabel() ?? undefined,
30
+ ariaLabelledBy: this.ariaLabelledBy() ?? undefined,
31
+ ariaDescribedBy: this.ariaDescribedBy() ?? undefined,
32
+ backdropClass: this.backdropClass() ?? undefined,
33
+ closeOnDestroy: this.closeOnDestroy(),
34
+ closeOnNavigation: this.closeOnNavigation(),
35
+ direction: this.direction() ?? undefined,
36
+ disableClose: this.disableClose(),
37
+ height: this.height() ?? undefined,
38
+ id: this.id() ?? undefined,
39
+ maxHeight: this.maxHeight() ?? undefined,
40
+ maxWidth: this.maxWidth() ?? undefined,
41
+ minHeight: this.minHeight() ?? undefined,
42
+ minWidth: this.minWidth() ?? undefined,
43
+ panelClass: this.panelClass() ?? undefined,
44
+ role: this.role(),
45
+ viewContainerRef,
46
+ width: this.width() ?? undefined,
47
+ };
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
50
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: FrModalContent, isStandalone: true, selector: "ng-template[frModalContent]", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null }, closeOnDestroy: { classPropertyName: "closeOnDestroy", publicName: "closeOnDestroy", isSignal: true, isRequired: false, transformFunction: null }, closeOnNavigation: { classPropertyName: "closeOnNavigation", publicName: "closeOnNavigation", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, disableClose: { classPropertyName: "disableClose", publicName: "disableClose", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["frModalContent"], ngImport: i0 });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalContent, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ selector: 'ng-template[frModalContent]',
56
+ exportAs: 'frModalContent',
57
+ }]
58
+ }], 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
+ class FrModalClose {
61
+ dialogRef = inject(DialogRef, { optional: true });
62
+ result = input(undefined, { ...(ngDevMode ? { debugName: "result" } : /* istanbul ignore next */ {}), alias: 'frModalClose' });
63
+ close() {
64
+ this.dialogRef?.close(this.result());
65
+ }
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalClose, deps: [], target: i0.ɵɵFactoryTarget.Directive });
67
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: FrModalClose, isStandalone: true, selector: "[frModalClose]", inputs: { result: { classPropertyName: "result", publicName: "frModalClose", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "close()" }, classAttribute: "frame-modal__close-control" }, ngImport: i0 });
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalClose, decorators: [{
70
+ type: Directive,
71
+ args: [{
72
+ selector: '[frModalClose]',
73
+ host: {
74
+ class: 'frame-modal__close-control',
75
+ '(click)': 'close()',
76
+ },
77
+ }]
78
+ }], propDecorators: { result: [{ type: i0.Input, args: [{ isSignal: true, alias: "frModalClose", required: false }] }] } });
79
+ class FrModalPanel {
80
+ scrollable = input(false, { ...(ngDevMode ? { debugName: "scrollable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
81
+ showCloseButton = input(true, { ...(ngDevMode ? { debugName: "showCloseButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
82
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
83
+ stickyFooter = input(false, { ...(ngDevMode ? { debugName: "stickyFooter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
84
+ 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
+ }
97
+ `, isInline: true, dependencies: [{ kind: "directive", type: FrModalClose, selector: "[frModalClose]", inputs: ["frModalClose"] }] });
98
+ }
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalPanel, decorators: [{
100
+ type: Component,
101
+ args: [{
102
+ selector: '[frModalPanel], frame-modal-panel',
103
+ host: {
104
+ class: 'frame-modal__panel',
105
+ '[attr.data-scrollable]': 'scrollable() ? "" : null',
106
+ '[attr.data-sticky-footer]': 'stickyFooter() ? "" : null',
107
+ '[attr.data-size]': 'size()',
108
+ },
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
+ }
121
+ `,
122
+ imports: [FrModalClose],
123
+ }]
124
+ }], 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 }] }] } });
125
+ class FrModalHeader {
126
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
127
+ 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 });
128
+ }
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalHeader, decorators: [{
130
+ type: Directive,
131
+ args: [{
132
+ selector: '[frModalHeader], frame-modal-header',
133
+ host: {
134
+ class: 'frame-modal__header',
135
+ },
136
+ }]
137
+ }] });
138
+ class FrModalBody {
139
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalBody, deps: [], target: i0.ɵɵFactoryTarget.Directive });
140
+ 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 });
141
+ }
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalBody, decorators: [{
143
+ type: Directive,
144
+ args: [{
145
+ selector: '[frModalBody], frame-modal-body',
146
+ host: {
147
+ class: 'frame-modal__body',
148
+ },
149
+ }]
150
+ }] });
151
+ class FrModalFooter {
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
153
+ 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 });
154
+ }
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalFooter, decorators: [{
156
+ type: Directive,
157
+ args: [{
158
+ selector: '[frModalFooter], frame-modal-footer',
159
+ host: {
160
+ class: 'frame-modal__footer',
161
+ },
162
+ }]
163
+ }] });
164
+ class FrModalTitle {
165
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
166
+ 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 });
167
+ }
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalTitle, decorators: [{
169
+ type: Directive,
170
+ args: [{
171
+ selector: '[frModalTitle], frame-modal-title',
172
+ host: {
173
+ class: 'frame-modal__title',
174
+ },
175
+ }]
176
+ }] });
177
+ class FrModalDescription {
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
179
+ 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 });
180
+ }
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalDescription, decorators: [{
182
+ type: Directive,
183
+ args: [{
184
+ selector: '[frModalDescription], frame-modal-description',
185
+ host: {
186
+ class: 'frame-modal__description',
187
+ },
188
+ }]
189
+ }] });
190
+
191
+ const FR_MODAL_DATA = DIALOG_DATA;
192
+
193
+ class FrModalShell {
194
+ dialogRef = inject((DialogRef));
195
+ injector = inject(Injector);
196
+ options = inject(DIALOG_DATA);
197
+ bodyInjector = Injector.create({
198
+ parent: this.injector,
199
+ providers: [
200
+ {
201
+ provide: FR_MODAL_DATA,
202
+ useValue: this.options.bodyData,
203
+ },
204
+ ],
205
+ });
206
+ handleAction(action) {
207
+ if (action.close ?? true) {
208
+ this.dialogRef.close(action.result);
209
+ }
210
+ }
211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalShell, deps: [], target: i0.ɵɵFactoryTarget.Component });
212
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrModalShell, isStandalone: true, selector: "frame-modal-shell", ngImport: i0, template: `
213
+ <div
214
+ frModalPanel
215
+ [size]="options.size ?? 'md'"
216
+ [showCloseButton]="options.showCloseButton ?? true"
217
+ [scrollable]="options.scrollable ?? false"
218
+ [stickyFooter]="options.stickyFooter ?? false"
219
+ >
220
+ @if (options.title || options.description) {
221
+ <div frModalHeader>
222
+ @if (options.title) {
223
+ <h2 frModalTitle>{{ options.title }}</h2>
224
+ }
225
+
226
+ @if (options.description) {
227
+ <p frModalDescription>{{ options.description }}</p>
228
+ }
229
+ </div>
230
+ }
231
+
232
+ <div frModalBody>
233
+ <ng-container
234
+ [ngComponentOutlet]="options.bodyComponent"
235
+ [ngComponentOutletInputs]="options.bodyInputs ?? {}"
236
+ [ngComponentOutletInjector]="bodyInjector"
237
+ />
238
+ </div>
239
+
240
+ @if (options.footerActions?.length) {
241
+ <div frModalFooter>
242
+ @for (action of options.footerActions; track action.label) {
243
+ <button
244
+ frButton
245
+ type="button"
246
+ [appearance]="action.appearance ?? 'primary'"
247
+ [disabled]="action.disabled ?? false"
248
+ [attr.aria-label]="action.ariaLabel ?? null"
249
+ (click)="handleAction(action)"
250
+ >
251
+ <span frButtonLabel>{{ action.label }}</span>
252
+ </button>
253
+ }
254
+ </div>
255
+ }
256
+ </div>
257
+ `, 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"] }] });
258
+ }
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalShell, decorators: [{
260
+ type: Component,
261
+ args: [{
262
+ selector: 'frame-modal-shell',
263
+ imports: [
264
+ FrButton,
265
+ FrButtonLabel,
266
+ FrModalBody,
267
+ FrModalDescription,
268
+ FrModalFooter,
269
+ FrModalHeader,
270
+ FrModalPanel,
271
+ FrModalTitle,
272
+ NgComponentOutlet,
273
+ ],
274
+ template: `
275
+ <div
276
+ frModalPanel
277
+ [size]="options.size ?? 'md'"
278
+ [showCloseButton]="options.showCloseButton ?? true"
279
+ [scrollable]="options.scrollable ?? false"
280
+ [stickyFooter]="options.stickyFooter ?? false"
281
+ >
282
+ @if (options.title || options.description) {
283
+ <div frModalHeader>
284
+ @if (options.title) {
285
+ <h2 frModalTitle>{{ options.title }}</h2>
286
+ }
287
+
288
+ @if (options.description) {
289
+ <p frModalDescription>{{ options.description }}</p>
290
+ }
291
+ </div>
292
+ }
293
+
294
+ <div frModalBody>
295
+ <ng-container
296
+ [ngComponentOutlet]="options.bodyComponent"
297
+ [ngComponentOutletInputs]="options.bodyInputs ?? {}"
298
+ [ngComponentOutletInjector]="bodyInjector"
299
+ />
300
+ </div>
301
+
302
+ @if (options.footerActions?.length) {
303
+ <div frModalFooter>
304
+ @for (action of options.footerActions; track action.label) {
305
+ <button
306
+ frButton
307
+ type="button"
308
+ [appearance]="action.appearance ?? 'primary'"
309
+ [disabled]="action.disabled ?? false"
310
+ [attr.aria-label]="action.ariaLabel ?? null"
311
+ (click)="handleAction(action)"
312
+ >
313
+ <span frButtonLabel>{{ action.label }}</span>
314
+ </button>
315
+ }
316
+ </div>
317
+ }
318
+ </div>
319
+ `,
320
+ }]
321
+ }] });
322
+
323
+ const DEFAULT_PANEL_CLASS = 'frame-modal__overlay-pane';
324
+ const DEFAULT_BACKDROP_CLASS = 'frame-modal__backdrop';
325
+ class FrModalService {
326
+ dialog = inject(Dialog);
327
+ open(content, config = {}) {
328
+ if (isComponentType(content) && hasShellOptions(config)) {
329
+ const shellConfig = {
330
+ ...withoutShellOptions(config),
331
+ data: {
332
+ bodyComponent: content,
333
+ bodyData: config.bodyData ?? config.data,
334
+ bodyInputs: config.bodyInputs,
335
+ description: config.description,
336
+ footerActions: config.footerActions,
337
+ scrollable: config.scrollable,
338
+ showCloseButton: config.showCloseButton,
339
+ size: config.size,
340
+ stickyFooter: config.stickyFooter,
341
+ title: config.title,
342
+ },
343
+ };
344
+ return this.dialog.open(FrModalShell, this.withDefaultClasses(shellConfig));
345
+ }
346
+ return this.dialog.open(content, this.withDefaultClasses(config));
347
+ }
348
+ closeAll() {
349
+ this.dialog.closeAll();
350
+ }
351
+ withDefaultClasses(config) {
352
+ return {
353
+ ariaModal: true,
354
+ autoFocus: 'first-tabbable',
355
+ restoreFocus: true,
356
+ maxWidth: 'calc(100vw - 2rem)',
357
+ ...config,
358
+ panelClass: mergeClassList(config.panelClass, DEFAULT_PANEL_CLASS),
359
+ backdropClass: mergeClassList(config.backdropClass, DEFAULT_BACKDROP_CLASS),
360
+ };
361
+ }
362
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
363
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalService, providedIn: 'root' });
364
+ }
365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalService, decorators: [{
366
+ type: Injectable,
367
+ args: [{ providedIn: 'root' }]
368
+ }] });
369
+ function isComponentType(value) {
370
+ return typeof value === 'function';
371
+ }
372
+ function hasShellOptions(config) {
373
+ return [
374
+ config.bodyData,
375
+ config.bodyInputs,
376
+ config.description,
377
+ config.footerActions,
378
+ config.scrollable,
379
+ config.showCloseButton,
380
+ config.size,
381
+ config.stickyFooter,
382
+ config.title,
383
+ ].some((value) => value !== undefined);
384
+ }
385
+ function withoutShellOptions(config) {
386
+ const { bodyData: _bodyData, bodyInputs: _bodyInputs, description: _description, footerActions: _footerActions, scrollable: _scrollable, showCloseButton: _showCloseButton, size: _size, stickyFooter: _stickyFooter, title: _title, ...dialogConfig } = config;
387
+ return dialogConfig;
388
+ }
389
+ function mergeClassList(classList, defaultClass) {
390
+ const classes = Array.isArray(classList)
391
+ ? classList
392
+ : classList
393
+ ? classList.split(/\s+/)
394
+ : [];
395
+ return Array.from(new Set([defaultClass, ...classes].filter(Boolean)));
396
+ }
397
+
398
+ class FrModalTrigger {
399
+ static CUSTOM_PROPERTY_PREFIX = '--frame-modal-';
400
+ destroyRef = inject(DestroyRef);
401
+ elementRef = inject(ElementRef);
402
+ modal = inject(FrModalService);
403
+ viewContainerRef = inject(ViewContainerRef);
404
+ modalRef = null;
405
+ content = input(null, { ...(ngDevMode ? { debugName: "content" } : /* istanbul ignore next */ {}), alias: 'frModalTrigger' });
406
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
407
+ opened = output();
408
+ closed = output();
409
+ isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
410
+ open() {
411
+ if (this.disabled() || this.isOpen()) {
412
+ return;
413
+ }
414
+ const content = this.content();
415
+ if (!content) {
416
+ return;
417
+ }
418
+ const templateRef = content instanceof FrModalContent ? content.templateRef : content;
419
+ const config = content instanceof FrModalContent
420
+ ? content.buildConfig(this.viewContainerRef)
421
+ : { viewContainerRef: this.viewContainerRef };
422
+ this.modalRef = this.modal.open(templateRef, config);
423
+ this.isOpen.set(true);
424
+ this.opened.emit(this.modalRef);
425
+ queueMicrotask(() => this.syncCustomPropertiesToOverlay());
426
+ this.modalRef.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((result) => {
427
+ this.isOpen.set(false);
428
+ this.modalRef = null;
429
+ this.closed.emit(result);
430
+ });
431
+ }
432
+ syncCustomPropertiesToOverlay() {
433
+ const overlayElement = this.modalRef?.overlayRef.overlayElement ?? null;
434
+ if (!overlayElement) {
435
+ return;
436
+ }
437
+ const modalPanel = overlayElement.querySelector('.frame-modal__panel') ?? overlayElement;
438
+ const sourceStyles = getComputedStyle(this.elementRef.nativeElement);
439
+ for (let index = 0; index < sourceStyles.length; index += 1) {
440
+ const propertyName = sourceStyles.item(index);
441
+ if (!propertyName.startsWith(FrModalTrigger.CUSTOM_PROPERTY_PREFIX)) {
442
+ continue;
443
+ }
444
+ const propertyValue = sourceStyles.getPropertyValue(propertyName);
445
+ overlayElement.style.setProperty(propertyName, propertyValue);
446
+ modalPanel.style.setProperty(propertyName, propertyValue);
447
+ }
448
+ }
449
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
450
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: FrModalTrigger, isStandalone: true, selector: "[frModalTrigger]", inputs: { content: { classPropertyName: "content", publicName: "frModalTrigger", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "click": "open()" }, properties: { "attr.aria-haspopup": "\"dialog\"", "attr.data-state": "isOpen() ? \"open\" : \"closed\"", "attr.disabled": "disabled() ? \"\" : null", "attr.aria-disabled": "disabled() ? \"true\" : null" }, classAttribute: "frame-modal__trigger" }, ngImport: i0 });
451
+ }
452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalTrigger, decorators: [{
453
+ type: Directive,
454
+ args: [{
455
+ selector: '[frModalTrigger]',
456
+ host: {
457
+ class: 'frame-modal__trigger',
458
+ '[attr.aria-haspopup]': '"dialog"',
459
+ '[attr.data-state]': 'isOpen() ? "open" : "closed"',
460
+ '[attr.disabled]': 'disabled() ? "" : null',
461
+ '[attr.aria-disabled]': 'disabled() ? "true" : null',
462
+ '(click)': 'open()',
463
+ },
464
+ }]
465
+ }], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "frModalTrigger", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
466
+
467
+ class FrModalModule {
468
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
469
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: FrModalModule, imports: [FrModalBody,
470
+ FrModalClose,
471
+ FrModalContent,
472
+ FrModalDescription,
473
+ FrModalFooter,
474
+ FrModalHeader,
475
+ FrModalPanel,
476
+ FrModalShell,
477
+ FrModalTitle,
478
+ FrModalTrigger], exports: [FrModalBody,
479
+ FrModalClose,
480
+ FrModalContent,
481
+ FrModalDescription,
482
+ FrModalFooter,
483
+ FrModalHeader,
484
+ FrModalPanel,
485
+ FrModalShell,
486
+ FrModalTitle,
487
+ FrModalTrigger] });
488
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalModule });
489
+ }
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalModule, decorators: [{
491
+ type: NgModule,
492
+ args: [{
493
+ imports: [
494
+ FrModalBody,
495
+ FrModalClose,
496
+ FrModalContent,
497
+ FrModalDescription,
498
+ FrModalFooter,
499
+ FrModalHeader,
500
+ FrModalPanel,
501
+ FrModalShell,
502
+ FrModalTitle,
503
+ FrModalTrigger,
504
+ ],
505
+ exports: [
506
+ FrModalBody,
507
+ FrModalClose,
508
+ FrModalContent,
509
+ FrModalDescription,
510
+ FrModalFooter,
511
+ FrModalHeader,
512
+ FrModalPanel,
513
+ FrModalShell,
514
+ FrModalTitle,
515
+ FrModalTrigger,
516
+ ],
517
+ }]
518
+ }] });
519
+
520
+ /**
521
+ * Generated bundle index. Do not edit.
522
+ */
523
+
524
+ export { FR_MODAL_DATA, FrModalBody, FrModalClose, FrModalContent, FrModalDescription, FrModalFooter, FrModalHeader, FrModalModule, FrModalPanel, FrModalService, FrModalShell, FrModalTitle, FrModalTrigger };
525
+ //# sourceMappingURL=frame-ui-ng-components-modal.mjs.map