@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,122 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+
4
+ /**
5
+ * The form field control directive, used to mark an element as a control that can be associated with a {@link DfFormField}.
6
+ *
7
+ * @experimental 22.0
8
+ */
9
+ declare abstract class DfFormFieldControl {
10
+ /**
11
+ * The ID of the form control element.
12
+ *
13
+ * @defaultValue 'dfId-[number]'
14
+ */
15
+ readonly id: _angular_core.InputSignal<string>;
16
+ /** Gets the NgControl for this control. */
17
+ protected readonly ngControl: NgControl | null;
18
+ readonly requiredOverride: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
19
+ readonly required: _angular_core.Signal<boolean>;
20
+ /**
21
+ * The list of element IDs that currently describe this control.
22
+ *
23
+ * It includes the IDs of the associated form field hints and error message elements. The form field will use this list to populate the `aria-describedby` attribute on the control.
24
+ */
25
+ readonly describedByIds: _angular_core.WritableSignal<string[]>;
26
+ /**
27
+ * Determines whether the control is invalid and has been touched.
28
+ *
29
+ * This is used to determine when to display error messages and apply error styles.
30
+ */
31
+ readonly touchedInvalid: _angular_core.Signal<boolean>;
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfFormFieldControl, never>;
33
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfFormFieldControl, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "requiredOverride": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
34
+ }
35
+
36
+ /**
37
+ * The label component, used to define the label of a {@link DfFormField} component.
38
+ *
39
+ * @experimental 22.0
40
+ */
41
+ declare class DfLabel {
42
+ #private;
43
+ /**
44
+ * Whether to hide the mandatory indicator (asterisk) for required form fields. By default, the mandatory indicator is shown for required form fields.
45
+ */
46
+ readonly noRequiredIndicator: _angular_core.InputSignalWithTransform<boolean, unknown>;
47
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfLabel, never>;
48
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfLabel, "df-label", never, { "noRequiredIndicator": { "alias": "noRequiredIndicator"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
49
+ }
50
+
51
+ /**
52
+ * The form field error message component, used to display an error message inside of a {@link DfFormField} component.
53
+ *
54
+ * It can be associated with specific error codes of the form control, or it can be displayed for any error if no error codes are specified.
55
+ *
56
+ * @experimental 22.0
57
+ */
58
+ declare class DfError {
59
+ /**
60
+ * The ID of the error message element.
61
+ *
62
+ * @defaultValue 'dfId-[number]'
63
+ */
64
+ readonly id: _angular_core.InputSignal<string>;
65
+ /**
66
+ * The list of error codes that this error message corresponds to. If not provided, the error message will be displayed for any error.
67
+ */
68
+ readonly on: _angular_core.InputSignalWithTransform<string[], unknown>;
69
+ private readonly formField;
70
+ /**
71
+ * Determines whether the error message should be displayed.
72
+ *
73
+ * The error message is always displayed if no error codes are specified or if the form control is not found.
74
+ * Otherwise, it is displayed only if the form control is invalid, touched, and has at least one of the specified error codes.
75
+ */
76
+ protected readonly showError: _angular_core.Signal<boolean>;
77
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfError, never>;
78
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfError, "df-error", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "on": { "alias": "on"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
79
+ }
80
+
81
+ /**
82
+ * The form field hint component, used to display a hint inside of a {@link DfFormField} component.
83
+ *
84
+ * @experimental 22.0
85
+ */
86
+ declare class DfHint {
87
+ #private;
88
+ /**
89
+ * The ID of the hint element.
90
+ *
91
+ * @defaultValue 'dfId-[number]'
92
+ */
93
+ readonly id: _angular_core.InputSignal<string>;
94
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfHint, never>;
95
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfHint, "df-hint", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
96
+ }
97
+
98
+ /**
99
+ * The form field component, used to wrap a form field control and its associated label, hints, and error messages.
100
+ *
101
+ * It accepts the following content:
102
+ * - `df-label`: to define the label of the form field through a {@link DfLabel} component. The label is optional but recommended for accessibility reasons.
103
+ * - `df-hint`: to define a hint for the form field control through a {@link DfHint} component. Multiple hints can be provided.
104
+ * - `df-error`: to define an error message for the form field control through a {@link DfError} component. Multiple error messages can be provided.
105
+ * - Any form field control component (e.g., `df-input`, `df-select`, etc.) that implements the {@link DfFormFieldControl} interface.
106
+ *
107
+ * The form field component is responsible for associating the label, hints, and error messages with the form field control using ARIA attributes.
108
+ *
109
+ * @experimental 22.0
110
+ */
111
+ declare class DfFormField {
112
+ protected readonly fieldControl: _angular_core.Signal<DfFormFieldControl>;
113
+ protected readonly label: _angular_core.Signal<DfLabel | undefined>;
114
+ protected readonly errors: _angular_core.Signal<readonly DfError[]>;
115
+ protected readonly hints: _angular_core.Signal<readonly DfHint[]>;
116
+ protected readonly showMandatoryIndicator: _angular_core.Signal<boolean>;
117
+ constructor();
118
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfFormField, never>;
119
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfFormField, "df-form-field", never, {}, {}, ["fieldControl", "label", "errors", "hints"], ["df-label", "*", "df-error", "df-hint"], true, never>;
120
+ }
121
+
122
+ export { DfError, DfFormField, DfFormFieldControl, DfHint, DfLabel };
@@ -0,0 +1,11 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ /**
4
+ * @experimental 22.0
5
+ */
6
+ declare class DfIcon {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DfIcon, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<DfIcon, "df-icon", never, {}, {}, never, never, true, never>;
9
+ }
10
+
11
+ export { DfIcon };
@@ -0,0 +1,16 @@
1
+ import { DfFormFieldControl } from '@design-factory/angular/form-field';
2
+ import * as i0 from '@angular/core';
3
+
4
+ /**
5
+ * The input component, used to create an input field.
6
+ *
7
+ * It can be used as a standalone component or as a form field control within a {@link DfFormField} component.
8
+ *
9
+ * @since 22.0
10
+ */
11
+ declare class DfInput extends DfFormFieldControl {
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<DfInput, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<DfInput, "input[dfInput]", never, {}, {}, never, never, true, never>;
14
+ }
15
+
16
+ export { DfInput };
@@ -1,6 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Signal, FactoryProvider, OnChanges, WritableSignal as WritableSignal$1, OnInit, SimpleChanges } from '@angular/core';
3
- import * as _amadeus_it_group_tansu from '@amadeus-it-group/tansu';
2
+ import { Signal, FactoryProvider, ElementRef, OnChanges, Injector, WritableSignal as WritableSignal$1, OnInit, SimpleChanges } from '@angular/core';
4
3
  import { ReadableSignal, WritableSignal } from '@amadeus-it-group/tansu';
5
4
  import * as _design_factory_core_types from '@design-factory/core/types';
6
5
  import { Widget, WidgetState, WidgetFactory, WidgetProps, Directive, DirectiveAndParam, DirectivesAndOptParam } from '@design-factory/core/types';
@@ -97,10 +96,12 @@ declare const injectDfComponentConfig: <T>(componentKey: string) => () => i0.Wri
97
96
  *
98
97
  * @param [directive] - The directive to be applied to the host element.
99
98
  * @param [params] - The parameters to be passed to the directive.
99
+ * @param [injector] - The Angular injector to be used for managing the directive's lifecycle.
100
+ * If not provided, the default injector (from the current injection context) will be used.
100
101
  *
101
102
  * @returns An object containing an `update` function to update the directive and its parameters.
102
103
  */
103
- declare const useDirectiveForHost: <T>(directive?: Directive<T>, params?: T) => {
104
+ declare const useDirectiveForHost: <T>(directive?: Directive<T>, params?: T, injector?: Injector) => {
104
105
  update: (newDirective?: Directive<T>, newParams?: T) => void;
105
106
  };
106
107
  /**
@@ -135,6 +136,54 @@ declare class UseMultiDirective<T extends any[]> implements OnChanges {
135
136
  static ɵfac: i0.ɵɵFactoryDeclaration<UseMultiDirective<any>, never>;
136
137
  static ɵdir: i0.ɵɵDirectiveDeclaration<UseMultiDirective<any>, "[dfUseMulti]", never, { "useMulti": { "alias": "dfUseMulti"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
137
138
  }
139
+ /**
140
+ * A flexible type representing either a direct DOM element, an Angular {@link ElementRef},
141
+ * or a reactive accessor (signal/function) returning one of these.
142
+ *
143
+ * Accepts `null` or `undefined` to represent the absence of an element.
144
+ * When a function is provided, it is called inside an Angular {@link effect} so that
145
+ * changes to the underlying signal automatically re-apply the directive.
146
+ */
147
+ type HTMLElementOrRef = HTMLElement | ElementRef | null | undefined | (() => HTMLElement | ElementRef | null | undefined);
148
+ /**
149
+ * Applies an AgnosUI directive to an arbitrary DOM element (not necessarily the host element)
150
+ * and manages its lifecycle via an Angular {@link effect}.
151
+ *
152
+ * Unlike {@link useDirectiveForHost}, which targets the component's own host element,
153
+ * this function lets you bind a directive to any element referenced by a signal, an
154
+ * {@link ElementRef}, or a plain `HTMLElement`. The directive instance is automatically
155
+ * created when the element becomes available and destroyed when the element changes or
156
+ * the effect is cleaned up.
157
+ *
158
+ * @param element - The target element or a reactive accessor returning it.
159
+ * @param directive - The AgnosUI directive to apply.
160
+ * @param injector - The Angular {@link Injector} used to create the effect. Defaults to the
161
+ * current injection context.
162
+ */
163
+ declare const useDirectiveForElement: (element: HTMLElementOrRef, directive: Directive, injector?: Injector) => void;
164
+ /**
165
+ * Uses multiple AgnosUI directives from an object (typically a widget instance) on their
166
+ * corresponding DOM elements in a single call.
167
+ *
168
+ * This is a convenience wrapper around {@link useDirectiveForElement} designed for use with
169
+ * widget objects that expose a `directives` map. It iterates over the provided `links` and
170
+ * binds each directive to its target element.
171
+ *
172
+ * The `object` can either directly contain directive properties or expose them under a
173
+ * `directives` key (the standard shape of AgnosUI widgets).
174
+ *
175
+ * @template U - The full type of the object (returned as-is for chaining).
176
+ * @template T - A record mapping directive names to AgnosUI directives.
177
+ *
178
+ * @param object - The widget or directive map to read directives from.
179
+ * @param links - A partial map of directive names to their target elements or element accessors.
180
+ * @param injector - The Angular {@link Injector} used to create effects. Defaults to the
181
+ * current injection context.
182
+ * @returns The original `object`, unchanged, for convenient chaining.
183
+ */
184
+ declare const useDirectivesForElements: <U, T extends { [K in keyof T]: Directive; }>(object: U & (T | {
185
+ directives: T;
186
+ }), links: { [K in keyof T]?: HTMLElementOrRef; }, injector?: Injector) => U;
138
187
 
139
188
  /**
140
189
  * Converts a Tansu `ReadableSignal` to an Angular `Signal`.
@@ -248,25 +297,35 @@ declare abstract class AgnosWidgetDirective<W extends Widget> implements OnChang
248
297
  }
249
298
 
250
299
  /**
251
- * sm breakpoint,
252
- * tansu signal that returns true when the viewport is at least 576px wide
253
- */
254
- declare const sm$: _amadeus_it_group_tansu.ReadableSignal<boolean>;
255
- /**
256
- * md breakpoint,
257
- * tansu signal that returns true when the viewport is at least 768px wide
300
+ * Transforms a value (typically a string) to a boolean.
301
+ * Intended to be used as a transform function of an input.
302
+ *
303
+ * @example
304
+ * ```readonly status = input({ transform: auBooleanAttribute });```
305
+ * @param value - Value to be transformed.
306
+ * @returns the value transformed
258
307
  */
259
- declare const md$: _amadeus_it_group_tansu.ReadableSignal<boolean>;
308
+ declare function auBooleanAttribute(value: unknown): boolean | undefined;
260
309
  /**
261
- * lg breakpoint,
262
- * tansu signal that returns true when the viewport is at least 992px wide
310
+ * Transforms a value (typically a string) to a number.
311
+ * Intended to be used as a transform function of an input.
312
+ * @param value - Value to be transformed.
313
+ *
314
+ * @example
315
+ * ```readonly id = input({ transform: auNumberAttribute });```
316
+ * @returns the value transformed
263
317
  */
264
- declare const lg$: _amadeus_it_group_tansu.ReadableSignal<boolean>;
318
+ declare function auNumberAttribute(value: unknown): number | undefined;
265
319
  /**
266
- * xl breakpoint,
267
- * tansu signal that returns true when the viewport is at least 1200px wide
320
+ * Transforms a value (typically a string) to a number.
321
+ * Intended to be used as a transform function of an input.
322
+ * @param value - Value to be transformed. `null` or `undefined`, returns the value unchanged.
323
+ *
324
+ * @example
325
+ * ```readonly id = input({ transform: auNumberOrNullAttribute });```
326
+ * @returns the value transformed
268
327
  */
269
- declare const xl$: _amadeus_it_group_tansu.ReadableSignal<boolean>;
328
+ declare function auNumberOrNullAttribute(value: unknown): number | null | undefined;
270
329
 
271
- export { AgnosWidgetDirective, BaseWidgetDirective, UseDirective, UseMultiDirective, callWidgetFactory, callWidgetFactoryWithConfig, injectDfComponentConfig, injectWidgetConfig, lg$, md$, provideDfComponentConfig, sm$, toAngularSignal, toAngularWritableSignal, useDirectiveForHost, xl$ };
272
- export type { AngularState, AngularWidget };
330
+ export { AgnosWidgetDirective, BaseWidgetDirective, UseDirective, UseMultiDirective, auBooleanAttribute, auNumberAttribute, auNumberOrNullAttribute, callWidgetFactory, callWidgetFactoryWithConfig, injectDfComponentConfig, injectWidgetConfig, provideDfComponentConfig, toAngularSignal, toAngularWritableSignal, useDirectiveForElement, useDirectiveForHost, useDirectivesForElements };
331
+ export type { AngularState, AngularWidget, HTMLElementOrRef };
@@ -0,0 +1,29 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ /**
4
+ * Orientation of a `<df-separator>`.
5
+ */
6
+ type DfSeparatorOrientation = 'horizontal' | 'vertical';
7
+ /**
8
+ * Visual separator between two regions of content.
9
+ *
10
+ * Replaces the legacy `<hr>` and `.vertical-separator` usages. Spacing is the consumer's
11
+ * responsibility — apply margins on the host or wrapping element.
12
+ *
13
+ * @experimental 22.0.0
14
+ */
15
+ declare class DfSeparator {
16
+ /**
17
+ * Separator orientation.
18
+ *
19
+ * Supported orientations: `'horizontal'`, `'vertical'`.
20
+ *
21
+ * @defaultValue `'horizontal'`
22
+ */
23
+ readonly orientation: i0.InputSignal<DfSeparatorOrientation>;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<DfSeparator, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<DfSeparator, "df-separator", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
26
+ }
27
+
28
+ export { DfSeparator };
29
+ export type { DfSeparatorOrientation };
@@ -1,5 +1,6 @@
1
1
  import * as _design_factory_core_services_navManager from '@design-factory/core/services/navManager';
2
2
  import { NavManagerItemConfig } from '@design-factory/core/services/navManager';
3
+ import * as _angular_forms_signals from '@angular/forms/signals';
3
4
  import * as _angular_core from '@angular/core';
4
5
  import { ElementRef, Signal, AfterContentInit } from '@angular/core';
5
6
  import { IsActiveMatchOptions } from '@angular/router';
@@ -26,7 +27,14 @@ declare abstract class DfSidenavLinkBaseComponent {
26
27
  */
27
28
  readonly wrapperHasIconContent: _angular_core.InputSignal<boolean>;
28
29
  /**
29
- * Indicates if the link is currently active based on the Router state
30
+ * Explicitly sets the active state of the link. When provided, the link behaves
31
+ * as an external link (plain `<a href>`) and the Angular Router is not used.
32
+ * When `undefined` (default), the active state is determined by the Angular Router.
33
+ */
34
+ readonly active: _angular_core.InputSignal<boolean | undefined>;
35
+ /**
36
+ * Reflects the current active state of the link.
37
+ * Driven by the `active` input when provided, otherwise updated by the router via `(isActiveChange)`.
30
38
  */
31
39
  readonly isActiveLink: _angular_core.WritableSignal<boolean>;
32
40
  /**
@@ -45,7 +53,7 @@ declare abstract class DfSidenavLinkBaseComponent {
45
53
  protected readonly isVisible: _angular_core.Signal<boolean>;
46
54
  protected toggleSidenavOnSmallScreen(): boolean;
47
55
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfSidenavLinkBaseComponent, never>;
48
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfSidenavLinkBaseComponent, never, never, { "linkPath": { "alias": "linkPath"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "wrapperHasIconContent": { "alias": "wrapperHasIconContent"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; }, {}, ["iconContent"], never, true, never>;
56
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfSidenavLinkBaseComponent, never, never, { "linkPath": { "alias": "linkPath"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "wrapperHasIconContent": { "alias": "wrapperHasIconContent"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; }, {}, ["iconContent"], never, true, never>;
49
57
  }
50
58
 
51
59
  /**
@@ -72,17 +80,17 @@ declare abstract class DfSidenavItemBaseComponent {
72
80
  /**
73
81
  * Collapsed state of the item
74
82
  * Only used for the desktop version
75
- * @default false
83
+ * @defaultValue `false`
76
84
  */
77
85
  readonly collapsed: _angular_core.ModelSignal<boolean>;
78
86
  /**
79
87
  * The icon class name or inline content (e.g., font awesome class)
80
- * @default ''
88
+ * @defaultValue `''`
81
89
  */
82
90
  readonly icon: _angular_core.InputSignal<string>;
83
91
  /**
84
92
  * Whether the wrapper component has icon content (internally used)
85
- * @default false
93
+ * @defaultValue `false`
86
94
  */
87
95
  readonly wrapperHasIconContent: _angular_core.InputSignal<boolean>;
88
96
  protected readonly sidenav: DfSidenavComponent;
@@ -161,7 +169,7 @@ declare class DfSidenavItemMobileComponent extends DfSidenavItemBaseComponent {
161
169
  */
162
170
  protected handleBackClick(): void;
163
171
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfSidenavItemMobileComponent, never>;
164
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfSidenavItemMobileComponent, "df-sidenav-item-mobile", never, {}, {}, never, ["[dfSidenavIcon]", "[dfSidenavIcon]", "[dfSidenavIcon]", "*"], true, never>;
172
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfSidenavItemMobileComponent, "df-sidenav-item-mobile", never, {}, {}, never, ["[dfSidenavIcon]", "[dfSidenavIcon]", "*"], true, never>;
165
173
  }
166
174
 
167
175
  /**
@@ -187,6 +195,12 @@ declare class DfSidenavLinkComponent {
187
195
  readonly routerLinkActiveOptions: _angular_core.InputSignal<IsActiveMatchOptions | {
188
196
  exact: boolean;
189
197
  }>;
198
+ /**
199
+ * Explicitly sets the active state of the link. When provided, the link renders as
200
+ * a plain `<a href>` (no Angular Router). When `undefined` (default), the Angular Router determines
201
+ * the active state.
202
+ */
203
+ readonly active: _angular_core.InputSignal<boolean | undefined>;
190
204
  /**
191
205
  * The parent wrapper item component (if any)
192
206
  */
@@ -203,7 +217,7 @@ declare class DfSidenavLinkComponent {
203
217
  protected readonly wrapperHasIconContent: _angular_core.Signal<boolean>;
204
218
  protected readonly sidenav: DfSidenavComponent;
205
219
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfSidenavLinkComponent, never>;
206
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfSidenavLinkComponent, "df-sidenav-link", never, { "linkPath": { "alias": "linkPath"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; }, {}, ["iconContentQuery"], ["[dfSidenavIcon]", "*"], true, never>;
220
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfSidenavLinkComponent, "df-sidenav-link", never, { "linkPath": { "alias": "linkPath"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, {}, ["iconContentQuery"], ["[dfSidenavIcon]", "*"], true, never>;
207
221
  }
208
222
 
209
223
  /**
@@ -217,7 +231,7 @@ declare class DfSidenavItemComponent {
217
231
  readonly label: _angular_core.InputSignal<unknown>;
218
232
  /**
219
233
  * Flag whether the sidenav item is collapsed
220
- * @default false
234
+ * @defaultValue `false`
221
235
  */
222
236
  readonly collapsed: _angular_core.ModelSignal<boolean>;
223
237
  /**
@@ -258,28 +272,28 @@ declare class DfSidenavItemComponent {
258
272
  declare class DfSidenavComponent implements AfterContentInit {
259
273
  /**
260
274
  * Flag whether the sidenav includes a search input
261
- * @default true
275
+ * @defaultValue `true`
262
276
  */
263
277
  readonly searchable: _angular_core.InputSignalWithTransform<boolean, unknown>;
264
278
  /**
265
279
  * Flag whether the sidenav should be resizable
266
- * @default true
280
+ * @defaultValue `true`
267
281
  */
268
282
  readonly resizable: _angular_core.InputSignalWithTransform<boolean, unknown>;
269
283
  /**
270
284
  * Flag whether the sidenav should have the collapse button
271
- * @default true
285
+ * @defaultValue `true`
272
286
  */
273
287
  readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
274
288
  /**
275
289
  * Flag to enable the mobile sidenav display of the items.
276
- * @default true
290
+ * @defaultValue `true`
277
291
  */
278
292
  readonly enableMobile: _angular_core.InputSignalWithTransform<boolean, unknown>;
279
293
  /**
280
- * @since 21.1.0
281
- *
282
294
  * Flag to disable the automatic scroll to active link on desktop when the sidenav is initialized.
295
+ *
296
+ * @since 21.1.0
283
297
  */
284
298
  readonly disableInitialDesktopAutoScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
285
299
  protected readonly _isMinimized: _angular_core.WritableSignal<boolean>;
@@ -297,18 +311,19 @@ declare class DfSidenavComponent implements AfterContentInit {
297
311
  protected readonly width: _angular_core.WritableSignal<number | null>;
298
312
  private savedWidth;
299
313
  protected readonly searchTerm: _angular_core.WritableSignal<string>;
314
+ protected readonly searchTermFormField: _angular_forms_signals.FieldTree<string, string | number, "writable">;
300
315
  protected readonly mobileNavigationStack: _angular_core.WritableSignal<(DfSidenavItemComponent | null | undefined)[]>;
301
316
  protected readonly currentMobilePanel: Signal<DfSidenavItemComponent | null | undefined>;
302
- private readonly isMd;
317
+ private readonly isSm;
303
318
  private readonly isLg;
304
319
  protected readonly isSmallScreen: Signal<boolean>;
305
320
  protected readonly isMediumScreen: Signal<boolean>;
306
321
  protected readonly isLargeUpScreen: Signal<boolean>;
307
- protected readonly isMobileOrSmallScreen: Signal<boolean>;
308
322
  protected readonly backdrop: Signal<boolean>;
309
323
  protected readonly navManager: _design_factory_core_services_navManager.NavManager<unknown>;
310
324
  protected readonly navManagerConfig: NavManagerItemConfig;
311
325
  private readonly injector;
326
+ private readonly skipActiveItemNavigation;
312
327
  constructor();
313
328
  ngAfterContentInit(): void;
314
329
  /**
@@ -336,6 +351,7 @@ declare class DfSidenavComponent implements AfterContentInit {
336
351
  * @param isResizing - Whether the sidenav is currently being resized
337
352
  */
338
353
  resizingChangeHandler(isResizing: boolean): void;
354
+ protected onMinimizedChange(isMinimized: boolean): void;
339
355
  protected focusSearch(): void;
340
356
  /**
341
357
  * Method to add the given item to the mobile navigation stack
@@ -367,4 +383,85 @@ declare class DfSidenavIconDirective {
367
383
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DfSidenavIconDirective, "[dfSidenavIcon]", never, {}, {}, never, never, true, never>;
368
384
  }
369
385
 
370
- export { DfSidenavComponent, DfSidenavIconDirective, DfSidenavItemComponent, DfSidenavLinkComponent };
386
+ /**
387
+ * Defines the structure of the navigation items used to build the sidenav menu.
388
+ */
389
+ type DfSideNavItem = {
390
+ label: string;
391
+ icon?: string;
392
+ collapsed?: boolean;
393
+ children: (DfSideNavItem | DfSideNavLink)[];
394
+ };
395
+ /**
396
+ * Defines the structure of the navigation links used to build the sidenav menu.
397
+ */
398
+ type DfSideNavLink = {
399
+ label: string;
400
+ icon?: string;
401
+ linkPath: string;
402
+ active?: boolean;
403
+ routerLinkActiveOptions?: IsActiveMatchOptions | {
404
+ exact: boolean;
405
+ };
406
+ };
407
+ /**
408
+ * Public input node accepted by {@link DfSidenavInput}.
409
+ */
410
+ type DfSideNavInputNode = DfSideNavItem | DfSideNavLink;
411
+ /**
412
+ * A wrapper of the {@link DfSidenavComponent} driven by a data array provided as an input.
413
+ * All inputs are forwarded to the underlying {@link DfSidenavComponent}.
414
+ *
415
+ * @since 22.0
416
+ */
417
+ declare class DfSidenavInput {
418
+ /**
419
+ * Navigation items to render in the sidenav.
420
+ */
421
+ readonly items: _angular_core.InputSignal<DfSideNavInputNode[]>;
422
+ /**
423
+ * Class name applied to the underlying {@link DfSidenavComponent} host element.
424
+ * @default ''
425
+ */
426
+ readonly className: _angular_core.InputSignal<string>;
427
+ /**
428
+ * Flag whether the sidenav includes a search input.
429
+ * @default false
430
+ */
431
+ readonly searchable: _angular_core.InputSignalWithTransform<boolean, unknown>;
432
+ /**
433
+ * Flag whether the sidenav should be resizable.
434
+ * @default false
435
+ */
436
+ readonly resizable: _angular_core.InputSignalWithTransform<boolean, unknown>;
437
+ /**
438
+ * Flag whether the sidenav should have the collapse button.
439
+ * @default true
440
+ */
441
+ readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
442
+ /**
443
+ * Flag to enable the mobile sidenav display of the items.
444
+ * @default true
445
+ */
446
+ readonly enableMobile: _angular_core.InputSignalWithTransform<boolean, unknown>;
447
+ /**
448
+ * Flag to disable the automatic scroll to active link on desktop when the sidenav is initialized.
449
+ * @default false
450
+ */
451
+ readonly disableInitialDesktopAutoScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
452
+ private readonly _sidenav;
453
+ /**
454
+ * Whether the sidenav is currently minimized.
455
+ */
456
+ readonly isMinimized: _angular_core.Signal<boolean>;
457
+ /**
458
+ * Toggle or set the minimized state of the sidenav.
459
+ */
460
+ toggleMinimize(minimized?: boolean): void;
461
+ protected isSideItem(item: DfSideNavItem | DfSideNavLink): item is DfSideNavItem;
462
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DfSidenavInput, never>;
463
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DfSidenavInput, "df-sidenav-input", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "enableMobile": { "alias": "enableMobile"; "required": false; "isSignal": true; }; "disableInitialDesktopAutoScroll": { "alias": "disableInitialDesktopAutoScroll"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
464
+ }
465
+
466
+ export { DfSidenavComponent, DfSidenavIconDirective, DfSidenavInput, DfSidenavItemComponent, DfSidenavLinkComponent };
467
+ export type { DfSideNavInputNode, DfSideNavItem, DfSideNavLink };