@design-factory/angular 21.1.0-next.1 → 22.0.0-next.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 (331) hide show
  1. package/.ai/docs/components/accordion/accessibility.md +45 -0
  2. package/.ai/docs/components/accordion/api.md +279 -0
  3. package/.ai/docs/components/accordion/developer.md +43 -0
  4. package/.ai/docs/components/accordion/guidelines.md +99 -0
  5. package/.ai/docs/components/accordion/overview.md +17 -0
  6. package/.ai/docs/components/alert/accessibility.md +24 -0
  7. package/.ai/docs/components/alert/api.md +65 -0
  8. package/.ai/docs/components/alert/developer.md +63 -0
  9. package/.ai/docs/components/alert/guidelines.md +62 -0
  10. package/.ai/docs/components/alert/overview.md +12 -0
  11. package/.ai/docs/components/button/accessibility.md +25 -0
  12. package/.ai/docs/components/button/api.md +71 -0
  13. package/.ai/docs/components/button/developer.md +52 -0
  14. package/.ai/docs/components/button/guidelines.md +75 -0
  15. package/.ai/docs/components/button/overview.md +15 -0
  16. package/.ai/docs/components/buttongroup/api.md +16 -0
  17. package/.ai/docs/components/buttongroup/developer.md +32 -0
  18. package/.ai/docs/components/drawer/accessibility.md +15 -0
  19. package/.ai/docs/components/drawer/api.md +56 -0
  20. package/.ai/docs/components/drawer/developer.md +36 -0
  21. package/.ai/docs/components/drawer/examples.md +9 -0
  22. package/.ai/docs/components/drawer/guidelines.md +58 -0
  23. package/.ai/docs/components/drawer/overview.md +19 -0
  24. package/.ai/docs/components/dropdown/accessibility.md +27 -0
  25. package/.ai/docs/components/dropdown/api.md +85 -0
  26. package/.ai/docs/components/dropdown/developer.md +59 -0
  27. package/.ai/docs/components/dropdown/guidelines.md +80 -0
  28. package/.ai/docs/components/dropdown/overview.md +16 -0
  29. package/.ai/docs/components/sidenav/accessibility.md +48 -0
  30. package/.ai/docs/components/sidenav/api.md +110 -0
  31. package/.ai/docs/components/sidenav/developer.md +14 -0
  32. package/.ai/docs/components/sidenav/guidelines.md +83 -0
  33. package/.ai/docs/components/sidenav/overview.md +16 -0
  34. package/.ai/docs/components/tooltip/accessibility.md +11 -0
  35. package/.ai/docs/components/tooltip/api.md +39 -0
  36. package/.ai/docs/components/tooltip/developer.md +16 -0
  37. package/.ai/docs/components/tooltip/guidelines.md +84 -0
  38. package/.ai/docs/components/tooltip/overview.md +23 -0
  39. package/.ai/docs/components/topnav/accessibility.md +51 -0
  40. package/.ai/docs/components/topnav/api.md +190 -0
  41. package/.ai/docs/components/topnav/developer.md +43 -0
  42. package/.ai/docs/components/topnav/guidelines.md +121 -0
  43. package/.ai/docs/components/topnav/overview.md +17 -0
  44. package/.ai/docs/demos/accordion/addons-subtitle/accordion-addons-subtitle.html +75 -0
  45. package/.ai/docs/demos/accordion/addons-subtitle/accordion-addons-subtitle.ts +27 -0
  46. package/.ai/docs/demos/accordion/basic/accordion-basic.html +16 -0
  47. package/.ai/docs/demos/accordion/basic/accordion-basic.ts +14 -0
  48. package/.ai/docs/demos/accordion/close-others/accordion-close-others.html +16 -0
  49. package/.ai/docs/demos/accordion/close-others/accordion-close-others.ts +14 -0
  50. package/.ai/docs/demos/accordion/interactive/accordion-interactive.html +84 -0
  51. package/.ai/docs/demos/accordion/interactive/accordion-interactive.ts +30 -0
  52. package/.ai/docs/demos/accordion/interactive-addons-subtitle/accordion-interactive-addons-subtitle.html +126 -0
  53. package/.ai/docs/demos/accordion/interactive-addons-subtitle/accordion-interactive-addons-subtitle.ts +33 -0
  54. package/.ai/docs/demos/accordion/programmatic-control/accordion-programmatic-control.html +36 -0
  55. package/.ai/docs/demos/accordion/programmatic-control/accordion-programmatic-control.ts +15 -0
  56. package/.ai/docs/demos/accordion/selectable/accordion-selectable.html +16 -0
  57. package/.ai/docs/demos/accordion/selectable/accordion-selectable.ts +14 -0
  58. package/.ai/docs/demos/accordion/selectable-extended/accordion-selectable-extended.html +28 -0
  59. package/.ai/docs/demos/accordion/selectable-extended/accordion-selectable-extended.ts +80 -0
  60. package/.ai/docs/demos/accordion/separator/accordion-separator.html +16 -0
  61. package/.ai/docs/demos/accordion/separator/accordion-separator.ts +14 -0
  62. package/.ai/docs/demos/alert/banner/alert-banner.html +15 -0
  63. package/.ai/docs/demos/alert/banner/alert-banner.ts +16 -0
  64. package/.ai/docs/demos/alert/basic/alert-basic.html +6 -0
  65. package/.ai/docs/demos/alert/basic/alert-basic.ts +9 -0
  66. package/.ai/docs/demos/alert/card/alert-card.html +15 -0
  67. package/.ai/docs/demos/alert/card/alert-card.ts +9 -0
  68. package/.ai/docs/demos/alert/dismissal/alert-dismissal.html +5 -0
  69. package/.ai/docs/demos/alert/dismissal/alert-dismissal.ts +27 -0
  70. package/.ai/docs/demos/alert/expandable/alert-expandable.html +9 -0
  71. package/.ai/docs/demos/alert/expandable/alert-expandable.ts +11 -0
  72. package/.ai/docs/demos/button/basic/button-basic.html +4 -0
  73. package/.ai/docs/demos/button/basic/button-basic.ts +9 -0
  74. package/.ai/docs/demos/button/disabled/button-disabled.html +18 -0
  75. package/.ai/docs/demos/button/disabled/button-disabled.ts +12 -0
  76. package/.ai/docs/demos/button/icons/button-icons.html +17 -0
  77. package/.ai/docs/demos/button/icons/button-icons.ts +10 -0
  78. package/.ai/docs/demos/button/surfaces/button-surfaces.html +13 -0
  79. package/.ai/docs/demos/button/surfaces/button-surfaces.ts +9 -0
  80. package/.ai/docs/demos/button/variants/button-variants.html +49 -0
  81. package/.ai/docs/demos/button/variants/button-variants.ts +9 -0
  82. package/.ai/docs/demos/buttongroup/basic/buttongroup-basic.html +6 -0
  83. package/.ai/docs/demos/buttongroup/basic/buttongroup-basic.ts +10 -0
  84. package/.ai/docs/demos/buttongroup/disabled/buttongroup-disabled.html +6 -0
  85. package/.ai/docs/demos/buttongroup/disabled/buttongroup-disabled.ts +10 -0
  86. package/.ai/docs/demos/buttongroup/mirror/buttongroup-mirror.html +8 -0
  87. package/.ai/docs/demos/buttongroup/mirror/buttongroup-mirror.ts +10 -0
  88. package/.ai/docs/demos/buttongroup/orientation/buttongroup-orientation.html +19 -0
  89. package/.ai/docs/demos/buttongroup/orientation/buttongroup-orientation.ts +10 -0
  90. package/.ai/docs/demos/buttongroup/sizing/buttongroup-sizing.html +19 -0
  91. package/.ai/docs/demos/buttongroup/sizing/buttongroup-sizing.ts +10 -0
  92. package/.ai/docs/demos/drawer/inline/drawer-inline-basic.html +46 -0
  93. package/.ai/docs/demos/drawer/inline/drawer-inline-basic.ts +33 -0
  94. package/.ai/docs/demos/drawer/overlay/drawer-overlay-basic.html +30 -0
  95. package/.ai/docs/demos/drawer/overlay/drawer-overlay-basic.ts +25 -0
  96. package/.ai/docs/demos/dropdown/basic/dropdown-basic.html +8 -0
  97. package/.ai/docs/demos/dropdown/basic/dropdown-basic.ts +15 -0
  98. package/.ai/docs/demos/dropdown/sizes/dropdown-sizes.html +9 -0
  99. package/.ai/docs/demos/dropdown/sizes/dropdown-sizes.ts +21 -0
  100. package/.ai/docs/demos/dropdown/split/dropdown-split.html +9 -0
  101. package/.ai/docs/demos/dropdown/split/dropdown-split.ts +11 -0
  102. package/.ai/docs/demos/dropdown/toggle/dropdown-toggle.html +22 -0
  103. package/.ai/docs/demos/dropdown/toggle/dropdown-toggle.ts +10 -0
  104. package/.ai/docs/demos/sidenav/sidenav-basic-no-icon/routes.ts +95 -0
  105. package/.ai/docs/demos/sidenav/sidenav-basic-no-icon/sidenav-basic-no-icon.html +42 -0
  106. package/.ai/docs/demos/sidenav/sidenav-basic-no-icon/sidenav-basic-no-icon.ts +12 -0
  107. package/.ai/docs/demos/sidenav/sidenav-basic-with-icon/routes.ts +41 -0
  108. package/.ai/docs/demos/sidenav/sidenav-basic-with-icon/sidenav-basic-with-icon.html +34 -0
  109. package/.ai/docs/demos/sidenav/sidenav-basic-with-icon/sidenav-basic-with-icon.ts +12 -0
  110. package/.ai/docs/demos/tooltip/basic/tooltip-basic.html +1 -0
  111. package/.ai/docs/demos/tooltip/basic/tooltip-basic.ts +10 -0
  112. package/.ai/docs/demos/tooltip/placements/tooltip-placements.html +35 -0
  113. package/.ai/docs/demos/tooltip/placements/tooltip-placements.ts +12 -0
  114. package/.ai/docs/demos/tooltip/sizes/tooltip-sizes.html +5 -0
  115. package/.ai/docs/demos/tooltip/sizes/tooltip-sizes.ts +10 -0
  116. package/.ai/docs/demos/topnav/brand/topnav-brand.ts +64 -0
  117. package/.ai/docs/demos/topnav/environment-banner/topnav-environment-banner.ts +20 -0
  118. package/.ai/docs/demos/topnav/navigation/routes.ts +35 -0
  119. package/.ai/docs/demos/topnav/navigation/topnav-navigation-flat.ts +67 -0
  120. package/.ai/docs/demos/topnav/navigation/topnav-navigation-tree.ts +82 -0
  121. package/.ai/docs/demos/topnav/quick-actions/notifications.ts +75 -0
  122. package/.ai/docs/demos/topnav/quick-actions/topnav-quick-actions.ts +108 -0
  123. package/.ai/docs/demos/topnav/quick-actions/user-account.ts +23 -0
  124. package/.ai/index.md +26 -0
  125. package/fesm2022/design-factory-angular-accordion.mjs +1153 -0
  126. package/fesm2022/design-factory-angular-accordion.mjs.map +1 -0
  127. package/fesm2022/design-factory-angular-alert.mjs +312 -0
  128. package/fesm2022/design-factory-angular-alert.mjs.map +1 -0
  129. package/fesm2022/design-factory-angular-breakpoints.mjs +53 -0
  130. package/fesm2022/design-factory-angular-breakpoints.mjs.map +1 -0
  131. package/fesm2022/design-factory-angular-button.mjs +240 -0
  132. package/fesm2022/design-factory-angular-button.mjs.map +1 -0
  133. package/fesm2022/design-factory-angular-buttongroup.mjs +75 -0
  134. package/fesm2022/design-factory-angular-buttongroup.mjs.map +1 -0
  135. package/fesm2022/design-factory-angular-drawer.mjs +76 -81
  136. package/fesm2022/design-factory-angular-drawer.mjs.map +1 -1
  137. package/fesm2022/design-factory-angular-dropdown.mjs +323 -0
  138. package/fesm2022/design-factory-angular-dropdown.mjs.map +1 -0
  139. package/fesm2022/design-factory-angular-form-field.mjs +287 -0
  140. package/fesm2022/design-factory-angular-form-field.mjs.map +1 -0
  141. package/fesm2022/design-factory-angular-icon.mjs +24 -0
  142. package/fesm2022/design-factory-angular-icon.mjs.map +1 -0
  143. package/fesm2022/design-factory-angular-input.mjs +34 -0
  144. package/fesm2022/design-factory-angular-input.mjs.map +1 -0
  145. package/fesm2022/design-factory-angular-internals.mjs +119 -39
  146. package/fesm2022/design-factory-angular-internals.mjs.map +1 -1
  147. package/fesm2022/design-factory-angular-separator.mjs +43 -0
  148. package/fesm2022/design-factory-angular-separator.mjs.map +1 -0
  149. package/fesm2022/design-factory-angular-sidenav.mjs +766 -438
  150. package/fesm2022/design-factory-angular-sidenav.mjs.map +1 -1
  151. package/fesm2022/design-factory-angular-slider.mjs +451 -0
  152. package/fesm2022/design-factory-angular-slider.mjs.map +1 -0
  153. package/fesm2022/design-factory-angular-theme.mjs +30 -20
  154. package/fesm2022/design-factory-angular-theme.mjs.map +1 -1
  155. package/fesm2022/design-factory-angular-toggle.mjs +172 -0
  156. package/fesm2022/design-factory-angular-toggle.mjs.map +1 -0
  157. package/fesm2022/design-factory-angular-tooltip.mjs +138 -0
  158. package/fesm2022/design-factory-angular-tooltip.mjs.map +1 -0
  159. package/fesm2022/design-factory-angular-topnav.mjs +635 -558
  160. package/fesm2022/design-factory-angular-topnav.mjs.map +1 -1
  161. package/package.json +61 -8
  162. package/schematics/collection.json +35 -0
  163. package/schematics/component-migration/accordion/constants.d.ts +10 -0
  164. package/schematics/component-migration/accordion/constants.js +46 -0
  165. package/schematics/component-migration/accordion/guide.md +257 -0
  166. package/schematics/component-migration/accordion/index.d.ts +2 -0
  167. package/schematics/component-migration/accordion/index.js +5 -0
  168. package/schematics/component-migration/accordion/migration.d.ts +2 -0
  169. package/schematics/component-migration/accordion/migration.js +13 -0
  170. package/schematics/component-migration/accordion/schema.json +25 -0
  171. package/schematics/component-migration/accordion/steps/accordion-imports.d.ts +3 -0
  172. package/schematics/component-migration/accordion/steps/accordion-imports.js +41 -0
  173. package/schematics/component-migration/accordion/steps/template-migration.d.ts +3 -0
  174. package/schematics/component-migration/accordion/steps/template-migration.js +554 -0
  175. package/schematics/component-migration/accordion/steps/title-content.d.ts +9 -0
  176. package/schematics/component-migration/accordion/steps/title-content.js +75 -0
  177. package/schematics/component-migration/ai/prompt.md +83 -0
  178. package/schematics/component-migration/alert/guide.md +246 -0
  179. package/schematics/component-migration/alert/index.d.ts +2 -0
  180. package/schematics/component-migration/alert/index.js +5 -0
  181. package/schematics/component-migration/alert/migration.d.ts +2 -0
  182. package/schematics/component-migration/alert/migration.js +50 -0
  183. package/schematics/component-migration/alert/schema.json +25 -0
  184. package/schematics/component-migration/alert/steps/alert-imports.d.ts +4 -0
  185. package/schematics/component-migration/alert/steps/alert-imports.js +97 -0
  186. package/schematics/component-migration/alert/steps/animation-input.d.ts +3 -0
  187. package/schematics/component-migration/alert/steps/animation-input.js +17 -0
  188. package/schematics/component-migration/alert/steps/close-output.d.ts +3 -0
  189. package/schematics/component-migration/alert/steps/close-output.js +17 -0
  190. package/schematics/component-migration/alert/steps/icon-directive-imports.d.ts +3 -0
  191. package/schematics/component-migration/alert/steps/icon-directive-imports.js +84 -0
  192. package/schematics/component-migration/alert/steps/icon-directive.d.ts +3 -0
  193. package/schematics/component-migration/alert/steps/icon-directive.js +10 -0
  194. package/schematics/component-migration/alert/steps/legacy-module-imports.d.ts +3 -0
  195. package/schematics/component-migration/alert/steps/legacy-module-imports.js +57 -0
  196. package/schematics/component-migration/alert/steps/programmatic-close.d.ts +3 -0
  197. package/schematics/component-migration/alert/steps/programmatic-close.js +44 -0
  198. package/schematics/component-migration/alert/steps/selector.d.ts +3 -0
  199. package/schematics/component-migration/alert/steps/selector.js +18 -0
  200. package/schematics/component-migration/alert/steps/static-classes.d.ts +3 -0
  201. package/schematics/component-migration/alert/steps/static-classes.js +97 -0
  202. package/schematics/component-migration/alert/steps/static-type.d.ts +3 -0
  203. package/schematics/component-migration/alert/steps/static-type.js +28 -0
  204. package/schematics/component-migration/alert/steps/template-reference.d.ts +3 -0
  205. package/schematics/component-migration/alert/steps/template-reference.js +15 -0
  206. package/schematics/component-migration/alert/steps/template-todos.d.ts +3 -0
  207. package/schematics/component-migration/alert/steps/template-todos.js +78 -0
  208. package/schematics/component-migration/button/guide.md +278 -0
  209. package/schematics/component-migration/button/index.d.ts +2 -0
  210. package/schematics/component-migration/button/index.js +5 -0
  211. package/schematics/component-migration/button/migration.d.ts +2 -0
  212. package/schematics/component-migration/button/migration.js +180 -0
  213. package/schematics/component-migration/button/schema.json +25 -0
  214. package/schematics/component-migration/button/steps/static-classes.d.ts +10 -0
  215. package/schematics/component-migration/button/steps/static-classes.js +128 -0
  216. package/schematics/component-migration/button/steps/template-todos.d.ts +19 -0
  217. package/schematics/component-migration/button/steps/template-todos.js +120 -0
  218. package/schematics/component-migration/button/types.d.ts +7 -0
  219. package/schematics/component-migration/button/types.js +2 -0
  220. package/schematics/component-migration/dropdown/guide.md +252 -0
  221. package/schematics/component-migration/dropdown/index.d.ts +2 -0
  222. package/schematics/component-migration/dropdown/index.js +5 -0
  223. package/schematics/component-migration/dropdown/migration.d.ts +2 -0
  224. package/schematics/component-migration/dropdown/migration.js +41 -0
  225. package/schematics/component-migration/dropdown/schema.json +25 -0
  226. package/schematics/component-migration/dropdown/steps/dropdown-imports.d.ts +3 -0
  227. package/schematics/component-migration/dropdown/steps/dropdown-imports.js +308 -0
  228. package/schematics/component-migration/dropdown/steps/template-attributes.d.ts +10 -0
  229. package/schematics/component-migration/dropdown/steps/template-attributes.js +57 -0
  230. package/schematics/component-migration/dropdown/steps/template-helpers.d.ts +20 -0
  231. package/schematics/component-migration/dropdown/steps/template-helpers.js +125 -0
  232. package/schematics/component-migration/dropdown/steps/template-imports.d.ts +22 -0
  233. package/schematics/component-migration/dropdown/steps/template-imports.js +12 -0
  234. package/schematics/component-migration/dropdown/steps/template-items.d.ts +7 -0
  235. package/schematics/component-migration/dropdown/steps/template-items.js +58 -0
  236. package/schematics/component-migration/dropdown/steps/template-menu.d.ts +14 -0
  237. package/schematics/component-migration/dropdown/steps/template-menu.js +107 -0
  238. package/schematics/component-migration/dropdown/steps/template-todos.d.ts +19 -0
  239. package/schematics/component-migration/dropdown/steps/template-todos.js +118 -0
  240. package/schematics/component-migration/dropdown/steps/template-toggle.d.ts +9 -0
  241. package/schematics/component-migration/dropdown/steps/template-toggle.js +70 -0
  242. package/schematics/component-migration/dropdown/steps/template-wrapper.d.ts +12 -0
  243. package/schematics/component-migration/dropdown/steps/template-wrapper.js +105 -0
  244. package/schematics/component-migration/index.d.ts +3 -0
  245. package/schematics/component-migration/index.js +26 -0
  246. package/schematics/component-migration/next-steps/index.d.ts +13 -0
  247. package/schematics/component-migration/next-steps/index.js +34 -0
  248. package/schematics/component-migration/registry.d.ts +1 -0
  249. package/schematics/component-migration/registry.js +15 -0
  250. package/schematics/component-migration/schema.json +20 -0
  251. package/schematics/component-migration/shared/ai-handoff.d.ts +2 -0
  252. package/schematics/component-migration/shared/ai-handoff.js +28 -0
  253. package/schematics/component-migration/shared/angular-component.d.ts +10 -0
  254. package/schematics/component-migration/shared/angular-component.js +125 -0
  255. package/schematics/component-migration/shared/button-visual-classes.d.ts +24 -0
  256. package/schematics/component-migration/shared/button-visual-classes.js +111 -0
  257. package/schematics/component-migration/shared/component-context.d.ts +7 -0
  258. package/schematics/component-migration/shared/component-context.js +24 -0
  259. package/schematics/component-migration/shared/component-imports.d.ts +45 -0
  260. package/schematics/component-migration/shared/component-imports.js +380 -0
  261. package/schematics/component-migration/shared/create-component-schematic.d.ts +3 -0
  262. package/schematics/component-migration/shared/create-component-schematic.js +55 -0
  263. package/schematics/component-migration/shared/import-edits.d.ts +11 -0
  264. package/schematics/component-migration/shared/import-edits.js +157 -0
  265. package/schematics/component-migration/shared/legacy-config-todos.d.ts +3 -0
  266. package/schematics/component-migration/shared/legacy-config-todos.js +90 -0
  267. package/schematics/component-migration/shared/migrate-project.d.ts +12 -0
  268. package/schematics/component-migration/shared/migrate-project.js +151 -0
  269. package/schematics/component-migration/shared/project-templates.d.ts +15 -0
  270. package/schematics/component-migration/shared/project-templates.js +43 -0
  271. package/schematics/component-migration/shared/scan-project.d.ts +3 -0
  272. package/schematics/component-migration/shared/scan-project.js +24 -0
  273. package/schematics/component-migration/shared/static-placement.d.ts +1 -0
  274. package/schematics/component-migration/shared/static-placement.js +45 -0
  275. package/schematics/component-migration/shared/template-edits.d.ts +28 -0
  276. package/schematics/component-migration/shared/template-edits.js +153 -0
  277. package/schematics/component-migration/shared/template-result.d.ts +3 -0
  278. package/schematics/component-migration/shared/template-result.js +11 -0
  279. package/schematics/component-migration/shared/testing.d.ts +13 -0
  280. package/schematics/component-migration/shared/testing.js +59 -0
  281. package/schematics/component-migration/shared/todo-comments.d.ts +10 -0
  282. package/schematics/component-migration/shared/todo-comments.js +81 -0
  283. package/schematics/component-migration/shared/types.d.ts +41 -0
  284. package/schematics/component-migration/shared/types.js +2 -0
  285. package/schematics/component-migration/tooltip/guide.md +196 -0
  286. package/schematics/component-migration/tooltip/index.d.ts +2 -0
  287. package/schematics/component-migration/tooltip/index.js +5 -0
  288. package/schematics/component-migration/tooltip/migration.d.ts +2 -0
  289. package/schematics/component-migration/tooltip/migration.js +50 -0
  290. package/schematics/component-migration/tooltip/schema.json +25 -0
  291. package/schematics/component-migration/tooltip/steps/template-attributes.d.ts +13 -0
  292. package/schematics/component-migration/tooltip/steps/template-attributes.js +266 -0
  293. package/schematics/component-migration/tooltip/steps/template-todos.d.ts +24 -0
  294. package/schematics/component-migration/tooltip/steps/template-todos.js +115 -0
  295. package/schematics/component-migration/tooltip/steps/tooltip-imports.d.ts +3 -0
  296. package/schematics/component-migration/tooltip/steps/tooltip-imports.js +79 -0
  297. package/schematics/component-migration/utils/component-resource-collector.d.ts +34 -0
  298. package/schematics/component-migration/utils/component-resource-collector.js +107 -0
  299. package/schematics/component-migration/utils/project_tsconfig_paths.d.ts +18 -0
  300. package/schematics/component-migration/utils/project_tsconfig_paths.js +105 -0
  301. package/schematics/component-migration/utils/typescript/compiler_host.d.ts +44 -0
  302. package/schematics/component-migration/utils/typescript/compiler_host.js +87 -0
  303. package/schematics/component-migration/utils/typescript/decorators.d.ts +22 -0
  304. package/schematics/component-migration/utils/typescript/decorators.js +41 -0
  305. package/schematics/component-migration/utils/typescript/functions.d.ts +14 -0
  306. package/schematics/component-migration/utils/typescript/functions.js +20 -0
  307. package/schematics/component-migration/utils/typescript/imports.d.ts +17 -0
  308. package/schematics/component-migration/utils/typescript/imports.js +110 -0
  309. package/schematics/component-migration/utils/typescript/parse_tsconfig.d.ts +9 -0
  310. package/schematics/component-migration/utils/typescript/parse_tsconfig.js +29 -0
  311. package/schematics/component-migration/utils/typescript/property-name.d.ts +13 -0
  312. package/schematics/component-migration/utils/typescript/property-name.js +22 -0
  313. package/schematics/package.json +3 -0
  314. package/types/design-factory-angular-accordion.d.ts +553 -0
  315. package/types/design-factory-angular-alert.d.ts +166 -0
  316. package/types/design-factory-angular-breakpoints.d.ts +13 -0
  317. package/types/design-factory-angular-button.d.ts +166 -0
  318. package/types/design-factory-angular-buttongroup.d.ts +45 -0
  319. package/types/design-factory-angular-drawer.d.ts +19 -26
  320. package/types/design-factory-angular-dropdown.d.ts +148 -0
  321. package/types/design-factory-angular-form-field.d.ts +122 -0
  322. package/types/design-factory-angular-icon.d.ts +11 -0
  323. package/types/design-factory-angular-input.d.ts +16 -0
  324. package/types/design-factory-angular-internals.d.ts +78 -19
  325. package/types/design-factory-angular-separator.d.ts +29 -0
  326. package/types/design-factory-angular-sidenav.d.ts +114 -17
  327. package/types/design-factory-angular-slider.d.ts +239 -0
  328. package/types/design-factory-angular-toggle.d.ts +93 -0
  329. package/types/design-factory-angular-tooltip.d.ts +113 -0
  330. package/types/design-factory-angular-topnav.d.ts +47 -52
  331. package/drawer/README.md +0 -54
@@ -0,0 +1,166 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import { AlertWidget, AlertAppearance, AlertSize, AlertType, AlertProps } from '@design-factory/core/components/alert';
4
+ import { AgnosWidgetDirective } from '@design-factory/angular/internals';
5
+
6
+ /**
7
+ * Available alert sizes.
8
+ */
9
+ type DfAlertSize = AlertSize;
10
+ /**
11
+ * Available alert visual types.
12
+ */
13
+ type DfAlertType = AlertType;
14
+ /**
15
+ * Available alert appearance variants.
16
+ */
17
+ type DfAlertAppearance = AlertAppearance;
18
+ /**
19
+ * Defines the title content inside a `<df-alert>`.
20
+ *
21
+ * @since 22.0
22
+ */
23
+ declare class DfAlertTitle {
24
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfAlertTitle, never>;
25
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfAlertTitle, "df-alert-title", never, {}, {}, never, ["*"], true, never>;
26
+ }
27
+ /**
28
+ * Defines the details content inside a `<df-alert>`.
29
+ *
30
+ * @since 22.0
31
+ */
32
+ declare class DfAlertDetails {
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfAlertDetails, never>;
34
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfAlertDetails, "df-alert-details", never, {}, {}, never, ["*"], true, never>;
35
+ }
36
+ /**
37
+ * Provides contextual feedback messages for the user.
38
+ *
39
+ * Supports several visual types, dismissal, and collapsible content.
40
+ *
41
+ * @since 22.0
42
+ */
43
+ declare class DfAlert extends AgnosWidgetDirective<AlertWidget> {
44
+ protected readonly title: _angular_core.Signal<DfAlertTitle | undefined>;
45
+ protected readonly details: _angular_core.Signal<ElementRef<any> | undefined>;
46
+ /**
47
+ * If `true`, closing and collapsible transitions are animated.
48
+ *
49
+ * @defaultValue `true`
50
+ */
51
+ readonly animated: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
52
+ /**
53
+ * Alert appearance variant.
54
+ *
55
+ * - `'default'`: regular alert with rounded corners and leading border.
56
+ * - `'banner'`: full-width alert with square corners and bottom border.
57
+ *
58
+ * @defaultValue `'default'`
59
+ */
60
+ readonly appearance: _angular_core.InputSignal<AlertAppearance | undefined>;
61
+ /**
62
+ * Size of the alert. Accepts `'sm'`, `'md'` or `'lg'`.
63
+ *
64
+ * @defaultValue `'md'`
65
+ */
66
+ readonly size: _angular_core.InputSignal<AlertSize | undefined>;
67
+ /**
68
+ * If `true`, collapsible content is expanded.
69
+ *
70
+ * Applies when `expandable` is enabled.
71
+ *
72
+ * Supports two-way binding with `[(expanded)]`.
73
+ *
74
+ * @defaultValue `false`
75
+ */
76
+ readonly expanded: _angular_core.ModelSignal<boolean>;
77
+ /**
78
+ * If `true`, alert details can be toggled with a "see more" control.
79
+ *
80
+ * When `false`, details are shown inline when present.
81
+ *
82
+ * @defaultValue `false`
83
+ */
84
+ readonly expandable: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
85
+ /**
86
+ * If `true`, alert can be dismissed by the user.
87
+ *
88
+ * The close button (×) will be displayed and you can be notified
89
+ * of the event with the `(closed)` output.
90
+ *
91
+ * @defaultValue `true`
92
+ */
93
+ readonly dismissible: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
94
+ /**
95
+ * Type of the alert.
96
+ *
97
+ * Supported types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'tip'`.
98
+ *
99
+ * @defaultValue `'warning'`
100
+ */
101
+ readonly type: _angular_core.InputSignal<AlertType | undefined>;
102
+ /**
103
+ * Emitted after the alert closing transition finishes, whether triggered by the close button or the `close()` method.
104
+ */
105
+ readonly closed: _angular_core.OutputEmitterRef<void>;
106
+ constructor();
107
+ /**
108
+ * Triggers alert closing programmatically.
109
+ *
110
+ * @param animated - whether the transition should be animated. If omitted, the component `animated` input or configured default is used.
111
+ *
112
+ * @returns A promise that resolves once the closing transition has finished.
113
+ */
114
+ close(animated?: boolean): Promise<void>;
115
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfAlert, never>;
116
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfAlert, "df-alert", never, { "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; "closed": "closed"; }, ["title", "details"], ["df-alert-title", "*", "df-alert-details"], true, never>;
117
+ }
118
+
119
+ /**
120
+ * Configuration options supported by `provideDfAlertConfig`.
121
+ *
122
+ * These defaults apply to every `DfAlert` instance within the providing injector, unless explicitly overridden on
123
+ * the component itself.
124
+ */
125
+ type DfAlertConfig = Pick<AlertProps, 'animated' | 'ariaCloseButtonLabel' | 'expandLabel' | 'collapseLabel'>;
126
+ /**
127
+ * Alert config key in the global DF component config.
128
+ */
129
+ declare const ALERT_CONFIG_KEY: "alert";
130
+ /**
131
+ * Provides the configuration for the alert component.
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * @Component({
136
+ * providers: [provideDfAlertConfig({ ariaCloseButtonLabel: 'Close alert' })]
137
+ * })
138
+ * export class MyHomeComponent {}
139
+ * ```
140
+ *
141
+ * @param config - Partial configuration or a function that receives the parent configuration and returns a partial configuration.
142
+ *
143
+ * @since 22.0
144
+ */
145
+ declare const provideDfAlertConfig: (config?: Partial<DfAlertConfig> | ((prevConfig: Partial<DfAlertConfig>) => Partial<DfAlertConfig>) | undefined) => _angular_core.FactoryProvider;
146
+ /**
147
+ * Injects the configuration for the alert component.
148
+ *
149
+ * @example
150
+ * ```ts
151
+ * @Component({
152
+ * providers: [provideDfAlertConfig()]
153
+ * })
154
+ * export class MyAlertComponent {
155
+ * readonly alertConfig = injectDfAlertConfig();
156
+ * }
157
+ * ```
158
+ *
159
+ * @returns A writable signal containing the alert configuration.
160
+ *
161
+ * @since 22.0
162
+ */
163
+ declare const injectDfAlertConfig: () => _angular_core.WritableSignal<Partial<DfAlertConfig>>;
164
+
165
+ export { ALERT_CONFIG_KEY, DfAlert, DfAlertDetails, DfAlertTitle, injectDfAlertConfig, provideDfAlertConfig };
166
+ export type { DfAlertAppearance, DfAlertConfig, DfAlertSize, DfAlertType };
@@ -0,0 +1,13 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * Tracks the window size and returns an Angular signal that indicates whether the viewport matches the given breakpoint.
5
+ *
6
+ * It uses `matchMedia` under the hood to track the window size and updates the signal accordingly.
7
+ *
8
+ * @param breakpoint - The breakpoint to track. It can be one of 'sm', 'md', 'lg', or 'xl'.
9
+ * @returns an Angular signal that returns true when the viewport matches the given breakpoint
10
+ */
11
+ declare const trackWindow: (breakpoint: "sm" | "md" | "lg" | "xl") => _angular_core.Signal<boolean>;
12
+
13
+ export { trackWindow };
@@ -0,0 +1,166 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
3
+
4
+ /**
5
+ * Semantic variants supported by DF buttons.
6
+ *
7
+ * @since 22.0
8
+ */
9
+ type DfButtonVariant = 'primary' | 'neutral' | 'danger';
10
+ /**
11
+ * Visual appearances supported by DF buttons.
12
+ *
13
+ * @since 22.0
14
+ */
15
+ type DfButtonAppearance = 'solid' | 'outline' | 'text';
16
+ /**
17
+ * Sizes supported by DF buttons.
18
+ *
19
+ * @since 22.0
20
+ */
21
+ type DfButtonSize = 'sm' | 'md' | 'lg';
22
+
23
+ /**
24
+ * Interface for the `dfButtonGroup` directive, which is provided to all `dfButton` elements in a group.
25
+ *
26
+ * @since 22.0
27
+ * @internal
28
+ */
29
+ interface ɵDfButtonGroupInterface {
30
+ readonly size: () => DfButtonSize;
31
+ readonly appearance: () => 'solid' | 'outline';
32
+ readonly mirror: () => boolean;
33
+ readonly orientation: () => 'horizontal' | 'vertical';
34
+ }
35
+ /**
36
+ * Injection token for the `dfButtonGroup` directive, which is provided to all `dfButton` elements in a group.
37
+ *
38
+ * @since 22.0
39
+ * @internal
40
+ */
41
+ declare const ɵDfButtonGroupInjectionToken: InjectionToken<ɵDfButtonGroupInterface>;
42
+ /**
43
+ * Shared visual directive for DF button-like elements.
44
+ *
45
+ * @since 22.0
46
+ * @internal
47
+ */
48
+ declare class ɵDfButtonVisual {
49
+ /**
50
+ * The button group that contains this button, if any.
51
+ */
52
+ private readonly buttonGroup;
53
+ /**
54
+ * Semantic variant of the button. Forced to `'primary'` if the button is in a `df-button-group`.
55
+ * @defaultValue `'primary'`
56
+ */
57
+ readonly variant: _angular_core.InputSignal<DfButtonVariant>;
58
+ /**
59
+ * Effective variant applied to the host. Resolves to `'primary'` when the button is in a `df-button-group`,
60
+ * otherwise falls back to the `variant` input.
61
+ */
62
+ protected readonly resolvedVariant: _angular_core.InputSignal<DfButtonVariant> | (() => "primary");
63
+ /**
64
+ * Visual appearance of the button. In a `df-button-group`, the group appearance is used unless the button
65
+ * sets an explicit `'solid'` or `'outline'` appearance.
66
+ * @defaultValue `'solid'`
67
+ */
68
+ readonly appearance: _angular_core.InputSignal<DfButtonAppearance | undefined>;
69
+ /**
70
+ * Effective appearance applied to the host. In a `df-button-group`, resolves to the group appearance unless the
71
+ * button sets an explicit `'solid'` or `'outline'` appearance; otherwise falls back to the `appearance` input or
72
+ * `'solid'`.
73
+ */
74
+ protected readonly resolvedAppearance: _angular_core.Signal<DfButtonAppearance>;
75
+ /**
76
+ * Size of the button. Ignored if the button is in a `df-button-group` (the group size is used instead).
77
+ * @defaultValue `'md'`
78
+ */
79
+ readonly size: _angular_core.InputSignal<DfButtonSize>;
80
+ /**
81
+ * Effective size applied to the host. Resolves to the group size when the button is in a `df-button-group`,
82
+ * otherwise falls back to the `size` input.
83
+ */
84
+ protected readonly resolvedSize: () => DfButtonSize;
85
+ /**
86
+ * Makes outline and text buttons transparent. Solid buttons are unaffected.
87
+ * Ignored if the button is in a `df-button-group` (transparent buttons are currently not supported in groups).
88
+ * @defaultValue `false`
89
+ */
90
+ readonly transparent: _angular_core.InputSignalWithTransform<boolean, unknown>;
91
+ /**
92
+ * Effective transparent flag applied to the host. Always false in a `df-button-group`, otherwise falls back
93
+ * to the `transparent` input.
94
+ */
95
+ protected readonly resolvedTransparent: () => boolean;
96
+ /**
97
+ * Enables mirrored styling for inverse surfaces.
98
+ * Ignored if the button is in a `df-button-group` (the group value is used instead).
99
+ * @defaultValue `false`
100
+ */
101
+ readonly mirror: _angular_core.InputSignalWithTransform<boolean, unknown>;
102
+ /**
103
+ * Effective mirror flag applied to the host. Resolves to the group value when the button is in a
104
+ * `df-button-group`, otherwise falls back to the `mirror` input.
105
+ */
106
+ protected readonly resolvedMirror: () => boolean;
107
+ constructor();
108
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ɵDfButtonVisual, never>;
109
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ɵDfButtonVisual, never, never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; "mirror": { "alias": "mirror"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
110
+ }
111
+
112
+ /**
113
+ * Internal host behavior for DF button-like directives.
114
+ *
115
+ * @since 22.0
116
+ * @internal
117
+ */
118
+ declare class ɵDfButtonHost {
119
+ #private;
120
+ /**
121
+ * Native button type attribute.
122
+ * @defaultValue `'button'`
123
+ */
124
+ readonly type: _angular_core.InputSignal<"submit" | "reset" | "button">;
125
+ /**
126
+ * Disabled state for buttons and anchor buttons.
127
+ * @defaultValue `false`
128
+ */
129
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
130
+ /**
131
+ * Host tabindex override.
132
+ * @defaultValue `undefined`
133
+ */
134
+ readonly tabindex: _angular_core.InputSignal<string | number | null | undefined>;
135
+ protected readonly isButton: boolean;
136
+ protected readonly isAnchor: boolean;
137
+ constructor();
138
+ protected onKeydown(event: KeyboardEvent): void;
139
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ɵDfButtonHost, never>;
140
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ɵDfButtonHost, never, never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
141
+ }
142
+
143
+ /**
144
+ * Design Factory button directive for native `<button>` and `<a>` elements.
145
+ *
146
+ * @since 22.0
147
+ */
148
+ declare class DfButton {
149
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfButton, never>;
150
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfButton, "button[dfButton], a[dfButton]", never, {}, {}, never, ["*"], true, [{ directive: typeof ɵDfButtonVisual; inputs: { "variant": "variant"; "appearance": "appearance"; "size": "size"; "transparent": "transparent"; "mirror": "mirror"; }; outputs: {}; }, { directive: typeof ɵDfButtonHost; inputs: { "type": "type"; "disabled": "disabled"; "tabindex": "tabindex"; }; outputs: {}; }]>;
151
+ }
152
+ /**
153
+ * Design Factory icon-only button directive for native `<button>` and `<a>` elements.
154
+ *
155
+ * Provide an accessible name with `aria-label` or `aria-labelledby`.
156
+ * Provide the icon with classes on the host element.
157
+ *
158
+ * @since 22.0
159
+ */
160
+ declare class DfIconButton {
161
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfIconButton, never>;
162
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfIconButton, "button[dfIconButton], a[dfIconButton]", never, {}, {}, never, never, true, [{ directive: typeof ɵDfButtonVisual; inputs: { "variant": "variant"; "appearance": "appearance"; "size": "size"; "transparent": "transparent"; "mirror": "mirror"; }; outputs: {}; }, { directive: typeof ɵDfButtonHost; inputs: { "type": "type"; "disabled": "disabled"; "tabindex": "tabindex"; }; outputs: {}; }]>;
163
+ }
164
+
165
+ export { DfButton, DfIconButton, ɵDfButtonGroupInjectionToken, ɵDfButtonHost, ɵDfButtonVisual };
166
+ export type { DfButtonAppearance, DfButtonSize, DfButtonVariant, ɵDfButtonGroupInterface };
@@ -0,0 +1,45 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ɵDfButtonGroupInterface as _DfButtonGroupInterface, DfButtonSize } from '@design-factory/angular/button';
3
+
4
+ /**
5
+ * Groups a set of related `dfButton` actions, rendering them as a single visually joined control.
6
+ *
7
+ * Project `dfButton` elements as content:
8
+ *
9
+ * ```html
10
+ * <df-button-group [size]="'md'" [appearance]="'outline'">
11
+ * <button dfButton [appearance]="'solid'">Main action</button>
12
+ * <button dfButton>Left</button>
13
+ * <button dfButton>Middle</button>
14
+ * <button dfButton>Right</button>
15
+ * </df-button-group>
16
+ * ```
17
+ *
18
+ * @since 22.0
19
+ */
20
+ declare class DfButtonGroup implements _DfButtonGroupInterface {
21
+ /**
22
+ * The size of the buttons in the group.
23
+ * @defaultValue `'md'`
24
+ */
25
+ readonly size: _angular_core.InputSignal<DfButtonSize>;
26
+ /**
27
+ * The appearance of the buttons in the group.
28
+ * @defaultValue `'outline'`
29
+ */
30
+ readonly appearance: _angular_core.InputSignal<"solid" | "outline">;
31
+ /**
32
+ * Enables mirrored styling for inverse surfaces.
33
+ * @defaultValue `false`
34
+ */
35
+ readonly mirror: _angular_core.InputSignalWithTransform<boolean, unknown>;
36
+ /**
37
+ * The orientation of the button group.
38
+ * @defaultValue `'horizontal'`
39
+ */
40
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
41
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfButtonGroup, never>;
42
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfButtonGroup, "df-button-group", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "mirror": { "alias": "mirror"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
43
+ }
44
+
45
+ export { DfButtonGroup };
@@ -16,37 +16,36 @@ type DfDrawerPosition = DrawerPosition;
16
16
  */
17
17
  type DfDrawerConfiguration = DrawerConfiguration;
18
18
  /**
19
- * Marks an `<ng-template>` as drawer header content.
19
+ * A directive to define a template containing the header content of the drawer.
20
20
  */
21
21
  declare class DfDrawerHeaderTemplate {
22
- readonly templateRef: TemplateRef<any>;
23
22
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDrawerHeaderTemplate, never>;
24
23
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfDrawerHeaderTemplate, "ng-template[dfDrawerHeader]", never, {}, {}, never, never, true, never>;
25
24
  }
26
25
  /**
27
- * Marks an `<ng-template>` as drawer body content.
26
+ * A directive to define a template containing the body content of the drawer.
28
27
  */
29
28
  declare class DfDrawerBodyTemplate {
30
- readonly templateRef: TemplateRef<any>;
31
29
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDrawerBodyTemplate, never>;
32
30
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfDrawerBodyTemplate, "ng-template[dfDrawerBody]", never, {}, {}, never, never, true, never>;
33
31
  }
34
32
  /**
35
- * Marks an `<ng-template>` as drawer footer content.
33
+ * A directive to define a template containing the footer content of the drawer.
36
34
  */
37
35
  declare class DfDrawerFooterTemplate {
38
- readonly templateRef: TemplateRef<any>;
39
36
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDrawerFooterTemplate, never>;
40
37
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfDrawerFooterTemplate, "ng-template[dfDrawerFooter]", never, {}, {}, never, never, true, never>;
41
38
  }
42
39
  /**
43
40
  * Enables users to show contextual content via a sliding panel from any screen edge.
44
- * @experimental
41
+ *
42
+ * See {@link https://design-factory.amadeus.net/components/drawer|Design Factory documentation} for details and examples.
43
+ * @since 21.1
45
44
  */
46
45
  declare class DfDrawer extends AgnosWidgetDirective<DrawerWidget> {
47
- protected readonly headerTemplate: _angular_core.Signal<DfDrawerHeaderTemplate | undefined>;
48
- protected readonly bodyTemplate: _angular_core.Signal<DfDrawerBodyTemplate | undefined>;
49
- protected readonly footerTemplate: _angular_core.Signal<DfDrawerFooterTemplate | undefined>;
46
+ protected readonly headerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
47
+ protected readonly bodyTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
48
+ protected readonly footerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
50
49
  protected readonly hasSectionTemplates: _angular_core.Signal<boolean>;
51
50
  /**
52
51
  * CSS classes to be applied on the widget main container
@@ -66,15 +65,20 @@ declare class DfDrawer extends AgnosWidgetDirective<DrawerWidget> {
66
65
  * @defaultValue `true`
67
66
  */
68
67
  readonly backdrop: _angular_core.InputSignalWithTransform<boolean, unknown>;
68
+ /**
69
+ * If `true` the drawer will be closed when clicking on the backdrop, otherwise the backdrop is static and non iteractive.
70
+ *
71
+ * @defaultValue `true`
72
+ */
73
+ readonly closeOnBackdropClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
69
74
  /**
70
75
  * Which element should contain the drawer and backdrop DOM elements.
71
76
  * If it is not null, the drawer and backdrop DOM elements are moved to the specified container.
72
77
  * Otherwise, they stay where the widget is located.
73
78
  *
74
- * @defaultValue
75
- * ```ts
76
- * typeof window !== 'undefined' ? document.body : null
77
- * ```
79
+ * Defaults to `document.body` in the browser and `null` on the server.
80
+ *
81
+ * @defaultValue `document.body`
78
82
  */
79
83
  readonly container: _angular_core.InputSignal<HTMLElement | null>;
80
84
  /**
@@ -116,17 +120,6 @@ declare class DfDrawer extends AgnosWidgetDirective<DrawerWidget> {
116
120
  * @defaultValue `'inline-start'`
117
121
  */
118
122
  readonly position: _angular_core.InputSignal<DrawerPosition>;
119
- /**
120
- * An event emitted when the width is changed.
121
- *
122
- * Event payload is equal to the newly selected width.
123
- *
124
- * @defaultValue
125
- * ```ts
126
- * () => {}
127
- * ```
128
- */
129
- readonly sizeChange: _angular_core.OutputEmitterRef<number | null>;
130
123
  /**
131
124
  * Event to be triggered when the visible property changes.
132
125
  *
@@ -203,7 +196,7 @@ declare class DfDrawer extends AgnosWidgetDirective<DrawerWidget> {
203
196
  */
204
197
  close(animated?: boolean): Promise<void>;
205
198
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDrawer, never>;
206
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfDrawer, "df-drawer", never, { "className": { "alias": "className"; "required": false; "isSignal": true; }; "bodyScroll": { "alias": "bodyScroll"; "required": false; "isSignal": true; }; "backdrop": { "alias": "backdrop"; "required": false; "isSignal": true; }; "container": { "alias": "container"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "keepInDom": { "alias": "keepInDom"; "required": false; "isSignal": true; }; "configuration": { "alias": "configuration"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "focusOnInit": { "alias": "focusOnInit"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; "sizeChange": "sizeChange"; "visibleChange": "visibleChange"; "minimizedChange": "minimizedChange"; "maximizedChange": "maximizedChange"; "resizingChange": "resizingChange"; "minSize": "minSize"; "maxSize": "maxSize"; }, ["headerTemplate", "bodyTemplate", "footerTemplate"], ["*", "df-drawer-splitter-content"], true, never>;
199
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfDrawer, "df-drawer", never, { "className": { "alias": "className"; "required": false; "isSignal": true; }; "bodyScroll": { "alias": "bodyScroll"; "required": false; "isSignal": true; }; "backdrop": { "alias": "backdrop"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "container": { "alias": "container"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "keepInDom": { "alias": "keepInDom"; "required": false; "isSignal": true; }; "configuration": { "alias": "configuration"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "focusOnInit": { "alias": "focusOnInit"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; "visibleChange": "visibleChange"; "minimizedChange": "minimizedChange"; "maximizedChange": "maximizedChange"; "resizingChange": "resizingChange"; "minSize": "minSize"; "maxSize": "maxSize"; }, ["headerTemplate", "bodyTemplate", "footerTemplate"], ["*", "df-drawer-splitter-content"], true, never>;
207
200
  }
208
201
 
209
202
  export { DfDrawer, DfDrawerBodyTemplate, DfDrawerFooterTemplate, DfDrawerHeaderTemplate };
@@ -0,0 +1,148 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Injector, TemplateRef } from '@angular/core';
3
+ import { AgnosWidgetDirective, AngularWidget } from '@design-factory/angular/internals';
4
+ import { DropdownWidget, DropdownSize } from '@design-factory/core/components/dropdown';
5
+ import { Placement } from '@design-factory/core/services/positioning';
6
+ import * as i1 from '@design-factory/angular/button';
7
+
8
+ /**
9
+ * Supported placement values for the dropdown overlay.
10
+ * @since 22.0
11
+ */
12
+ type DfDropdownPlacement = Placement;
13
+ /**
14
+ * Available dropdown sizes.
15
+ * @since 22.0
16
+ */
17
+ type DfDropdownSize = DropdownSize;
18
+ declare class DfDropdownWindow {
19
+ readonly injector: Injector;
20
+ readonly widget: _angular_core.InputSignal<AngularWidget<DropdownWidget>>;
21
+ readonly content: _angular_core.InputSignal<TemplateRef<unknown>>;
22
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDropdownWindow, never>;
23
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfDropdownWindow, "df-dropdown-window", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "content": { "alias": "content"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
24
+ }
25
+ /**
26
+ * Dropdown is a component to provide a button combined to a menu with a list of options.
27
+ * @since 22.0
28
+ */
29
+ declare class DfDropdown extends AgnosWidgetDirective<DropdownWidget> {
30
+ /**
31
+ * If `true`, the dropdown is open.
32
+ *
33
+ * @defaultValue `false`
34
+ */
35
+ readonly opened: _angular_core.InputSignalWithTransform<boolean, unknown>;
36
+ /**
37
+ * Event emitted when the open state changes.
38
+ */
39
+ readonly openedChange: _angular_core.OutputEmitterRef<boolean>;
40
+ /**
41
+ * The dropdown placement relative to its anchor.
42
+ */
43
+ readonly placement: _angular_core.InputSignal<string | Placement[] | undefined>;
44
+ /**
45
+ * Visual size configuration for dropdown items.
46
+ */
47
+ readonly size: _angular_core.InputSignal<DropdownSize | undefined>;
48
+ /**
49
+ * Which element should contain the dropdown menu DOM element.
50
+ * - `'body'`: the menu is appended to `document.body` (useful when the toggle is inside an element that clips
51
+ * its content via `overflow` or creates a stacking context).
52
+ * - `null` (default): the menu is rendered inline, where the dropdown is declared.
53
+ *
54
+ * @defaultValue `null`
55
+ */
56
+ readonly container: _angular_core.InputSignal<"body" | null>;
57
+ private readonly dropdownWindow;
58
+ protected readonly toggleElement: _angular_core.WritableSignal<HTMLElement | undefined>;
59
+ constructor();
60
+ /**
61
+ * Toggles the dropdown menu visibility programmatically.
62
+ *
63
+ * @param open - Optional explicit open state. When omitted, the current state is toggled.
64
+ */
65
+ toggle(open?: boolean): void;
66
+ /**
67
+ * Opens the dropdown menu programmatically.
68
+ */
69
+ open(): void;
70
+ /**
71
+ * Closes the dropdown menu programmatically.
72
+ */
73
+ close(): void;
74
+ /**
75
+ * Get whether the dropdown menu is currently open.
76
+ */
77
+ isOpen(): boolean;
78
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDropdown, never>;
79
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfDropdown, "df-dropdown", never, { "opened": { "alias": "opened"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "container": { "alias": "container"; "required": false; "isSignal": true; }; }, { "openedChange": "openedChange"; }, never, ["*"], true, never>;
80
+ }
81
+
82
+ /**
83
+ * Component representing the toggle button of a dropdown, which is used to toggle the visibility of the dropdown menu.
84
+ * @since 22.0
85
+ */
86
+ declare class DfDropdownToggle {
87
+ /**
88
+ * The dropdown instance controlled by this toggle element.
89
+ *
90
+ * Pass the referenced {@link DfDropdown} instance to connect the host button to its menu.
91
+ */
92
+ readonly dropdown: _angular_core.InputSignal<DfDropdown>;
93
+ /**
94
+ * When true, hides the chevron icon for icon-only dropdown buttons.
95
+ *
96
+ * **Accessibility:** When using `iconOnly`, you must provide an `aria-label` attribute on the button element.
97
+ *
98
+ * @example
99
+ * ```html
100
+ * <button [dfDropdownToggle]="menu" iconOnly aria-label="More options">
101
+ * <df-icon class="fa-light fa-ellipsis-v" />
102
+ * </button>
103
+ * ```
104
+ */
105
+ readonly iconOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
106
+ constructor();
107
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDropdownToggle, never>;
108
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfDropdownToggle, "button[dfDropdownToggle]", never, { "dropdown": { "alias": "dfDropdownToggle"; "required": true; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.ɵDfButtonVisual; inputs: { "variant": "variant"; "appearance": "appearance"; "size": "size"; "transparent": "transparent"; "mirror": "mirror"; }; outputs: {}; }, { directive: typeof i1.ɵDfButtonHost; inputs: { "disabled": "disabled"; }; outputs: {}; }]>;
109
+ }
110
+
111
+ /**
112
+ * Directive representing a button in the dropdown menu.
113
+ * @since 22.0
114
+ */
115
+ declare class DfDropdownItemButton {
116
+ /**
117
+ * Whether the dropdown item is displayed in its active state.
118
+ */
119
+ readonly active: _angular_core.InputSignalWithTransform<boolean, unknown>;
120
+ /**
121
+ * Whether the dropdown item is disabled.
122
+ */
123
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
124
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDropdownItemButton, never>;
125
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfDropdownItemButton, "button[dfDropdownItem]", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
126
+ }
127
+ /**
128
+ * Directive representing a link in the dropdown menu.
129
+ * @since 22.0
130
+ */
131
+ declare class DfDropdownItemLink {
132
+ #private;
133
+ /**
134
+ * Whether the dropdown item is displayed in its active state.
135
+ */
136
+ readonly active: _angular_core.InputSignalWithTransform<boolean, unknown>;
137
+ /**
138
+ * Whether the dropdown item is disabled.
139
+ */
140
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
141
+ constructor();
142
+ protected onKeydown(event: KeyboardEvent): void;
143
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfDropdownItemLink, never>;
144
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfDropdownItemLink, "a[dfDropdownItem]", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
145
+ }
146
+
147
+ export { DfDropdown, DfDropdownItemButton, DfDropdownItemLink, DfDropdownToggle, DfDropdownWindow };
148
+ export type { DfDropdownPlacement, DfDropdownSize };