@design-factory/angular 21.1.0 → 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 +64 -62
  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 +652 -401
  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 +29 -19
  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 +589 -589
  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 +10 -16
  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 +98 -14
  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 +35 -47
  331. package/drawer/README.md +0 -54
@@ -0,0 +1,239 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AgnosWidgetDirective } from '@design-factory/angular/internals';
3
+ import { SliderWidget, SliderProps } from '@design-factory/core/components/slider';
4
+ import { ControlValueAccessor } from '@angular/forms';
5
+
6
+ /**
7
+ * Available slider sizes.
8
+ *
9
+ * @experimental 22.0.0
10
+ */
11
+ type DfSliderSize = 'sm' | 'md' | 'lg';
12
+ /**
13
+ * Slider component for selecting a single value or a range of values.
14
+ *
15
+ * Supports one or more handles, ticks, value and min/max labels, RTL/flip directions and vertical orientation.
16
+ *
17
+ * @experimental 22.0.0
18
+ */
19
+ declare class DfSlider extends AgnosWidgetDirective<SliderWidget> implements ControlValueAccessor {
20
+ private updateTimeout?;
21
+ /**
22
+ * Size of the slider.
23
+ *
24
+ * @defaultValue `'md'`
25
+ */
26
+ readonly size: _angular_core.InputSignal<DfSliderSize>;
27
+ /**
28
+ * Minimum value that can be assigned to the slider.
29
+ *
30
+ * @defaultValue `0`
31
+ */
32
+ readonly min: _angular_core.InputSignal<number | undefined>;
33
+ /**
34
+ * Maximum value that can be assigned to the slider.
35
+ *
36
+ * @defaultValue `100`
37
+ */
38
+ readonly max: _angular_core.InputSignal<number | undefined>;
39
+ /**
40
+ * Unit value between slider steps.
41
+ *
42
+ * @defaultValue `1`
43
+ */
44
+ readonly stepSize: _angular_core.InputSignal<number | undefined>;
45
+ /**
46
+ * Current slider values.
47
+ *
48
+ * @defaultValue `[0]`
49
+ */
50
+ readonly values: _angular_core.InputSignal<number[] | undefined>;
51
+ /**
52
+ * If `true`, slider value cannot be changed but the slider is still focusable.
53
+ *
54
+ * @defaultValue `false`
55
+ */
56
+ readonly readonly: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
57
+ /**
58
+ * If `true`, slider value cannot be changed and the slider cannot be focused.
59
+ *
60
+ * @defaultValue `false`
61
+ */
62
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
63
+ /**
64
+ * If `true`, the slider is vertically positioned; otherwise it is horizontal.
65
+ *
66
+ * @defaultValue `false`
67
+ */
68
+ readonly vertical: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
69
+ /**
70
+ * If set, overrides the auto-detected RTL direction.
71
+ * When not set, RTL is auto-detected from the element's computed CSS direction.
72
+ *
73
+ * @defaultValue `false`
74
+ */
75
+ readonly rtl: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
76
+ /**
77
+ * If `true`, visually flips the slider direction (both horizontal and vertical).
78
+ *
79
+ * @defaultValue `false`
80
+ */
81
+ readonly flip: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
82
+ /**
83
+ * If `true`, the value labels are displayed on the slider.
84
+ *
85
+ * @defaultValue `true`
86
+ */
87
+ readonly showValueLabels: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
88
+ /**
89
+ * If `true`, the min and max labels are displayed on the slider.
90
+ *
91
+ * @defaultValue `true`
92
+ */
93
+ readonly showMinMaxLabels: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
94
+ /**
95
+ * If `true`, the ticks are displayed on the slider.
96
+ *
97
+ * @defaultValue `false`
98
+ */
99
+ readonly showTicks: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
100
+ /**
101
+ * Unit value between the ticks.
102
+ * If set to `0`, the {@link stepSize} is used to space the ticks.
103
+ *
104
+ * @defaultValue `0`
105
+ */
106
+ readonly tickInterval: _angular_core.InputSignal<number | undefined>;
107
+ /**
108
+ * If `true`, the tick values are displayed on the slider.
109
+ *
110
+ * @defaultValue `true`
111
+ */
112
+ readonly showTickValues: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
113
+ /**
114
+ * Minimum distance between two handle values.
115
+ * When set to `0`, no minimum distance constraint is applied.
116
+ *
117
+ * Note: constraints are only enforced when a handle value changes (via user interaction or programmatic update),
118
+ * not on the initial values. If the initial values violate the constraint, they are rendered as-is until a handle moves.
119
+ *
120
+ * @defaultValue `0`
121
+ */
122
+ readonly minRange: _angular_core.InputSignal<number | undefined>;
123
+ /**
124
+ * Maximum distance between two handle values.
125
+ * When set to `0`, no maximum distance constraint is applied.
126
+ *
127
+ * Note: constraints are only enforced when a handle value changes (via user interaction or programmatic update),
128
+ * not on the initial values. If the initial values violate the constraint, they are rendered as-is until a handle moves.
129
+ *
130
+ * @defaultValue `0`
131
+ */
132
+ readonly maxRange: _angular_core.InputSignal<number | undefined>;
133
+ /**
134
+ * When `true`, if moving a handle would break the {@link minRange} or {@link maxRange} constraint,
135
+ * it will push or pull the neighboring handles to maintain the allowed range.
136
+ *
137
+ * @defaultValue `false`
138
+ */
139
+ readonly pushRange: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
140
+ /**
141
+ * Returns the value for the `aria-label` attribute of each slider handle.
142
+ *
143
+ * @param sortedIndex - index of the handle in the sorted list
144
+ *
145
+ * @defaultValue `() => 'Value'`
146
+ */
147
+ readonly ariaLabel: _angular_core.InputSignal<((sortedIndex: number) => string) | undefined>;
148
+ /**
149
+ * Returns the value for the `aria-labelledby` attribute of each slider handle.
150
+ *
151
+ * @param sortedIndex - index of the handle in the sorted list
152
+ *
153
+ * @defaultValue `() => ''`
154
+ */
155
+ readonly ariaLabelledBy: _angular_core.InputSignal<((sortedIndex: number) => string) | undefined>;
156
+ /**
157
+ * Returns the value for the `aria-valuetext` attribute of each slider handle.
158
+ *
159
+ * @param value - current value of the handle
160
+ * @param sortedIndex - index of the handle in the sorted list
161
+ *
162
+ * @defaultValue `() => ''`
163
+ */
164
+ readonly ariaValueText: _angular_core.InputSignal<((value: number, sortedIndex: number) => string) | undefined>;
165
+ /**
166
+ * Emitted when slider values are changed.
167
+ *
168
+ * Event payload equals the updated slider values.
169
+ */
170
+ readonly valuesChange: _angular_core.OutputEmitterRef<number[]>;
171
+ constructor();
172
+ /**
173
+ * Key handler that sets the refocus element only on the keystrokes that move
174
+ * the element up the DOM
175
+ * @param event object containing keystroke and the target element
176
+ */
177
+ onKeyDown(event: KeyboardEvent): void;
178
+ /**
179
+ * Control value accessor methods
180
+ */
181
+ onChange: (_: any) => void;
182
+ onTouched: () => void;
183
+ registerOnChange(fn: (value: any) => any): void;
184
+ registerOnTouched(fn: () => any): void;
185
+ writeValue(value: any): void;
186
+ setDisabledState(isDisabled: boolean): void;
187
+ handleBlur(): void;
188
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfSlider, never>;
189
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfSlider, "df-slider", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "stepSize": { "alias": "stepSize"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "rtl": { "alias": "rtl"; "required": false; "isSignal": true; }; "flip": { "alias": "flip"; "required": false; "isSignal": true; }; "showValueLabels": { "alias": "showValueLabels"; "required": false; "isSignal": true; }; "showMinMaxLabels": { "alias": "showMinMaxLabels"; "required": false; "isSignal": true; }; "showTicks": { "alias": "showTicks"; "required": false; "isSignal": true; }; "tickInterval": { "alias": "tickInterval"; "required": false; "isSignal": true; }; "showTickValues": { "alias": "showTickValues"; "required": false; "isSignal": true; }; "minRange": { "alias": "minRange"; "required": false; "isSignal": true; }; "maxRange": { "alias": "maxRange"; "required": false; "isSignal": true; }; "pushRange": { "alias": "pushRange"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; "isSignal": true; }; }, { "valuesChange": "valuesChange"; }, never, never, true, never>;
190
+ }
191
+
192
+ /**
193
+ * Configuration options supported by `provideDfSliderConfig`.
194
+ *
195
+ * These defaults apply to every `DfSlider` instance within the providing injector, unless explicitly overridden on
196
+ * the component itself.
197
+ */
198
+ type DfSliderConfig = Pick<SliderProps, 'ariaLabel' | 'ariaValueText'>;
199
+ /**
200
+ * Slider config key in the global DF component config.
201
+ */
202
+ declare const SLIDER_CONFIG_KEY: "slider";
203
+ /**
204
+ * Provides the configuration for the slider component.
205
+ *
206
+ * @example
207
+ * ```ts
208
+ * @Component({
209
+ * providers: [provideDfSliderConfig({ ariaLabel: () => 'Custom label' })]
210
+ * })
211
+ * export class MyHomeComponent {}
212
+ * ```
213
+ *
214
+ * @param config - Partial configuration or a function that receives the parent configuration and returns a partial configuration.
215
+ *
216
+ * @since 22.0.0
217
+ */
218
+ declare const provideDfSliderConfig: (config?: Partial<DfSliderConfig> | ((prevConfig: Partial<DfSliderConfig>) => Partial<DfSliderConfig>) | undefined) => _angular_core.FactoryProvider;
219
+ /**
220
+ * Injects the configuration for the slider component.
221
+ *
222
+ * @example
223
+ * ```ts
224
+ * @Component({
225
+ * providers: [provideDfSliderConfig()]
226
+ * })
227
+ * export class MySliderComponent {
228
+ * readonly sliderConfig = injectDfSliderConfig();
229
+ * }
230
+ * ```
231
+ *
232
+ * @returns A writable signal containing the slider configuration.
233
+ *
234
+ * @since 22.0.0
235
+ */
236
+ declare const injectDfSliderConfig: () => _angular_core.WritableSignal<Partial<DfSliderConfig>>;
237
+
238
+ export { DfSlider, SLIDER_CONFIG_KEY, injectDfSliderConfig, provideDfSliderConfig };
239
+ export type { DfSliderConfig, DfSliderSize };
@@ -0,0 +1,93 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ /**
5
+ * Design Factory toggle switch.
6
+ *
7
+ * Renders a native `<input type="checkbox" role="switch">` underneath with a custom visual.
8
+ * Any projected content is rendered inline-end of the switch (typically the on/off state text,
9
+ * e.g. `{{ checked() ? 'On' : 'Off' }}`).
10
+ *
11
+ * Form integration is handled through `ControlValueAccessor`; `disabled`, `readonly`, and
12
+ * `required` states flow from the bound Angular form control.
13
+ *
14
+ * @experimental 22.0
15
+ */
16
+ declare class DfToggle implements ControlValueAccessor {
17
+ /**
18
+ * ID of the internal `<input>` element.
19
+ *
20
+ * Defaults to a generated `dfId-[counter]` so the internal input always has a stable id that
21
+ * surrounding labels or form-field markup can target.
22
+ *
23
+ * @defaultValue `'dfId-[number]'`
24
+ */
25
+ readonly id: _angular_core.InputSignal<string>;
26
+ /**
27
+ * Checked state of the toggle.
28
+ *
29
+ * @defaultValue `false`
30
+ */
31
+ readonly checked: _angular_core.ModelSignal<boolean>;
32
+ /**
33
+ * Size of the toggle.
34
+ *
35
+ * @defaultValue `'md'`
36
+ */
37
+ readonly size: _angular_core.InputSignal<"sm" | "md" | "lg">;
38
+ /**
39
+ * Accessible name for the internal `<input>`. Use when the toggle has no visible label
40
+ * (e.g. when projected content describes state, not purpose).
41
+ *
42
+ * Forwarded to the internal `<input>` as `aria-label`. Prefer {@link ariaLabelledby} when a
43
+ * visible label element exists.
44
+ */
45
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
46
+ /**
47
+ * IDs of one or more elements that label the internal `<input>`.
48
+ *
49
+ * Forwarded to the internal `<input>` as `aria-labelledby`. Used by the surrounding form-field
50
+ * markup to wire its label element to the toggle.
51
+ */
52
+ readonly ariaLabelledby: _angular_core.InputSignal<string | null>;
53
+ /**
54
+ * Disabled state of the toggle.
55
+ *
56
+ * Combines additively with the disabled state driven by `ControlValueAccessor.setDisabledState`
57
+ * (typically `formControl.disable()`): the toggle is disabled if **either** source asks for it.
58
+ *
59
+ * Concrete behavior:
60
+ * - `[disabled]="true"` disables the toggle regardless of the form control state.
61
+ * - `formControl.disable()` disables the toggle regardless of the `[disabled]` value.
62
+ * - To re-enable, **both** sources must agree: clear `[disabled]` (or set it to `false`) **and**
63
+ * call `formControl.enable()`.
64
+ * - There is no precedence/last-write-wins: the order in which the two sources change does not
65
+ * matter. The combined state is recomputed reactively whenever either source changes.
66
+ *
67
+ * Use the input for ad-hoc disabling that does not need a form control (e.g. gating on a sibling
68
+ * signal); use the form control when the toggle is part of an Angular form.
69
+ *
70
+ * @defaultValue `false`
71
+ */
72
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
73
+ /** Disabled state driven by `ControlValueAccessor.setDisabledState` (form-driven channel). */
74
+ private readonly cvaDisabled;
75
+ /** Effective disabled state forwarded to the internal `<input>`: input OR form-driven. */
76
+ protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
77
+ private onChange;
78
+ private onTouched;
79
+ protected handleChange(event: Event): void;
80
+ protected handleBlur(): void;
81
+ /** @internal */
82
+ writeValue(value: boolean): void;
83
+ /** @internal */
84
+ registerOnChange(fn: (value: boolean) => void): void;
85
+ /** @internal */
86
+ registerOnTouched(fn: () => void): void;
87
+ /** @internal */
88
+ setDisabledState(isDisabled: boolean): void;
89
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfToggle, never>;
90
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfToggle, "df-toggle", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, never>;
91
+ }
92
+
93
+ export { DfToggle };
@@ -0,0 +1,113 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AgnosWidgetDirective } from '@design-factory/angular/internals';
3
+ import { TooltipWidget, TooltipSize, TooltipPlacement, TooltipProps } from '@design-factory/core/components/tooltip';
4
+
5
+ /**
6
+ * Valid placement values for the tooltip.
7
+ * Includes all individual placement values plus `'auto'`, `'vertical'` and `'horizontal'` shortcuts.
8
+ *
9
+ * - `'auto'` expands to `'vertical horizontal'`
10
+ * - `'vertical'` expands to `'top top-start top-end bottom bottom-start bottom-end'`
11
+ * - `'horizontal'` expands to `'end end-end end-start start start-end start-start'`
12
+ *
13
+ * @since 22.0
14
+ */
15
+ type DfTooltipPlacement = TooltipPlacement;
16
+ /**
17
+ * Accepted value for the tooltip `placement` input.
18
+ *
19
+ * Either an array of placements or a space-separated string of placements, in order of preference.
20
+ * The first placement that fits the viewport will be used.
21
+ *
22
+ * @since 22.0
23
+ */
24
+ type DfTooltipPlacementArray = DfTooltipPlacement[] | `${DfTooltipPlacement}${string}`;
25
+ /**
26
+ * Available tooltip sizes.
27
+ * @since 22.0
28
+ */
29
+ type DfTooltipSize = TooltipSize;
30
+ /**
31
+ * A directive that attaches a tooltip to its host element.
32
+ *
33
+ * The tooltip is shown when the host element is hovered, receives keyboard focus or long press, and hidden when the mouse leaves,
34
+ * the element loses keyboard focus, or the user presses `Escape`. The tooltip window is rendered in `document.body` and
35
+ * positioned next to the host using the configured placement preference.
36
+ *
37
+ * @since 22.0
38
+ */
39
+ declare class DfTooltip extends AgnosWidgetDirective<TooltipWidget> {
40
+ /**
41
+ * Text content to be displayed inside the tooltip.
42
+ */
43
+ readonly content: _angular_core.InputSignal<string | null | undefined>;
44
+ /**
45
+ * Size of the tooltip.
46
+ */
47
+ readonly size: _angular_core.InputSignal<TooltipSize | undefined>;
48
+ /**
49
+ * List of placements, in order of preference. The first valid placement will be used.
50
+ */
51
+ readonly placement: _angular_core.InputSignal<DfTooltipPlacementArray | undefined>;
52
+ /**
53
+ * Whether the tooltip is disabled. When `true`, the tooltip will not be displayed, even if the reference element is focused, hovered or long-pressed.
54
+ */
55
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
56
+ /**
57
+ * Whether showing or hiding the tooltip should be animated.
58
+ */
59
+ readonly animated: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
60
+ constructor();
61
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfTooltip, never>;
62
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfTooltip, "[dfTooltip]", never, { "content": { "alias": "dfTooltip"; "required": false; "isSignal": true; }; "size": { "alias": "dfTooltipSize"; "required": false; "isSignal": true; }; "placement": { "alias": "dfTooltipPlacement"; "required": false; "isSignal": true; }; "disabled": { "alias": "dfTooltipDisabled"; "required": false; "isSignal": true; }; "animated": { "alias": "dfTooltipAnimated"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
63
+ }
64
+
65
+ /**
66
+ * Configuration options supported by `provideDfTooltipConfig`.
67
+ *
68
+ * These defaults apply to every `DfTooltip` instance within the providing injector, unless explicitly overridden on
69
+ * the directive itself.
70
+ *
71
+ * @since 22.0
72
+ */
73
+ type DfTooltipConfig = Pick<TooltipProps, 'animated'>;
74
+ /**
75
+ * Tooltip config key in the global DF component config.
76
+ * @since 22.0
77
+ */
78
+ declare const TOOLTIP_CONFIG_KEY: "tooltip";
79
+ /**
80
+ * Provides the configuration for the tooltip component.
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * @Component({
85
+ * providers: [provideDfTooltipConfig({ animated: false })]
86
+ * })
87
+ * export class MyHomeComponent {}
88
+ * ```
89
+ *
90
+ * @param config - Partial configuration or a function that receives the parent configuration and returns a partial configuration.
91
+ * @since 22.0
92
+ */
93
+ declare const provideDfTooltipConfig: (config?: Partial<DfTooltipConfig> | ((prevConfig: Partial<DfTooltipConfig>) => Partial<DfTooltipConfig>) | undefined) => _angular_core.FactoryProvider;
94
+ /**
95
+ * Injects the configuration for the tooltip component.
96
+ *
97
+ * @example
98
+ * ```ts
99
+ * @Component({
100
+ * providers: [provideDfTooltipConfig()]
101
+ * })
102
+ * export class MyTooltipComponent {
103
+ * readonly tooltipConfig = injectDfTooltipConfig();
104
+ * }
105
+ * ```
106
+ *
107
+ * @returns A writable signal containing the tooltip configuration.
108
+ * @since 22.0
109
+ */
110
+ declare const injectDfTooltipConfig: () => _angular_core.WritableSignal<Partial<DfTooltipConfig>>;
111
+
112
+ export { DfTooltip, TOOLTIP_CONFIG_KEY, injectDfTooltipConfig, provideDfTooltipConfig };
113
+ export type { DfTooltipConfig, DfTooltipPlacement, DfTooltipPlacementArray, DfTooltipSize };
@@ -1,30 +1,11 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Signal, TemplateRef, AfterContentInit, ElementRef } from '@angular/core';
2
+ import { TemplateRef, AfterContentInit, ElementRef, Signal, InjectionToken } from '@angular/core';
3
+ import * as _design_factory_angular_sidenav from '@design-factory/angular/sidenav';
4
+ import { DfSideNavInputNode, DfSidenavInput } from '@design-factory/angular/sidenav';
3
5
  import { IsActiveMatchOptions } from '@angular/router';
4
- import { DfSidenavComponent } from '@design-factory/angular/sidenav';
5
6
  import { NgbPopover } from '@ng-bootstrap/ng-bootstrap/popover';
6
7
  import { DfThemeService } from '@design-factory/angular/theme';
7
8
 
8
- /**
9
- * @internal
10
- * Defines the structure of the navigation items used to build the sidenav menu when the TopNav is in "sidenav" mode. These types are used internally to map the navigation elements defined in the TopNavNavigation component to a structure that can be easily consumed by the sidenav component.
11
- */
12
- type SideNavItem = {
13
- label: Signal<string>;
14
- children: Signal<(SideNavItem | SideNavLink)[]>;
15
- };
16
- /**
17
- * @internal
18
- * Defines the structure of the navigation links used to build the sidenav menu when the TopNav is in "sidenav" mode. These types are used internally to map the navigation elements defined in the TopNavNavigation component to a structure that can be easily consumed by the sidenav component.
19
- */
20
- type SideNavLink = {
21
- label: Signal<string>;
22
- href: Signal<string>;
23
- external: Signal<boolean>;
24
- routerLinkActiveOptions: Signal<IsActiveMatchOptions | {
25
- exact: boolean;
26
- }>;
27
- };
28
9
  /**
29
10
  * TopNav (Top Navigation Bar) provides consistent access to product-level navigation and global actions across Amadeus applications.
30
11
  *
@@ -36,14 +17,9 @@ type SideNavLink = {
36
17
  declare class DfTopNav {
37
18
  /**
38
19
  * The style of the TopNav main nav, which determines the applied styles. Can be either "basic" or "mirror".
39
- * When not provided, the applied mode will be determined based on the number of navigation links.
20
+ * If navigation links are present this input is ignored and the applied style will be determined based on the number of navigation links and the superheader input.
40
21
  */
41
22
  readonly mainNavStyle: _angular_core.InputSignal<"basic" | "mirror" | undefined>;
42
- /**
43
- * The style of the TopNav secondary nav, which determines the applied styles. Can be either "basic" or "mirror".
44
- * When not provided, the applied mode will be opposite to the main nav style.
45
- */
46
- readonly secondaryNavStyle: _angular_core.InputSignal<"basic" | "mirror" | undefined>;
47
23
  /**
48
24
  * The mode of the TopNav, which determines the behavior of the navigation. Can be either "sidenav" or "dropdown".
49
25
  */
@@ -72,15 +48,14 @@ declare class DfTopNav {
72
48
  /**
73
49
  * The content of the sidenav, which is derived from the TopNav navigation elements.
74
50
  */
75
- protected readonly sidenavContent: Signal<(SideNavItem | SideNavLink)[]>;
76
- protected readonly isLg: Signal<boolean>;
77
- protected readonly isXl: Signal<boolean>;
78
- protected readonly appliedSuperheader: Signal<boolean>;
79
- protected readonly mainNavAppliedStyle: Signal<"basic" | "mirror">;
80
- protected readonly secondaryNavAppliedStyle: Signal<"basic" | "mirror">;
51
+ protected readonly sidenavContent: _angular_core.Signal<DfSideNavInputNode[]>;
52
+ protected readonly isLg: _angular_core.Signal<boolean>;
53
+ protected readonly isXl: _angular_core.Signal<boolean>;
54
+ protected readonly appliedSuperheader: _angular_core.Signal<boolean>;
55
+ protected readonly mainNavAppliedStyle: _angular_core.Signal<"basic" | "mirror">;
81
56
  constructor();
82
57
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfTopNav, never>;
83
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNav, "df-topnav", never, { "mainNavStyle": { "alias": "mainNavStyle"; "required": false; "isSignal": true; }; "secondaryNavStyle": { "alias": "secondaryNavStyle"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "navExpanded": { "alias": "navExpanded"; "required": false; "isSignal": true; }; "superheader": { "alias": "superheader"; "required": false; "isSignal": true; }; "showToggle": { "alias": "showToggle"; "required": false; "isSignal": true; }; }, { "navExpanded": "navExpandedChange"; }, ["navigationContainer", "navActions"], ["df-topnav-navigation", "df-topnav-brand", "df-topnav-quick-actions"], true, never>;
58
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNav, "df-topnav", never, { "mainNavStyle": { "alias": "mainNavStyle"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "navExpanded": { "alias": "navExpanded"; "required": false; "isSignal": true; }; "superheader": { "alias": "superheader"; "required": false; "isSignal": true; }; "showToggle": { "alias": "showToggle"; "required": false; "isSignal": true; }; }, { "navExpanded": "navExpandedChange"; }, ["navigationContainer", "navActions"], ["df-topnav-navigation", "df-topnav-brand", "df-topnav-quick-actions"], true, never>;
84
59
  }
85
60
 
86
61
  /**
@@ -96,7 +71,7 @@ declare class DfTopNavBrandLinkContent {
96
71
  /**
97
72
  * The TopNav brand component, used to display the company and product information.
98
73
  *
99
- * See {@link https://design-factory.amadeus.net/components/topnav/examples#brand|Design Factory example}
74
+ * See {@link https://design-factory.amadeus.net/components/topnav/developer#brand|Design Factory example}
100
75
  * @since 21.1
101
76
  */
102
77
  declare class DfTopNavBrand {
@@ -132,10 +107,9 @@ declare class DfTopNavBrand {
132
107
  */
133
108
  declare class DfAppContainer implements AfterContentInit {
134
109
  protected readonly topnav: _angular_core.Signal<DfTopNav>;
135
- protected readonly sidenav: _angular_core.Signal<DfSidenavComponent | undefined>;
136
- protected readonly sidenavContent: _angular_core.Signal<(SideNavItem | SideNavLink)[]>;
110
+ protected readonly sidenav: _angular_core.Signal<DfSidenavInput | undefined>;
111
+ protected readonly sidenavContent: _angular_core.Signal<_design_factory_angular_sidenav.DfSideNavInputNode[]>;
137
112
  protected readonly drawerContainerActions: _angular_core.Signal<ElementRef<HTMLElement>>;
138
- protected isSideItem(item: SideNavItem | SideNavLink): item is SideNavItem;
139
113
  constructor();
140
114
  ngAfterContentInit(): void;
141
115
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfAppContainer, never>;
@@ -227,8 +201,15 @@ declare class DfTopNavNavigationItem extends DfTopNavNavigationElement {
227
201
  }
228
202
 
229
203
  /**
230
- * @internal
204
+ * An Injection Token for the DfTopNavQuickActionElement interface, which represents a navigation quick action in the top navigation component.
205
+ *
206
+ * @since 22.0
207
+ */
208
+ declare const DF_TOPNAV_QUICK_ACTION_ELEMENT: InjectionToken<DfTopNavQuickActionElement>;
209
+ /**
231
210
  * An abstract class that defines the structure of a quick action element in the top navigation component.
211
+ *
212
+ * @since 22.0
232
213
  */
233
214
  declare abstract class DfTopNavQuickActionElement {
234
215
  }
@@ -262,7 +243,7 @@ declare class DfTopNavQuickActionButtonIcon {
262
243
  *
263
244
  * The icon can be set through the {@link DfTopNavQuickActionButton.icon} input or by using the {@link DfTopNavQuickActionButtonIcon} directive.
264
245
  *
265
- * See {@link https://design-factory.amadeus.net/components/topnav/examples#quick-actions|Design Factory example}
246
+ * See {@link https://design-factory.amadeus.net/components/topnav/developer#quick-actions|Design Factory example}
266
247
  * @since 21.1
267
248
  */
268
249
  declare class DfTopNavQuickActionButton extends DfTopNavQuickActionElement {
@@ -291,6 +272,7 @@ declare class DfTopNavQuickActionButton extends DfTopNavQuickActionElement {
291
272
  protected readonly popover: _angular_core.Signal<NgbPopover>;
292
273
  private readonly isLg;
293
274
  constructor();
275
+ protected readonly mainNavAppliedStyle: _angular_core.Signal<"basic" | "mirror">;
294
276
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfTopNavQuickActionButton, never>;
295
277
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNavQuickActionButton, "df-topnav-quick-action-button", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "act": "act"; }, ["actionContent", "actionIcon"], never, true, never>;
296
278
  }
@@ -325,12 +307,13 @@ declare class DfTopNavQuickActionInDrawer {
325
307
  * It should be used inside a {@link DfTopNavQuickActions} component.
326
308
  * It requires a {@link DfTopNavQuickActionInTopNav} template to be provided as content, which will be displayed in desktop. An optional {@link DfTopNavQuickActionInDrawer} template can also be provided, which will be displayed in mobile and tablet instead of the topnav template.
327
309
  *
328
- * See {@link https://design-factory.amadeus.net/components/topnav/examples#quick-actions|Design Factory example}
310
+ * See {@link https://design-factory.amadeus.net/components/topnav/developer#quick-actions|Design Factory example}
329
311
  * @since 21.1
330
312
  */
331
313
  declare class DfTopNavQuickAction extends DfTopNavQuickActionElement {
332
314
  protected readonly content: _angular_core.Signal<TemplateRef<any>>;
333
315
  protected readonly drawerContent: _angular_core.Signal<TemplateRef<any> | undefined>;
316
+ protected readonly mainNavAppliedStyle: _angular_core.Signal<"basic" | "mirror">;
334
317
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfTopNavQuickAction, never>;
335
318
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNavQuickAction, "df-topnav-quick-action", never, {}, {}, ["content", "drawerContent"], never, true, never>;
336
319
  }
@@ -350,7 +333,7 @@ declare class DfTopNavQuickActionSearchInput {
350
333
  *
351
334
  * It should be used inside a {@link DfTopNavQuickActions} component and contain a ng-template with an input {@link DfTopNavQuickActionSearchInput}.
352
335
  *
353
- * See {@link https://design-factory.amadeus.net/components/topnav/examples#quick-actions|Design Factory example}
336
+ * See {@link https://design-factory.amadeus.net/components/topnav/developer#quick-actions|Design Factory example}
354
337
  * @since 21.1
355
338
  */
356
339
  declare class DfTopNavQuickActionSearch extends DfTopNavQuickActionElement {
@@ -369,7 +352,7 @@ declare class DfTopNavQuickActionSearch extends DfTopNavQuickActionElement {
369
352
  /**
370
353
  * The TopNav quick actions component, used to display a list of quick action buttons in the TopNav. On large screens, the buttons are displayed inline, while on smaller screens, they are displayed in a drawer.
371
354
  *
372
- * See {@link https://design-factory.amadeus.net/components/topnav/examples#quick-actions|Design Factory example}
355
+ * See {@link https://design-factory.amadeus.net/components/topnav/developer#quick-actions|Design Factory example}
373
356
  * @since 21.1
374
357
  */
375
358
  declare class DfTopNavQuickActions {
@@ -385,6 +368,8 @@ declare class DfTopNavQuickActions {
385
368
  private readonly _actionElements;
386
369
  private readonly drawer;
387
370
  private readonly document;
371
+ private readonly selectedBtn;
372
+ private readonly drawerButtons;
388
373
  protected readonly isMd: _angular_core.Signal<boolean>;
389
374
  protected readonly isLg: _angular_core.Signal<boolean>;
390
375
  protected readonly drawerContainer: _angular_core.Signal<HTMLElement>;
@@ -394,8 +379,11 @@ declare class DfTopNavQuickActions {
394
379
  protected isAction(action: DfTopNavQuickActionButton | DfTopNavQuickAction): action is DfTopNavQuickAction;
395
380
  protected readonly menuExpanded: _angular_core.WritableSignal<boolean>;
396
381
  protected readonly selectedQuickAction: _angular_core.WritableSignal<DfTopNavQuickActionButton | undefined>;
382
+ protected readonly prevSelectedQuickAction: _angular_core.WritableSignal<DfTopNavQuickActionButton | undefined>;
397
383
  protected clickQuickAction(actionBtn: DfTopNavQuickActionButton): Promise<void>;
384
+ protected actionLabelToId(actionBtn: DfTopNavQuickActionButton): string;
398
385
  constructor();
386
+ protected readonly mainNavAppliedStyle: _angular_core.Signal<"basic" | "mirror">;
399
387
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfTopNavQuickActions, never>;
400
388
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNavQuickActions, "df-topnav-quick-actions", never, { "reversedVertical": { "alias": "reversedVertical"; "required": false; "isSignal": true; }; "tabletDrawerContainer": { "alias": "tabletDrawerContainer"; "required": false; "isSignal": true; }; }, {}, ["_actionElements"], ["*"], true, never>;
401
389
  }
@@ -422,8 +410,8 @@ declare class DfTopNavQuickActionThemePicker extends DfTopNavQuickAction {
422
410
  */
423
411
  readonly appearance: _angular_core.InputSignal<"primary" | "neutral">;
424
412
  protected readonly mapThemeToIcon: _angular_core.Signal<Map<string, string>>;
425
- protected readonly toggleId: string;
426
413
  protected readonly content: _angular_core.Signal<TemplateRef<unknown>>;
414
+ protected readonly drawerContent: _angular_core.Signal<TemplateRef<unknown> | undefined>;
427
415
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfTopNavQuickActionThemePicker, never>;
428
416
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfTopNavQuickActionThemePicker, "df-topnav-quick-action-theme-picker", never, { "themeOptions": { "alias": "themeOptions"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
429
417
  }
@@ -431,7 +419,7 @@ declare class DfTopNavQuickActionThemePicker extends DfTopNavQuickAction {
431
419
  /**
432
420
  * The environment banner component, used to display a banner at the top of the page indicating the current environment (e.g., development, staging, production).
433
421
  *
434
- * See {@link https://design-factory.amadeus.net/components/topnav/examples#environment-banner|Design Factory example}
422
+ * See {@link https://design-factory.amadeus.net/components/topnav/developer#environment-banner|Design Factory example}
435
423
  * @since 21.1
436
424
  */
437
425
  declare class DfEnvBanner {
@@ -439,4 +427,4 @@ declare class DfEnvBanner {
439
427
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfEnvBanner, "df-env-banner", never, {}, {}, never, ["*"], true, never>;
440
428
  }
441
429
 
442
- export { DfAppContainer, DfEnvBanner, DfTopNav, DfTopNavBrand, DfTopNavBrandLinkContent, DfTopNavNavigation, DfTopNavNavigationItem, DfTopNavNavigationLink, DfTopNavQuickAction, DfTopNavQuickActionButton, DfTopNavQuickActionButtonContent, DfTopNavQuickActionButtonIcon, DfTopNavQuickActionInDrawer, DfTopNavQuickActionInTopNav, DfTopNavQuickActionSearch, DfTopNavQuickActionSearchInput, DfTopNavQuickActionThemePicker, DfTopNavQuickActions };
430
+ export { DF_TOPNAV_QUICK_ACTION_ELEMENT, DfAppContainer, DfEnvBanner, DfTopNav, DfTopNavBrand, DfTopNavBrandLinkContent, DfTopNavNavigation, DfTopNavNavigationItem, DfTopNavNavigationLink, DfTopNavQuickAction, DfTopNavQuickActionButton, DfTopNavQuickActionButtonContent, DfTopNavQuickActionButtonIcon, DfTopNavQuickActionElement, DfTopNavQuickActionInDrawer, DfTopNavQuickActionInTopNav, DfTopNavQuickActionSearch, DfTopNavQuickActionSearchInput, DfTopNavQuickActionThemePicker, DfTopNavQuickActions };