flowbite-angular 1.0.0-alpha.4 → 1.0.0-alpha.6

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 (236) hide show
  1. package/accordion/accordion-content.component.d.ts +17 -0
  2. package/accordion/accordion-content.theme.d.ts +12 -0
  3. package/accordion/accordion-content.theme.service.d.ts +11 -0
  4. package/accordion/accordion-panel.component.d.ts +33 -0
  5. package/accordion/accordion-panel.theme.d.ts +12 -0
  6. package/accordion/accordion-panel.theme.service.d.ts +11 -0
  7. package/accordion/accordion-title.component.d.ts +26 -0
  8. package/accordion/accordion-title.theme.d.ts +12 -0
  9. package/accordion/accordion-title.theme.service.d.ts +11 -0
  10. package/accordion/accordion.component.d.ts +30 -0
  11. package/accordion/accordion.theme.d.ts +15 -0
  12. package/accordion/accordion.theme.service.d.ts +11 -0
  13. package/alert/alert.component.d.ts +53 -0
  14. package/alert/alert.theme.d.ts +15 -0
  15. package/alert/alert.theme.service.d.ts +11 -0
  16. package/badge/badge.component.d.ts +29 -0
  17. package/badge/badge.theme.d.ts +18 -0
  18. package/badge/badge.theme.service.d.ts +11 -0
  19. package/base-component.directive.d.ts +36 -0
  20. package/breadcrumb/breadcrumb-item.component.d.ts +26 -0
  21. package/breadcrumb/breadcrumb-item.theme.d.ts +12 -0
  22. package/breadcrumb/breadcrumb-item.theme.service.d.ts +11 -0
  23. package/breadcrumb/breadcrumb.component.d.ts +14 -0
  24. package/breadcrumb/breadcrumb.theme.d.ts +15 -0
  25. package/breadcrumb/breadcrumb.theme.service.d.ts +11 -0
  26. package/button/button.component.d.ts +41 -0
  27. package/button/button.theme.d.ts +30 -0
  28. package/button/button.theme.service.d.ts +11 -0
  29. package/dark-theme-toggle/dark-theme-toggle.component.d.ts +32 -0
  30. package/dark-theme-toggle/dark-theme-toggle.theme.d.ts +12 -0
  31. package/dark-theme-toggle/dark-theme-toggle.theme.service.d.ts +11 -0
  32. package/dropdown/dropdown-divider.component.d.ts +12 -0
  33. package/dropdown/dropdown-divider.theme.d.ts +12 -0
  34. package/dropdown/dropdown-divider.theme.service.d.ts +11 -0
  35. package/dropdown/dropdown-header.component.d.ts +12 -0
  36. package/dropdown/dropdown-header.theme.d.ts +12 -0
  37. package/dropdown/dropdown-header.theme.service.d.ts +11 -0
  38. package/dropdown/dropdown-item.component.d.ts +12 -0
  39. package/dropdown/dropdown-item.theme.d.ts +12 -0
  40. package/dropdown/dropdown-item.theme.service.d.ts +11 -0
  41. package/dropdown/dropdown.component.d.ts +39 -0
  42. package/dropdown/dropdown.theme.d.ts +15 -0
  43. package/dropdown/dropdown.theme.service.d.ts +11 -0
  44. package/esm2022/accordion/accordion-content.component.mjs +18 -1
  45. package/esm2022/accordion/accordion-content.theme.mjs +4 -1
  46. package/esm2022/accordion/accordion-content.theme.service.mjs +19 -2
  47. package/esm2022/accordion/accordion-panel.component.mjs +34 -1
  48. package/esm2022/accordion/accordion-panel.theme.mjs +4 -1
  49. package/esm2022/accordion/accordion-panel.theme.service.mjs +19 -2
  50. package/esm2022/accordion/accordion-title.component.mjs +27 -1
  51. package/esm2022/accordion/accordion-title.theme.mjs +4 -1
  52. package/esm2022/accordion/accordion-title.theme.service.mjs +19 -2
  53. package/esm2022/accordion/accordion.component.mjs +31 -1
  54. package/esm2022/accordion/accordion.theme.mjs +4 -1
  55. package/esm2022/accordion/accordion.theme.service.mjs +19 -2
  56. package/esm2022/alert/alert.component.mjs +54 -1
  57. package/esm2022/alert/alert.theme.mjs +4 -1
  58. package/esm2022/alert/alert.theme.service.mjs +19 -2
  59. package/esm2022/badge/badge.component.mjs +30 -1
  60. package/esm2022/badge/badge.theme.mjs +4 -1
  61. package/esm2022/badge/badge.theme.service.mjs +19 -2
  62. package/esm2022/base-component.directive.mjs +37 -1
  63. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +27 -1
  64. package/esm2022/breadcrumb/breadcrumb-item.theme.mjs +4 -1
  65. package/esm2022/breadcrumb/breadcrumb-item.theme.service.mjs +19 -2
  66. package/esm2022/breadcrumb/breadcrumb.component.mjs +15 -1
  67. package/esm2022/breadcrumb/breadcrumb.theme.mjs +4 -1
  68. package/esm2022/breadcrumb/breadcrumb.theme.service.mjs +19 -2
  69. package/esm2022/button/button.component.mjs +42 -1
  70. package/esm2022/button/button.theme.mjs +4 -1
  71. package/esm2022/button/button.theme.service.mjs +19 -2
  72. package/esm2022/core/flowbite.theme.init.mjs +3 -3
  73. package/esm2022/dark-theme-toggle/dark-theme-toggle.component.mjs +33 -1
  74. package/esm2022/dark-theme-toggle/dark-theme-toggle.theme.mjs +4 -1
  75. package/esm2022/dark-theme-toggle/dark-theme-toggle.theme.service.mjs +19 -2
  76. package/esm2022/dropdown/dropdown-divider.component.mjs +13 -1
  77. package/esm2022/dropdown/dropdown-divider.theme.mjs +4 -1
  78. package/esm2022/dropdown/dropdown-divider.theme.service.mjs +19 -2
  79. package/esm2022/dropdown/dropdown-header.component.mjs +13 -1
  80. package/esm2022/dropdown/dropdown-header.theme.mjs +4 -1
  81. package/esm2022/dropdown/dropdown-header.theme.service.mjs +19 -2
  82. package/esm2022/dropdown/dropdown-item.component.mjs +13 -1
  83. package/esm2022/dropdown/dropdown-item.theme.mjs +4 -1
  84. package/esm2022/dropdown/dropdown-item.theme.service.mjs +19 -2
  85. package/esm2022/dropdown/dropdown.component.mjs +40 -1
  86. package/esm2022/dropdown/dropdown.theme.mjs +4 -1
  87. package/esm2022/dropdown/dropdown.theme.service.mjs +19 -2
  88. package/esm2022/flowbite.theme.service.mjs +2 -12
  89. package/esm2022/indicator/indicators.component.mjs +52 -1
  90. package/esm2022/indicator/indicators.theme.mjs +4 -1
  91. package/esm2022/indicator/indicators.theme.service.mjs +19 -2
  92. package/esm2022/modal/modal-body.component.mjs +13 -1
  93. package/esm2022/modal/modal-body.theme.mjs +4 -1
  94. package/esm2022/modal/modal-body.theme.service.mjs +19 -2
  95. package/esm2022/modal/modal-footer.component.mjs +13 -1
  96. package/esm2022/modal/modal-footer.theme.mjs +4 -1
  97. package/esm2022/modal/modal-footer.theme.service.mjs +19 -2
  98. package/esm2022/modal/modal-header.component.mjs +19 -1
  99. package/esm2022/modal/modal-header.theme.mjs +4 -1
  100. package/esm2022/modal/modal-header.theme.service.mjs +19 -2
  101. package/esm2022/modal/modal.component.mjs +36 -1
  102. package/esm2022/modal/modal.theme.service.mjs +19 -2
  103. package/esm2022/navbar/index.mjs +2 -2
  104. package/esm2022/navbar/navbar-brand.component.mjs +13 -1
  105. package/esm2022/navbar/navbar-brand.theme.mjs +4 -1
  106. package/esm2022/navbar/navbar-brand.theme.service.mjs +19 -2
  107. package/esm2022/navbar/navbar-content.component.mjs +15 -1
  108. package/esm2022/navbar/navbar-content.theme.mjs +4 -1
  109. package/esm2022/navbar/navbar-content.theme.service.mjs +19 -2
  110. package/esm2022/navbar/navbar-icon-button.component.mjs +22 -1
  111. package/esm2022/navbar/navbar-icon-button.theme.mjs +4 -1
  112. package/esm2022/navbar/navbar-icon-button.theme.service.mjs +20 -3
  113. package/esm2022/navbar/navbar-item.component.mjs +27 -1
  114. package/esm2022/navbar/navbar-item.theme.mjs +4 -1
  115. package/esm2022/navbar/navbar-item.theme.service.mjs +19 -2
  116. package/esm2022/navbar/navbar-toggle.component.mjs +22 -1
  117. package/esm2022/navbar/navbar-toggle.theme.mjs +5 -2
  118. package/esm2022/navbar/navbar-toggle.theme.service.mjs +19 -2
  119. package/esm2022/navbar/navbar.component.mjs +46 -1
  120. package/esm2022/navbar/navbar.theme.service.mjs +19 -2
  121. package/esm2022/router-link/flowbite-router-link.directive.mjs +13 -1
  122. package/esm2022/router-link-active/flowbite-router-link-active.directive.mjs +13 -1
  123. package/esm2022/sanitize-html/sanitize-html.pipe.mjs +3 -3
  124. package/esm2022/scroll-top/scroll-top.component.mjs +29 -1
  125. package/esm2022/scroll-top/scroll-top.theme.mjs +4 -1
  126. package/esm2022/scroll-top/scroll-top.theme.service.mjs +19 -2
  127. package/esm2022/sidebar/sidebar-item-group.component.mjs +43 -6
  128. package/esm2022/sidebar/sidebar-item-group.theme.mjs +4 -1
  129. package/esm2022/sidebar/sidebar-item-group.theme.service.mjs +19 -2
  130. package/esm2022/sidebar/sidebar-item.component.mjs +43 -5
  131. package/esm2022/sidebar/sidebar-item.theme.mjs +4 -1
  132. package/esm2022/sidebar/sidebar-item.theme.service.mjs +19 -2
  133. package/esm2022/sidebar/sidebar-menu.component.mjs +27 -1
  134. package/esm2022/sidebar/sidebar-menu.theme.mjs +4 -1
  135. package/esm2022/sidebar/sidebar-menu.theme.service.mjs +19 -2
  136. package/esm2022/sidebar/sidebar-page-content.component.mjs +13 -1
  137. package/esm2022/sidebar/sidebar-page-content.theme.mjs +4 -1
  138. package/esm2022/sidebar/sidebar-page-content.theme.service.mjs +19 -2
  139. package/esm2022/sidebar/sidebar-toggle.component.mjs +34 -1
  140. package/esm2022/sidebar/sidebar-toggle.theme.mjs +4 -1
  141. package/esm2022/sidebar/sidebar-toggle.theme.service.mjs +19 -2
  142. package/esm2022/sidebar/sidebar.component.mjs +38 -1
  143. package/esm2022/sidebar/sidebar.theme.service.mjs +19 -2
  144. package/esm2022/type-definitions/colors/flowbite.gradient-colors.mjs +1 -1
  145. package/fesm2022/flowbite-angular-accordion.mjs +183 -1
  146. package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
  147. package/fesm2022/flowbite-angular-alert.mjs +73 -1
  148. package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
  149. package/fesm2022/flowbite-angular-badge.mjs +49 -1
  150. package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
  151. package/fesm2022/flowbite-angular-breadcrumb.mjs +79 -1
  152. package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
  153. package/fesm2022/flowbite-angular-button.mjs +61 -1
  154. package/fesm2022/flowbite-angular-button.mjs.map +1 -1
  155. package/fesm2022/flowbite-angular-core.mjs +2 -2
  156. package/fesm2022/flowbite-angular-core.mjs.map +1 -1
  157. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +52 -1
  158. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +1 -1
  159. package/fesm2022/flowbite-angular-dropdown.mjs +152 -1
  160. package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
  161. package/fesm2022/flowbite-angular-indicator.mjs +71 -1
  162. package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
  163. package/fesm2022/flowbite-angular-modal.mjs +151 -1
  164. package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
  165. package/fesm2022/flowbite-angular-navbar.mjs +254 -4
  166. package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
  167. package/fesm2022/flowbite-angular-router-link-active.mjs +12 -0
  168. package/fesm2022/flowbite-angular-router-link-active.mjs.map +1 -1
  169. package/fesm2022/flowbite-angular-router-link.mjs +12 -0
  170. package/fesm2022/flowbite-angular-router-link.mjs.map +1 -1
  171. package/fesm2022/flowbite-angular-sanitize-html.mjs +2 -2
  172. package/fesm2022/flowbite-angular-sanitize-html.mjs.map +1 -1
  173. package/fesm2022/flowbite-angular-scroll-top.mjs +48 -1
  174. package/fesm2022/flowbite-angular-scroll-top.mjs.map +1 -1
  175. package/fesm2022/flowbite-angular-sidebar.mjs +304 -10
  176. package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
  177. package/fesm2022/flowbite-angular.mjs +39 -11
  178. package/fesm2022/flowbite-angular.mjs.map +1 -1
  179. package/flowbite.theme.service.d.ts +6 -4
  180. package/indicator/indicators.component.d.ts +51 -0
  181. package/indicator/indicators.theme.d.ts +21 -0
  182. package/indicator/indicators.theme.service.d.ts +11 -0
  183. package/modal/modal-body.component.d.ts +12 -0
  184. package/modal/modal-body.theme.d.ts +12 -0
  185. package/modal/modal-body.theme.service.d.ts +11 -0
  186. package/modal/modal-footer.component.d.ts +12 -0
  187. package/modal/modal-footer.theme.d.ts +12 -0
  188. package/modal/modal-footer.theme.service.d.ts +11 -0
  189. package/modal/modal-header.component.d.ts +18 -0
  190. package/modal/modal-header.theme.d.ts +12 -0
  191. package/modal/modal-header.theme.service.d.ts +11 -0
  192. package/modal/modal.component.d.ts +35 -0
  193. package/modal/modal.theme.service.d.ts +11 -0
  194. package/navbar/index.d.ts +1 -1
  195. package/navbar/navbar-brand.component.d.ts +12 -0
  196. package/navbar/navbar-brand.theme.d.ts +12 -0
  197. package/navbar/navbar-brand.theme.service.d.ts +11 -0
  198. package/navbar/navbar-content.component.d.ts +14 -0
  199. package/navbar/navbar-content.theme.d.ts +12 -0
  200. package/navbar/navbar-content.theme.service.d.ts +11 -0
  201. package/navbar/navbar-icon-button.component.d.ts +21 -0
  202. package/navbar/navbar-icon-button.theme.d.ts +12 -0
  203. package/navbar/navbar-icon-button.theme.service.d.ts +11 -0
  204. package/navbar/navbar-item.component.d.ts +26 -0
  205. package/navbar/navbar-item.theme.d.ts +12 -0
  206. package/navbar/navbar-item.theme.service.d.ts +11 -0
  207. package/navbar/navbar-toggle.component.d.ts +21 -0
  208. package/navbar/navbar-toggle.theme.d.ts +13 -1
  209. package/navbar/navbar-toggle.theme.service.d.ts +11 -0
  210. package/navbar/navbar.component.d.ts +45 -0
  211. package/navbar/navbar.theme.service.d.ts +11 -0
  212. package/package.json +8 -3
  213. package/router-link/flowbite-router-link.directive.d.ts +12 -0
  214. package/router-link-active/flowbite-router-link-active.directive.d.ts +12 -0
  215. package/sanitize-html/sanitize-html.pipe.d.ts +2 -2
  216. package/scroll-top/scroll-top.component.d.ts +28 -0
  217. package/scroll-top/scroll-top.theme.d.ts +19 -1
  218. package/scroll-top/scroll-top.theme.service.d.ts +11 -0
  219. package/sidebar/sidebar-item-group.component.d.ts +41 -3
  220. package/sidebar/sidebar-item-group.theme.d.ts +12 -0
  221. package/sidebar/sidebar-item-group.theme.service.d.ts +11 -0
  222. package/sidebar/sidebar-item.component.d.ts +42 -2
  223. package/sidebar/sidebar-item.theme.d.ts +12 -0
  224. package/sidebar/sidebar-item.theme.service.d.ts +11 -0
  225. package/sidebar/sidebar-menu.component.d.ts +26 -0
  226. package/sidebar/sidebar-menu.theme.d.ts +12 -0
  227. package/sidebar/sidebar-menu.theme.service.d.ts +11 -0
  228. package/sidebar/sidebar-page-content.component.d.ts +12 -0
  229. package/sidebar/sidebar-page-content.theme.d.ts +12 -0
  230. package/sidebar/sidebar-page-content.theme.service.d.ts +11 -0
  231. package/sidebar/sidebar-toggle.component.d.ts +33 -0
  232. package/sidebar/sidebar-toggle.theme.d.ts +15 -0
  233. package/sidebar/sidebar-toggle.theme.service.d.ts +11 -0
  234. package/sidebar/sidebar.component.d.ts +37 -0
  235. package/sidebar/sidebar.theme.service.d.ts +11 -0
  236. package/tailwind.config.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"flowbite-angular-alert.mjs","sources":["../../../../libs/flowbite-angular/alert/alert.theme.service.ts","../../../../libs/flowbite-angular/alert/alert.component.ts","../../../../libs/flowbite-angular/alert/alert.theme.ts","../../../../libs/flowbite-angular/alert/flowbite-angular-alert.ts"],"sourcesContent":["import type { AlertClass, AlertProperties, AlertTheme } from './alert.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\nexport const FLOWBITE_ALERT_THEME_TOKEN = new InjectionToken<AlertTheme>(\n 'FLOWBITE_ALERT_THEME_TOKEN'\n);\n\nexport class AlertThemeService implements FlowbiteThemeService<AlertProperties> {\n private readonly baseTheme = inject(FLOWBITE_ALERT_THEME_TOKEN);\n\n public getClasses(properties: AlertProperties): AlertClass {\n const theme: AlertTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AlertClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.hasBorder[properties.hasBorder],\n theme.root.hasBorderAccent[properties.hasBorderAccent]\n ),\n closeButtonClass: twMerge(theme.closeButton.base, theme.closeButton.color[properties.color]),\n };\n\n return output;\n }\n}\n","import type { AlertClass, AlertColors, AlertTheme } from './alert.theme';\nimport { AlertThemeService } from './alert.theme.service';\n\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport type { DeepPartial } from 'flowbite-angular';\nimport { ButtonComponent } from 'flowbite-angular/button';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CLOSE_SVG_ICON } from 'flowbite-angular/utils';\n\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport type { OnInit, TemplateRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n standalone: true,\n imports: [NgIf, NgClass, NgTemplateOutlet, IconComponent, ButtonComponent],\n selector: 'flowbite-alert',\n template: `\n <div class=\"flex items-center\">\n <ng-container [ngTemplateOutlet]=\"icon()\"></ng-container>\n <div>\n <ng-content />\n </div>\n <button\n type=\"button\"\n [ngClass]=\"contentClasses()!.closeButtonClass\"\n *ngIf=\"isDismissable()\"\n aria-label=\"Close\"\n (click)=\"onDismissClick()\">\n <span class=\"sr-only\">Close</span>\n <flowbite-icon svgIcon=\"flowbite-angular:close\" class=\"h-5 w-5\" />\n </button>\n </div>\n <ng-container [ngTemplateOutlet]=\"additionalContent()\"></ng-container>\n `,\n host: {\n '[attr.role]': 'alert',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AlertComponent extends BaseComponent<AlertClass> implements OnInit {\n public readonly themeService = inject(AlertThemeService);\n public readonly iconRegistry = inject(IconRegistry);\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n public color = model<keyof AlertColors>('primary');\n public hasBorder = model<boolean>(false);\n public hasBorderAccent = model<boolean>(false);\n public customStyle = model<DeepPartial<AlertTheme>>({});\n public icon = model<TemplateRef<unknown> | null>(null);\n public additionalContent = model<TemplateRef<unknown> | null>(null);\n public isDismissable = model<boolean>(false);\n public onDismiss = model<() => void | undefined>();\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AlertClass {\n return this.themeService.getClasses({\n color: this.color(),\n hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),\n hasBorderAccent: booleanToFlowbiteBoolean(this.hasBorderAccent()),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'close',\n this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON)\n );\n }\n //#endregion\n\n public onDismissClick() {\n const func = this.onDismiss();\n\n if (func) func();\n }\n}\n","import type { DeepPartial, FlowbiteBoolean, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\nexport type AlertColors = Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow'\n>;\n//#endregion\n\nexport interface AlertProperties {\n color: keyof AlertColors;\n hasBorder: keyof FlowbiteBoolean;\n hasBorderAccent: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AlertTheme>;\n}\n\nexport interface AlertTheme {\n root: {\n base: string;\n color: AlertColors;\n hasBorder: FlowbiteBoolean;\n hasBorderAccent: FlowbiteBoolean;\n };\n closeButton: {\n base: string;\n color: AlertColors;\n };\n}\n\nexport const alertTheme: AlertTheme = createTheme({\n root: {\n base: 'flex flex-col gap-2 p-4 text-sm rounded-lg',\n color: {\n primary:\n 'text-primary-800 dark:text-primary-400 bg-primary-50 dark:bg-gray-800 border-primary-300 dark:border-primary-800',\n dark: 'text-gray-800 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-600',\n blue: 'text-blue-800 dark:text-blue-400 bg-blue-50 dark:bg-gray-800 border-blue-300 dark:border-blue-800',\n red: 'text-red-800 dark:text-red-400 bg-red-100 dark:bg-gray-800 border-red-300 dark:border-red-800',\n green:\n 'text-green-800 dark:text-green-400 bg-green-100 dark:bg-gray-800 border-green-300 dark:border-green-800',\n yellow:\n 'text-yellow-800 dark:text-yellow-300 bg-yellow-100 dark:bg-gray-800 border-yellow-300 dark:border-yellow-800',\n },\n hasBorder: {\n enabled: 'border',\n disabled: 'border-0',\n },\n hasBorderAccent: {\n enabled: 'border-t-4',\n disabled: '',\n },\n },\n closeButton: {\n base: '-mx-1.5 -my-1.5 ml-auto inline-flex h-8 w-8 rounded-lg p-1.5 focus:ring-2',\n color: {\n primary:\n 'text-primary-500 dark:text-primary-600 hover:bg-primary-200 dark:hover:bg-primary-300',\n dark: 'text-gray-500 dark:text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-300',\n blue: 'text-blue-500 dark:text-blue-600 hover:bg-blue-200 dark:hover:bg-blue-300',\n red: 'text-red-500 dark:text-red-600 hover:bg-red-200 dark:hover:bg-red-300',\n green: 'text-green-500 dark:text-green-600 hover:bg-green-200 dark:hover:bg-green-300',\n yellow: 'text-yellow-500 dark:text-yellow-600 hover:bg-yellow-200 dark:hover:bg-yellow-300',\n },\n },\n});\n\nexport interface AlertClass extends FlowbiteClass {\n closeButtonClass: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flowbite-angular-alert.mjs","sources":["../../../../libs/flowbite-angular/alert/alert.theme.service.ts","../../../../libs/flowbite-angular/alert/alert.component.ts","../../../../libs/flowbite-angular/alert/alert.theme.ts","../../../../libs/flowbite-angular/alert/flowbite-angular-alert.ts"],"sourcesContent":["import type { AlertClass, AlertProperties, AlertTheme } from './alert.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `AlertTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ALERT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ALERT_THEME_TOKEN = new InjectionToken<AlertTheme>(\n 'FLOWBITE_ALERT_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlertThemeService implements FlowbiteThemeService<AlertProperties> {\n private readonly baseTheme = inject(FLOWBITE_ALERT_THEME_TOKEN);\n\n public getClasses(properties: AlertProperties): AlertClass {\n const theme: AlertTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AlertClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.hasBorder[properties.hasBorder],\n theme.root.hasBorderAccent[properties.hasBorderAccent]\n ),\n closeButtonClass: twMerge(theme.closeButton.base, theme.closeButton.color[properties.color]),\n };\n\n return output;\n }\n}\n","import type { AlertClass, AlertColors, AlertTheme } from './alert.theme';\nimport { AlertThemeService } from './alert.theme.service';\n\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport type { DeepPartial } from 'flowbite-angular';\nimport { ButtonComponent } from 'flowbite-angular/button';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CLOSE_SVG_ICON } from 'flowbite-angular/utils';\n\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport type { OnInit, TemplateRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @see https://flowbite.com/docs/components/alerts/\n */\n@Component({\n standalone: true,\n imports: [NgIf, NgClass, NgTemplateOutlet, IconComponent, ButtonComponent],\n selector: 'flowbite-alert',\n template: `\n <div class=\"flex items-center\">\n <ng-container [ngTemplateOutlet]=\"icon()\"></ng-container>\n <div>\n <ng-content />\n </div>\n <button\n type=\"button\"\n [ngClass]=\"contentClasses()!.closeButtonClass\"\n *ngIf=\"isDismissable()\"\n aria-label=\"Close\"\n (click)=\"onDismissClick()\">\n <span class=\"sr-only\">Close</span>\n <flowbite-icon svgIcon=\"flowbite-angular:close\" class=\"h-5 w-5\" />\n </button>\n </div>\n <ng-container [ngTemplateOutlet]=\"additionalContent()\"></ng-container>\n `,\n host: {\n '[attr.role]': 'alert',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AlertComponent extends BaseComponent<AlertClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AlertThemeService);\n /**\n * `IcoRegistry` service\n */\n public readonly iconRegistry = inject(IconRegistry);\n /**\n * `DomSanitizer` service\n */\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n /**\n * Set the indicator color\n *\n * @default primary\n */\n public color = model<keyof AlertColors>('primary');\n /**\n * Set if the alert has border\n *\n * @default false\n */\n public hasBorder = model<boolean>(false);\n /**\n * Set if the alert has border accent\n *\n * @default false\n */\n public hasBorderAccent = model<boolean>(false);\n /**\n * Set the custom style for this alert\n */\n public customStyle = model<DeepPartial<AlertTheme>>({});\n /**\n * Set the custom icon\n *\n * @default null\n */\n public icon = model<TemplateRef<unknown> | null>(null);\n /**\n * Set the additional content\n *\n * @default null\n */\n public additionalContent = model<TemplateRef<unknown> | null>(null);\n /**\n * Set if the alert is dismissable\n *\n * @default false\n */\n public isDismissable = model<boolean>(false);\n /**\n * Set the function called when the alert is dismissed\n *\n * @default undefined\n */\n public onDismiss = model<() => void | undefined>();\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AlertClass {\n return this.themeService.getClasses({\n color: this.color(),\n hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),\n hasBorderAccent: booleanToFlowbiteBoolean(this.hasBorderAccent()),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'close',\n this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Call the onDismiss function if it's not undefined\n */\n public onDismissClick() {\n const func = this.onDismiss();\n\n if (func) func();\n }\n}\n","import type { DeepPartial, FlowbiteBoolean, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `AlertComponent`\n */\nexport type AlertColors = Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow'\n>;\n//#endregion\n\n/**\n * Required properties for the class generation of `AlertComponent`\n */\nexport interface AlertProperties {\n color: keyof AlertColors;\n hasBorder: keyof FlowbiteBoolean;\n hasBorderAccent: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AlertTheme>;\n}\n\n/**\n * Theme definition for `AlertComponent`\n */\nexport interface AlertTheme {\n root: {\n base: string;\n color: AlertColors;\n hasBorder: FlowbiteBoolean;\n hasBorderAccent: FlowbiteBoolean;\n };\n closeButton: {\n base: string;\n color: AlertColors;\n };\n}\n\n/**\n * Default theme for `AlertComponent`\n */\nexport const alertTheme: AlertTheme = createTheme({\n root: {\n base: 'flex flex-col gap-2 p-4 text-sm rounded-lg',\n color: {\n primary:\n 'text-primary-800 dark:text-primary-400 bg-primary-50 dark:bg-gray-800 border-primary-300 dark:border-primary-800',\n dark: 'text-gray-800 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-600',\n blue: 'text-blue-800 dark:text-blue-400 bg-blue-50 dark:bg-gray-800 border-blue-300 dark:border-blue-800',\n red: 'text-red-800 dark:text-red-400 bg-red-100 dark:bg-gray-800 border-red-300 dark:border-red-800',\n green:\n 'text-green-800 dark:text-green-400 bg-green-100 dark:bg-gray-800 border-green-300 dark:border-green-800',\n yellow:\n 'text-yellow-800 dark:text-yellow-300 bg-yellow-100 dark:bg-gray-800 border-yellow-300 dark:border-yellow-800',\n },\n hasBorder: {\n enabled: 'border',\n disabled: 'border-0',\n },\n hasBorderAccent: {\n enabled: 'border-t-4',\n disabled: '',\n },\n },\n closeButton: {\n base: '-mx-1.5 -my-1.5 ml-auto inline-flex h-8 w-8 rounded-lg p-1.5 focus:ring-2',\n color: {\n primary:\n 'text-primary-500 dark:text-primary-600 hover:bg-primary-200 dark:hover:bg-primary-300',\n dark: 'text-gray-500 dark:text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-300',\n blue: 'text-blue-500 dark:text-blue-600 hover:bg-blue-200 dark:hover:bg-blue-300',\n red: 'text-red-500 dark:text-red-600 hover:bg-red-200 dark:hover:bg-red-300',\n green: 'text-green-500 dark:text-green-600 hover:bg-green-200 dark:hover:bg-green-300',\n yellow: 'text-yellow-500 dark:text-yellow-600 hover:bg-yellow-200 dark:hover:bg-yellow-300',\n },\n },\n});\n\n/**\n * Generated class definition for `AlertComponent`\n */\nexport interface AlertClass extends FlowbiteClass {\n closeButtonClass: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,19 @@
1
1
  import { mergeTheme, createTheme } from 'flowbite-angular/utils';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, model, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, model, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
6
6
  import { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';
7
7
  import { NgClass } from '@angular/common';
8
8
 
9
+ /**
10
+ * `InjectionToken` used to import `BadgeTheme` value
11
+ *
12
+ * @example
13
+ * ```
14
+ * var theme = inject(FLOWBITE_BADGE_THEME_TOKEN)
15
+ * ```
16
+ */
9
17
  const FLOWBITE_BADGE_THEME_TOKEN = new InjectionToken('FLOWBITE_BADGE_THEME_TOKEN');
10
18
  class BadgeThemeService {
11
19
  constructor() {
@@ -20,7 +28,15 @@ class BadgeThemeService {
20
28
  };
21
29
  return output;
22
30
  }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BadgeThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BadgeThemeService, providedIn: 'root' }); }
23
33
  }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BadgeThemeService, decorators: [{
35
+ type: Injectable,
36
+ args: [{
37
+ providedIn: 'root',
38
+ }]
39
+ }] });
24
40
 
25
41
  /**
26
42
  * @see https://flowbite.com/docs/components/badge/
@@ -28,13 +44,42 @@ class BadgeThemeService {
28
44
  class BadgeComponent extends BaseComponent {
29
45
  constructor() {
30
46
  super(...arguments);
47
+ /**
48
+ * Optional `FlowbiteRouterLinkDirective` injected
49
+ */
31
50
  this.flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });
51
+ /**
52
+ * Service injected used to generate class
53
+ */
32
54
  this.themeService = inject(BadgeThemeService);
33
55
  //#region properties
56
+ /**
57
+ * Set the badge color
58
+ *
59
+ * @default primary
60
+ */
34
61
  this.color = model('primary');
62
+ /**
63
+ * Set the badge size
64
+ *
65
+ * @default xs
66
+ */
35
67
  this.size = model('xs');
68
+ /**
69
+ * Set if the badge is icon only
70
+ *
71
+ * @default false
72
+ */
36
73
  this.isIconOnly = model(false);
74
+ /**
75
+ * Set if the badge is pill
76
+ *
77
+ * @default false
78
+ */
37
79
  this.isPill = model(false);
80
+ /**
81
+ * Set the custom style for this badge
82
+ */
38
83
  this.customStyle = model({});
39
84
  }
40
85
  //#endregion
@@ -64,6 +109,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
64
109
  }]
65
110
  }] });
66
111
 
112
+ /**
113
+ * Default theme for `BadgeComponent`
114
+ */
67
115
  const badgeTheme = createTheme({
68
116
  root: {
69
117
  base: 'flex h-fit items-center gap-1 font-semibold',
@@ -1 +1 @@
1
- {"version":3,"file":"flowbite-angular-badge.mjs","sources":["../../../../libs/flowbite-angular/badge/badge.theme.service.ts","../../../../libs/flowbite-angular/badge/badge.component.ts","../../../../libs/flowbite-angular/badge/badge.theme.ts","../../../../libs/flowbite-angular/badge/flowbite-angular-badge.ts"],"sourcesContent":["import type { BadgeClass, BadgeProperties, BadgeTheme } from './badge.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\nexport const FLOWBITE_BADGE_THEME_TOKEN = new InjectionToken<BadgeTheme>(\n 'FLOWBITE_BADGE_THEME_TOKEN'\n);\n\nexport class BadgeThemeService implements FlowbiteThemeService<BadgeProperties> {\n private readonly baseTheme = inject(FLOWBITE_BADGE_THEME_TOKEN);\n\n public getClasses(properties: BadgeProperties): BadgeClass {\n const theme: BadgeTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: BadgeClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.size[properties.size],\n theme.root.isPill[\n properties.isPill == 'enabled' || properties.isIconOnly == 'enabled'\n ? 'enabled'\n : properties.isPill\n ],\n theme.root.isIconOnly[properties.isIconOnly],\n theme.root.link[properties.link ? 'enabled' : 'disabled']\n ),\n };\n\n return output;\n }\n}\n","import type { BadgeClass, BadgeColors, BadgeSizes, BadgeTheme } from './badge.theme';\nimport { BadgeThemeService } from './badge.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/badge/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-badge',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent extends BaseComponent<BadgeClass> {\n public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n public readonly themeService = inject(BadgeThemeService);\n\n //#region properties\n public color = model<keyof BadgeColors>('primary');\n public size = model<keyof BadgeSizes>('xs');\n public isIconOnly = model<boolean>(false);\n public isPill = model<boolean>(false);\n public customStyle = model<DeepPartial<BadgeTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): BadgeClass {\n return this.themeService.getClasses({\n color: this.color(),\n size: this.size(),\n isIconOnly: booleanToFlowbiteBoolean(this.isIconOnly()),\n isPill: booleanToFlowbiteBoolean(this.isPill()),\n link: this.flowbiteRouterLink?.routerLink.urlTree ?? null,\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n DeepPartial,\n FlowbiteBoolean,\n FlowbiteClass,\n FlowbiteColors,\n FlowbiteSizes,\n RouterLinkParameter,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\nexport interface BadgeColors\n extends Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow' | 'indigo' | 'purple' | 'pink'\n > {\n [key: string]: string;\n}\n\nexport interface BadgeSizes extends Pick<FlowbiteSizes, 'xs' | 'sm'> {\n [key: string]: string;\n}\n//#endregion\n\nexport interface BadgeProperties {\n color: keyof BadgeColors;\n size: keyof BadgeSizes;\n isIconOnly: keyof FlowbiteBoolean;\n isPill: keyof FlowbiteBoolean;\n link: RouterLinkParameter;\n customStyle: DeepPartial<BadgeTheme>;\n}\n\nexport interface BadgeTheme {\n root: {\n base: string;\n color: BadgeColors;\n size: BadgeSizes;\n isPill: FlowbiteBoolean;\n isIconOnly: FlowbiteBoolean;\n link: FlowbiteBoolean;\n };\n}\n\nexport const badgeTheme: BadgeTheme = createTheme({\n root: {\n base: 'flex h-fit items-center gap-1 font-semibold',\n color: {\n primary:\n 'bg-primary-100 dark:bg-primary-700 text-primary-800 dark:text-primary-300 group-hover:bg-primary-200 dark:group-hover:bg-primary-600',\n dark: 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600',\n blue: 'bg-blue-100 dark:bg-blue-200 text-blue-800 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300',\n red: 'bg-red-100 dark:bg-red-200 text-red-800 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300',\n green:\n 'bg-green-100 dark:bg-green-200 text-green-800 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300',\n yellow:\n 'bg-yellow-100 dark:bg-yellow-200 text-yellow-800 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300',\n indigo:\n 'bg-indigo-100 dark:bg-indigo-200 text-indigo-800 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300',\n purple:\n 'bg-purple-100 dark:bg-purple-200 text-purple-800 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300',\n pink: 'bg-pink-100 dark:bg-pink-200 text-pink-800 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300',\n },\n size: {\n xs: 'text-xs p-1',\n sm: 'text-sm p-1.5',\n },\n isPill: {\n enabled: 'rounded-full',\n disabled: 'rounded',\n },\n link: {\n enabled: 'group cursor-pointer',\n disabled: '',\n },\n isIconOnly: {\n enabled: '',\n disabled: 'px-2 py-0.5',\n },\n },\n});\n\nexport type BadgeClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flowbite-angular-badge.mjs","sources":["../../../../libs/flowbite-angular/badge/badge.theme.service.ts","../../../../libs/flowbite-angular/badge/badge.component.ts","../../../../libs/flowbite-angular/badge/badge.theme.ts","../../../../libs/flowbite-angular/badge/flowbite-angular-badge.ts"],"sourcesContent":["import type { BadgeClass, BadgeProperties, BadgeTheme } from './badge.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `BadgeTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_BADGE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_BADGE_THEME_TOKEN = new InjectionToken<BadgeTheme>(\n 'FLOWBITE_BADGE_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BadgeThemeService implements FlowbiteThemeService<BadgeProperties> {\n private readonly baseTheme = inject(FLOWBITE_BADGE_THEME_TOKEN);\n\n public getClasses(properties: BadgeProperties): BadgeClass {\n const theme: BadgeTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: BadgeClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.size[properties.size],\n theme.root.isPill[\n properties.isPill == 'enabled' || properties.isIconOnly == 'enabled'\n ? 'enabled'\n : properties.isPill\n ],\n theme.root.isIconOnly[properties.isIconOnly],\n theme.root.link[properties.link ? 'enabled' : 'disabled']\n ),\n };\n\n return output;\n }\n}\n","import type { BadgeClass, BadgeColors, BadgeSizes, BadgeTheme } from './badge.theme';\nimport { BadgeThemeService } from './badge.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/badge/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-badge',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent extends BaseComponent<BadgeClass> {\n /**\n * Optional `FlowbiteRouterLinkDirective` injected\n */\n public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(BadgeThemeService);\n\n //#region properties\n /**\n * Set the badge color\n *\n * @default primary\n */\n public color = model<keyof BadgeColors>('primary');\n /**\n * Set the badge size\n *\n * @default xs\n */\n public size = model<keyof BadgeSizes>('xs');\n /**\n * Set if the badge is icon only\n *\n * @default false\n */\n public isIconOnly = model<boolean>(false);\n /**\n * Set if the badge is pill\n *\n * @default false\n */\n public isPill = model<boolean>(false);\n /**\n * Set the custom style for this badge\n */\n public customStyle = model<DeepPartial<BadgeTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): BadgeClass {\n return this.themeService.getClasses({\n color: this.color(),\n size: this.size(),\n isIconOnly: booleanToFlowbiteBoolean(this.isIconOnly()),\n isPill: booleanToFlowbiteBoolean(this.isPill()),\n link: this.flowbiteRouterLink?.routerLink.urlTree ?? null,\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n DeepPartial,\n FlowbiteBoolean,\n FlowbiteClass,\n FlowbiteColors,\n FlowbiteSizes,\n RouterLinkParameter,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `BadgeComponent`\n */\nexport interface BadgeColors\n extends Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow' | 'indigo' | 'purple' | 'pink'\n > {\n [key: string]: string;\n}\n\n/**\n * Available sizes for `BadgeComponent`\n */\nexport interface BadgeSizes extends Pick<FlowbiteSizes, 'xs' | 'sm'> {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation of `BadgeComponent`\n */\nexport interface BadgeProperties {\n color: keyof BadgeColors;\n size: keyof BadgeSizes;\n isIconOnly: keyof FlowbiteBoolean;\n isPill: keyof FlowbiteBoolean;\n link: RouterLinkParameter;\n customStyle: DeepPartial<BadgeTheme>;\n}\n\n/**\n * Theme definition for `BadgeComponent`\n */\nexport interface BadgeTheme {\n root: {\n base: string;\n color: BadgeColors;\n size: BadgeSizes;\n isPill: FlowbiteBoolean;\n isIconOnly: FlowbiteBoolean;\n link: FlowbiteBoolean;\n };\n}\n\n/**\n * Default theme for `BadgeComponent`\n */\nexport const badgeTheme: BadgeTheme = createTheme({\n root: {\n base: 'flex h-fit items-center gap-1 font-semibold',\n color: {\n primary:\n 'bg-primary-100 dark:bg-primary-700 text-primary-800 dark:text-primary-300 group-hover:bg-primary-200 dark:group-hover:bg-primary-600',\n dark: 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600',\n blue: 'bg-blue-100 dark:bg-blue-200 text-blue-800 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300',\n red: 'bg-red-100 dark:bg-red-200 text-red-800 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300',\n green:\n 'bg-green-100 dark:bg-green-200 text-green-800 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300',\n yellow:\n 'bg-yellow-100 dark:bg-yellow-200 text-yellow-800 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300',\n indigo:\n 'bg-indigo-100 dark:bg-indigo-200 text-indigo-800 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300',\n purple:\n 'bg-purple-100 dark:bg-purple-200 text-purple-800 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300',\n pink: 'bg-pink-100 dark:bg-pink-200 text-pink-800 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300',\n },\n size: {\n xs: 'text-xs p-1',\n sm: 'text-sm p-1.5',\n },\n isPill: {\n enabled: 'rounded-full',\n disabled: 'rounded',\n },\n link: {\n enabled: 'group cursor-pointer',\n disabled: '',\n },\n isIconOnly: {\n enabled: '',\n disabled: 'px-2 py-0.5',\n },\n },\n});\n\n/**\n * Generated class definition for `BadgeComponent`\n */\nexport type BadgeClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { mergeTheme, CHEVRON_RIGHT_SVG_ICON, createTheme } from 'flowbite-angular/utils';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChildren } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChildren } from '@angular/core';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { BaseComponent } from 'flowbite-angular';
6
6
  import { IconRegistry, IconComponent } from 'flowbite-angular/icon';
@@ -8,6 +8,14 @@ import { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';
8
8
  import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
9
9
  import { DomSanitizer } from '@angular/platform-browser';
10
10
 
11
+ /**
12
+ * `InjectionToken` used to import `BreadcrumbItemTheme` value
13
+ *
14
+ * @example
15
+ * ```
16
+ * var theme = inject(FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN)
17
+ * ```
18
+ */
11
19
  const FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN = new InjectionToken('FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN');
12
20
  class BreadcrumbItemThemeService {
13
21
  constructor() {
@@ -21,18 +29,52 @@ class BreadcrumbItemThemeService {
21
29
  };
22
30
  return output;
23
31
  }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BreadcrumbItemThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BreadcrumbItemThemeService, providedIn: 'root' }); }
24
34
  }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BreadcrumbItemThemeService, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'root',
39
+ }]
40
+ }] });
25
41
 
42
+ /**
43
+ * @see https://flowbite.com/docs/components/breadcrumb/
44
+ */
26
45
  class BreadcrumbItemComponent extends BaseComponent {
27
46
  constructor() {
28
47
  super(...arguments);
48
+ /**
49
+ * Service injected used to generate class
50
+ */
29
51
  this.themeService = inject(BreadcrumbItemThemeService);
52
+ /**
53
+ * The parent `BreadcrumbComponent`
54
+ */
30
55
  this.breadcrumbComponent = inject(BreadcrumbComponent);
56
+ /**
57
+ * Optional `FlowbiteRouterLinkDirective` injected
58
+ */
31
59
  this.flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });
60
+ /**
61
+ * `IconRegistry` service
62
+ */
32
63
  this.iconRegistry = inject(IconRegistry);
64
+ /**
65
+ * `DomSanitizer` service
66
+ */
33
67
  this.domSanitizer = inject(DomSanitizer);
34
68
  //#region properties
69
+ /**
70
+ * Set the breadcrumb item color
71
+ *
72
+ * @default `BreadcrumbComponent`'s color
73
+ */
35
74
  this.color = model(this.breadcrumbComponent.color());
75
+ /**
76
+ * Set the custom style for this breadcrumb item
77
+ */
36
78
  this.customStyle = model({});
37
79
  }
38
80
  //#endregion
@@ -72,6 +114,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
72
114
  }]
73
115
  }] });
74
116
 
117
+ /**
118
+ * `InjectionToken` used to import `BreadcrumbTheme` value
119
+ *
120
+ * @example
121
+ * ```
122
+ * var theme = inject(FLOWBITE_BREADCRUMB_THEME_TOKEN)
123
+ * ```
124
+ */
75
125
  const FLOWBITE_BREADCRUMB_THEME_TOKEN = new InjectionToken('FLOWBITE_BREADCRUMB_THEME_TOKEN');
76
126
  class BreadcrumbThemeService {
77
127
  constructor() {
@@ -84,7 +134,15 @@ class BreadcrumbThemeService {
84
134
  };
85
135
  return output;
86
136
  }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BreadcrumbThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
138
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BreadcrumbThemeService, providedIn: 'root' }); }
87
139
  }
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BreadcrumbThemeService, decorators: [{
141
+ type: Injectable,
142
+ args: [{
143
+ providedIn: 'root',
144
+ }]
145
+ }] });
88
146
 
89
147
  /**
90
148
  * @see https://flowbite.com/docs/components/breadcrumb/
@@ -92,10 +150,24 @@ class BreadcrumbThemeService {
92
150
  class BreadcrumbComponent extends BaseComponent {
93
151
  constructor() {
94
152
  super(...arguments);
153
+ /**
154
+ * Service injected used to generate class
155
+ */
95
156
  this.themeService = inject(BreadcrumbThemeService);
157
+ /**
158
+ * List of `BreadcrumbItemComponent`
159
+ */
96
160
  this.breadcrumbItemChildren = contentChildren(BreadcrumbItemComponent);
97
161
  //#region properties
162
+ /**
163
+ * Set the breacrumb color
164
+ *
165
+ * @default primary
166
+ */
98
167
  this.color = model('primary');
168
+ /**
169
+ * Set the custom style for this breadcrumb
170
+ */
99
171
  this.customStyle = model({});
100
172
  }
101
173
  //#endregion
@@ -128,12 +200,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
128
200
  }]
129
201
  }] });
130
202
 
203
+ /**
204
+ * Default theme for `BreadcrumbComponent`
205
+ */
131
206
  const breadcrumbTheme = createTheme({
132
207
  root: {
133
208
  base: 'flex items-center',
134
209
  },
135
210
  });
136
211
 
212
+ /**
213
+ * Default theme for `BreadcrumbItemComponent`
214
+ */
137
215
  const breadcrumbItemTheme = createTheme({
138
216
  root: {
139
217
  base: 'group flex items-center text-sm font-medium cursor-pointer',
@@ -1 +1 @@
1
- {"version":3,"file":"flowbite-angular-breadcrumb.mjs","sources":["../../../../libs/flowbite-angular/breadcrumb/breadcrumb-item.theme.service.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb-item.component.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb.theme.service.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb.component.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb.theme.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb-item.theme.ts","../../../../libs/flowbite-angular/breadcrumb/flowbite-angular-breadcrumb.ts"],"sourcesContent":["import type {\n BreadcrumbItemClass,\n BreadcrumbItemProperties,\n BreadcrumbItemTheme,\n} from './breadcrumb-item.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\nexport const FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN = new InjectionToken<BreadcrumbItemTheme>(\n 'FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN'\n);\n\nexport class BreadcrumbItemThemeService implements FlowbiteThemeService<BreadcrumbItemProperties> {\n private readonly baseTheme = inject(FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN);\n\n public getClasses(properties: BreadcrumbItemProperties): BreadcrumbItemClass {\n const theme: BreadcrumbItemTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: BreadcrumbItemClass = {\n rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n breadcrumbIconClass: twMerge(theme.icon.base),\n };\n\n return output;\n }\n}\n","import type { BreadcrumbItemClass, BreadcrumbItemTheme } from './breadcrumb-item.theme';\nimport { BreadcrumbItemThemeService } from './breadcrumb-item.theme.service';\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport type { BreadcrumbColors } from './breadcrumb.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\nimport { CHEVRON_RIGHT_SVG_ICON } from 'flowbite-angular/utils';\n\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport type { OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n standalone: true,\n imports: [NgIf, NgClass, NgTemplateOutlet, IconComponent],\n selector: 'flowbite-breadcrumb-item',\n template: `\n <flowbite-icon\n [ngClass]=\"contentClasses().breadcrumbIconClass\"\n svgIcon=\"flowbite-angular:chevron-right\" />\n <ng-content />\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BreadcrumbItemComponent extends BaseComponent<BreadcrumbItemClass> implements OnInit {\n public readonly themeService = inject(BreadcrumbItemThemeService);\n public readonly breadcrumbComponent = inject(BreadcrumbComponent);\n public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n public readonly iconRegistry = inject(IconRegistry);\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n public color = model<keyof BreadcrumbColors>(this.breadcrumbComponent.color());\n public customStyle = model<DeepPartial<BreadcrumbItemTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): BreadcrumbItemClass {\n return this.themeService.getClasses({\n color: this.color(),\n link: this.flowbiteRouterLink?.routerLink.urlTree ?? null,\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'chevron-right',\n this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_RIGHT_SVG_ICON)\n );\n }\n //#endregion\n}\n","import type { BreadcrumbClass, BreadcrumbProperties, BreadcrumbTheme } from './breadcrumb.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\nexport const FLOWBITE_BREADCRUMB_THEME_TOKEN = new InjectionToken<BreadcrumbTheme>(\n 'FLOWBITE_BREADCRUMB_THEME_TOKEN'\n);\n\nexport class BreadcrumbThemeService implements FlowbiteThemeService<BreadcrumbProperties> {\n private readonly baseTheme = inject(FLOWBITE_BREADCRUMB_THEME_TOKEN);\n\n public getClasses(properties: BreadcrumbProperties): BreadcrumbClass {\n const theme: BreadcrumbTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: BreadcrumbClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport type { BreadcrumbClass, BreadcrumbColors, BreadcrumbTheme } from './breadcrumb.theme';\nimport { BreadcrumbThemeService } from './breadcrumb.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/breadcrumb/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-breadcrumb',\n template: `<ng-content />`,\n host: {\n '[attr.aria-label]': 'breadcrumb',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BreadcrumbComponent extends BaseComponent<BreadcrumbClass> {\n public readonly themeService = inject(BreadcrumbThemeService);\n public readonly breadcrumbItemChildren = contentChildren(BreadcrumbItemComponent);\n\n //#region properties\n public color = model<keyof BreadcrumbColors>('primary');\n public customStyle = model<DeepPartial<BreadcrumbTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): BreadcrumbClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override verify(): void {\n if (this.breadcrumbItemChildren().length === 0) {\n throw new Error('No BreadcrumbItemComponent available');\n }\n }\n //#endregion\n}\n","import type { DeepPartial, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\nexport interface BreadcrumbColors\n extends Pick<FlowbiteColors, 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow'> {\n [key: string]: string;\n}\n\nexport interface BreadcrumbProperties {\n customStyle: DeepPartial<BreadcrumbTheme>;\n}\n\nexport interface BreadcrumbTheme {\n root: {\n base: string;\n };\n}\n\nexport const breadcrumbTheme: BreadcrumbTheme = createTheme({\n root: {\n base: 'flex items-center',\n },\n});\n\nexport type BreadcrumbClass = FlowbiteClass;\n","import type { BreadcrumbColors } from './breadcrumb.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\nimport type { UrlTree } from '@angular/router';\n\nexport interface BreadcrumbItemProperties {\n color: keyof BreadcrumbColors;\n link: UrlTree | null;\n customStyle: DeepPartial<BreadcrumbItemTheme>;\n}\n\nexport interface BreadcrumbItemTheme {\n root: {\n base: string;\n color: BreadcrumbColors;\n };\n icon: {\n base: string;\n };\n}\n\nexport const breadcrumbItemTheme: BreadcrumbItemTheme = createTheme({\n root: {\n base: 'group flex items-center text-sm font-medium cursor-pointer',\n color: {\n primary:\n 'text-primary-700 dark:text-primary-400 hover:text-primary-900 dark:hover:text-primary-500',\n dark: 'text-gray-700 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white',\n blue: 'text-blue-700 dark:text-blue-400 hover:text-blue-900 dark:hover:text-blue-500',\n red: 'text-red-700 dark:text-red-400 hover:text-red-900 dark:hover:text-red-500',\n green: 'text-green-700 dark:text-green-400 hover:text-green-900 dark:hover:text-green-500',\n yellow:\n 'text-yellow-700 dark:text-yellow-400 hover:text-yellow-900 dark:hover:text-yellow-500',\n },\n },\n icon: {\n base: 'mx-1 h-6 w-6 md:mx-2 group-first:hidden',\n },\n});\n\nexport interface BreadcrumbItemClass extends FlowbiteClass {\n breadcrumbIconClass: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flowbite-angular-breadcrumb.mjs","sources":["../../../../libs/flowbite-angular/breadcrumb/breadcrumb-item.theme.service.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb-item.component.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb.theme.service.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb.component.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb.theme.ts","../../../../libs/flowbite-angular/breadcrumb/breadcrumb-item.theme.ts","../../../../libs/flowbite-angular/breadcrumb/flowbite-angular-breadcrumb.ts"],"sourcesContent":["import type {\n BreadcrumbItemClass,\n BreadcrumbItemProperties,\n BreadcrumbItemTheme,\n} from './breadcrumb-item.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `BreadcrumbItemTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN = new InjectionToken<BreadcrumbItemTheme>(\n 'FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BreadcrumbItemThemeService implements FlowbiteThemeService<BreadcrumbItemProperties> {\n private readonly baseTheme = inject(FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN);\n\n public getClasses(properties: BreadcrumbItemProperties): BreadcrumbItemClass {\n const theme: BreadcrumbItemTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: BreadcrumbItemClass = {\n rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n breadcrumbIconClass: twMerge(theme.icon.base),\n };\n\n return output;\n }\n}\n","import type { BreadcrumbItemClass, BreadcrumbItemTheme } from './breadcrumb-item.theme';\nimport { BreadcrumbItemThemeService } from './breadcrumb-item.theme.service';\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport type { BreadcrumbColors } from './breadcrumb.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\nimport { CHEVRON_RIGHT_SVG_ICON } from 'flowbite-angular/utils';\n\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport type { OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @see https://flowbite.com/docs/components/breadcrumb/\n */\n@Component({\n standalone: true,\n imports: [NgIf, NgClass, NgTemplateOutlet, IconComponent],\n selector: 'flowbite-breadcrumb-item',\n template: `\n <flowbite-icon\n [ngClass]=\"contentClasses().breadcrumbIconClass\"\n svgIcon=\"flowbite-angular:chevron-right\" />\n <ng-content />\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BreadcrumbItemComponent extends BaseComponent<BreadcrumbItemClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(BreadcrumbItemThemeService);\n /**\n * The parent `BreadcrumbComponent`\n */\n public readonly breadcrumbComponent = inject(BreadcrumbComponent);\n /**\n * Optional `FlowbiteRouterLinkDirective` injected\n */\n public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n /**\n * `IconRegistry` service\n */\n public readonly iconRegistry = inject(IconRegistry);\n /**\n * `DomSanitizer` service\n */\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n /**\n * Set the breadcrumb item color\n *\n * @default `BreadcrumbComponent`'s color\n */\n public color = model<keyof BreadcrumbColors>(this.breadcrumbComponent.color());\n /**\n * Set the custom style for this breadcrumb item\n */\n public customStyle = model<DeepPartial<BreadcrumbItemTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): BreadcrumbItemClass {\n return this.themeService.getClasses({\n color: this.color(),\n link: this.flowbiteRouterLink?.routerLink.urlTree ?? null,\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'chevron-right',\n this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_RIGHT_SVG_ICON)\n );\n }\n //#endregion\n}\n","import type { BreadcrumbClass, BreadcrumbProperties, BreadcrumbTheme } from './breadcrumb.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `BreadcrumbTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_BREADCRUMB_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_BREADCRUMB_THEME_TOKEN = new InjectionToken<BreadcrumbTheme>(\n 'FLOWBITE_BREADCRUMB_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BreadcrumbThemeService implements FlowbiteThemeService<BreadcrumbProperties> {\n private readonly baseTheme = inject(FLOWBITE_BREADCRUMB_THEME_TOKEN);\n\n public getClasses(properties: BreadcrumbProperties): BreadcrumbClass {\n const theme: BreadcrumbTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: BreadcrumbClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport type { BreadcrumbClass, BreadcrumbColors, BreadcrumbTheme } from './breadcrumb.theme';\nimport { BreadcrumbThemeService } from './breadcrumb.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/breadcrumb/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-breadcrumb',\n template: `<ng-content />`,\n host: {\n '[attr.aria-label]': 'breadcrumb',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BreadcrumbComponent extends BaseComponent<BreadcrumbClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(BreadcrumbThemeService);\n /**\n * List of `BreadcrumbItemComponent`\n */\n public readonly breadcrumbItemChildren = contentChildren(BreadcrumbItemComponent);\n\n //#region properties\n /**\n * Set the breacrumb color\n *\n * @default primary\n */\n public color = model<keyof BreadcrumbColors>('primary');\n /**\n * Set the custom style for this breadcrumb\n */\n public customStyle = model<DeepPartial<BreadcrumbTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): BreadcrumbClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override verify(): void {\n if (this.breadcrumbItemChildren().length === 0) {\n throw new Error('No BreadcrumbItemComponent available');\n }\n }\n //#endregion\n}\n","import type { DeepPartial, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `BreadcrumbComponent`\n */\nexport interface BreadcrumbColors\n extends Pick<FlowbiteColors, 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow'> {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation of `BreadcrumbComponent`\n */\nexport interface BreadcrumbProperties {\n customStyle: DeepPartial<BreadcrumbTheme>;\n}\n\n/**\n * Theme definition for `BreadcrumbComponent`\n */\nexport interface BreadcrumbTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `BreadcrumbComponent`\n */\nexport const breadcrumbTheme: BreadcrumbTheme = createTheme({\n root: {\n base: 'flex items-center',\n },\n});\n\n/**\n * Generated class definition for `BreadcrumbComponent`\n */\nexport type BreadcrumbClass = FlowbiteClass;\n","import type { BreadcrumbColors } from './breadcrumb.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\nimport type { UrlTree } from '@angular/router';\n\n/**\n * Required properties for the class generation of `BreadcrumbItemComponent`\n */\nexport interface BreadcrumbItemProperties {\n color: keyof BreadcrumbColors;\n link: UrlTree | null;\n customStyle: DeepPartial<BreadcrumbItemTheme>;\n}\n\n/**\n * Theme definition for `BreadcrumbItemComponent`\n */\nexport interface BreadcrumbItemTheme {\n root: {\n base: string;\n color: BreadcrumbColors;\n };\n icon: {\n base: string;\n };\n}\n\n/**\n * Default theme for `BreadcrumbItemComponent`\n */\nexport const breadcrumbItemTheme: BreadcrumbItemTheme = createTheme({\n root: {\n base: 'group flex items-center text-sm font-medium cursor-pointer',\n color: {\n primary:\n 'text-primary-700 dark:text-primary-400 hover:text-primary-900 dark:hover:text-primary-500',\n dark: 'text-gray-700 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white',\n blue: 'text-blue-700 dark:text-blue-400 hover:text-blue-900 dark:hover:text-blue-500',\n red: 'text-red-700 dark:text-red-400 hover:text-red-900 dark:hover:text-red-500',\n green: 'text-green-700 dark:text-green-400 hover:text-green-900 dark:hover:text-green-500',\n yellow:\n 'text-yellow-700 dark:text-yellow-400 hover:text-yellow-900 dark:hover:text-yellow-500',\n },\n },\n icon: {\n base: 'mx-1 h-6 w-6 md:mx-2 group-first:hidden',\n },\n});\n\n/**\n * Generated class definition for `BreadcrumbItemComponent`\n */\nexport interface BreadcrumbItemClass extends FlowbiteClass {\n breadcrumbIconClass: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,18 @@
1
1
  import { mergeTheme, createTheme } from 'flowbite-angular/utils';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, model, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, model, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
6
6
  import { NgIf, NgClass, NgTemplateOutlet } from '@angular/common';
7
7
 
8
+ /**
9
+ * `InjectionToken` used to import `ButtonTheme` value
10
+ *
11
+ * @example
12
+ * ```
13
+ * var theme = inject(FLOWBITE_BUTTON_THEME_TOKEN)
14
+ * ```
15
+ */
8
16
  const FLOWBITE_BUTTON_THEME_TOKEN = new InjectionToken('FLOWBITE_BUTTON_THEME_TOKEN');
9
17
  class ButtonThemeService {
10
18
  constructor() {
@@ -24,7 +32,15 @@ class ButtonThemeService {
24
32
  };
25
33
  return output;
26
34
  }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ButtonThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ButtonThemeService, providedIn: 'root' }); }
27
37
  }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ButtonThemeService, decorators: [{
39
+ type: Injectable,
40
+ args: [{
41
+ providedIn: 'root',
42
+ }]
43
+ }] });
28
44
 
29
45
  /**
30
46
  * @see https://flowbite.com/docs/components/buttons/
@@ -32,15 +48,56 @@ class ButtonThemeService {
32
48
  class ButtonComponent extends BaseComponent {
33
49
  constructor() {
34
50
  super(...arguments);
51
+ /**
52
+ * Service injected used to generate class
53
+ */
35
54
  this.themeService = inject(ButtonThemeService);
36
55
  //#region properties
56
+ /**
57
+ * Set the button color
58
+ *
59
+ * @default primary
60
+ */
37
61
  this.color = model('primary');
62
+ /**
63
+ * Set the button size
64
+ *
65
+ * @default md
66
+ */
38
67
  this.size = model('md');
68
+ /**
69
+ * Set if the button is pill
70
+ *
71
+ * @default false
72
+ */
39
73
  this.isPill = model(false);
74
+ /**
75
+ * Set the button fill
76
+ *
77
+ * @default solid
78
+ */
40
79
  this.fill = model('solid');
80
+ /**
81
+ * Set if the button is disabled
82
+ *
83
+ * @default false
84
+ */
41
85
  this.isDisabled = model(false);
86
+ /**
87
+ * Set the button gradient monochrome
88
+ *
89
+ * @default undefined
90
+ */
42
91
  this.gradientMonochrome = model(undefined);
92
+ /**
93
+ * Set the button gradient duotone
94
+ *
95
+ * @default undefined
96
+ */
43
97
  this.gradientDuoTone = model(undefined);
98
+ /**
99
+ * Set the custom style for this button
100
+ */
44
101
  this.customStyle = model({});
45
102
  }
46
103
  //#endregion
@@ -103,6 +160,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
103
160
  }]
104
161
  }] });
105
162
 
163
+ /**
164
+ * Default theme for `ButtonComponent`
165
+ */
106
166
  const buttonTheme = createTheme({
107
167
  root: {
108
168
  base: {