@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,16 @@
1
+ <df-accordion itemHeadingLevel="3">
2
+ <df-accordion-item [visible]="true">
3
+ <ng-template dfAccordionItemTitle>First item</ng-template>
4
+ <ng-template dfAccordionItemBody>Content of the first accordion item.</ng-template>
5
+ </df-accordion-item>
6
+
7
+ <df-accordion-item>
8
+ <ng-template dfAccordionItemTitle>Second item</ng-template>
9
+ <ng-template dfAccordionItemBody>Content of the second accordion item.</ng-template>
10
+ </df-accordion-item>
11
+
12
+ <df-accordion-item [disabled]="true">
13
+ <ng-template dfAccordionItemTitle>Disabled item</ng-template>
14
+ <ng-template dfAccordionItemBody>This item is disabled.</ng-template>
15
+ </df-accordion-item>
16
+ </df-accordion>
@@ -0,0 +1,14 @@
1
+ import { Component } from '@angular/core';
2
+ import {
3
+ DfAccordion,
4
+ DfAccordionItem,
5
+ DfAccordionItemBody,
6
+ DfAccordionItemTitle
7
+ } from '@design-factory/angular/accordion';
8
+
9
+ @Component({
10
+ selector: 'df-demo-accordion-basic',
11
+ templateUrl: './accordion-basic.html',
12
+ imports: [DfAccordion, DfAccordionItem, DfAccordionItemBody, DfAccordionItemTitle]
13
+ })
14
+ export class DfDemoAccordionBasic {}
@@ -0,0 +1,16 @@
1
+ <df-accordion itemHeadingLevel="3" closeOthers>
2
+ <df-accordion-item [visible]="true">
3
+ <ng-template dfAccordionItemTitle>First item</ng-template>
4
+ <ng-template dfAccordionItemBody>Content of the first accordion item.</ng-template>
5
+ </df-accordion-item>
6
+
7
+ <df-accordion-item>
8
+ <ng-template dfAccordionItemTitle>Second item</ng-template>
9
+ <ng-template dfAccordionItemBody>Content of the second accordion item.</ng-template>
10
+ </df-accordion-item>
11
+
12
+ <df-accordion-item>
13
+ <ng-template dfAccordionItemTitle>Third item</ng-template>
14
+ <ng-template dfAccordionItemBody>Content of the third accordion item.</ng-template>
15
+ </df-accordion-item>
16
+ </df-accordion>
@@ -0,0 +1,14 @@
1
+ import { Component } from '@angular/core';
2
+ import {
3
+ DfAccordion,
4
+ DfAccordionItem,
5
+ DfAccordionItemBody,
6
+ DfAccordionItemTitle
7
+ } from '@design-factory/angular/accordion';
8
+
9
+ @Component({
10
+ selector: 'df-demo-accordion-close-others',
11
+ templateUrl: './accordion-close-others.html',
12
+ imports: [DfAccordion, DfAccordionItem, DfAccordionItemBody, DfAccordionItemTitle]
13
+ })
14
+ export class DfDemoAccordionCloseOthers {}
@@ -0,0 +1,84 @@
1
+ <df-accordion itemHeadingLevel="3" arrowPosition="start">
2
+ <df-accordion-item-interactive [visible]="true">
3
+ <ng-template dfAccordionItemTitle>First item</ng-template>
4
+ <ng-template dfAccordionItemInteractiveSection>
5
+ @if (interactiveType() === 'button') {
6
+ <button dfButton appearance="outline">Button label</button>
7
+ } @else {
8
+ <div class="form-check form-switch">
9
+ <label class="form-check-label df-form-switch-name">
10
+ <div class="df-form-switch-container">
11
+ <input [(ngModel)]="toggle1" class="form-check-input" name="toggle1" type="checkbox" />
12
+ <span class="form-check-label">{{ toggle1() ? 'On' : 'Off' }}</span>
13
+ </div>
14
+ </label>
15
+ </div>
16
+ }
17
+ </ng-template>
18
+ <ng-template dfAccordionItemBody>Content of the first accordion item.</ng-template>
19
+ </df-accordion-item-interactive>
20
+
21
+ <df-accordion-item-interactive>
22
+ <ng-template dfAccordionItemTitle>Second item</ng-template>
23
+ <ng-template dfAccordionItemInteractiveSection>
24
+ @if (interactiveType() === 'button') {
25
+ <button dfButton appearance="outline">Button label</button>
26
+ } @else {
27
+ <div class="form-check form-switch">
28
+ <label class="form-check-label df-form-switch-name">
29
+ <div class="df-form-switch-container">
30
+ <input [(ngModel)]="toggle2" class="form-check-input" name="toggle2" type="checkbox" />
31
+ <span class="form-check-label">{{ toggle2() ? 'On' : 'Off' }}</span>
32
+ </div>
33
+ </label>
34
+ </div>
35
+ }
36
+ </ng-template>
37
+ <ng-template dfAccordionItemBody>Content of the second accordion item.</ng-template>
38
+ </df-accordion-item-interactive>
39
+
40
+ <df-accordion-item-interactive [disabled]="true">
41
+ <ng-template dfAccordionItemTitle>Disabled item</ng-template>
42
+ <ng-template dfAccordionItemInteractiveSection>
43
+ @if (interactiveType() === 'button') {
44
+ <button dfButton appearance="outline" disabled>Button label</button>
45
+ } @else {
46
+ <div class="form-check form-switch">
47
+ <label class="form-check-label df-form-switch-name df-form-switch-name-disabled">
48
+ <div class="df-form-switch-container">
49
+ <input [(ngModel)]="toggle3" class="form-check-input" name="toggle3" type="checkbox" disabled />
50
+ <span class="form-check-label">{{ toggle3() ? 'On' : 'Off' }}</span>
51
+ </div>
52
+ </label>
53
+ </div>
54
+ }
55
+ </ng-template>
56
+ <ng-template dfAccordionItemBody>Content of the third accordion item.</ng-template>
57
+ </df-accordion-item-interactive>
58
+ </df-accordion>
59
+
60
+ <hr class="my-6" />
61
+
62
+ <div class="d-inline-grid gap-4" style="grid-template-columns: auto auto">
63
+ <label class="form-label fw-semibold mb-0 align-self-center" for="interactive-button">Interactive element</label>
64
+ <div class="btn-group btn-group-sm" ngDefaultControl role="radiogroup">
65
+ <input
66
+ [(ngModel)]="interactiveType"
67
+ class="btn-check"
68
+ id="interactive-button"
69
+ name="interactiveType"
70
+ type="radio"
71
+ value="button"
72
+ />
73
+ <label class="btn btn-outline-primary" for="interactive-button">Button</label>
74
+ <input
75
+ [(ngModel)]="interactiveType"
76
+ class="btn-check"
77
+ id="interactive-toggle"
78
+ name="interactiveType"
79
+ type="radio"
80
+ value="toggle"
81
+ />
82
+ <label class="btn btn-outline-primary" for="interactive-toggle">Toggle</label>
83
+ </div>
84
+ </div>
@@ -0,0 +1,30 @@
1
+ import { Component, signal } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import {
4
+ DfAccordion,
5
+ DfAccordionItemBody,
6
+ DfAccordionItemInteractive,
7
+ DfAccordionItemInteractiveSection,
8
+ DfAccordionItemTitle
9
+ } from '@design-factory/angular/accordion';
10
+ import { DfButton } from '@design-factory/angular/button';
11
+
12
+ @Component({
13
+ selector: 'df-demo-accordion-interactive',
14
+ templateUrl: './accordion-interactive.html',
15
+ imports: [
16
+ DfAccordion,
17
+ DfAccordionItemInteractive,
18
+ DfAccordionItemInteractiveSection,
19
+ DfAccordionItemBody,
20
+ DfAccordionItemTitle,
21
+ FormsModule,
22
+ DfButton
23
+ ]
24
+ })
25
+ export class DfDemoAccordionInteractive {
26
+ protected readonly interactiveType = signal<'button' | 'toggle'>('button');
27
+ protected readonly toggle1 = signal(false);
28
+ protected readonly toggle2 = signal(false);
29
+ protected readonly toggle3 = signal(false);
30
+ }
@@ -0,0 +1,126 @@
1
+ <df-accordion itemHeadingLevel="3" [subtitleType]="subtitleType()" [addon]="addon()" arrowPosition="start">
2
+ <df-accordion-item-interactive
3
+ [visible]="true"
4
+ subtitle="Additional info about first item"
5
+ number="01"
6
+ iconClass="fa-light fa-home"
7
+ >
8
+ <ng-template dfAccordionItemTitle>First item</ng-template>
9
+ <ng-template dfAccordionItemInteractiveSection>
10
+ @if (interactiveType() === 'button') {
11
+ <button dfButton appearance="outline">Button label</button>
12
+ } @else {
13
+ <div class="form-check form-switch">
14
+ <label class="form-check-label df-form-switch-name">
15
+ <div class="df-form-switch-container">
16
+ <input [(ngModel)]="toggle1" class="form-check-input" name="toggle1" type="checkbox" />
17
+ <span class="form-check-label">{{ toggle1() ? 'On' : 'Off' }}</span>
18
+ </div>
19
+ </label>
20
+ </div>
21
+ }
22
+ </ng-template>
23
+ <ng-template dfAccordionItemBody>Content of the first accordion item.</ng-template>
24
+ </df-accordion-item-interactive>
25
+
26
+ <df-accordion-item-interactive subtitle="Additional info about second item" number="02" iconClass="fa-light fa-user">
27
+ <ng-template dfAccordionItemTitle>Second item</ng-template>
28
+ <ng-template dfAccordionItemInteractiveSection>
29
+ @if (interactiveType() === 'button') {
30
+ <button dfButton appearance="outline">Button label</button>
31
+ } @else {
32
+ <div class="form-check form-switch">
33
+ <label class="form-check-label df-form-switch-name">
34
+ <div class="df-form-switch-container">
35
+ <input [(ngModel)]="toggle2" class="form-check-input" name="toggle2" type="checkbox" />
36
+ <span class="form-check-label">{{ toggle2() ? 'On' : 'Off' }}</span>
37
+ </div>
38
+ </label>
39
+ </div>
40
+ }
41
+ </ng-template>
42
+ <ng-template dfAccordionItemBody>Content of the second accordion item.</ng-template>
43
+ </df-accordion-item-interactive>
44
+
45
+ <df-accordion-item-interactive
46
+ [disabled]="true"
47
+ subtitle="Additional info about third item"
48
+ number="03"
49
+ iconClass="fa-light fa-cog"
50
+ >
51
+ <ng-template dfAccordionItemTitle>Disabled item</ng-template>
52
+ <ng-template dfAccordionItemInteractiveSection>
53
+ @if (interactiveType() === 'button') {
54
+ <button dfButton appearance="outline" disabled>Button label</button>
55
+ } @else {
56
+ <div class="form-check form-switch">
57
+ <label class="form-check-label df-form-switch-name df-form-switch-name-disabled">
58
+ <div class="df-form-switch-container">
59
+ <input [(ngModel)]="toggle3" class="form-check-input" name="toggle3" type="checkbox" disabled />
60
+ <span class="form-check-label">{{ toggle3() ? 'On' : 'Off' }}</span>
61
+ </div>
62
+ </label>
63
+ </div>
64
+ }
65
+ </ng-template>
66
+ <ng-template dfAccordionItemBody>Content of the third accordion item.</ng-template>
67
+ </df-accordion-item-interactive>
68
+ </df-accordion>
69
+
70
+ <hr class="my-6" />
71
+
72
+ <div class="d-inline-grid gap-4" style="grid-template-columns: auto auto">
73
+ <label class="form-label fw-semibold mb-0 align-self-center" for="ia-interactive-button">Interactive element</label>
74
+ <div class="btn-group btn-group-sm" ngDefaultControl role="radiogroup">
75
+ <input
76
+ [(ngModel)]="interactiveType"
77
+ class="btn-check"
78
+ id="ia-interactive-button"
79
+ name="ia-interactiveType"
80
+ type="radio"
81
+ value="button"
82
+ />
83
+ <label class="btn btn-outline-primary" for="ia-interactive-button">Button</label>
84
+ <input
85
+ [(ngModel)]="interactiveType"
86
+ class="btn-check"
87
+ id="ia-interactive-toggle"
88
+ name="ia-interactiveType"
89
+ type="radio"
90
+ value="toggle"
91
+ />
92
+ <label class="btn btn-outline-primary" for="ia-interactive-toggle">Toggle</label>
93
+ </div>
94
+
95
+ <label class="form-label fw-semibold mb-0 align-self-center" for="ia-subtitle-none">Subtitle</label>
96
+ <div class="btn-group btn-group-sm" ngDefaultControl role="radiogroup">
97
+ <input
98
+ [(ngModel)]="subtitleType"
99
+ class="btn-check"
100
+ id="ia-subtitle-none"
101
+ name="ia-subtitle"
102
+ type="radio"
103
+ value="none"
104
+ />
105
+ <label class="btn btn-outline-primary" for="ia-subtitle-none">None</label>
106
+ <input
107
+ [(ngModel)]="subtitleType"
108
+ class="btn-check"
109
+ id="ia-subtitle-block"
110
+ name="ia-subtitle"
111
+ type="radio"
112
+ value="block"
113
+ />
114
+ <label class="btn btn-outline-primary" for="ia-subtitle-block">Block</label>
115
+ </div>
116
+
117
+ <label class="form-label fw-semibold mb-0 align-self-center" for="ia-addon-none">Addon</label>
118
+ <div class="btn-group btn-group-sm" ngDefaultControl role="radiogroup">
119
+ <input [(ngModel)]="addon" class="btn-check" id="ia-addon-none" name="ia-addon" type="radio" value="none" />
120
+ <label class="btn btn-outline-primary" for="ia-addon-none">None</label>
121
+ <input [(ngModel)]="addon" class="btn-check" id="ia-addon-number" name="ia-addon" type="radio" value="number" />
122
+ <label class="btn btn-outline-primary" for="ia-addon-number">Numbers</label>
123
+ <input [(ngModel)]="addon" class="btn-check" id="ia-addon-icon" name="ia-addon" type="radio" value="icon" />
124
+ <label class="btn btn-outline-primary" for="ia-addon-icon">Icon</label>
125
+ </div>
126
+ </div>
@@ -0,0 +1,33 @@
1
+ import { Component, signal } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import {
4
+ DfAccordion,
5
+ DfAccordionItemBody,
6
+ DfAccordionItemInteractive,
7
+ DfAccordionItemInteractiveSection,
8
+ DfAccordionItemTitle
9
+ } from '@design-factory/angular/accordion';
10
+ import { DfButton } from '@design-factory/angular/button';
11
+
12
+ @Component({
13
+ selector: 'df-demo-accordion-interactive-addons-subtitle',
14
+ templateUrl: './accordion-interactive-addons-subtitle.html',
15
+ imports: [
16
+ DfAccordion,
17
+ DfAccordionItemInteractive,
18
+ DfAccordionItemInteractiveSection,
19
+ DfAccordionItemBody,
20
+ DfAccordionItemTitle,
21
+ FormsModule,
22
+ DfButton
23
+ ]
24
+ })
25
+ export class DfDemoAccordionInteractiveAddonsSubtitle {
26
+ protected readonly interactiveType = signal<'button' | 'toggle'>('button');
27
+ protected readonly subtitleType = signal<'block' | 'none'>('none');
28
+ protected readonly addon = signal<'none' | 'icon' | 'number'>('none');
29
+
30
+ protected readonly toggle1 = signal(false);
31
+ protected readonly toggle2 = signal(false);
32
+ protected readonly toggle3 = signal(false);
33
+ }
@@ -0,0 +1,36 @@
1
+ <df-accordion #myAccordion itemHeadingLevel="3">
2
+ <df-accordion-item id="first" [visible]="true">
3
+ <ng-template dfAccordionItemTitle>First item</ng-template>
4
+ <ng-template dfAccordionItemBody>Content of the first accordion item.</ng-template>
5
+ </df-accordion-item>
6
+
7
+ <df-accordion-item id="second">
8
+ <ng-template dfAccordionItemTitle>Second item</ng-template>
9
+ <ng-template dfAccordionItemBody>Content of the second accordion item.</ng-template>
10
+ </df-accordion-item>
11
+
12
+ <df-accordion-item #thirdItem id="third">
13
+ <ng-template dfAccordionItemTitle>Third item</ng-template>
14
+ <ng-template dfAccordionItemBody>Content of the third accordion item.</ng-template>
15
+ </df-accordion-item>
16
+ </df-accordion>
17
+
18
+ <hr class="my-6" />
19
+
20
+ <div class="d-inline-grid gap-4" style="grid-template-columns: auto auto">
21
+ <span class="fw-semibold mb-0 align-self-center">Accordion API</span>
22
+ <div class="d-flex gap-2 flex-wrap">
23
+ <button dfButton appearance="outline" size="sm" (click)="myAccordion.toggle('first')">Toggle first</button>
24
+ <button dfButton appearance="outline" size="sm" (click)="myAccordion.expand('second')">Expand second</button>
25
+ <button dfButton appearance="outline" size="sm" (click)="myAccordion.collapse('second')">Collapse second</button>
26
+ <button dfButton appearance="outline" size="sm" (click)="myAccordion.expandAll()">Expand all</button>
27
+ <button dfButton appearance="outline" size="sm" (click)="myAccordion.collapseAll()">Collapse all</button>
28
+ </div>
29
+
30
+ <span class="fw-semibold mb-0 align-self-center">Item API</span>
31
+ <div class="d-flex gap-2 flex-wrap">
32
+ <button dfButton appearance="outline" size="sm" (click)="thirdItem.toggle()">Toggle third</button>
33
+ <button dfButton appearance="outline" size="sm" (click)="thirdItem.expand()">Expand third</button>
34
+ <button dfButton appearance="outline" size="sm" (click)="thirdItem.collapse()">Collapse third</button>
35
+ </div>
36
+ </div>
@@ -0,0 +1,15 @@
1
+ import { Component } from '@angular/core';
2
+ import {
3
+ DfAccordion,
4
+ DfAccordionItem,
5
+ DfAccordionItemBody,
6
+ DfAccordionItemTitle
7
+ } from '@design-factory/angular/accordion';
8
+ import { DfButton } from '@design-factory/angular/button';
9
+
10
+ @Component({
11
+ selector: 'df-demo-accordion-programmatic-control',
12
+ templateUrl: './accordion-programmatic-control.html',
13
+ imports: [DfAccordion, DfAccordionItem, DfAccordionItemBody, DfAccordionItemTitle, DfButton]
14
+ })
15
+ export class DfDemoAccordionProgrammaticControl {}
@@ -0,0 +1,16 @@
1
+ <df-accordion-selectable itemHeadingLevel="3" ariaLabel="Choose a plan">
2
+ <df-accordion-item-selectable value="basic" [visible]="true">
3
+ <ng-template dfAccordionItemTitle>Basic plan</ng-template>
4
+ <ng-template dfAccordionItemBody>Includes essential features for small teams.</ng-template>
5
+ </df-accordion-item-selectable>
6
+
7
+ <df-accordion-item-selectable value="pro">
8
+ <ng-template dfAccordionItemTitle>Pro plan</ng-template>
9
+ <ng-template dfAccordionItemBody>Advanced features with priority support.</ng-template>
10
+ </df-accordion-item-selectable>
11
+
12
+ <df-accordion-item-selectable value="enterprise">
13
+ <ng-template dfAccordionItemTitle>Enterprise plan</ng-template>
14
+ <ng-template dfAccordionItemBody>Full platform access with dedicated account management.</ng-template>
15
+ </df-accordion-item-selectable>
16
+ </df-accordion-selectable>
@@ -0,0 +1,14 @@
1
+ import { Component } from '@angular/core';
2
+ import {
3
+ DfAccordionItemBody,
4
+ DfAccordionItemTitle,
5
+ DfAccordionItemSelectable,
6
+ DfAccordionSelectable
7
+ } from '@design-factory/angular/accordion';
8
+
9
+ @Component({
10
+ selector: 'df-demo-accordion-selectable',
11
+ templateUrl: './accordion-selectable.html',
12
+ imports: [DfAccordionSelectable, DfAccordionItemSelectable, DfAccordionItemBody, DfAccordionItemTitle]
13
+ })
14
+ export class DfDemoAccordionSelectable {}
@@ -0,0 +1,28 @@
1
+ <form [formGroup]="formGroup">
2
+ <df-accordion-selectable [itemHeadingLevel]="3" ariaLabel="Payment method">
3
+ @for (item of items; track item) {
4
+ <df-accordion-item-selectable [id]="item.id" [value]="item.value" formControlName="option">
5
+ <ng-template dfAccordionItemTitle>
6
+ <span style="display: flex; align-items: center">
7
+ <span>{{ item.name }}</span>
8
+ @if (item.badgeValue !== undefined) {
9
+ <span class="badge rounded-pill bg-warning df-badge-sm ms-3">{{ item.badgeValue }}</span>
10
+ }
11
+ </span>
12
+ </ng-template>
13
+ <ng-template dfAccordionItemSelectableSubsection>
14
+ @if (item.data || item.subtitle) {
15
+ <div style="font-weight: normal">
16
+ <span>{{ item.subtitle }}</span>
17
+ <br />
18
+ <span>{{ item.data }}</span>
19
+ </div>
20
+ }
21
+ </ng-template>
22
+ <ng-template dfAccordionItemBody>
23
+ <ng-template [ngComponentOutlet]="item.content" />
24
+ </ng-template>
25
+ </df-accordion-item-selectable>
26
+ }
27
+ </df-accordion-selectable>
28
+ </form>
@@ -0,0 +1,80 @@
1
+ import { Component, inject, Type } from '@angular/core';
2
+ import {
3
+ DfAccordionSelectable,
4
+ DfAccordionItemBody,
5
+ DfAccordionItemSelectable,
6
+ DfAccordionItemTitle,
7
+ DfAccordionItemSelectableSubsection
8
+ } from '@design-factory/angular/accordion';
9
+ import { NonNullableFormBuilder, ReactiveFormsModule } from '@angular/forms';
10
+ import { NgComponentOutlet } from '@angular/common';
11
+
12
+ @Component({
13
+ selector: 'df-demo-accordion-mastercard-content',
14
+ template: `Components for Mastercard payment`
15
+ })
16
+ class MastercardContentComponent {}
17
+
18
+ @Component({
19
+ selector: 'df-demo-accordion-visa-content',
20
+ template: `Components for Visa payment`
21
+ })
22
+ class VisaContentComponent {}
23
+
24
+ @Component({
25
+ selector: 'df-demo-accordion-paypal-content',
26
+ template: `Components for Paypal payment`
27
+ })
28
+ class PaypalContentComponent {}
29
+
30
+ type PaymentOption = {
31
+ id: string;
32
+ name: string;
33
+ value: string;
34
+ badgeValue?: string;
35
+ subtitle?: string;
36
+ data?: string;
37
+ content: Type<any>;
38
+ };
39
+
40
+ @Component({
41
+ selector: 'df-demo-accordion-selectable-extended',
42
+ templateUrl: './accordion-selectable-extended.html',
43
+ imports: [
44
+ DfAccordionSelectable,
45
+ DfAccordionItemSelectable,
46
+ DfAccordionItemBody,
47
+ DfAccordionItemTitle,
48
+ DfAccordionItemSelectableSubsection,
49
+ ReactiveFormsModule,
50
+ NgComponentOutlet
51
+ ]
52
+ })
53
+ export class DfDemoAccordionSelectableExtended {
54
+ readonly items: PaymentOption[] = [
55
+ {
56
+ id: 'panel1',
57
+ name: 'Mastercard',
58
+ value: 'method1',
59
+ badgeValue: 'Charging fees',
60
+ subtitle: 'John Smith 05/28',
61
+ data: 'XXXX.1234',
62
+ content: MastercardContentComponent
63
+ },
64
+ {
65
+ id: 'panel2',
66
+ name: 'Visa',
67
+ value: 'method2',
68
+ badgeValue: 'Charging fees',
69
+ content: VisaContentComponent
70
+ },
71
+ {
72
+ id: 'panel3',
73
+ name: 'Paypal',
74
+ value: 'method3',
75
+ content: PaypalContentComponent
76
+ }
77
+ ];
78
+
79
+ readonly formGroup = inject(NonNullableFormBuilder).group({ option: '' });
80
+ }
@@ -0,0 +1,16 @@
1
+ <df-accordion itemHeadingLevel="3" separator>
2
+ <df-accordion-item [visible]="true">
3
+ <ng-template dfAccordionItemTitle>First item</ng-template>
4
+ <ng-template dfAccordionItemBody>Content of the first accordion item.</ng-template>
5
+ </df-accordion-item>
6
+
7
+ <df-accordion-item>
8
+ <ng-template dfAccordionItemTitle>Second item</ng-template>
9
+ <ng-template dfAccordionItemBody>Content of the second accordion item.</ng-template>
10
+ </df-accordion-item>
11
+
12
+ <df-accordion-item>
13
+ <ng-template dfAccordionItemTitle>Third item</ng-template>
14
+ <ng-template dfAccordionItemBody>Content of the third accordion item.</ng-template>
15
+ </df-accordion-item>
16
+ </df-accordion>
@@ -0,0 +1,14 @@
1
+ import { Component } from '@angular/core';
2
+ import {
3
+ DfAccordion,
4
+ DfAccordionItem,
5
+ DfAccordionItemBody,
6
+ DfAccordionItemTitle
7
+ } from '@design-factory/angular/accordion';
8
+
9
+ @Component({
10
+ selector: 'df-demo-accordion-separator',
11
+ templateUrl: './accordion-separator.html',
12
+ imports: [DfAccordion, DfAccordionItem, DfAccordionItemBody, DfAccordionItemTitle]
13
+ })
14
+ export class DfDemoAccordionSeparator {}
@@ -0,0 +1,15 @@
1
+ <df-app-container>
2
+ <df-topnav [superheader]="true">
3
+ <df-topnav-brand product="Design Factory" />
4
+ <df-topnav-navigation>
5
+ <df-topnav-navigation-link label="Home" href="javascript:void(0);" />
6
+ </df-topnav-navigation>
7
+ </df-topnav>
8
+ <main>
9
+ <div>
10
+ <df-alert appearance="banner" type="success"
11
+ >Well done! You successfully read this important alert message.</df-alert
12
+ >
13
+ </div>
14
+ </main>
15
+ </df-app-container>
@@ -0,0 +1,16 @@
1
+ import { Component } from '@angular/core';
2
+ import { DfAlert } from '@design-factory/angular/alert';
3
+ import {
4
+ DfAppContainer,
5
+ DfTopNav,
6
+ DfTopNavBrand,
7
+ DfTopNavNavigation,
8
+ DfTopNavNavigationLink
9
+ } from '@design-factory/angular/topnav';
10
+
11
+ @Component({
12
+ selector: 'df-demo-alert-banner',
13
+ templateUrl: './alert-banner.html',
14
+ imports: [DfAlert, DfAppContainer, DfTopNav, DfTopNavBrand, DfTopNavNavigation, DfTopNavNavigationLink]
15
+ })
16
+ export class DfDemoAlertBanner {}
@@ -0,0 +1,6 @@
1
+ <df-alert class="mb-5">Default alert with default settings.</df-alert>
2
+
3
+ <df-alert type="tip" size="lg" [dismissible]="false">
4
+ <df-alert-title>Large tip alert without dismissal button.</df-alert-title>
5
+ <df-alert-details>It also has the matching secondary description.</df-alert-details>
6
+ </df-alert>
@@ -0,0 +1,9 @@
1
+ import { Component } from '@angular/core';
2
+ import { DfAlert, DfAlertDetails, DfAlertTitle } from '@design-factory/angular/alert';
3
+
4
+ @Component({
5
+ selector: 'df-demo-alert-basic',
6
+ templateUrl: './alert-basic.html',
7
+ imports: [DfAlert, DfAlertTitle, DfAlertDetails]
8
+ })
9
+ export class DfDemoAlertBasic {}
@@ -0,0 +1,15 @@
1
+ <div class="card">
2
+ <div class="card-header">
3
+ <p>Parent card</p>
4
+ </div>
5
+ <df-alert appearance="banner" type="info" [dismissible]="false"> Banner alert inside the parent card. </df-alert>
6
+ <div class="card-body">
7
+ <div class="card mt-4">
8
+ <div class="card-header">
9
+ <p>Nested card</p>
10
+ </div>
11
+ <df-alert appearance="banner" type="warning" [dismissible]="false"> Banner alert inside a nested card. </df-alert>
12
+ <div class="card-body"></div>
13
+ </div>
14
+ </div>
15
+ </div>
@@ -0,0 +1,9 @@
1
+ import { Component } from '@angular/core';
2
+ import { DfAlert } from '@design-factory/angular/alert';
3
+
4
+ @Component({
5
+ selector: 'df-demo-alert-card',
6
+ templateUrl: './alert-card.html',
7
+ imports: [DfAlert]
8
+ })
9
+ export class DfDemoAlertCard {}
@@ -0,0 +1,5 @@
1
+ @for (alert of alerts(); track alert.type) {
2
+ <df-alert class="mb-5" [type]="alert.type" (closed)="close(alert.type)">{{ alert.message }}</df-alert>
3
+ }
4
+
5
+ <button dfButton appearance="outline" (click)="reset()">Reset</button>