flowbite-angular 1.3.0 → 20.0.2

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 (309) hide show
  1. package/README.md +30 -39
  2. package/accordion/index.d.ts +569 -16
  3. package/alert/index.d.ts +602 -4
  4. package/badge/index.d.ts +636 -4
  5. package/breadcrumb/index.d.ts +452 -8
  6. package/button/index.d.ts +335 -4
  7. package/button-group/README.md +4 -0
  8. package/button-group/index.d.ts +85 -0
  9. package/{core → card}/README.md +2 -2
  10. package/card/index.d.ts +640 -0
  11. package/{accordion → clipboard}/README.md +2 -2
  12. package/clipboard/index.d.ts +103 -0
  13. package/dropdown/index.d.ts +536 -16
  14. package/fesm2022/flowbite-angular-accordion.mjs +339 -479
  15. package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
  16. package/fesm2022/flowbite-angular-alert.mjs +308 -240
  17. package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
  18. package/fesm2022/flowbite-angular-badge.mjs +332 -238
  19. package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
  20. package/fesm2022/flowbite-angular-breadcrumb.mjs +262 -191
  21. package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
  22. package/fesm2022/flowbite-angular-button-group.mjs +86 -0
  23. package/fesm2022/flowbite-angular-button-group.mjs.map +1 -0
  24. package/fesm2022/flowbite-angular-button.mjs +189 -270
  25. package/fesm2022/flowbite-angular-button.mjs.map +1 -1
  26. package/fesm2022/flowbite-angular-card.mjs +344 -0
  27. package/fesm2022/flowbite-angular-card.mjs.map +1 -0
  28. package/fesm2022/flowbite-angular-clipboard.mjs +174 -0
  29. package/fesm2022/flowbite-angular-clipboard.mjs.map +1 -0
  30. package/fesm2022/flowbite-angular-dropdown.mjs +272 -459
  31. package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
  32. package/fesm2022/flowbite-angular-form.mjs +444 -0
  33. package/fesm2022/flowbite-angular-form.mjs.map +1 -0
  34. package/fesm2022/flowbite-angular-icon-brand.mjs +71 -0
  35. package/fesm2022/flowbite-angular-icon-brand.mjs.map +1 -0
  36. package/fesm2022/flowbite-angular-icon-outline-arrows.mjs +51 -0
  37. package/fesm2022/flowbite-angular-icon-outline-arrows.mjs.map +1 -0
  38. package/fesm2022/flowbite-angular-icon-outline-e-commerce.mjs +23 -0
  39. package/fesm2022/flowbite-angular-icon-outline-e-commerce.mjs.map +1 -0
  40. package/fesm2022/flowbite-angular-icon-outline-emoji.mjs +13 -0
  41. package/fesm2022/flowbite-angular-icon-outline-emoji.mjs.map +1 -0
  42. package/fesm2022/flowbite-angular-icon-outline-files-folders.mjs +42 -0
  43. package/fesm2022/flowbite-angular-icon-outline-files-folders.mjs.map +1 -0
  44. package/fesm2022/flowbite-angular-icon-outline-general.mjs +145 -0
  45. package/fesm2022/flowbite-angular-icon-outline-general.mjs.map +1 -0
  46. package/fesm2022/flowbite-angular-icon-outline-media.mjs +25 -0
  47. package/fesm2022/flowbite-angular-icon-outline-media.mjs.map +1 -0
  48. package/fesm2022/flowbite-angular-icon-outline-text.mjs +20 -0
  49. package/fesm2022/flowbite-angular-icon-outline-text.mjs.map +1 -0
  50. package/fesm2022/flowbite-angular-icon-outline-user.mjs +17 -0
  51. package/fesm2022/flowbite-angular-icon-outline-user.mjs.map +1 -0
  52. package/fesm2022/flowbite-angular-icon-outline-weather.mjs +9 -0
  53. package/fesm2022/flowbite-angular-icon-outline-weather.mjs.map +1 -0
  54. package/fesm2022/flowbite-angular-icon-outline.mjs +6 -0
  55. package/fesm2022/flowbite-angular-icon-outline.mjs.map +1 -0
  56. package/fesm2022/flowbite-angular-icon-solid-arrows.mjs +17 -0
  57. package/fesm2022/flowbite-angular-icon-solid-arrows.mjs.map +1 -0
  58. package/fesm2022/flowbite-angular-icon-solid-brands.mjs +33 -0
  59. package/fesm2022/flowbite-angular-icon-solid-brands.mjs.map +1 -0
  60. package/fesm2022/flowbite-angular-icon-solid-e-commerce.mjs +21 -0
  61. package/fesm2022/flowbite-angular-icon-solid-e-commerce.mjs.map +1 -0
  62. package/fesm2022/flowbite-angular-icon-solid-emoji.mjs +13 -0
  63. package/fesm2022/flowbite-angular-icon-solid-emoji.mjs.map +1 -0
  64. package/fesm2022/flowbite-angular-icon-solid-files-folder.mjs +42 -0
  65. package/fesm2022/flowbite-angular-icon-solid-files-folder.mjs.map +1 -0
  66. package/fesm2022/flowbite-angular-icon-solid-general.mjs +123 -0
  67. package/fesm2022/flowbite-angular-icon-solid-general.mjs.map +1 -0
  68. package/fesm2022/flowbite-angular-icon-solid-media.mjs +24 -0
  69. package/fesm2022/flowbite-angular-icon-solid-media.mjs.map +1 -0
  70. package/fesm2022/flowbite-angular-icon-solid-text.mjs +11 -0
  71. package/fesm2022/flowbite-angular-icon-solid-text.mjs.map +1 -0
  72. package/fesm2022/flowbite-angular-icon-solid-user.mjs +17 -0
  73. package/fesm2022/flowbite-angular-icon-solid-user.mjs.map +1 -0
  74. package/fesm2022/flowbite-angular-icon-solid-weather.mjs +9 -0
  75. package/fesm2022/flowbite-angular-icon-solid-weather.mjs.map +1 -0
  76. package/fesm2022/flowbite-angular-icon-solid.mjs +6 -0
  77. package/fesm2022/flowbite-angular-icon-solid.mjs.map +1 -0
  78. package/fesm2022/flowbite-angular-icon.mjs +318 -219
  79. package/fesm2022/flowbite-angular-icon.mjs.map +1 -1
  80. package/fesm2022/flowbite-angular-indicator.mjs +119 -231
  81. package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
  82. package/fesm2022/flowbite-angular-modal.mjs +337 -486
  83. package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
  84. package/fesm2022/flowbite-angular-navbar.mjs +600 -604
  85. package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
  86. package/fesm2022/flowbite-angular-pagination.mjs +994 -0
  87. package/fesm2022/flowbite-angular-pagination.mjs.map +1 -0
  88. package/fesm2022/flowbite-angular-sidebar.mjs +400 -776
  89. package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
  90. package/fesm2022/flowbite-angular-tab.mjs +465 -0
  91. package/fesm2022/flowbite-angular-tab.mjs.map +1 -0
  92. package/fesm2022/flowbite-angular-theme-toggle.mjs +263 -0
  93. package/fesm2022/flowbite-angular-theme-toggle.mjs.map +1 -0
  94. package/fesm2022/flowbite-angular-tooltip.mjs +117 -0
  95. package/fesm2022/flowbite-angular-tooltip.mjs.map +1 -0
  96. package/fesm2022/flowbite-angular.mjs +53 -66
  97. package/fesm2022/flowbite-angular.mjs.map +1 -1
  98. package/flowbite-angular.css +2 -0
  99. package/{alert → form}/README.md +2 -2
  100. package/form/index.d.ts +684 -0
  101. package/{breadcrumb → icon/brand}/README.md +2 -2
  102. package/icon/brand/index.d.ts +66 -0
  103. package/icon/index.d.ts +322 -5
  104. package/icon/outline/README.md +4 -0
  105. package/icon/outline/arrows/index.d.ts +46 -0
  106. package/icon/outline/e-commerce/index.d.ts +18 -0
  107. package/icon/outline/emoji/index.d.ts +8 -0
  108. package/icon/outline/files-folders/index.d.ts +37 -0
  109. package/icon/outline/general/index.d.ts +140 -0
  110. package/icon/outline/index.d.ts +2 -0
  111. package/icon/outline/media/index.d.ts +20 -0
  112. package/icon/outline/text/index.d.ts +15 -0
  113. package/icon/outline/user/index.d.ts +12 -0
  114. package/icon/outline/weather/index.d.ts +4 -0
  115. package/icon/solid/README.md +4 -0
  116. package/icon/solid/arrows/index.d.ts +12 -0
  117. package/icon/solid/brands/index.d.ts +28 -0
  118. package/icon/solid/e-commerce/index.d.ts +16 -0
  119. package/icon/solid/emoji/index.d.ts +8 -0
  120. package/icon/solid/files-folder/index.d.ts +37 -0
  121. package/icon/solid/general/index.d.ts +118 -0
  122. package/icon/solid/index.d.ts +2 -0
  123. package/icon/solid/media/index.d.ts +19 -0
  124. package/icon/solid/text/index.d.ts +6 -0
  125. package/icon/solid/user/index.d.ts +12 -0
  126. package/icon/solid/weather/index.d.ts +4 -0
  127. package/index.d.ts +126 -3
  128. package/indicator/index.d.ts +242 -4
  129. package/modal/index.d.ts +458 -16
  130. package/navbar/index.d.ts +1467 -24
  131. package/package.json +133 -38
  132. package/pagination/README.md +4 -0
  133. package/pagination/index.d.ts +1135 -0
  134. package/sidebar/index.d.ts +880 -24
  135. package/styles/flowbite-angular.css +8 -0
  136. package/styles/part/animation.css +0 -0
  137. package/styles/part/color.css +125 -0
  138. package/styles/part/font-size.css +67 -0
  139. package/styles/part/rounded.css +11 -0
  140. package/styles/part/shadow.css +9 -0
  141. package/styles/part/spacing.css +38 -0
  142. package/{badge → tab}/README.md +2 -2
  143. package/tab/index.d.ts +791 -0
  144. package/theme-toggle/README.md +4 -0
  145. package/theme-toggle/index.d.ts +342 -0
  146. package/{button → tooltip}/README.md +2 -2
  147. package/tooltip/index.d.ts +158 -0
  148. package/accordion/accordion-content.component.d.ts +0 -69
  149. package/accordion/accordion-content.theme.d.ts +0 -28
  150. package/accordion/accordion-content.theme.service.d.ts +0 -19
  151. package/accordion/accordion-panel.component.d.ts +0 -67
  152. package/accordion/accordion-panel.theme.d.ts +0 -23
  153. package/accordion/accordion-panel.theme.service.d.ts +0 -20
  154. package/accordion/accordion-title.component.d.ts +0 -106
  155. package/accordion/accordion-title.theme.d.ts +0 -35
  156. package/accordion/accordion-title.theme.service.d.ts +0 -19
  157. package/accordion/accordion.component.d.ts +0 -61
  158. package/accordion/accordion.theme.d.ts +0 -29
  159. package/accordion/accordion.theme.service.d.ts +0 -19
  160. package/alert/alert.component.d.ts +0 -150
  161. package/alert/alert.theme.d.ts +0 -39
  162. package/alert/alert.theme.service.d.ts +0 -19
  163. package/badge/badge.component.d.ts +0 -196
  164. package/badge/badge.theme.d.ts +0 -53
  165. package/badge/badge.theme.service.d.ts +0 -19
  166. package/base-component.directive.d.ts +0 -51
  167. package/breadcrumb/breadcrumb-item.component.d.ts +0 -84
  168. package/breadcrumb/breadcrumb-item.theme.d.ts +0 -33
  169. package/breadcrumb/breadcrumb-item.theme.service.d.ts +0 -19
  170. package/breadcrumb/breadcrumb.component.d.ts +0 -43
  171. package/breadcrumb/breadcrumb.theme.d.ts +0 -29
  172. package/breadcrumb/breadcrumb.theme.service.d.ts +0 -19
  173. package/button/button.component.d.ts +0 -250
  174. package/button/button.theme.d.ts +0 -79
  175. package/button/button.theme.service.d.ts +0 -19
  176. package/core/flowbite.theme.init.d.ts +0 -9
  177. package/core/index.d.ts +0 -1
  178. package/dark-theme-toggle/README.md +0 -4
  179. package/dark-theme-toggle/dark-theme-toggle.component.d.ts +0 -51
  180. package/dark-theme-toggle/dark-theme-toggle.theme.d.ts +0 -23
  181. package/dark-theme-toggle/dark-theme-toggle.theme.service.d.ts +0 -19
  182. package/dark-theme-toggle/index.d.ts +0 -3
  183. package/dropdown/README.md +0 -4
  184. package/dropdown/dropdown-divider.component.d.ts +0 -36
  185. package/dropdown/dropdown-divider.theme.d.ts +0 -23
  186. package/dropdown/dropdown-divider.theme.service.d.ts +0 -19
  187. package/dropdown/dropdown-header.component.d.ts +0 -42
  188. package/dropdown/dropdown-header.theme.d.ts +0 -28
  189. package/dropdown/dropdown-header.theme.service.d.ts +0 -19
  190. package/dropdown/dropdown-item.component.d.ts +0 -36
  191. package/dropdown/dropdown-item.theme.d.ts +0 -23
  192. package/dropdown/dropdown-item.theme.service.d.ts +0 -19
  193. package/dropdown/dropdown.component.d.ts +0 -136
  194. package/dropdown/dropdown.theme.d.ts +0 -56
  195. package/dropdown/dropdown.theme.service.d.ts +0 -19
  196. package/fesm2022/flowbite-angular-core.mjs +0 -322
  197. package/fesm2022/flowbite-angular-core.mjs.map +0 -1
  198. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +0 -139
  199. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +0 -1
  200. package/fesm2022/flowbite-angular-router-link-active.mjs +0 -68
  201. package/fesm2022/flowbite-angular-router-link-active.mjs.map +0 -1
  202. package/fesm2022/flowbite-angular-router-link.mjs +0 -73
  203. package/fesm2022/flowbite-angular-router-link.mjs.map +0 -1
  204. package/fesm2022/flowbite-angular-sanitize-html.mjs +0 -39
  205. package/fesm2022/flowbite-angular-sanitize-html.mjs.map +0 -1
  206. package/fesm2022/flowbite-angular-scroll-top.mjs +0 -193
  207. package/fesm2022/flowbite-angular-scroll-top.mjs.map +0 -1
  208. package/fesm2022/flowbite-angular-theme.mjs +0 -78
  209. package/fesm2022/flowbite-angular-theme.mjs.map +0 -1
  210. package/fesm2022/flowbite-angular-utils.mjs +0 -210
  211. package/fesm2022/flowbite-angular-utils.mjs.map +0 -1
  212. package/flowbite.theme.service.d.ts +0 -12
  213. package/icon/icon-registry.d.ts +0 -45
  214. package/icon/icon.component.d.ts +0 -22
  215. package/icon/trusted-types.d.ts +0 -15
  216. package/indicator/indicators.component.d.ts +0 -224
  217. package/indicator/indicators.theme.d.ts +0 -59
  218. package/indicator/indicators.theme.service.d.ts +0 -19
  219. package/modal/modal-body.component.d.ts +0 -36
  220. package/modal/modal-body.theme.d.ts +0 -23
  221. package/modal/modal-body.theme.service.d.ts +0 -19
  222. package/modal/modal-footer.component.d.ts +0 -36
  223. package/modal/modal-footer.theme.d.ts +0 -23
  224. package/modal/modal-footer.theme.service.d.ts +0 -19
  225. package/modal/modal-header.component.d.ts +0 -60
  226. package/modal/modal-header.theme.d.ts +0 -32
  227. package/modal/modal-header.theme.service.d.ts +0 -19
  228. package/modal/modal.component.d.ts +0 -146
  229. package/modal/modal.theme.d.ts +0 -35
  230. package/modal/modal.theme.service.d.ts +0 -19
  231. package/navbar/navbar-brand.component.d.ts +0 -36
  232. package/navbar/navbar-brand.theme.d.ts +0 -23
  233. package/navbar/navbar-brand.theme.service.d.ts +0 -19
  234. package/navbar/navbar-content.component.d.ts +0 -50
  235. package/navbar/navbar-content.theme.d.ts +0 -28
  236. package/navbar/navbar-content.theme.service.d.ts +0 -19
  237. package/navbar/navbar-icon-button.component.d.ts +0 -59
  238. package/navbar/navbar-icon-button.theme.d.ts +0 -26
  239. package/navbar/navbar-icon-button.theme.service.d.ts +0 -19
  240. package/navbar/navbar-item.component.d.ts +0 -67
  241. package/navbar/navbar-item.theme.d.ts +0 -26
  242. package/navbar/navbar-item.theme.service.d.ts +0 -19
  243. package/navbar/navbar-toggle.component.d.ts +0 -51
  244. package/navbar/navbar-toggle.theme.d.ts +0 -23
  245. package/navbar/navbar-toggle.theme.service.d.ts +0 -19
  246. package/navbar/navbar.component.d.ts +0 -121
  247. package/navbar/navbar.theme.d.ts +0 -21
  248. package/navbar/navbar.theme.service.d.ts +0 -19
  249. package/router-link/README.md +0 -4
  250. package/router-link/flowbite-router-link.directive.d.ts +0 -28
  251. package/router-link/index.d.ts +0 -1
  252. package/router-link-active/README.md +0 -4
  253. package/router-link-active/flowbite-router-link-active.directive.d.ts +0 -37
  254. package/router-link-active/index.d.ts +0 -1
  255. package/sanitize-html/README.md +0 -4
  256. package/sanitize-html/index.d.ts +0 -1
  257. package/sanitize-html/sanitize-html.pipe.d.ts +0 -20
  258. package/scroll-top/README.md +0 -4
  259. package/scroll-top/index.d.ts +0 -4
  260. package/scroll-top/scroll-top.component.d.ts +0 -114
  261. package/scroll-top/scroll-top.theme.d.ts +0 -39
  262. package/scroll-top/scroll-top.theme.service.d.ts +0 -19
  263. package/sidebar/sidebar-item-group.component.d.ts +0 -100
  264. package/sidebar/sidebar-item-group.theme.d.ts +0 -31
  265. package/sidebar/sidebar-item-group.theme.service.d.ts +0 -19
  266. package/sidebar/sidebar-item.component.d.ts +0 -101
  267. package/sidebar/sidebar-item.theme.d.ts +0 -33
  268. package/sidebar/sidebar-item.theme.service.d.ts +0 -19
  269. package/sidebar/sidebar-menu.component.d.ts +0 -93
  270. package/sidebar/sidebar-menu.theme.d.ts +0 -30
  271. package/sidebar/sidebar-menu.theme.service.d.ts +0 -19
  272. package/sidebar/sidebar-page-content.component.d.ts +0 -46
  273. package/sidebar/sidebar-page-content.theme.d.ts +0 -27
  274. package/sidebar/sidebar-page-content.theme.service.d.ts +0 -19
  275. package/sidebar/sidebar-toggle.component.d.ts +0 -95
  276. package/sidebar/sidebar-toggle.theme.d.ts +0 -34
  277. package/sidebar/sidebar-toggle.theme.service.d.ts +0 -19
  278. package/sidebar/sidebar.component.d.ts +0 -84
  279. package/sidebar/sidebar.theme.d.ts +0 -22
  280. package/sidebar/sidebar.theme.service.d.ts +0 -19
  281. package/tailwind.config.js +0 -303
  282. package/theme/README.md +0 -4
  283. package/theme/flowbite-theme.directive.d.ts +0 -36
  284. package/theme/index.d.ts +0 -1
  285. package/type-definitions/colors/flowbite.colors.d.ts +0 -19
  286. package/type-definitions/colors/flowbite.gradient-colors.d.ts +0 -11
  287. package/type-definitions/colors/flowbite.gradient-duo-tone-colors.d.ts +0 -12
  288. package/type-definitions/colors/index.d.ts +0 -3
  289. package/type-definitions/flowbite.boolean.d.ts +0 -14
  290. package/type-definitions/flowbite.class.d.ts +0 -6
  291. package/type-definitions/flowbite.combination.d.ts +0 -8
  292. package/type-definitions/flowbite.content-positions.d.ts +0 -6
  293. package/type-definitions/flowbite.deep-partial.d.ts +0 -6
  294. package/type-definitions/flowbite.heading-levels.d.ts +0 -4
  295. package/type-definitions/flowbite.positions.d.ts +0 -14
  296. package/type-definitions/flowbite.router-link-parameter.d.ts +0 -5
  297. package/type-definitions/flowbite.sizes.d.ts +0 -10
  298. package/type-definitions/flowbite.themes.d.ts +0 -4
  299. package/type-definitions/index.d.ts +0 -12
  300. package/utils/README.md +0 -4
  301. package/utils/icon.list.d.ts +0 -7
  302. package/utils/id.generator.d.ts +0 -59
  303. package/utils/index.d.ts +0 -8
  304. package/utils/theme/clone-deep.d.ts +0 -7
  305. package/utils/theme/create-class.d.ts +0 -7
  306. package/utils/theme/create-theme.d.ts +0 -7
  307. package/utils/theme/is-object.d.ts +0 -7
  308. package/utils/theme/merge-theme.d.ts +0 -8
  309. package/utils/theme/to-string.d.ts +0 -7
@@ -0,0 +1,465 @@
1
+ import { createTheme, mergeDeep, colorToTheme } from 'flowbite-angular';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, inject, input, computed, Directive } from '@angular/core';
4
+ import { createStateToken, createStateProvider, createStateInjector, createState } from 'ng-primitives/state';
5
+ import * as i1 from 'ng-primitives/tabs';
6
+ import { NgpTabset, NgpTabList, NgpTabButton, NgpTabPanel } from 'ng-primitives/tabs';
7
+ import { twMerge } from 'tailwind-merge';
8
+ import * as i3 from 'flowbite-angular/button';
9
+ import { BaseButton } from 'flowbite-angular/button';
10
+ import * as i2 from 'ng-primitives/interactions';
11
+ import { NgpFocus } from 'ng-primitives/interactions';
12
+
13
+ const flowbiteTabTheme = createTheme({
14
+ host: {
15
+ base: 'w-full rounded-md border',
16
+ transition: '',
17
+ size: {
18
+ sm: 'max-w-md p-2',
19
+ md: 'max-w-lg p-3',
20
+ lg: 'max-w-xl p-4',
21
+ full: 'w-full p-4',
22
+ },
23
+ color: {
24
+ default: {
25
+ light: 'border-gray-200 bg-gray-100',
26
+ dark: 'dark:border-gray-800 dark:bg-gray-900',
27
+ },
28
+ info: {
29
+ light: 'border-blue-200 bg-gray-100',
30
+ dark: 'dark:border-blue-800 dark:bg-gray-900',
31
+ },
32
+ failure: {
33
+ light: 'border-red-200 bg-gray-100',
34
+ dark: 'dark:border-red-800 dark:bg-gray-900',
35
+ },
36
+ success: {
37
+ light: 'border-green-200 bg-gray-100',
38
+ dark: 'dark:border-green-800 dark:bg-gray-900',
39
+ },
40
+ warning: {
41
+ light: 'border-yellow-200 bg-gray-100',
42
+ dark: 'dark:border-yellow-800 dark:bg-gray-900',
43
+ },
44
+ primary: {
45
+ light: 'border-primary-200 bg-gray-100',
46
+ dark: 'dark:border-primary-800 dark:bg-gray-900',
47
+ },
48
+ },
49
+ },
50
+ });
51
+
52
+ const defaultFlowbiteTabConfig = {
53
+ baseTheme: flowbiteTabTheme,
54
+ size: 'md',
55
+ color: 'default',
56
+ customTheme: {},
57
+ };
58
+ const FlowbiteTabConfigToken = new InjectionToken('FlowbiteTabConfigToken');
59
+ /**
60
+ * Provide the default Tab configuration
61
+ * @param config The Tab configuration
62
+ * @returns The provider
63
+ */
64
+ const provideFlowbiteTabConfig = (config) => [
65
+ {
66
+ provide: FlowbiteTabConfigToken,
67
+ useValue: { ...defaultFlowbiteTabConfig, ...config },
68
+ },
69
+ ];
70
+ /**
71
+ * Inject the Tab configuration
72
+ * @see {@link defaultFlowbiteTabConfig}
73
+ * @returns The configuration
74
+ */
75
+ const injectFlowbiteTabConfig = () => inject(FlowbiteTabConfigToken, { optional: true }) ?? defaultFlowbiteTabConfig;
76
+
77
+ const FlowbiteTabStateToken = createStateToken('Flowbite Tab');
78
+ const provideFlowbiteTabState = createStateProvider(FlowbiteTabStateToken);
79
+ const injectFlowbiteTabState = createStateInjector(FlowbiteTabStateToken);
80
+ const flowbiteTabState = createState(FlowbiteTabStateToken);
81
+
82
+ class Tab {
83
+ constructor() {
84
+ this.config = injectFlowbiteTabConfig();
85
+ /**
86
+ * @see {@link injectFlowbiteTabConfig}
87
+ */
88
+ this.size = input(this.config.size);
89
+ /**
90
+ * @see {@link injectFlowbiteTabConfig}
91
+ */
92
+ this.color = input(this.config.color);
93
+ /**
94
+ * @see {@link injectFlowbiteTabConfig}
95
+ */
96
+ this.customTheme = input(this.config.customTheme);
97
+ this.theme = computed(() => {
98
+ const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
99
+ return {
100
+ host: {
101
+ root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.size[this.state.size()], colorToTheme(mergedTheme.host.color, this.state.color())),
102
+ },
103
+ };
104
+ });
105
+ /**
106
+ * @internal
107
+ */
108
+ this.state = flowbiteTabState(this);
109
+ }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Tab, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
111
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: Tab, isStandalone: true, selector: "\n [flowbiteTab]\n ", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteTabState()], exportAs: ["flowbiteTab"], hostDirectives: [{ directive: i1.NgpTabset, inputs: ["id", "id", "ngpTabsetValue", "value", "ngpTabsetActivateOnFocus", "activateOnFocus"], outputs: ["ngpTabsetValueChange", "valueChange"] }], ngImport: i0 }); }
112
+ }
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Tab, decorators: [{
114
+ type: Directive,
115
+ args: [{
116
+ standalone: true,
117
+ selector: `
118
+ [flowbiteTab]
119
+ `,
120
+ exportAs: 'flowbiteTab',
121
+ hostDirectives: [
122
+ {
123
+ directive: NgpTabset,
124
+ inputs: ['id:id', 'ngpTabsetValue:value', 'ngpTabsetActivateOnFocus:activateOnFocus'],
125
+ outputs: ['ngpTabsetValueChange:valueChange'],
126
+ },
127
+ ],
128
+ providers: [provideFlowbiteTabState()],
129
+ host: { '[class]': `theme().host.root` },
130
+ }]
131
+ }] });
132
+
133
+ const flowbiteTabListTheme = createTheme({
134
+ host: {
135
+ base: 'flex overflow-x-scroll overflow-y-clip border-b text-center',
136
+ transition: '',
137
+ color: {
138
+ default: {
139
+ light: 'border-gray-200',
140
+ dark: 'dark:border-gray-700',
141
+ },
142
+ info: {
143
+ light: 'border-blue-200',
144
+ dark: 'dark:border-blue-700',
145
+ },
146
+ failure: {
147
+ light: 'border-red-200',
148
+ dark: 'dark:border-red-700',
149
+ },
150
+ success: {
151
+ light: 'border-green-200',
152
+ dark: 'dark:border-green-700',
153
+ },
154
+ warning: {
155
+ light: 'border-yellow-200',
156
+ dark: 'dark:border-yellow-700',
157
+ },
158
+ primary: {
159
+ light: 'border-primary-200',
160
+ dark: 'dark:border-primary-700',
161
+ },
162
+ },
163
+ },
164
+ });
165
+
166
+ const defaultFlowbiteTabListConfig = {
167
+ baseTheme: flowbiteTabListTheme,
168
+ customTheme: {},
169
+ };
170
+ const FlowbiteTabListConfigToken = new InjectionToken('FlowbiteTabListConfigToken');
171
+ /**
172
+ * Provide the default TabList configuration
173
+ * @param config The TabList configuration
174
+ * @returns The provider
175
+ */
176
+ const provideFlowbiteTabListConfig = (config) => [
177
+ {
178
+ provide: FlowbiteTabListConfigToken,
179
+ useValue: { ...defaultFlowbiteTabListConfig, ...config },
180
+ },
181
+ ];
182
+ /**
183
+ * Inject the TabList configuration
184
+ * @see {@link defaultFlowbiteTabListConfig}
185
+ * @returns The configuration
186
+ */
187
+ const injectFlowbiteTabListConfig = () => inject(FlowbiteTabListConfigToken, { optional: true }) ?? defaultFlowbiteTabListConfig;
188
+
189
+ const FlowbiteTabListStateToken = createStateToken('Flowbite TabList');
190
+ const provideFlowbiteTabListState = createStateProvider(FlowbiteTabListStateToken);
191
+ const injectFlowbiteTabListState = createStateInjector(FlowbiteTabListStateToken);
192
+ const flowbiteTabListState = createState(FlowbiteTabListStateToken);
193
+
194
+ class TabList {
195
+ constructor() {
196
+ this.config = injectFlowbiteTabListConfig();
197
+ this.tabState = injectFlowbiteTabState();
198
+ /**
199
+ * @see {@link injectFlowbiteTabListConfig}
200
+ */
201
+ this.customTheme = input(this.config.customTheme);
202
+ this.theme = computed(() => {
203
+ const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
204
+ return {
205
+ host: {
206
+ root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, colorToTheme(mergedTheme.host.color, this.tabState().color())),
207
+ },
208
+ };
209
+ });
210
+ /**
211
+ * @internal
212
+ */
213
+ this.state = flowbiteTabListState(this);
214
+ }
215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TabList, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
216
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: TabList, isStandalone: true, selector: "\n ul[flowbiteTabList]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteTabListState()], exportAs: ["flowbiteTabList"], hostDirectives: [{ directive: i1.NgpTabList }], ngImport: i0 }); }
217
+ }
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TabList, decorators: [{
219
+ type: Directive,
220
+ args: [{
221
+ standalone: true,
222
+ selector: `
223
+ ul[flowbiteTabList]
224
+ `,
225
+ exportAs: 'flowbiteTabList',
226
+ hostDirectives: [
227
+ {
228
+ directive: NgpTabList,
229
+ inputs: [],
230
+ outputs: [],
231
+ },
232
+ ],
233
+ providers: [provideFlowbiteTabListState()],
234
+ host: { '[class]': `theme().host.root` },
235
+ }]
236
+ }] });
237
+
238
+ const flowbiteTabButtonTheme = createTheme({
239
+ host: {
240
+ base: 'inline-block p-4 data-disabled:cursor-not-allowed data-hover:cursor-pointer',
241
+ transition: '',
242
+ color: {
243
+ default: {
244
+ light: 'text-gray-500 data-active:font-semibold data-active:text-gray-900 data-disabled:text-gray-300 data-hover:text-gray-900',
245
+ dark: 'dark:text-gray-500 dark:data-active:text-gray-100 dark:data-disabled:text-gray-700 dark:data-hover:text-gray-100',
246
+ },
247
+ info: {
248
+ light: 'text-gray-500 data-active:font-semibold data-active:text-blue-900 data-disabled:text-gray-300 data-hover:text-blue-900',
249
+ dark: 'dark:text-gray-500 dark:data-active:text-blue-100 dark:data-disabled:text-gray-700 dark:data-hover:text-blue-100',
250
+ },
251
+ failure: {
252
+ light: 'text-gray-500 data-active:font-semibold data-active:text-red-900 data-disabled:text-gray-300 data-hover:text-red-900',
253
+ dark: 'dark:text-gray-500 dark:data-active:text-red-100 dark:data-disabled:text-gray-700 dark:data-hover:text-red-100',
254
+ },
255
+ success: {
256
+ light: 'text-gray-500 data-active:font-semibold data-active:text-green-900 data-disabled:text-gray-300 data-hover:text-green-900',
257
+ dark: 'dark:text-gray-500 dark:data-active:text-green-100 dark:data-disabled:text-gray-700 dark:data-hover:text-green-100',
258
+ },
259
+ warning: {
260
+ light: 'text-gray-500 data-active:font-semibold data-active:text-yellow-900 data-disabled:text-gray-300 data-hover:text-yellow-900',
261
+ dark: 'dark:text-gray-500 dark:data-active:text-yellow-100 dark:data-disabled:text-gray-700 dark:data-hover:text-yellow-100',
262
+ },
263
+ primary: {
264
+ light: 'data-active:text-primary-900 data-hover:text-primary-900 text-gray-500 data-active:font-semibold data-disabled:text-gray-300',
265
+ dark: 'dark:data-active:text-primary-100 dark:data-hover:text-primary-100 dark:text-gray-500 dark:data-disabled:text-gray-700',
266
+ },
267
+ },
268
+ },
269
+ });
270
+
271
+ const defaultFlowbiteTabButtonConfig = {
272
+ baseTheme: flowbiteTabButtonTheme,
273
+ customTheme: {},
274
+ };
275
+ const FlowbiteTabButtonConfigToken = new InjectionToken('FlowbiteTabButtonConfigToken');
276
+ /**
277
+ * Provide the default TabButton configuration
278
+ * @param config The TabButton configuration
279
+ * @returns The provider
280
+ */
281
+ const provideFlowbiteTabButtonConfig = (config) => [
282
+ {
283
+ provide: FlowbiteTabButtonConfigToken,
284
+ useValue: { ...defaultFlowbiteTabButtonConfig, ...config },
285
+ },
286
+ ];
287
+ /**
288
+ * Inject the TabButton configuration
289
+ * @see {@link defaultFlowbiteTabButtonConfig}
290
+ * @returns The configuration
291
+ */
292
+ const injectFlowbiteTabButtonConfig = () => inject(FlowbiteTabButtonConfigToken, { optional: true }) ?? defaultFlowbiteTabButtonConfig;
293
+
294
+ const FlowbiteTabButtonStateToken = createStateToken('Flowbite TabButton');
295
+ const provideFlowbiteTabButtonState = createStateProvider(FlowbiteTabButtonStateToken);
296
+ const injectFlowbiteTabButtonState = createStateInjector(FlowbiteTabButtonStateToken);
297
+ const flowbiteTabButtonState = createState(FlowbiteTabButtonStateToken);
298
+
299
+ class TabButton {
300
+ constructor() {
301
+ this.config = injectFlowbiteTabButtonConfig();
302
+ this.tabState = injectFlowbiteTabState();
303
+ /**
304
+ * @see {@link injectFlowbiteTabButtonConfig}
305
+ */
306
+ this.customTheme = input(this.config.customTheme);
307
+ this.theme = computed(() => {
308
+ const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
309
+ return {
310
+ host: {
311
+ root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, colorToTheme(mergedTheme.host.color, this.tabState().color())),
312
+ },
313
+ };
314
+ });
315
+ /**
316
+ * @internal
317
+ */
318
+ this.state = flowbiteTabButtonState(this);
319
+ }
320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TabButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
321
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: TabButton, isStandalone: true, selector: "\n li[flowbiteTabButton]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteTabButtonState()], exportAs: ["flowbiteTabButton"], hostDirectives: [{ directive: i1.NgpTabButton, inputs: ["id", "id", "ngpTabButtonValue", "value", "ngpTabButtonDisabled", "disabled"] }, { directive: i2.NgpFocus }, { directive: i3.BaseButton }], ngImport: i0 }); }
322
+ }
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TabButton, decorators: [{
324
+ type: Directive,
325
+ args: [{
326
+ standalone: true,
327
+ selector: `
328
+ li[flowbiteTabButton]
329
+ `,
330
+ exportAs: 'flowbiteTabButton',
331
+ hostDirectives: [
332
+ {
333
+ directive: NgpTabButton,
334
+ inputs: ['id:id', 'ngpTabButtonValue:value', 'ngpTabButtonDisabled:disabled'],
335
+ outputs: [],
336
+ },
337
+ {
338
+ directive: NgpFocus,
339
+ inputs: [],
340
+ outputs: [],
341
+ },
342
+ {
343
+ directive: BaseButton,
344
+ inputs: [],
345
+ outputs: [],
346
+ },
347
+ ],
348
+ providers: [provideFlowbiteTabButtonState()],
349
+ host: { '[class]': `theme().host.root` },
350
+ }]
351
+ }] });
352
+
353
+ const flowbiteTabContentTheme = createTheme({
354
+ host: {
355
+ base: 'p-6 not-data-active:hidden',
356
+ transition: '',
357
+ color: {
358
+ default: {
359
+ light: 'text-gray-900',
360
+ dark: 'dark:text-gray-100',
361
+ },
362
+ info: {
363
+ light: 'text-gray-900',
364
+ dark: 'dark:text-gray-100',
365
+ },
366
+ failure: {
367
+ light: 'text-gray-900',
368
+ dark: 'dark:text-gray-100',
369
+ },
370
+ success: {
371
+ light: 'text-gray-900',
372
+ dark: 'dark:text-gray-100',
373
+ },
374
+ warning: {
375
+ light: 'text-gray-900',
376
+ dark: 'dark:text-gray-100',
377
+ },
378
+ primary: {
379
+ light: 'text-gray-900',
380
+ dark: 'dark:text-gray-100',
381
+ },
382
+ },
383
+ },
384
+ });
385
+
386
+ const defaultFlowbiteTabContentConfig = {
387
+ baseTheme: flowbiteTabContentTheme,
388
+ customTheme: {},
389
+ };
390
+ const FlowbiteTabContentConfigToken = new InjectionToken('FlowbiteTabContentConfigToken');
391
+ /**
392
+ * Provide the default TabContent configuration
393
+ * @param config The TabContent configuration
394
+ * @returns The provider
395
+ */
396
+ const provideFlowbiteTabContentConfig = (config) => [
397
+ {
398
+ provide: FlowbiteTabContentConfigToken,
399
+ useValue: { ...defaultFlowbiteTabContentConfig, ...config },
400
+ },
401
+ ];
402
+ /**
403
+ * Inject the TabContent configuration
404
+ * @see {@link defaultFlowbiteTabContentConfig}
405
+ * @returns The configuration
406
+ */
407
+ const injectFlowbiteTabContentConfig = () => inject(FlowbiteTabContentConfigToken, { optional: true }) ?? defaultFlowbiteTabContentConfig;
408
+
409
+ const FlowbiteTabContentStateToken = createStateToken('Flowbite TabContent');
410
+ const provideFlowbiteTabContentState = createStateProvider(FlowbiteTabContentStateToken);
411
+ const injectFlowbiteTabContentState = createStateInjector(FlowbiteTabContentStateToken);
412
+ const flowbiteTabContentState = createState(FlowbiteTabContentStateToken);
413
+
414
+ class TabContent {
415
+ constructor() {
416
+ this.config = injectFlowbiteTabContentConfig();
417
+ this.tabState = injectFlowbiteTabState();
418
+ /**
419
+ * @see {@link injectFlowbiteTabContentConfig}
420
+ */
421
+ this.customTheme = input(this.config.customTheme);
422
+ this.theme = computed(() => {
423
+ const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
424
+ return {
425
+ host: {
426
+ root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, colorToTheme(mergedTheme.host.color, this.tabState().color())),
427
+ },
428
+ };
429
+ });
430
+ /**
431
+ * @internal
432
+ */
433
+ this.state = flowbiteTabContentState(this);
434
+ }
435
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TabContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
436
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: TabContent, isStandalone: true, selector: "\n [flowbiteTabContent]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteTabContentState()], exportAs: ["flowbiteTabContent"], hostDirectives: [{ directive: i1.NgpTabPanel, inputs: ["id", "id", "ngpTabPanelValue", "value"] }], ngImport: i0 }); }
437
+ }
438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TabContent, decorators: [{
439
+ type: Directive,
440
+ args: [{
441
+ standalone: true,
442
+ selector: `
443
+ [flowbiteTabContent]
444
+ `,
445
+ exportAs: 'flowbiteTabContent',
446
+ hostDirectives: [
447
+ {
448
+ directive: NgpTabPanel,
449
+ inputs: ['id:id', 'ngpTabPanelValue: value'],
450
+ outputs: [],
451
+ },
452
+ ],
453
+ providers: [provideFlowbiteTabContentState()],
454
+ host: { '[class]': `theme().host.root` },
455
+ }]
456
+ }] });
457
+
458
+ const greeting = 'Hello World!';
459
+
460
+ /**
461
+ * Generated bundle index. Do not edit.
462
+ */
463
+
464
+ export { FlowbiteTabButtonConfigToken, FlowbiteTabButtonStateToken, FlowbiteTabConfigToken, FlowbiteTabContentConfigToken, FlowbiteTabContentStateToken, FlowbiteTabListConfigToken, FlowbiteTabListStateToken, FlowbiteTabStateToken, Tab, TabButton, TabContent, TabList, defaultFlowbiteTabButtonConfig, defaultFlowbiteTabConfig, defaultFlowbiteTabContentConfig, defaultFlowbiteTabListConfig, flowbiteTabButtonState, flowbiteTabButtonTheme, flowbiteTabContentState, flowbiteTabContentTheme, flowbiteTabListState, flowbiteTabListTheme, flowbiteTabState, flowbiteTabTheme, greeting, injectFlowbiteTabButtonConfig, injectFlowbiteTabButtonState, injectFlowbiteTabConfig, injectFlowbiteTabContentConfig, injectFlowbiteTabContentState, injectFlowbiteTabListConfig, injectFlowbiteTabListState, injectFlowbiteTabState, provideFlowbiteTabButtonConfig, provideFlowbiteTabButtonState, provideFlowbiteTabConfig, provideFlowbiteTabContentConfig, provideFlowbiteTabContentState, provideFlowbiteTabListConfig, provideFlowbiteTabListState, provideFlowbiteTabState };
465
+ //# sourceMappingURL=flowbite-angular-tab.mjs.map