flowbite-angular 1.3.0 → 20.0.1

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 (308) 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/{alert → form}/README.md +2 -2
  99. package/form/index.d.ts +684 -0
  100. package/{breadcrumb → icon/brand}/README.md +2 -2
  101. package/icon/brand/index.d.ts +66 -0
  102. package/icon/index.d.ts +322 -5
  103. package/icon/outline/README.md +4 -0
  104. package/icon/outline/arrows/index.d.ts +46 -0
  105. package/icon/outline/e-commerce/index.d.ts +18 -0
  106. package/icon/outline/emoji/index.d.ts +8 -0
  107. package/icon/outline/files-folders/index.d.ts +37 -0
  108. package/icon/outline/general/index.d.ts +140 -0
  109. package/icon/outline/index.d.ts +2 -0
  110. package/icon/outline/media/index.d.ts +20 -0
  111. package/icon/outline/text/index.d.ts +15 -0
  112. package/icon/outline/user/index.d.ts +12 -0
  113. package/icon/outline/weather/index.d.ts +4 -0
  114. package/icon/solid/README.md +4 -0
  115. package/icon/solid/arrows/index.d.ts +12 -0
  116. package/icon/solid/brands/index.d.ts +28 -0
  117. package/icon/solid/e-commerce/index.d.ts +16 -0
  118. package/icon/solid/emoji/index.d.ts +8 -0
  119. package/icon/solid/files-folder/index.d.ts +37 -0
  120. package/icon/solid/general/index.d.ts +118 -0
  121. package/icon/solid/index.d.ts +2 -0
  122. package/icon/solid/media/index.d.ts +19 -0
  123. package/icon/solid/text/index.d.ts +6 -0
  124. package/icon/solid/user/index.d.ts +12 -0
  125. package/icon/solid/weather/index.d.ts +4 -0
  126. package/index.d.ts +126 -3
  127. package/indicator/index.d.ts +242 -4
  128. package/modal/index.d.ts +458 -16
  129. package/navbar/index.d.ts +1467 -24
  130. package/package.json +137 -42
  131. package/pagination/README.md +4 -0
  132. package/pagination/index.d.ts +1135 -0
  133. package/sidebar/index.d.ts +880 -24
  134. package/styles/flowbite-angular.css +8 -0
  135. package/styles/part/animation.css +0 -0
  136. package/styles/part/color.css +125 -0
  137. package/styles/part/font-size.css +67 -0
  138. package/styles/part/rounded.css +11 -0
  139. package/styles/part/shadow.css +9 -0
  140. package/styles/part/spacing.css +38 -0
  141. package/{badge → tab}/README.md +2 -2
  142. package/tab/index.d.ts +791 -0
  143. package/theme-toggle/README.md +4 -0
  144. package/theme-toggle/index.d.ts +342 -0
  145. package/{button → tooltip}/README.md +2 -2
  146. package/tooltip/index.d.ts +158 -0
  147. package/accordion/accordion-content.component.d.ts +0 -69
  148. package/accordion/accordion-content.theme.d.ts +0 -28
  149. package/accordion/accordion-content.theme.service.d.ts +0 -19
  150. package/accordion/accordion-panel.component.d.ts +0 -67
  151. package/accordion/accordion-panel.theme.d.ts +0 -23
  152. package/accordion/accordion-panel.theme.service.d.ts +0 -20
  153. package/accordion/accordion-title.component.d.ts +0 -106
  154. package/accordion/accordion-title.theme.d.ts +0 -35
  155. package/accordion/accordion-title.theme.service.d.ts +0 -19
  156. package/accordion/accordion.component.d.ts +0 -61
  157. package/accordion/accordion.theme.d.ts +0 -29
  158. package/accordion/accordion.theme.service.d.ts +0 -19
  159. package/alert/alert.component.d.ts +0 -150
  160. package/alert/alert.theme.d.ts +0 -39
  161. package/alert/alert.theme.service.d.ts +0 -19
  162. package/badge/badge.component.d.ts +0 -196
  163. package/badge/badge.theme.d.ts +0 -53
  164. package/badge/badge.theme.service.d.ts +0 -19
  165. package/base-component.directive.d.ts +0 -51
  166. package/breadcrumb/breadcrumb-item.component.d.ts +0 -84
  167. package/breadcrumb/breadcrumb-item.theme.d.ts +0 -33
  168. package/breadcrumb/breadcrumb-item.theme.service.d.ts +0 -19
  169. package/breadcrumb/breadcrumb.component.d.ts +0 -43
  170. package/breadcrumb/breadcrumb.theme.d.ts +0 -29
  171. package/breadcrumb/breadcrumb.theme.service.d.ts +0 -19
  172. package/button/button.component.d.ts +0 -250
  173. package/button/button.theme.d.ts +0 -79
  174. package/button/button.theme.service.d.ts +0 -19
  175. package/core/flowbite.theme.init.d.ts +0 -9
  176. package/core/index.d.ts +0 -1
  177. package/dark-theme-toggle/README.md +0 -4
  178. package/dark-theme-toggle/dark-theme-toggle.component.d.ts +0 -51
  179. package/dark-theme-toggle/dark-theme-toggle.theme.d.ts +0 -23
  180. package/dark-theme-toggle/dark-theme-toggle.theme.service.d.ts +0 -19
  181. package/dark-theme-toggle/index.d.ts +0 -3
  182. package/dropdown/README.md +0 -4
  183. package/dropdown/dropdown-divider.component.d.ts +0 -36
  184. package/dropdown/dropdown-divider.theme.d.ts +0 -23
  185. package/dropdown/dropdown-divider.theme.service.d.ts +0 -19
  186. package/dropdown/dropdown-header.component.d.ts +0 -42
  187. package/dropdown/dropdown-header.theme.d.ts +0 -28
  188. package/dropdown/dropdown-header.theme.service.d.ts +0 -19
  189. package/dropdown/dropdown-item.component.d.ts +0 -36
  190. package/dropdown/dropdown-item.theme.d.ts +0 -23
  191. package/dropdown/dropdown-item.theme.service.d.ts +0 -19
  192. package/dropdown/dropdown.component.d.ts +0 -136
  193. package/dropdown/dropdown.theme.d.ts +0 -56
  194. package/dropdown/dropdown.theme.service.d.ts +0 -19
  195. package/fesm2022/flowbite-angular-core.mjs +0 -322
  196. package/fesm2022/flowbite-angular-core.mjs.map +0 -1
  197. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +0 -139
  198. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +0 -1
  199. package/fesm2022/flowbite-angular-router-link-active.mjs +0 -68
  200. package/fesm2022/flowbite-angular-router-link-active.mjs.map +0 -1
  201. package/fesm2022/flowbite-angular-router-link.mjs +0 -73
  202. package/fesm2022/flowbite-angular-router-link.mjs.map +0 -1
  203. package/fesm2022/flowbite-angular-sanitize-html.mjs +0 -39
  204. package/fesm2022/flowbite-angular-sanitize-html.mjs.map +0 -1
  205. package/fesm2022/flowbite-angular-scroll-top.mjs +0 -193
  206. package/fesm2022/flowbite-angular-scroll-top.mjs.map +0 -1
  207. package/fesm2022/flowbite-angular-theme.mjs +0 -78
  208. package/fesm2022/flowbite-angular-theme.mjs.map +0 -1
  209. package/fesm2022/flowbite-angular-utils.mjs +0 -210
  210. package/fesm2022/flowbite-angular-utils.mjs.map +0 -1
  211. package/flowbite.theme.service.d.ts +0 -12
  212. package/icon/icon-registry.d.ts +0 -45
  213. package/icon/icon.component.d.ts +0 -22
  214. package/icon/trusted-types.d.ts +0 -15
  215. package/indicator/indicators.component.d.ts +0 -224
  216. package/indicator/indicators.theme.d.ts +0 -59
  217. package/indicator/indicators.theme.service.d.ts +0 -19
  218. package/modal/modal-body.component.d.ts +0 -36
  219. package/modal/modal-body.theme.d.ts +0 -23
  220. package/modal/modal-body.theme.service.d.ts +0 -19
  221. package/modal/modal-footer.component.d.ts +0 -36
  222. package/modal/modal-footer.theme.d.ts +0 -23
  223. package/modal/modal-footer.theme.service.d.ts +0 -19
  224. package/modal/modal-header.component.d.ts +0 -60
  225. package/modal/modal-header.theme.d.ts +0 -32
  226. package/modal/modal-header.theme.service.d.ts +0 -19
  227. package/modal/modal.component.d.ts +0 -146
  228. package/modal/modal.theme.d.ts +0 -35
  229. package/modal/modal.theme.service.d.ts +0 -19
  230. package/navbar/navbar-brand.component.d.ts +0 -36
  231. package/navbar/navbar-brand.theme.d.ts +0 -23
  232. package/navbar/navbar-brand.theme.service.d.ts +0 -19
  233. package/navbar/navbar-content.component.d.ts +0 -50
  234. package/navbar/navbar-content.theme.d.ts +0 -28
  235. package/navbar/navbar-content.theme.service.d.ts +0 -19
  236. package/navbar/navbar-icon-button.component.d.ts +0 -59
  237. package/navbar/navbar-icon-button.theme.d.ts +0 -26
  238. package/navbar/navbar-icon-button.theme.service.d.ts +0 -19
  239. package/navbar/navbar-item.component.d.ts +0 -67
  240. package/navbar/navbar-item.theme.d.ts +0 -26
  241. package/navbar/navbar-item.theme.service.d.ts +0 -19
  242. package/navbar/navbar-toggle.component.d.ts +0 -51
  243. package/navbar/navbar-toggle.theme.d.ts +0 -23
  244. package/navbar/navbar-toggle.theme.service.d.ts +0 -19
  245. package/navbar/navbar.component.d.ts +0 -121
  246. package/navbar/navbar.theme.d.ts +0 -21
  247. package/navbar/navbar.theme.service.d.ts +0 -19
  248. package/router-link/README.md +0 -4
  249. package/router-link/flowbite-router-link.directive.d.ts +0 -28
  250. package/router-link/index.d.ts +0 -1
  251. package/router-link-active/README.md +0 -4
  252. package/router-link-active/flowbite-router-link-active.directive.d.ts +0 -37
  253. package/router-link-active/index.d.ts +0 -1
  254. package/sanitize-html/README.md +0 -4
  255. package/sanitize-html/index.d.ts +0 -1
  256. package/sanitize-html/sanitize-html.pipe.d.ts +0 -20
  257. package/scroll-top/README.md +0 -4
  258. package/scroll-top/index.d.ts +0 -4
  259. package/scroll-top/scroll-top.component.d.ts +0 -114
  260. package/scroll-top/scroll-top.theme.d.ts +0 -39
  261. package/scroll-top/scroll-top.theme.service.d.ts +0 -19
  262. package/sidebar/sidebar-item-group.component.d.ts +0 -100
  263. package/sidebar/sidebar-item-group.theme.d.ts +0 -31
  264. package/sidebar/sidebar-item-group.theme.service.d.ts +0 -19
  265. package/sidebar/sidebar-item.component.d.ts +0 -101
  266. package/sidebar/sidebar-item.theme.d.ts +0 -33
  267. package/sidebar/sidebar-item.theme.service.d.ts +0 -19
  268. package/sidebar/sidebar-menu.component.d.ts +0 -93
  269. package/sidebar/sidebar-menu.theme.d.ts +0 -30
  270. package/sidebar/sidebar-menu.theme.service.d.ts +0 -19
  271. package/sidebar/sidebar-page-content.component.d.ts +0 -46
  272. package/sidebar/sidebar-page-content.theme.d.ts +0 -27
  273. package/sidebar/sidebar-page-content.theme.service.d.ts +0 -19
  274. package/sidebar/sidebar-toggle.component.d.ts +0 -95
  275. package/sidebar/sidebar-toggle.theme.d.ts +0 -34
  276. package/sidebar/sidebar-toggle.theme.service.d.ts +0 -19
  277. package/sidebar/sidebar.component.d.ts +0 -84
  278. package/sidebar/sidebar.theme.d.ts +0 -22
  279. package/sidebar/sidebar.theme.service.d.ts +0 -19
  280. package/tailwind.config.js +0 -303
  281. package/theme/README.md +0 -4
  282. package/theme/flowbite-theme.directive.d.ts +0 -36
  283. package/theme/index.d.ts +0 -1
  284. package/type-definitions/colors/flowbite.colors.d.ts +0 -19
  285. package/type-definitions/colors/flowbite.gradient-colors.d.ts +0 -11
  286. package/type-definitions/colors/flowbite.gradient-duo-tone-colors.d.ts +0 -12
  287. package/type-definitions/colors/index.d.ts +0 -3
  288. package/type-definitions/flowbite.boolean.d.ts +0 -14
  289. package/type-definitions/flowbite.class.d.ts +0 -6
  290. package/type-definitions/flowbite.combination.d.ts +0 -8
  291. package/type-definitions/flowbite.content-positions.d.ts +0 -6
  292. package/type-definitions/flowbite.deep-partial.d.ts +0 -6
  293. package/type-definitions/flowbite.heading-levels.d.ts +0 -4
  294. package/type-definitions/flowbite.positions.d.ts +0 -14
  295. package/type-definitions/flowbite.router-link-parameter.d.ts +0 -5
  296. package/type-definitions/flowbite.sizes.d.ts +0 -10
  297. package/type-definitions/flowbite.themes.d.ts +0 -4
  298. package/type-definitions/index.d.ts +0 -12
  299. package/utils/README.md +0 -4
  300. package/utils/icon.list.d.ts +0 -7
  301. package/utils/id.generator.d.ts +0 -59
  302. package/utils/index.d.ts +0 -8
  303. package/utils/theme/clone-deep.d.ts +0 -7
  304. package/utils/theme/create-class.d.ts +0 -7
  305. package/utils/theme/create-theme.d.ts +0 -7
  306. package/utils/theme/is-object.d.ts +0 -7
  307. package/utils/theme/merge-theme.d.ts +0 -8
  308. package/utils/theme/to-string.d.ts +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"flowbite-angular-icon.mjs","sources":["../../../../libs/flowbite-angular/icon/trusted-types.ts","../../../../libs/flowbite-angular/icon/icon-registry.ts","../../../../libs/flowbite-angular/icon/icon.component.ts","../../../../libs/flowbite-angular/icon/flowbite-angular-icon.ts"],"sourcesContent":["/**\n * Thanks to Angular Material for Icon part of this library : https://github.com/angular/components\n */\n\nexport declare interface TrustedHTML {\n __brand__: 'TrustedHTML';\n}\n\nexport declare interface TrustedTypePolicyFactory {\n createPolicy(\n policyName: string,\n policyOptions: {\n createHTML?: (input: string) => string;\n }\n ): TrustedTypePolicy;\n}\n\nexport declare interface TrustedTypePolicy {\n createHTML(input: string): TrustedHTML;\n}\n\nlet policy: TrustedTypePolicy | undefined;\n\nfunction getPolicy(): TrustedTypePolicy | undefined {\n if (!policy) {\n if (typeof window !== 'undefined') {\n const tWindow = window as unknown as { trustedTypes?: TrustedTypePolicyFactory };\n\n if (tWindow.trustedTypes !== undefined) {\n policy = tWindow.trustedTypes.createPolicy('angular#components', {\n createHTML: (s: string) => s,\n });\n }\n }\n }\n\n return policy;\n}\n\nexport function trustedHTMLFromString(raw: string): TrustedHTML {\n return getPolicy()?.createHTML(raw) || (raw as unknown as TrustedHTML);\n}\n","/**\n * Thanks to Angular Material for Icon part of this library : https://github.com/angular/components\n */\n\nimport { trustedHTMLFromString } from './trusted-types';\nimport type { TrustedHTML } from './trusted-types';\n\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport type { OnDestroy } from '@angular/core';\nimport { inject, Injectable, PLATFORM_ID, SecurityContext } from '@angular/core';\nimport type { SafeHtml } from '@angular/platform-browser';\nimport { DomSanitizer, type SafeResourceUrl } from '@angular/platform-browser';\nimport { finalize, map, of, share, tap, throwError, type Observable } from 'rxjs';\n\nexport function getSvgIconFromNamedError(iconName: string): Error {\n return Error(`Unable to find icon with name ${iconName}`);\n}\n\nexport function getSvgIconFailedToSanitizeRawError(raw: SafeHtml): Error {\n return Error(\n `The raw provided to IconRegistry was not trusted as safe HTML by ANGULAR's DOMSanitizer. Attempted raw was : ${raw as string}`\n );\n}\n\nexport function getSvgIconFailedToSanitizeUrlError(url: SafeResourceUrl): Error {\n return Error(\n `The URL provided to IconRegistry was not trusted as a resource URL via Angular's DOMSanitizer. Attempted URL was : ${url as string}`\n );\n}\n\nexport function getSvgIconNoHttpClientProvidedError(): Error {\n return Error(\n `Could not fid HttpClient provider for use with flowbite-angular icons. Please include the HttpClientModule from @angular/common/http in your app imports`\n );\n}\n\nexport interface SvgIconOptions {\n viewBox: string;\n}\n\nexport class SvgIconConfig {\n svgElement: SVGElement | null = null;\n\n constructor(\n public url: SafeResourceUrl,\n public svgText: TrustedHTML | undefined,\n public options?: SvgIconOptions\n ) {}\n}\n\ntype LoadedSvgIconConfig = SvgIconConfig & { svgText: TrustedHTML };\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconRegistry implements OnDestroy {\n private platformId = inject(PLATFORM_ID);\n\n private _httpClient = inject(HttpClient, { optional: true });\n private _sanitizer = inject(DomSanitizer);\n private _document = inject(DOCUMENT);\n\n private _svgIconConfig = new Map<string, SvgIconConfig>();\n private _cachedSvgIconByUrl = new Map<string, SVGElement>();\n private _inProgressSvgIconFetch = new Map<string, Observable<TrustedHTML>>();\n\n public addSvgIcon(iconName: string, url: SafeResourceUrl, options?: SvgIconOptions): this {\n return this.addSvgIconInNamespace('', iconName, url, options);\n }\n\n public addRawSvgIcon(iconName: string, raw: SafeHtml, options?: SvgIconOptions): this {\n return this.addRawSvgIconInNamepsace('', iconName, raw, options);\n }\n\n public addSvgIconInNamespace(\n namespace: string,\n iconName: string,\n url: SafeResourceUrl,\n options?: SvgIconOptions\n ): this {\n return this._addSvgIconConfig(namespace, iconName, new SvgIconConfig(url, undefined, options));\n }\n\n public addRawSvgIconInNamepsace(\n namespace: string,\n iconName: string,\n raw: SafeHtml,\n options?: SvgIconOptions\n ): this {\n const cleanRaw = this._sanitizer.sanitize(SecurityContext.HTML, raw);\n\n if (!cleanRaw) {\n throw getSvgIconFailedToSanitizeRawError(raw);\n }\n\n const trustedRaw = trustedHTMLFromString(cleanRaw);\n return this._addSvgIconConfig(namespace, iconName, new SvgIconConfig('', trustedRaw, options));\n }\n\n public getSvgIconFromUrl(safeUrl: SafeResourceUrl): Observable<SVGElement> {\n const url = this._sanitizer.sanitize(SecurityContext.RESOURCE_URL, safeUrl);\n\n if (!url) {\n throw getSvgIconFailedToSanitizeUrlError(safeUrl);\n }\n\n const cachedIcon = this._cachedSvgIconByUrl.get(url);\n\n if (cachedIcon) {\n return of(cloneSvg(cachedIcon));\n }\n\n return this._loadSvgIconFromConfig(new SvgIconConfig(safeUrl, undefined));\n }\n\n public getSvgIconFromName(iconName: string, namespace: string): Observable<SVGElement> {\n const key = iconKey(namespace, iconName);\n const config = this._svgIconConfig.get(key);\n\n if (config) {\n return this._getSvgIconFromConfig(config);\n }\n\n return throwError(() => getSvgIconFromNamedError(key));\n }\n\n public ngOnDestroy(): void {\n this._svgIconConfig.clear();\n this._cachedSvgIconByUrl.clear();\n }\n\n private _addSvgIconConfig(namespace: string, iconName: string, config: SvgIconConfig): this {\n this._svgIconConfig.set(iconKey(namespace, iconName), config);\n\n return this;\n }\n\n private _getSvgIconFromConfig(config: SvgIconConfig): Observable<SVGElement> {\n if (config.svgText) {\n return of(cloneSvg(this._svgElementFromConfig(config as LoadedSvgIconConfig)));\n } else {\n return this._loadSvgIconFromConfig(config).pipe(map((svg) => cloneSvg(svg)));\n }\n }\n\n private _loadSvgIconFromConfig(config: SvgIconConfig): Observable<SVGElement> {\n return this._fetchIcon(config).pipe(\n tap((svgText) => (config.svgText = svgText)),\n map(() => this._svgElementFromConfig(config as LoadedSvgIconConfig))\n );\n }\n\n private _setSvgAttributes(svg: SVGElement, options?: SvgIconOptions): SVGElement {\n svg.setAttribute('fit', '');\n svg.setAttribute('height', '100%');\n svg.setAttribute('width', '100%');\n svg.setAttribute('preserveAspectRatio', 'xMidYMid meet');\n svg.setAttribute('focusable', 'false');\n\n if (options?.viewBox) {\n svg.setAttribute('viewBox', options.viewBox);\n }\n\n return svg;\n }\n\n private _svgElementFromConfig(config: LoadedSvgIconConfig): SVGElement {\n if (!config.svgElement) {\n const svg = this._svgElementFromString(config.svgText);\n\n this._setSvgAttributes(svg, config.options);\n config.svgElement = svg;\n }\n\n return config.svgElement;\n }\n\n private _svgElementFromString(str: TrustedHTML): SVGElement {\n const div = this._document.createElement('div');\n div.innerHTML = str as unknown as string;\n\n const svg = div.querySelector('svg') as SVGElement;\n\n return svg;\n }\n\n private _fetchIcon(iconConfig: SvgIconConfig): Observable<TrustedHTML> {\n if (isPlatformBrowser(this.platformId)) {\n if (!this._httpClient) {\n throw getSvgIconNoHttpClientProvidedError();\n }\n\n const url = this._sanitizer.sanitize(SecurityContext.RESOURCE_URL, iconConfig.url);\n\n if (!url) {\n throw getSvgIconFailedToSanitizeUrlError(iconConfig.url);\n }\n\n const inProgressFetch = this._inProgressSvgIconFetch.get(url);\n\n if (inProgressFetch) {\n return inProgressFetch;\n }\n\n const req = this._httpClient.get(url, { responseType: 'text' }).pipe(\n map((svg) => {\n return trustedHTMLFromString(svg);\n }),\n finalize(() => this._inProgressSvgIconFetch.delete(url)),\n share()\n );\n\n this._inProgressSvgIconFetch.set(url, req);\n return req;\n } else {\n return of(trustedHTMLFromString('<svg></svg>'));\n }\n }\n}\n\nfunction cloneSvg(svg: SVGElement): SVGElement {\n return svg.cloneNode(true) as SVGElement;\n}\n\nfunction iconKey(namespace: string, iconName: string): string {\n return `${namespace}:${iconName}`;\n}\n","/**\n * Thanks to Angular Material for Icon part of this library : https://github.com/angular/components\n */\n\nimport { IconRegistry } from './icon-registry';\n\nimport type { FlowbiteClass } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport type { OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { take } from 'rxjs';\n\n@Component({\n standalone: true,\n selector: 'flowbite-icon',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent extends BaseComponent<FlowbiteClass> implements OnInit {\n public _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n public _iconRegistry = inject(IconRegistry);\n\n public svgIcon = model.required<string>();\n\n public override init(): void {\n effect(\n () => {\n this._updateSvgIcon();\n },\n { injector: this.injector }\n );\n }\n\n public override fetchClass(): FlowbiteClass {\n return { rootClass: '' };\n }\n\n private _splitIconName(iconName: string): [string, string] {\n if (!iconName) {\n return ['', ''];\n }\n\n const parts = iconName.split(':');\n switch (parts.length) {\n case 1:\n return ['', parts[0]];\n case 2:\n return <[string, string]>parts;\n default:\n throw Error(`Invalid icon name: \"${iconName}\"`);\n }\n }\n\n private _updateSvgIcon() {\n const [namespace, iconName] = this._splitIconName(this.svgIcon());\n\n this._iconRegistry\n .getSvgIconFromName(iconName, namespace)\n .pipe(take(1))\n .subscribe((svg) => this._setSvgElement(svg));\n }\n\n private _setSvgElement(svg: SVGElement) {\n this._clearSvgElements();\n\n this._elementRef.nativeElement.appendChild(svg);\n }\n\n private _clearSvgElements() {\n const layoutElement: HTMLElement = this._elementRef.nativeElement;\n let childCount = layoutElement.childNodes.length;\n\n while (childCount--) {\n const child = layoutElement.childNodes[childCount];\n\n if (child.nodeType !== 1 || child.nodeName.toLowerCase() === 'svg') {\n child.remove();\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAAA;;AAEG;AAmBH,IAAI,MAAqC;AAEzC,SAAS,SAAS,GAAA;IAChB,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,MAAM,OAAO,GAAG,MAAgE;AAEhF,YAAA,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;gBACtC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,oBAAoB,EAAE;AAC/D,oBAAA,UAAU,EAAE,CAAC,CAAS,KAAK,CAAC;AAC7B,iBAAA,CAAC;;;;AAKR,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,qBAAqB,CAAC,GAAW,EAAA;IAC/C,OAAO,SAAS,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,IAAK,GAA8B;AACxE;;ACzCA;;AAEG;AAaG,SAAU,wBAAwB,CAAC,QAAgB,EAAA;AACvD,IAAA,OAAO,KAAK,CAAC,CAAA,8BAAA,EAAiC,QAAQ,CAAA,CAAE,CAAC;AAC3D;AAEM,SAAU,kCAAkC,CAAC,GAAa,EAAA;AAC9D,IAAA,OAAO,KAAK,CACV,CAAA,6GAAA,EAAgH,GAAa,CAAA,CAAE,CAChI;AACH;AAEM,SAAU,kCAAkC,CAAC,GAAoB,EAAA;AACrE,IAAA,OAAO,KAAK,CACV,CAAA,mHAAA,EAAsH,GAAa,CAAA,CAAE,CACtI;AACH;SAEgB,mCAAmC,GAAA;AACjD,IAAA,OAAO,KAAK,CACV,CAA0J,wJAAA,CAAA,CAC3J;AACH;MAMa,aAAa,CAAA;AAGxB,IAAA,WAAA,CACS,GAAoB,EACpB,OAAgC,EAChC,OAAwB,EAAA;QAFxB,IAAG,CAAA,GAAA,GAAH,GAAG;QACH,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAO,CAAA,OAAA,GAAP,OAAO;QALhB,IAAU,CAAA,UAAA,GAAsB,IAAI;;AAOrC;MAOY,YAAY,CAAA;AAHzB,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QAEhC,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;AACjC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE5B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,GAAG,EAAyB;AACjD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,GAAG,EAAsB;AACnD,QAAA,IAAA,CAAA,uBAAuB,GAAG,IAAI,GAAG,EAAmC;AA0J7E;AAxJQ,IAAA,UAAU,CAAC,QAAgB,EAAE,GAAoB,EAAE,OAAwB,EAAA;AAChF,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;;AAGxD,IAAA,aAAa,CAAC,QAAgB,EAAE,GAAa,EAAE,OAAwB,EAAA;AAC5E,QAAA,OAAO,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;;AAG3D,IAAA,qBAAqB,CAC1B,SAAiB,EACjB,QAAgB,EAChB,GAAoB,EACpB,OAAwB,EAAA;AAExB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;;AAGzF,IAAA,wBAAwB,CAC7B,SAAiB,EACjB,QAAgB,EAChB,GAAa,EACb,OAAwB,EAAA;AAExB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC;QAEpE,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,MAAM,kCAAkC,CAAC,GAAG,CAAC;;AAG/C,QAAA,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;;AAGzF,IAAA,iBAAiB,CAAC,OAAwB,EAAA;AAC/C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC;QAE3E,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,MAAM,kCAAkC,CAAC,OAAO,CAAC;;QAGnD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;QAEpD,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;;AAGjC,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;;IAGpE,kBAAkB,CAAC,QAAgB,EAAE,SAAiB,EAAA;QAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;QAE3C,IAAI,MAAM,EAAE;AACV,YAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;;QAG3C,OAAO,UAAU,CAAC,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;;IAGjD,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;;AAG1B,IAAA,iBAAiB,CAAC,SAAiB,EAAE,QAAgB,EAAE,MAAqB,EAAA;AAClF,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;AAE7D,QAAA,OAAO,IAAI;;AAGL,IAAA,qBAAqB,CAAC,MAAqB,EAAA;AACjD,QAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,YAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAA6B,CAAC,CAAC,CAAC;;aACzE;YACL,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;;;AAIxE,IAAA,sBAAsB,CAAC,MAAqB,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CACjC,GAAG,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,EAC5C,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAA6B,CAAC,CAAC,CACrE;;IAGK,iBAAiB,CAAC,GAAe,EAAE,OAAwB,EAAA;AACjE,QAAA,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;AAC3B,QAAA,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;AAClC,QAAA,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;AACjC,QAAA,GAAG,CAAC,YAAY,CAAC,qBAAqB,EAAE,eAAe,CAAC;AACxD,QAAA,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC;AAEtC,QAAA,IAAI,OAAO,EAAE,OAAO,EAAE;YACpB,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;;AAG9C,QAAA,OAAO,GAAG;;AAGJ,IAAA,qBAAqB,CAAC,MAA2B,EAAA;AACvD,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;YAEtD,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC;AAC3C,YAAA,MAAM,CAAC,UAAU,GAAG,GAAG;;QAGzB,OAAO,MAAM,CAAC,UAAU;;AAGlB,IAAA,qBAAqB,CAAC,GAAgB,EAAA;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;AAC/C,QAAA,GAAG,CAAC,SAAS,GAAG,GAAwB;QAExC,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAe;AAElD,QAAA,OAAO,GAAG;;AAGJ,IAAA,UAAU,CAAC,UAAyB,EAAA;AAC1C,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,mCAAmC,EAAE;;AAG7C,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC;YAElF,IAAI,CAAC,GAAG,EAAE;AACR,gBAAA,MAAM,kCAAkC,CAAC,UAAU,CAAC,GAAG,CAAC;;YAG1D,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC;YAE7D,IAAI,eAAe,EAAE;AACnB,gBAAA,OAAO,eAAe;;YAGxB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAClE,GAAG,CAAC,CAAC,GAAG,KAAI;AACV,gBAAA,OAAO,qBAAqB,CAAC,GAAG,CAAC;aAClC,CAAC,EACF,QAAQ,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EACxD,KAAK,EAAE,CACR;YAED,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1C,YAAA,OAAO,GAAG;;aACL;AACL,YAAA,OAAO,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;;;8GAhKxC,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;AAsKD,SAAS,QAAQ,CAAC,GAAe,EAAA;AAC/B,IAAA,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAe;AAC1C;AAEA,SAAS,OAAO,CAAC,SAAiB,EAAE,QAAgB,EAAA;AAClD,IAAA,OAAO,CAAG,EAAA,SAAS,CAAI,CAAA,EAAA,QAAQ,EAAE;AACnC;;ACnOA;;AAEG;AA0BG,MAAO,aAAc,SAAQ,aAA4B,CAAA;AAP/D,IAAA,WAAA,GAAA;;AAQS,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,EAA0B,UAAuB,EAAC;AACtE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;AAEpC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAU;AA0D1C;IAxDiB,IAAI,GAAA;QAClB,MAAM,CACJ,MAAK;YACH,IAAI,CAAC,cAAc,EAAE;SACtB,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAC5B;;IAGa,UAAU,GAAA;AACxB,QAAA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;;AAGlB,IAAA,cAAc,CAAC,QAAgB,EAAA;QACrC,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;;QAGjB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACjC,QAAA,QAAQ,KAAK,CAAC,MAAM;AAClB,YAAA,KAAK,CAAC;gBACJ,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACvB,YAAA,KAAK,CAAC;AACJ,gBAAA,OAAyB,KAAK;AAChC,YAAA;AACE,gBAAA,MAAM,KAAK,CAAC,CAAA,oBAAA,EAAuB,QAAQ,CAAA,CAAA,CAAG,CAAC;;;IAI7C,cAAc,GAAA;AACpB,QAAA,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AAEjE,QAAA,IAAI,CAAC;AACF,aAAA,kBAAkB,CAAC,QAAQ,EAAE,SAAS;AACtC,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,SAAS,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;;AAGzC,IAAA,cAAc,CAAC,GAAe,EAAA;QACpC,IAAI,CAAC,iBAAiB,EAAE;QAExB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC;;IAGzC,iBAAiB,GAAA;AACvB,QAAA,MAAM,aAAa,GAAgB,IAAI,CAAC,WAAW,CAAC,aAAa;AACjE,QAAA,IAAI,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM;QAEhD,OAAO,UAAU,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;AAElD,YAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;gBAClE,KAAK,CAAC,MAAM,EAAE;;;;8GA1DT,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,gRAJd,CAAgB,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIf,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,CAAgB,cAAA,CAAA;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;AC3BD;;AAEG;;;;"}
1
+ {"version":3,"file":"flowbite-angular-icon.mjs","sources":["../tmp-esm2022/icon/icon/theme.js","../tmp-esm2022/icon/config/icon-config.js","../tmp-esm2022/icon/icon/icon-state.js","../tmp-esm2022/icon/icon/icon.component.js","../tmp-esm2022/icon/index.js","../tmp-esm2022/icon/flowbite-angular-icon.js"],"sourcesContent":["import { createTheme } from 'flowbite-angular';\nexport const flowbiteIconTheme = createTheme({\n host: {\n base: 'self-center overflow-hidden',\n transition: '',\n color: {\n default: {\n light: '',\n dark: '',\n },\n info: {\n light: 'text-blue-500',\n dark: 'dark:text-blue-500',\n },\n failure: {\n light: 'text-red-500',\n dark: 'dark:text-red-500',\n },\n success: {\n light: 'text-green-500',\n dark: 'dark:text-green-500',\n },\n warning: {\n light: 'text-yellow-500',\n dark: 'dark:text-yellow-500',\n },\n primary: {\n light: 'text-primary-500',\n dark: 'dark:text-primary-500',\n },\n dark: {\n light: 'text-gray-700',\n dark: 'dark:text-gray-700',\n },\n light: {\n light: 'text-gray-300',\n dark: 'dark:text-gray-300',\n },\n blue: {\n light: 'text-blue-500',\n dark: 'dark:text-blue-500',\n },\n cyan: {\n light: 'text-cyan-500',\n dark: 'dark:text-cyan-500',\n },\n gray: {\n light: 'text-gray-500',\n dark: 'dark:text-gray-500',\n },\n green: {\n light: 'text-green-500',\n dark: 'dark:text-green-500',\n },\n indigo: {\n light: 'text-indigo-500',\n dark: 'dark:text-indigo-500',\n },\n lime: {\n light: 'text-lime-500',\n dark: 'dark:text-lime-500',\n },\n pink: {\n light: 'text-pink-500',\n dark: 'dark:text-pink-500',\n },\n purple: {\n light: 'text-purple-500',\n dark: 'dark:text-purple-500',\n },\n red: {\n light: 'text-red-500',\n dark: 'dark:text-red-500',\n },\n teal: {\n light: 'text-teal-500',\n dark: 'dark:text-teal-500',\n },\n yellow: {\n light: 'text-yellow-500',\n dark: 'dark:text-yellow-500',\n },\n },\n },\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvaWNvbi9zcmMvaWNvbi90aGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFnQi9DLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFzQixXQUFXLENBQUM7SUFDOUQsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLDZCQUE2QjtRQUNuQyxVQUFVLEVBQUUsRUFBRTtRQUNkLEtBQUssRUFBRTtZQUNMLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsRUFBRTtnQkFDVCxJQUFJLEVBQUUsRUFBRTthQUNUO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxjQUFjO2dCQUNyQixJQUFJLEVBQUUsbUJBQW1CO2FBQzFCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLElBQUksRUFBRSxxQkFBcUI7YUFDNUI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsSUFBSSxFQUFFLHNCQUFzQjthQUM3QjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixJQUFJLEVBQUUsdUJBQXVCO2FBQzlCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLElBQUksRUFBRSxxQkFBcUI7YUFDNUI7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsSUFBSSxFQUFFLHNCQUFzQjthQUM3QjtZQUNELElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsSUFBSSxFQUFFLG9CQUFvQjthQUMzQjtZQUNELElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsSUFBSSxFQUFFLG9CQUFvQjthQUMzQjtZQUNELE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsaUJBQWlCO2dCQUN4QixJQUFJLEVBQUUsc0JBQXNCO2FBQzdCO1lBQ0QsR0FBRyxFQUFFO2dCQUNILEtBQUssRUFBRSxjQUFjO2dCQUNyQixJQUFJLEVBQUUsbUJBQW1CO2FBQzFCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLElBQUksRUFBRSxzQkFBc0I7YUFDN0I7U0FDRjtLQUNGO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xvclRvVGhlbWUsIEZsb3diaXRlQ29sb3JzIH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBjcmVhdGVUaGVtZSB9IGZyb20gJ2Zsb3diaXRlLWFuZ3VsYXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3diaXRlSWNvbkNvbG9ycyBleHRlbmRzIEZsb3diaXRlQ29sb3JzIHtcbiAgW2tleTogc3RyaW5nXTogQ29sb3JUb1RoZW1lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3diaXRlSWNvblRoZW1lIHtcbiAgaG9zdDogRmxvd2JpdGVJY29uSG9zdFRoZW1lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3diaXRlSWNvbkhvc3RUaGVtZSB7XG4gIGJhc2U6IHN0cmluZztcbiAgdHJhbnNpdGlvbjogc3RyaW5nO1xuICBjb2xvcjogRmxvd2JpdGVJY29uQ29sb3JzO1xufVxuXG5leHBvcnQgY29uc3QgZmxvd2JpdGVJY29uVGhlbWU6IEZsb3diaXRlSWNvblRoZW1lID0gY3JlYXRlVGhlbWUoe1xuICBob3N0OiB7XG4gICAgYmFzZTogJ3NlbGYtY2VudGVyIG92ZXJmbG93LWhpZGRlbicsXG4gICAgdHJhbnNpdGlvbjogJycsXG4gICAgY29sb3I6IHtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbGlnaHQ6ICcnLFxuICAgICAgICBkYXJrOiAnJyxcbiAgICAgIH0sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIGxpZ2h0OiAndGV4dC1ibHVlLTUwMCcsXG4gICAgICAgIGRhcms6ICdkYXJrOnRleHQtYmx1ZS01MDAnLFxuICAgICAgfSxcbiAgICAgIGZhaWx1cmU6IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LXJlZC01MDAnLFxuICAgICAgICBkYXJrOiAnZGFyazp0ZXh0LXJlZC01MDAnLFxuICAgICAgfSxcbiAgICAgIHN1Y2Nlc3M6IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LWdyZWVuLTUwMCcsXG4gICAgICAgIGRhcms6ICdkYXJrOnRleHQtZ3JlZW4tNTAwJyxcbiAgICAgIH0sXG4gICAgICB3YXJuaW5nOiB7XG4gICAgICAgIGxpZ2h0OiAndGV4dC15ZWxsb3ctNTAwJyxcbiAgICAgICAgZGFyazogJ2Rhcms6dGV4dC15ZWxsb3ctNTAwJyxcbiAgICAgIH0sXG4gICAgICBwcmltYXJ5OiB7XG4gICAgICAgIGxpZ2h0OiAndGV4dC1wcmltYXJ5LTUwMCcsXG4gICAgICAgIGRhcms6ICdkYXJrOnRleHQtcHJpbWFyeS01MDAnLFxuICAgICAgfSxcbiAgICAgIGRhcms6IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LWdyYXktNzAwJyxcbiAgICAgICAgZGFyazogJ2Rhcms6dGV4dC1ncmF5LTcwMCcsXG4gICAgICB9LFxuICAgICAgbGlnaHQ6IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LWdyYXktMzAwJyxcbiAgICAgICAgZGFyazogJ2Rhcms6dGV4dC1ncmF5LTMwMCcsXG4gICAgICB9LFxuICAgICAgYmx1ZToge1xuICAgICAgICBsaWdodDogJ3RleHQtYmx1ZS01MDAnLFxuICAgICAgICBkYXJrOiAnZGFyazp0ZXh0LWJsdWUtNTAwJyxcbiAgICAgIH0sXG4gICAgICBjeWFuOiB7XG4gICAgICAgIGxpZ2h0OiAndGV4dC1jeWFuLTUwMCcsXG4gICAgICAgIGRhcms6ICdkYXJrOnRleHQtY3lhbi01MDAnLFxuICAgICAgfSxcbiAgICAgIGdyYXk6IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LWdyYXktNTAwJyxcbiAgICAgICAgZGFyazogJ2Rhcms6dGV4dC1ncmF5LTUwMCcsXG4gICAgICB9LFxuICAgICAgZ3JlZW46IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LWdyZWVuLTUwMCcsXG4gICAgICAgIGRhcms6ICdkYXJrOnRleHQtZ3JlZW4tNTAwJyxcbiAgICAgIH0sXG4gICAgICBpbmRpZ286IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LWluZGlnby01MDAnLFxuICAgICAgICBkYXJrOiAnZGFyazp0ZXh0LWluZGlnby01MDAnLFxuICAgICAgfSxcbiAgICAgIGxpbWU6IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LWxpbWUtNTAwJyxcbiAgICAgICAgZGFyazogJ2Rhcms6dGV4dC1saW1lLTUwMCcsXG4gICAgICB9LFxuICAgICAgcGluazoge1xuICAgICAgICBsaWdodDogJ3RleHQtcGluay01MDAnLFxuICAgICAgICBkYXJrOiAnZGFyazp0ZXh0LXBpbmstNTAwJyxcbiAgICAgIH0sXG4gICAgICBwdXJwbGU6IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LXB1cnBsZS01MDAnLFxuICAgICAgICBkYXJrOiAnZGFyazp0ZXh0LXB1cnBsZS01MDAnLFxuICAgICAgfSxcbiAgICAgIHJlZDoge1xuICAgICAgICBsaWdodDogJ3RleHQtcmVkLTUwMCcsXG4gICAgICAgIGRhcms6ICdkYXJrOnRleHQtcmVkLTUwMCcsXG4gICAgICB9LFxuICAgICAgdGVhbDoge1xuICAgICAgICBsaWdodDogJ3RleHQtdGVhbC01MDAnLFxuICAgICAgICBkYXJrOiAnZGFyazp0ZXh0LXRlYWwtNTAwJyxcbiAgICAgIH0sXG4gICAgICB5ZWxsb3c6IHtcbiAgICAgICAgbGlnaHQ6ICd0ZXh0LXllbGxvdy01MDAnLFxuICAgICAgICBkYXJrOiAnZGFyazp0ZXh0LXllbGxvdy01MDAnLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufSk7XG4iXX0=","import { flowbiteIconTheme } from '../icon/theme';\nimport { inject, InjectionToken } from '@angular/core';\nexport const defaultFlowbiteIconConfig = {\n baseTheme: flowbiteIconTheme,\n color: 'default',\n customTheme: {},\n};\nexport const FlowbiteIconConfigToken = new InjectionToken('FlowbiteIconConfigToken');\n/**\n * Provide the default Icon configuration\n * @param config The Icon configuration\n * @returns The provider\n */\nexport const provideFlowbiteIconConfig = (config) => [\n {\n provide: FlowbiteIconConfigToken,\n useValue: { ...defaultFlowbiteIconConfig, ...config },\n },\n];\n/**\n * Inject the Icon configuration\n * @see {@link defaultFlowbiteIconConfig}\n * @returns The configuration\n */\nexport const injectFlowbiteIconConfig = () => inject(FlowbiteIconConfigToken, { optional: true }) ?? defaultFlowbiteIconConfig;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvaWNvbi9zcmMvY29uZmlnL2ljb24tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFLMUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFpQnZELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUF1QjtJQUMzRCxTQUFTLEVBQUUsaUJBQWlCO0lBQzVCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFdBQVcsRUFBRSxFQUFFO0NBQ2hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDdkQseUJBQXlCLENBQzFCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxNQUFtQyxFQUFjLEVBQUUsQ0FBQztJQUM1RjtRQUNFLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsUUFBUSxFQUFFLEVBQUUsR0FBRyx5QkFBeUIsRUFBRSxHQUFHLE1BQU0sRUFBRTtLQUN0RDtDQUNGLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsR0FBdUIsRUFBRSxDQUMvRCxNQUFNLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxvd2JpdGVJY29uQ29sb3JzIH0gZnJvbSAnLi4vaWNvbi90aGVtZSc7XG5pbXBvcnQgeyBmbG93Yml0ZUljb25UaGVtZSwgdHlwZSBGbG93Yml0ZUljb25UaGVtZSB9IGZyb20gJy4uL2ljb24vdGhlbWUnO1xuXG5pbXBvcnQgdHlwZSB7IERlZXBQYXJ0aWFsIH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhcic7XG5cbmltcG9ydCB0eXBlIHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGbG93Yml0ZUljb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdGhlbWUgb2YgaWNvblxuICAgKi9cbiAgYmFzZVRoZW1lOiBGbG93Yml0ZUljb25UaGVtZTtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGNvbG9yIG9mIGljb25cbiAgICovXG4gIGNvbG9yOiBrZXlvZiBGbG93Yml0ZUljb25Db2xvcnM7XG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHRoZW1lIG9mIGljb25cbiAgICovXG4gIGN1c3RvbVRoZW1lOiBEZWVwUGFydGlhbDxGbG93Yml0ZUljb25UaGVtZT47XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Rmxvd2JpdGVJY29uQ29uZmlnOiBGbG93Yml0ZUljb25Db25maWcgPSB7XG4gIGJhc2VUaGVtZTogZmxvd2JpdGVJY29uVGhlbWUsXG4gIGNvbG9yOiAnZGVmYXVsdCcsXG4gIGN1c3RvbVRoZW1lOiB7fSxcbn07XG5cbmV4cG9ydCBjb25zdCBGbG93Yml0ZUljb25Db25maWdUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGbG93Yml0ZUljb25Db25maWc+KFxuICAnRmxvd2JpdGVJY29uQ29uZmlnVG9rZW4nXG4pO1xuXG4vKipcbiAqIFByb3ZpZGUgdGhlIGRlZmF1bHQgSWNvbiBjb25maWd1cmF0aW9uXG4gKiBAcGFyYW0gY29uZmlnIFRoZSBJY29uIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIFRoZSBwcm92aWRlclxuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZUZsb3diaXRlSWNvbkNvbmZpZyA9IChjb25maWc6IFBhcnRpYWw8Rmxvd2JpdGVJY29uQ29uZmlnPik6IFByb3ZpZGVyW10gPT4gW1xuICB7XG4gICAgcHJvdmlkZTogRmxvd2JpdGVJY29uQ29uZmlnVG9rZW4sXG4gICAgdXNlVmFsdWU6IHsgLi4uZGVmYXVsdEZsb3diaXRlSWNvbkNvbmZpZywgLi4uY29uZmlnIH0sXG4gIH0sXG5dO1xuXG4vKipcbiAqIEluamVjdCB0aGUgSWNvbiBjb25maWd1cmF0aW9uXG4gKiBAc2VlIHtAbGluayBkZWZhdWx0Rmxvd2JpdGVJY29uQ29uZmlnfVxuICogQHJldHVybnMgVGhlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGluamVjdEZsb3diaXRlSWNvbkNvbmZpZyA9ICgpOiBGbG93Yml0ZUljb25Db25maWcgPT5cbiAgaW5qZWN0KEZsb3diaXRlSWNvbkNvbmZpZ1Rva2VuLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IGRlZmF1bHRGbG93Yml0ZUljb25Db25maWc7XG4iXX0=","import { inject, InjectionToken } from '@angular/core';\nimport { createState, createStateInjector, createStateProvider, createStateToken, } from 'ng-primitives/state';\nexport const FlowbiteIconStateToken = createStateToken('Flowbite Icon');\nexport const provideFlowbiteIconState = createStateProvider(FlowbiteIconStateToken);\nexport const injectFlowbiteIconState = createStateInjector(FlowbiteIconStateToken);\nexport const flowbiteIconState = createState(FlowbiteIconStateToken);\nexport const NgIconPreProcessorToken = new InjectionToken('Ng Icon Pre Processor');\nexport const NgIconPostProcessorToken = new InjectionToken('Ng Icon Post Processor');\nexport function injectNgIconPreProcessor() {\n return inject(NgIconPreProcessorToken, { optional: true }) ?? ((icon) => icon);\n}\nexport function injectNgIconPostProcessor() {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n return inject(NgIconPostProcessorToken, { optional: true }) ?? (() => { });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9pY29uL3NyYy9pY29uL2ljb24tc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGdCQUFnQixHQUNqQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGdCQUFnQixDQUFPLGVBQWUsQ0FBQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDcEYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsbUJBQW1CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNuRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQU1yRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDdkQsdUJBQXVCLENBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsd0JBQXdCLENBQ3pCLENBQUM7QUFFRixNQUFNLFVBQVUsd0JBQXdCO0lBQ3RDLE9BQU8sTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsZ0VBQWdFO0lBQ2hFLE9BQU8sTUFBTSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztBQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJY29uIH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGNyZWF0ZVN0YXRlLFxuICBjcmVhdGVTdGF0ZUluamVjdG9yLFxuICBjcmVhdGVTdGF0ZVByb3ZpZGVyLFxuICBjcmVhdGVTdGF0ZVRva2VuLFxufSBmcm9tICduZy1wcmltaXRpdmVzL3N0YXRlJztcblxuZXhwb3J0IGNvbnN0IEZsb3diaXRlSWNvblN0YXRlVG9rZW4gPSBjcmVhdGVTdGF0ZVRva2VuPEljb24+KCdGbG93Yml0ZSBJY29uJyk7XG5leHBvcnQgY29uc3QgcHJvdmlkZUZsb3diaXRlSWNvblN0YXRlID0gY3JlYXRlU3RhdGVQcm92aWRlcihGbG93Yml0ZUljb25TdGF0ZVRva2VuKTtcbmV4cG9ydCBjb25zdCBpbmplY3RGbG93Yml0ZUljb25TdGF0ZSA9IGNyZWF0ZVN0YXRlSW5qZWN0b3IoRmxvd2JpdGVJY29uU3RhdGVUb2tlbik7XG5leHBvcnQgY29uc3QgZmxvd2JpdGVJY29uU3RhdGUgPSBjcmVhdGVTdGF0ZShGbG93Yml0ZUljb25TdGF0ZVRva2VuKTtcblxuLyogaHR0cHM6Ly9naXRodWIuY29tL25nLWljb25zL25nLWljb25zL2Jsb2IvbWFpbi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvcHJvdmlkZXJzL2ZlYXR1cmVzL2NzcC50cyAqL1xuZXhwb3J0IHR5cGUgTmdJY29uUHJlUHJvY2Vzc29yID0gKGljb246IHN0cmluZykgPT4gc3RyaW5nO1xuZXhwb3J0IHR5cGUgTmdJY29uUG9zdFByb2Nlc3NvciA9IChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBOZ0ljb25QcmVQcm9jZXNzb3JUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ0ljb25QcmVQcm9jZXNzb3I+KFxuICAnTmcgSWNvbiBQcmUgUHJvY2Vzc29yJ1xuKTtcblxuZXhwb3J0IGNvbnN0IE5nSWNvblBvc3RQcm9jZXNzb3JUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ0ljb25Qb3N0UHJvY2Vzc29yPihcbiAgJ05nIEljb24gUG9zdCBQcm9jZXNzb3InXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0TmdJY29uUHJlUHJvY2Vzc29yKCk6IE5nSWNvblByZVByb2Nlc3NvciB7XG4gIHJldHVybiBpbmplY3QoTmdJY29uUHJlUHJvY2Vzc29yVG9rZW4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gKChpY29uKSA9PiBpY29uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5nSWNvblBvc3RQcm9jZXNzb3IoKTogTmdJY29uUG9zdFByb2Nlc3NvciB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcmV0dXJuIGluamVjdChOZ0ljb25Qb3N0UHJvY2Vzc29yVG9rZW4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gKCgpID0+IHt9KTtcbn1cbiJdfQ==","/* https://github.com/ng-icons/ng-icons/blob/main/packages/core/src/lib/components/icon/icon.component.ts */\nimport { injectFlowbiteIconConfig } from '../config/icon-config';\nimport { flowbiteIconState, injectNgIconPostProcessor, injectNgIconPreProcessor, provideFlowbiteIconState, } from './icon-state';\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\nimport { isPlatformServer } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, ElementRef, HostAttributeToken, inject, Injector, input, PLATFORM_ID, Renderer2, runInInjectionContext, ViewEncapsulation, } from '@angular/core';\nimport { injectNgIconLoader, injectNgIconLoaderCache, injectNgIcons } from '@ng-icons/core';\nimport { firstValueFrom, isObservable } from 'rxjs';\nimport { twMerge } from 'tailwind-merge';\nimport * as i0 from \"@angular/core\";\nlet uniqueId = 0;\nexport class Icon {\n constructor() {\n this.config = injectFlowbiteIconConfig();\n /** Access the icons */\n this.icons = injectNgIcons();\n /** Access the icon loader if defined */\n this.loader = injectNgIconLoader();\n /** Access the icon cache if defined */\n this.cache = injectNgIconLoaderCache();\n /** Access the pre-processor */\n this.preProcessor = injectNgIconPreProcessor();\n /** Access the post-processor */\n this.postProcessor = injectNgIconPostProcessor();\n /** Access the injector */\n this.injector = inject(Injector);\n /** Access the renderer */\n this.renderer = inject(Renderer2);\n /** Determine the platform we are rendering on */\n this.platform = inject(PLATFORM_ID);\n /** Access the element ref */\n this.elementRef = inject(ElementRef);\n /** A unique id for this instance */\n this.uniqueId = uniqueId++;\n /** Define the name of the icon to display */\n this.name = input();\n /** Define the svg of the icon to display */\n this.svg = input();\n /**\n * @see {@link injectFlowbiteIconConfig}\n */\n this.color = input(this.config.color);\n /**\n * @see {@link injectFlowbiteIconConfig}\n */\n this.customTheme = input(this.config.customTheme);\n this.theme = computed(() => {\n const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());\n return {\n host: {\n root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, this.state.color() && colorToTheme(mergedTheme.host.color, this.state.color())),\n },\n };\n });\n this.state = flowbiteIconState(this);\n // update the icon anytime the name or svg changes\n effect(() => this.updateIcon());\n const ariaHidden = inject(new HostAttributeToken('aria-hidden'), {\n optional: true,\n });\n // If the user has not explicitly set aria-hidden, mark the icon as hidden, as this is\n // the right thing to do for the majority of icon use-cases.\n if (!ariaHidden) {\n this.elementRef.nativeElement.setAttribute('aria-hidden', 'true');\n }\n }\n ngOnDestroy() {\n this.svgElement = undefined;\n }\n async updateIcon() {\n const toPropertyName = (str) => str\n .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) => (chr ? chr.toUpperCase() : ''))\n .replace(/[^a-zA-Z\\d]/g, '')\n .replace(/^([A-Z])/, (m) => m.toLowerCase());\n const name = this.name();\n const svg = this.svg();\n // if the svg is defined, insert it into the template\n if (svg !== undefined) {\n this.setSvg(svg);\n return;\n }\n if (name === undefined) {\n return;\n }\n const propertyName = toPropertyName(name);\n for (const icons of [...this.icons].reverse()) {\n if (icons[propertyName]) {\n // insert the SVG into the template\n this.setSvg(icons[propertyName]);\n return;\n }\n }\n // if there is a loader defined, use it to load the icon\n if (this.loader) {\n const result = await this.requestIconFromLoader(name);\n // if the result is a string, insert the SVG into the template\n if (result !== null) {\n this.setSvg(result);\n return;\n }\n }\n // if there is no icon with this name warn the user as they probably forgot to import it\n console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);\n }\n setSvg(svg) {\n // if we are on the server, simply innerHTML the svg as we don't have the\n // level of control over the DOM that we do on the client, in otherwords\n // the approach we take to insert the svg on the client will not work on the server\n if (isPlatformServer(this.platform)) {\n this.elementRef.nativeElement.innerHTML = svg;\n // mark this component as server side rendered\n this.elementRef.nativeElement.setAttribute('data-ng-icon-ssr', '');\n return;\n }\n // if this was previously server side rendered, we should check if the svg is the same\n // if it is, we don't need to do anything\n if (this.elementRef.nativeElement.hasAttribute('data-ng-icon-ssr')) {\n // if it is different, we need to remove the server side rendered flag\n this.elementRef.nativeElement.removeAttribute('data-ng-icon-ssr');\n // retrieve the svg element\n this.svgElement = this.elementRef.nativeElement.querySelector('svg') ?? undefined;\n if (this.elementRef.nativeElement.innerHTML === svg) {\n return;\n }\n }\n // remove the old element\n if (this.svgElement) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.svgElement);\n }\n // if the svg is empty, don't insert anything\n if (svg === '') {\n return;\n }\n const template = this.renderer.createElement('template');\n svg = this.replaceIds(svg);\n this.renderer.setProperty(template, 'innerHTML', this.preProcessor(svg));\n this.svgElement = template.content.firstElementChild;\n this.postProcessor(this.svgElement);\n // insert the element into the dom\n this.renderer.appendChild(this.elementRef.nativeElement, this.svgElement);\n }\n replaceIds(svg) {\n // ids are defined like ID_PLACEHOLDER_0, ID_PLACEHOLDER_1, etc.\n // we need to replace these with the actual ids e.g. ng-icon-0-0, ng-icon-0-1, etc.\n // if there are no ids, we don't need to do anything\n if (!svg.includes('ID_PLACEHOLDER_')) {\n return svg;\n }\n // we can just retain the trailing number as the prefix is always the same\n const regex = /ID_PLACEHOLDER_(\\d+)/g;\n // we need to keep track of the ids we have replaced\n const idMap = new Map();\n // find all the matches\n const matches = new Set(svg.match(regex));\n if (matches === null) {\n return svg;\n }\n // replace the ids\n for (const match of matches) {\n const id = match.replace('ID_PLACEHOLDER_', '');\n const placeholder = `ng-icon-${this.uniqueId}-${idMap.size}`;\n idMap.set(id, placeholder);\n svg = svg.replace(new RegExp(match, 'g'), placeholder);\n }\n return svg;\n }\n /**\n * Request the icon from the loader.\n * @param name The name of the icon to load.\n * @returns The SVG content for a given icon name.\n */\n requestIconFromLoader(name) {\n const coerceLoaderResult = (result) => {\n if (typeof result === 'string') {\n return Promise.resolve(result);\n }\n if (isObservable(result)) {\n // toPromise is deprecated, but we can't use lastValueFrom because it's not available in RxJS 6\n // so for now we'll just use toPromise\n return firstValueFrom(result);\n }\n return result;\n };\n return new Promise((resolve) => {\n runInInjectionContext(this.injector, async () => {\n // if we have a cache, check if the icon is already loaded (i.e, it is a string)\n if (this.cache) {\n const cachedResult = this.cache.get(name);\n if (typeof cachedResult === 'string') {\n resolve(cachedResult);\n return;\n }\n // it may be a promise, so we need to await it\n if (cachedResult instanceof Promise) {\n const result = await cachedResult;\n resolve(result);\n return;\n }\n }\n const promise = coerceLoaderResult(this.loader(name));\n // store the promise in the cache so if we get repeated calls (e.g. in a loop) before the loader has resolved\n // then don't call the loader function multiple times\n this.cache?.set(name, promise);\n // await the result of the promise\n const result = await promise;\n // if we have a cache, store the result\n this.cache?.set(name, result);\n resolve(result);\n });\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: Icon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.6\", type: Icon, isStandalone: true, selector: \"flowbite-icon\", inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: false, transformFunction: null }, svg: { classPropertyName: \"svg\", publicName: \"svg\", 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: { attributes: { \"role\": \"img\" }, properties: { \"class\": \"theme().host.root\" } }, providers: [provideFlowbiteIconState()], exportAs: [\"flowbiteIcon\"], ngImport: i0, template: ``, isInline: true, styles: [\":host{display:inline-block;line-height:initial;vertical-align:initial;overflow:hidden}\\n\", \":host ::ng-deep svg{width:inherit;height:inherit;vertical-align:inherit}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: Icon, decorators: [{\n type: Component,\n args: [{ standalone: true, selector: `flowbite-icon`, exportAs: 'flowbiteIcon', hostDirectives: [], imports: [], providers: [provideFlowbiteIconState()], host: {\n '[class]': `theme().host.root`,\n role: 'img',\n }, template: ``, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\":host{display:inline-block;line-height:initial;vertical-align:initial;overflow:hidden}\\n\", \":host ::ng-deep svg{width:inherit;height:inherit;vertical-align:inherit}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvaWNvbi9zcmMvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0R0FBNEc7QUFFNUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLHdCQUF3QixHQUN6QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULHFCQUFxQixFQUNyQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFekMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBa0NqQixNQUFNLE9BQU8sSUFBSTtJQW1FZjtRQWxFUyxXQUFNLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUU3Qyx1QkFBdUI7UUFDTixVQUFLLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFFekMsd0NBQXdDO1FBQ3ZCLFdBQU0sR0FB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QUFJLFlBQVksWUFBWSxPQUFPLEVBQUUsQ0FBQzt3QkFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUM7d0JBQ2xDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDaEIsT0FBTztvQkFDVCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUV2RCw2R0FBNkc7Z0JBQzdHLHFEQUFxRDtnQkFDckQsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUUvQixrQ0FBa0M7Z0JBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDO2dCQUU3Qix1Q0FBdUM7Z0JBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFFOUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTVRVSxJQUFJO2tHQUFKLElBQUksd29CQTFCSixDQUFDLHdCQUF3QixFQUFFLENBQUMsc0RBSzdCLEVBQUU7OzJGQXFCRCxJQUFJO2tCQWhDaEIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sZUFBZSxZQUNmLGNBQWMsa0JBQ1IsRUFBRSxXQUNULEVBQUUsYUFDQSxDQUFDLHdCQUF3QixFQUFFLENBQUMsUUFDakM7d0JBQ0osU0FBUyxFQUFFLG1CQUFtQjt3QkFDOUIsSUFBSSxFQUFFLEtBQUs7cUJBQ1osWUFDUyxFQUFFLGlCQWtCRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogaHR0cHM6Ly9naXRodWIuY29tL25nLWljb25zL25nLWljb25zL2Jsb2IvbWFpbi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzICovXG5cbmltcG9ydCB7IGluamVjdEZsb3diaXRlSWNvbkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9pY29uLWNvbmZpZyc7XG5pbXBvcnQge1xuICBmbG93Yml0ZUljb25TdGF0ZSxcbiAgaW5qZWN0TmdJY29uUG9zdFByb2Nlc3NvcixcbiAgaW5qZWN0TmdJY29uUHJlUHJvY2Vzc29yLFxuICBwcm92aWRlRmxvd2JpdGVJY29uU3RhdGUsXG59IGZyb20gJy4vaWNvbi1zdGF0ZSc7XG5cbmltcG9ydCB7IGNvbG9yVG9UaGVtZSwgbWVyZ2VEZWVwIH0gZnJvbSAnZmxvd2JpdGUtYW5ndWxhcic7XG5cbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RBdHRyaWJ1dGVUb2tlbixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBJY29uVHlwZSB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJztcbmltcG9ydCB7IGluamVjdE5nSWNvbkxvYWRlciwgaW5qZWN0TmdJY29uTG9hZGVyQ2FjaGUsIGluamVjdE5nSWNvbnMgfSBmcm9tICdAbmctaWNvbnMvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBpc09ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogYGZsb3diaXRlLWljb25gLFxuICBleHBvcnRBczogJ2Zsb3diaXRlSWNvbicsXG4gIGhvc3REaXJlY3RpdmVzOiBbXSxcbiAgaW1wb3J0czogW10sXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVGbG93Yml0ZUljb25TdGF0ZSgpXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogYHRoZW1lKCkuaG9zdC5yb290YCxcbiAgICByb2xlOiAnaW1nJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgIGAsXG4gICAgYFxuICAgICAgOmhvc3QgOjpuZy1kZWVwIHN2ZyB7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0Rmxvd2JpdGVJY29uQ29uZmlnKCk7XG5cbiAgLyoqIEFjY2VzcyB0aGUgaWNvbnMgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBpY29ucyA9IGluamVjdE5nSWNvbnMoKTtcblxuICAvKiogQWNjZXNzIHRoZSBpY29uIGxvYWRlciBpZiBkZWZpbmVkICovXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9hZGVyID0gaW5qZWN0TmdJY29uTG9hZGVyKCk7XG5cbiAgLyoqIEFjY2VzcyB0aGUgaWNvbiBjYWNoZSBpZiBkZWZpbmVkICovXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGUgPSBpbmplY3ROZ0ljb25Mb2FkZXJDYWNoZSgpO1xuXG4gIC8qKiBBY2Nlc3MgdGhlIHByZS1wcm9jZXNzb3IgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBwcmVQcm9jZXNzb3IgPSBpbmplY3ROZ0ljb25QcmVQcm9jZXNzb3IoKTtcblxuICAvKiogQWNjZXNzIHRoZSBwb3N0LXByb2Nlc3NvciAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHBvc3RQcm9jZXNzb3IgPSBpbmplY3ROZ0ljb25Qb3N0UHJvY2Vzc29yKCk7XG5cbiAgLyoqIEFjY2VzcyB0aGUgaW5qZWN0b3IgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgLyoqIEFjY2VzcyB0aGUgcmVuZGVyZXIgKi9cbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIC8qKiBEZXRlcm1pbmUgdGhlIHBsYXRmb3JtIHdlIGFyZSByZW5kZXJpbmcgb24gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgLyoqIEFjY2VzcyB0aGUgZWxlbWVudCByZWYgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICAvKiogQSB1bmlxdWUgaWQgZm9yIHRoaXMgaW5zdGFuY2UgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB1bmlxdWVJZCA9IHVuaXF1ZUlkKys7XG5cbiAgLyoqIERlZmluZSB0aGUgbmFtZSBvZiB0aGUgaWNvbiB0byBkaXNwbGF5ICovXG4gIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxJY29uVHlwZT4oKTtcblxuICAvKiogRGVmaW5lIHRoZSBzdmcgb2YgdGhlIGljb24gdG8gZGlzcGxheSAqL1xuICByZWFkb25seSBzdmcgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIGluamVjdEZsb3diaXRlSWNvbkNvbmZpZ31cbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQodGhpcy5jb25maWcuY29sb3IpO1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgaW5qZWN0Rmxvd2JpdGVJY29uQ29uZmlnfVxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tVGhlbWUgPSBpbnB1dCh0aGlzLmNvbmZpZy5jdXN0b21UaGVtZSk7XG5cbiAgLyoqIFN0b3JlIHRoZSBpbnNlcnRlZCBTVkcgKi9cbiAgcHJpdmF0ZSBzdmdFbGVtZW50PzogU1ZHRWxlbWVudDtcblxuICByZWFkb25seSB0aGVtZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBtZXJnZWRUaGVtZSA9IG1lcmdlRGVlcCh0aGlzLmNvbmZpZy5iYXNlVGhlbWUsIHRoaXMuc3RhdGUuY3VzdG9tVGhlbWUoKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaG9zdDoge1xuICAgICAgICByb290OiB0d01lcmdlKFxuICAgICAgICAgIG1lcmdlZFRoZW1lLmhvc3QuYmFzZSxcbiAgICAgICAgICBtZXJnZWRUaGVtZS5ob3N0LnRyYW5zaXRpb24sXG4gICAgICAgICAgdGhpcy5zdGF0ZS5jb2xvcigpICYmIGNvbG9yVG9UaGVtZShtZXJnZWRUaGVtZS5ob3N0LmNvbG9yLCB0aGlzLnN0YXRlLmNvbG9yKCkhKVxuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9O1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RhdGUgPSBmbG93Yml0ZUljb25TdGF0ZTxJY29uPih0aGlzKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyB1cGRhdGUgdGhlIGljb24gYW55dGltZSB0aGUgbmFtZSBvciBzdmcgY2hhbmdlc1xuICAgIGVmZmVjdCgoKSA9PiB0aGlzLnVwZGF0ZUljb24oKSk7XG5cbiAgICBjb25zdCBhcmlhSGlkZGVuID0gaW5qZWN0KG5ldyBIb3N0QXR0cmlidXRlVG9rZW4oJ2FyaWEtaGlkZGVuJyksIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0pO1xuICAgIC8vIElmIHRoZSB1c2VyIGhhcyBub3QgZXhwbGljaXRseSBzZXQgYXJpYS1oaWRkZW4sIG1hcmsgdGhlIGljb24gYXMgaGlkZGVuLCBhcyB0aGlzIGlzXG4gICAgLy8gdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGZvciB0aGUgbWFqb3JpdHkgb2YgaWNvbiB1c2UtY2FzZXMuXG4gICAgaWYgKCFhcmlhSGlkZGVuKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN2Z0VsZW1lbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUljb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdG9Qcm9wZXJ0eU5hbWUgPSAoc3RyOiBzdHJpbmcpID0+XG4gICAgICBzdHJcbiAgICAgICAgLnJlcGxhY2UoLyhbXmEtekEtWjAtOV0pKyguKT8vZywgKF8sIF9fLCBjaHIpID0+IChjaHIgPyBjaHIudG9VcHBlckNhc2UoKSA6ICcnKSlcbiAgICAgICAgLnJlcGxhY2UoL1teYS16QS1aXFxkXS9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL14oW0EtWl0pLywgKG0pID0+IG0udG9Mb3dlckNhc2UoKSk7XG5cbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lKCk7XG4gICAgY29uc3Qgc3ZnID0gdGhpcy5zdmcoKTtcblxuICAgIC8vIGlmIHRoZSBzdmcgaXMgZGVmaW5lZCwgaW5zZXJ0IGl0IGludG8gdGhlIHRlbXBsYXRlXG4gICAgaWYgKHN2ZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnNldFN2ZyhzdmcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChuYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wZXJ0eU5hbWUgPSB0b1Byb3BlcnR5TmFtZShuYW1lKTtcblxuICAgIGZvciAoY29uc3QgaWNvbnMgb2YgWy4uLnRoaXMuaWNvbnNdLnJldmVyc2UoKSkge1xuICAgICAgaWYgKGljb25zW3Byb3BlcnR5TmFtZV0pIHtcbiAgICAgICAgLy8gaW5zZXJ0IHRoZSBTVkcgaW50byB0aGUgdGVtcGxhdGVcbiAgICAgICAgdGhpcy5zZXRTdmcoaWNvbnNbcHJvcGVydHlOYW1lXSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBhIGxvYWRlciBkZWZpbmVkLCB1c2UgaXQgdG8gbG9hZCB0aGUgaWNvblxuICAgIGlmICh0aGlzLmxvYWRlcikge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0SWNvbkZyb21Mb2FkZXIobmFtZSk7XG5cbiAgICAgIC8vIGlmIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIGluc2VydCB0aGUgU1ZHIGludG8gdGhlIHRlbXBsYXRlXG4gICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuc2V0U3ZnKHJlc3VsdCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyBpY29uIHdpdGggdGhpcyBuYW1lIHdhcm4gdGhlIHVzZXIgYXMgdGhleSBwcm9iYWJseSBmb3Jnb3QgdG8gaW1wb3J0IGl0XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYE5vIGljb24gbmFtZWQgJHtuYW1lfSB3YXMgZm91bmQuIFlvdSBtYXkgbmVlZCB0byBpbXBvcnQgaXQgdXNpbmcgdGhlIHdpdGhJY29ucyBmdW5jdGlvbi5gXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3ZnKHN2Zzogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gaWYgd2UgYXJlIG9uIHRoZSBzZXJ2ZXIsIHNpbXBseSBpbm5lckhUTUwgdGhlIHN2ZyBhcyB3ZSBkb24ndCBoYXZlIHRoZVxuICAgIC8vIGxldmVsIG9mIGNvbnRyb2wgb3ZlciB0aGUgRE9NIHRoYXQgd2UgZG8gb24gdGhlIGNsaWVudCwgaW4gb3RoZXJ3b3Jkc1xuICAgIC8vIHRoZSBhcHByb2FjaCB3ZSB0YWtlIHRvIGluc2VydCB0aGUgc3ZnIG9uIHRoZSBjbGllbnQgd2lsbCBub3Qgd29yayBvbiB0aGUgc2VydmVyXG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybSkpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHN2ZztcbiAgICAgIC8vIG1hcmsgdGhpcyBjb21wb25lbnQgYXMgc2VydmVyIHNpZGUgcmVuZGVyZWRcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1uZy1pY29uLXNzcicsICcnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBpZiB0aGlzIHdhcyBwcmV2aW91c2x5IHNlcnZlciBzaWRlIHJlbmRlcmVkLCB3ZSBzaG91bGQgY2hlY2sgaWYgdGhlIHN2ZyBpcyB0aGUgc2FtZVxuICAgIC8vIGlmIGl0IGlzLCB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nXG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS1uZy1pY29uLXNzcicpKSB7XG4gICAgICAvLyBpZiBpdCBpcyBkaWZmZXJlbnQsIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBzZXJ2ZXIgc2lkZSByZW5kZXJlZCBmbGFnXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtbmctaWNvbi1zc3InKTtcblxuICAgICAgLy8gcmV0cmlldmUgdGhlIHN2ZyBlbGVtZW50XG4gICAgICB0aGlzLnN2Z0VsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPFNWR0VsZW1lbnQ+KCdzdmcnKSA/PyB1bmRlZmluZWQ7XG5cbiAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPT09IHN2Zykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIHRoZSBvbGQgZWxlbWVudFxuICAgIGlmICh0aGlzLnN2Z0VsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3ZnRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHN2ZyBpcyBlbXB0eSwgZG9uJ3QgaW5zZXJ0IGFueXRoaW5nXG4gICAgaWYgKHN2ZyA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTogSFRNTFRlbXBsYXRlRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcblxuICAgIHN2ZyA9IHRoaXMucmVwbGFjZUlkcyhzdmcpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0ZW1wbGF0ZSwgJ2lubmVySFRNTCcsIHRoaXMucHJlUHJvY2Vzc29yKHN2ZykpO1xuXG4gICAgdGhpcy5zdmdFbGVtZW50ID0gdGVtcGxhdGUuY29udGVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBTVkdFbGVtZW50O1xuICAgIHRoaXMucG9zdFByb2Nlc3Nvcih0aGlzLnN2Z0VsZW1lbnQpO1xuXG4gICAgLy8gaW5zZXJ0IHRoZSBlbGVtZW50IGludG8gdGhlIGRvbVxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3ZnRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VJZHMoc3ZnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIGlkcyBhcmUgZGVmaW5lZCBsaWtlIElEX1BMQUNFSE9MREVSXzAsIElEX1BMQUNFSE9MREVSXzEsIGV0Yy5cbiAgICAvLyB3ZSBuZWVkIHRvIHJlcGxhY2UgdGhlc2Ugd2l0aCB0aGUgYWN0dWFsIGlkcyBlLmcuIG5nLWljb24tMC0wLCBuZy1pY29uLTAtMSwgZXRjLlxuICAgIC8vIGlmIHRoZXJlIGFyZSBubyBpZHMsIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmdcbiAgICBpZiAoIXN2Zy5pbmNsdWRlcygnSURfUExBQ0VIT0xERVJfJykpIHtcbiAgICAgIHJldHVybiBzdmc7XG4gICAgfVxuXG4gICAgLy8gd2UgY2FuIGp1c3QgcmV0YWluIHRoZSB0cmFpbGluZyBudW1iZXIgYXMgdGhlIHByZWZpeCBpcyBhbHdheXMgdGhlIHNhbWVcbiAgICBjb25zdCByZWdleCA9IC9JRF9QTEFDRUhPTERFUl8oXFxkKykvZztcblxuICAgIC8vIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgaWRzIHdlIGhhdmUgcmVwbGFjZWRcbiAgICBjb25zdCBpZE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgICAvLyBmaW5kIGFsbCB0aGUgbWF0Y2hlc1xuICAgIGNvbnN0IG1hdGNoZXMgPSBuZXcgU2V0KHN2Zy5tYXRjaChyZWdleCkpO1xuXG4gICAgaWYgKG1hdGNoZXMgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBzdmc7XG4gICAgfVxuXG4gICAgLy8gcmVwbGFjZSB0aGUgaWRzXG4gICAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaGVzKSB7XG4gICAgICBjb25zdCBpZCA9IG1hdGNoLnJlcGxhY2UoJ0lEX1BMQUNFSE9MREVSXycsICcnKTtcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gYG5nLWljb24tJHt0aGlzLnVuaXF1ZUlkfS0ke2lkTWFwLnNpemV9YDtcbiAgICAgIGlkTWFwLnNldChpZCwgcGxhY2Vob2xkZXIpO1xuICAgICAgc3ZnID0gc3ZnLnJlcGxhY2UobmV3IFJlZ0V4cChtYXRjaCwgJ2cnKSwgcGxhY2Vob2xkZXIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdmc7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdCB0aGUgaWNvbiBmcm9tIHRoZSBsb2FkZXIuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGxvYWQuXG4gICAqIEByZXR1cm5zIFRoZSBTVkcgY29udGVudCBmb3IgYSBnaXZlbiBpY29uIG5hbWUuXG4gICAqL1xuICBwcml2YXRlIHJlcXVlc3RJY29uRnJvbUxvYWRlcihuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNvZXJjZUxvYWRlclJlc3VsdCA9IChcbiAgICAgIHJlc3VsdDogUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+IHwgc3RyaW5nXG4gICAgKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc09ic2VydmFibGUocmVzdWx0KSkge1xuICAgICAgICAvLyB0b1Byb21pc2UgaXMgZGVwcmVjYXRlZCwgYnV0IHdlIGNhbid0IHVzZSBsYXN0VmFsdWVGcm9tIGJlY2F1c2UgaXQncyBub3QgYXZhaWxhYmxlIGluIFJ4SlMgNlxuICAgICAgICAvLyBzbyBmb3Igbm93IHdlJ2xsIGp1c3QgdXNlIHRvUHJvbWlzZVxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20ocmVzdWx0KSBhcyBQcm9taXNlPHN0cmluZz47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsIGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gaWYgd2UgaGF2ZSBhIGNhY2hlLCBjaGVjayBpZiB0aGUgaWNvbiBpcyBhbHJlYWR5IGxvYWRlZCAoaS5lLCBpdCBpcyBhIHN0cmluZylcbiAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICBjb25zdCBjYWNoZWRSZXN1bHQgPSB0aGlzLmNhY2hlLmdldChuYW1lKTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkUmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmVzb2x2ZShjYWNoZWRSZXN1bHQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGl0IG1heSBiZSBhIHByb21pc2UsIHNvIHdlIG5lZWQgdG8gYXdhaXQgaXRcbiAgICAgICAgICBpZiAoY2FjaGVkUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2FjaGVkUmVzdWx0O1xuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBjb2VyY2VMb2FkZXJSZXN1bHQodGhpcy5sb2FkZXIhKG5hbWUpKTtcblxuICAgICAgICAvLyBzdG9yZSB0aGUgcHJvbWlzZSBpbiB0aGUgY2FjaGUgc28gaWYgd2UgZ2V0IHJlcGVhdGVkIGNhbGxzIChlLmcuIGluIGEgbG9vcCkgYmVmb3JlIHRoZSBsb2FkZXIgaGFzIHJlc29sdmVkXG4gICAgICAgIC8vIHRoZW4gZG9uJ3QgY2FsbCB0aGUgbG9hZGVyIGZ1bmN0aW9uIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIHRoaXMuY2FjaGU/LnNldChuYW1lLCBwcm9taXNlKTtcblxuICAgICAgICAvLyBhd2FpdCB0aGUgcmVzdWx0IG9mIHRoZSBwcm9taXNlXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2U7XG5cbiAgICAgICAgLy8gaWYgd2UgaGF2ZSBhIGNhY2hlLCBzdG9yZSB0aGUgcmVzdWx0XG4gICAgICAgIHRoaXMuY2FjaGU/LnNldChuYW1lLCByZXN1bHQpO1xuXG4gICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=","/* Icon */\nexport * from './icon/icon.component';\nexport * from './icon/icon-state';\nexport * from './icon/theme';\n/* Config */\nexport * from './config/icon-config';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvaWNvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixZQUFZO0FBQ1osY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEljb24gKi9cbmV4cG9ydCAqIGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24vaWNvbi1zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24vdGhlbWUnO1xuLyogQ29uZmlnICovXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy9pY29uLWNvbmZpZyc7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvd2JpdGUtYW5ndWxhci1pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9mbG93Yml0ZS1hbmd1bGFyL2ljb24vc3JjL2Zsb3diaXRlLWFuZ3VsYXItaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -1,266 +1,154 @@
1
- import { mergeTheme, createTheme } from 'flowbite-angular/utils';
1
+ import { createTheme, mergeDeep, colorToTheme } from 'flowbite-angular';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, Injectable, makeEnvironmentProviders, model, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
3
+ import { InjectionToken, inject, input, booleanAttribute, computed, Directive } from '@angular/core';
4
+ import { createStateToken, createStateProvider, createStateInjector, createState } from 'ng-primitives/state';
4
5
  import { twMerge } from 'tailwind-merge';
5
- import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
6
6
 
7
+ const flowbiteIndicatorTheme = createTheme({
8
+ host: {
9
+ base: 'inline-flex shrink-0 items-center justify-center rounded-full font-bold',
10
+ transition: '',
11
+ border: {
12
+ on: 'border-2',
13
+ off: 'border-none',
14
+ },
15
+ color: {
16
+ default: {
17
+ light: 'bg-gray-500',
18
+ dark: 'dark:bg-gray-500',
19
+ },
20
+ info: {
21
+ light: 'bg-blue-500',
22
+ dark: 'dark:bg-blue-500',
23
+ },
24
+ failure: {
25
+ light: 'bg-red-500',
26
+ dark: 'dark:bg-red-500',
27
+ },
28
+ success: {
29
+ light: 'bg-green-500',
30
+ dark: 'dark:bg-green-500',
31
+ },
32
+ warning: {
33
+ light: 'bg-yellow-500',
34
+ dark: 'dark:bg-yellow-500',
35
+ },
36
+ primary: {
37
+ light: 'bg-primary-500',
38
+ dark: 'dark:bg-primary-500',
39
+ },
40
+ },
41
+ size: {
42
+ xs: 'h-2 w-2 text-xs',
43
+ sm: 'h-3 w-3 text-sm',
44
+ md: 'h-4 w-4 text-sm',
45
+ lg: 'h-5 w-5 text-sm',
46
+ xl: 'h-6 w-6 text-sm',
47
+ },
48
+ position: {
49
+ 'top-left': 'top-0 left-0 -translate-x-1/3 -translate-y-1/3',
50
+ 'top-center': 'top-0 left-1/2 -translate-x-1/2 -translate-y-1/3',
51
+ 'top-right': 'top-0 right-0 translate-x-1/3 -translate-y-1/3',
52
+ 'center-left': 'top-1/2 left-0 -translate-x-1/3 -translate-y-1/2',
53
+ center: 'top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2',
54
+ 'center-right': 'top-1/2 right-0 translate-x-1/3 -translate-y-1/2',
55
+ 'bottom-left': 'bottom-0 left-0 -translate-x-1/3 translate-y-1/3',
56
+ 'bottom-center': 'bottom-0 left-1/2 -translate-x-1/2 translate-y-1/3',
57
+ 'bottom-right': 'right-0 bottom-0 translate-x-1/3 translate-y-1/3',
58
+ },
59
+ },
60
+ });
61
+
62
+ const defaultFlowbiteIndicatorConfig = {
63
+ baseTheme: flowbiteIndicatorTheme,
64
+ color: 'default',
65
+ size: 'md',
66
+ border: false,
67
+ position: undefined,
68
+ customTheme: {},
69
+ };
70
+ const FlowbiteIndicatorConfigToken = new InjectionToken('FlowbiteIndicatorConfigToken');
7
71
  /**
8
- * `InjectionToken` used to import `IndicatorTheme` value
9
- *
10
- * @example
11
- * ```
12
- * var theme = inject(FLOWBITE_INDICATOR_THEME_TOKEN)
13
- * ```
72
+ * Provide the default Indicator configuration
73
+ * @param config The Indicator configuration
74
+ * @returns The provider
14
75
  */
15
- const FLOWBITE_INDICATOR_THEME_TOKEN = new InjectionToken('FLOWBITE_INDICATOR_THEME_TOKEN');
16
- class IndicatorThemeService {
17
- constructor() {
18
- this.baseTheme = inject(FLOWBITE_INDICATOR_THEME_TOKEN);
19
- }
20
- getClasses(properties) {
21
- const theme = mergeTheme(this.baseTheme, properties.customStyle);
22
- const output = {
23
- rootClass: twMerge(theme.root.base, theme.root.hasBorder[properties.hasBorder], theme.root.color[properties.color], theme.root.isDisabled[properties.isDisabled], properties.placement &&
24
- properties.hasOffset == 'enabled' &&
25
- theme.root.hasOffset[properties.placement], theme.root.isOutline[properties.isOutline], theme.root.isPill[properties.isPill], properties.placement && 'absolute ' + theme.root.placement[properties.placement], theme.root.isRounded[properties.isRounded], theme.root.size[properties.size]),
26
- };
27
- return output;
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: IndicatorThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: IndicatorThemeService, providedIn: 'root' }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: IndicatorThemeService, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root',
36
- }]
37
- }] });
38
-
39
- const FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE');
40
- const FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE');
41
- const FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE');
42
- const FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE');
43
- const FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE');
44
- const FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE');
45
- const FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE');
46
- const FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE');
47
- const FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE');
48
- const FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE');
49
- const indicatorDefaultValueProvider = makeEnvironmentProviders([
50
- {
51
- provide: FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE,
52
- useValue: false,
53
- },
54
- {
55
- provide: FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE,
56
- useValue: false,
57
- },
58
- {
59
- provide: FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE,
60
- useValue: false,
61
- },
62
- {
63
- provide: FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE,
64
- useValue: false,
65
- },
66
- {
67
- provide: FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE,
68
- useValue: false,
69
- },
70
- {
71
- provide: FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE,
72
- useValue: false,
73
- },
74
- {
75
- provide: FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE,
76
- useValue: 'primary',
77
- },
78
- {
79
- provide: FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE,
80
- useValue: 'md',
81
- },
76
+ const provideFlowbiteIndicatorConfig = (config) => [
82
77
  {
83
- provide: FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE,
84
- useValue: undefined,
78
+ provide: FlowbiteIndicatorConfigToken,
79
+ useValue: { ...defaultFlowbiteIndicatorConfig, ...config },
85
80
  },
86
- {
87
- provide: FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE,
88
- useValue: {},
89
- },
90
- ]);
81
+ ];
91
82
  /**
92
- * @see https://flowbite.com/docs/components/indicators/
83
+ * Inject the Indicator configuration
84
+ * @see {@link defaultFlowbiteIndicatorConfig}
85
+ * @returns The configuration
93
86
  */
94
- class IndicatorComponent extends BaseComponent {
87
+ const injectFlowbiteIndicatorConfig = () => inject(FlowbiteIndicatorConfigToken, { optional: true }) ?? defaultFlowbiteIndicatorConfig;
88
+
89
+ const FlowbiteIndicatorStateToken = createStateToken('Flowbite Indicator');
90
+ const provideFlowbiteIndicatorState = createStateProvider(FlowbiteIndicatorStateToken);
91
+ const injectFlowbiteIndicatorState = createStateInjector(FlowbiteIndicatorStateToken);
92
+ const flowbiteIndicatorState = createState(FlowbiteIndicatorStateToken);
93
+
94
+ class Indicator {
95
95
  constructor() {
96
- super(...arguments);
97
- /**
98
- * Service injected used to generate class
99
- */
100
- this.themeService = inject(IndicatorThemeService);
101
- //#region properties
102
- /**
103
- * Set if the indicator is pill
104
- *
105
- * @default false
106
- */
107
- this.isPill = model(inject(FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE));
96
+ this.config = injectFlowbiteIndicatorConfig();
108
97
  /**
109
- * Set if the indicator is outline
110
- *
111
- * @default false
98
+ * @see {@link injectFlowbiteIndicatorConfig}
112
99
  */
113
- this.isOutline = model(inject(FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE));
100
+ this.color = input(this.config.color);
114
101
  /**
115
- * Set if the indicator is disable
116
- *
117
- * @default false
102
+ * @see {@link injectFlowbiteIndicatorConfig}
118
103
  */
119
- this.isDisabled = model(inject(FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE));
104
+ this.size = input(this.config.size);
120
105
  /**
121
- * Set if the indicator has offset
122
- *
123
- * @default false
106
+ * @see {@link injectFlowbiteIndicatorConfig}
124
107
  */
125
- this.hasOffset = model(inject(FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE));
108
+ this.border = input(this.config.border, { transform: booleanAttribute });
126
109
  /**
127
- * Set if the indicator is rounded
128
- *
129
- * @default false
110
+ * @see {@link injectFlowbiteIndicatorConfig}
130
111
  */
131
- this.isRounded = model(inject(FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE));
112
+ this.position = input(this.config.position);
132
113
  /**
133
- * Set if the indicator has border
134
- *
135
- * @default false
114
+ * @see {@link injectFlowbiteIndicatorConfig}
136
115
  */
137
- this.hasBorder = model(inject(FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE));
138
- /**
139
- * Set the indicator color
140
- *
141
- * @default primary
142
- */
143
- this.color = model(inject(FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE));
144
- /**
145
- * Set the indicator size
146
- *
147
- * @default md
148
- */
149
- this.size = model(inject(FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE));
150
- /**
151
- * Set the indicator placement
152
- *
153
- * @default undefined
154
- */
155
- this.placement = model(inject(FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE));
116
+ this.customTheme = input(this.config.customTheme);
117
+ this.theme = computed(() => {
118
+ const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
119
+ return {
120
+ host: {
121
+ root: twMerge(mergedTheme.host.base, colorToTheme(mergedTheme.host.color, this.state.color()), mergedTheme.host.size[this.state.size()], mergedTheme.host.border[this.state.border() ? 'on' : 'off'], this.state.position() && mergedTheme.host.position[this.state.position()]),
122
+ },
123
+ };
124
+ });
156
125
  /**
157
- * Set the custom style for this indicator
126
+ * @internal
158
127
  */
159
- this.customStyle = model(inject(FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE));
160
- }
161
- //#endregion
162
- //#region BaseComponent implementation
163
- fetchClass() {
164
- return this.themeService.getClasses({
165
- hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),
166
- color: this.color(),
167
- isDisabled: booleanToFlowbiteBoolean(this.isDisabled()),
168
- hasOffset: booleanToFlowbiteBoolean(this.hasOffset()),
169
- isOutline: booleanToFlowbiteBoolean(this.isOutline()),
170
- isPill: booleanToFlowbiteBoolean(this.isPill()),
171
- isRounded: booleanToFlowbiteBoolean(this.isRounded()),
172
- size: this.size(),
173
- placement: this.placement(),
174
- customStyle: this.customStyle(),
175
- });
128
+ this.state = flowbiteIndicatorState(this);
176
129
  }
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: IndicatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
178
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.4", type: IndicatorComponent, isStandalone: true, selector: "flowbite-indicator", inputs: { isPill: { classPropertyName: "isPill", publicName: "isPill", isSignal: true, isRequired: false, transformFunction: null }, isOutline: { classPropertyName: "isOutline", publicName: "isOutline", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hasOffset: { classPropertyName: "hasOffset", publicName: "hasOffset", isSignal: true, isRequired: false, transformFunction: null }, isRounded: { classPropertyName: "isRounded", publicName: "isRounded", isSignal: true, isRequired: false, transformFunction: null }, hasBorder: { classPropertyName: "hasBorder", publicName: "hasBorder", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isPill: "isPillChange", isOutline: "isOutlineChange", isDisabled: "isDisabledChange", hasOffset: "hasOffsetChange", isRounded: "isRoundedChange", hasBorder: "hasBorderChange", color: "colorChange", size: "sizeChange", placement: "placementChange", customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Indicator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
131
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: Indicator, isStandalone: true, selector: "\n span[flowbiteIndicator]\n ", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteIndicatorState()], exportAs: ["flowbiteIndicator"], ngImport: i0 }); }
179
132
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: IndicatorComponent, decorators: [{
181
- type: Component,
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Indicator, decorators: [{
134
+ type: Directive,
182
135
  args: [{
183
136
  standalone: true,
184
- selector: 'flowbite-indicator',
185
- template: `<ng-content />`,
186
- encapsulation: ViewEncapsulation.None,
187
- changeDetection: ChangeDetectionStrategy.OnPush,
137
+ selector: `
138
+ span[flowbiteIndicator]
139
+ `,
140
+ exportAs: 'flowbiteIndicator',
141
+ hostDirectives: [],
142
+ providers: [provideFlowbiteIndicatorState()],
143
+ host: { '[class]': `theme().host.root` },
188
144
  }]
189
145
  }] });
190
146
 
191
- /**
192
- * Default theme for `IndicatorComponent`
193
- */
194
- const indicatorTheme = createTheme({
195
- root: {
196
- base: 'inline-flex items-center justify-center shrink-0 font-bold',
197
- hasBorder: {
198
- enabled: 'border-2',
199
- disabled: '',
200
- },
201
- color: {
202
- dark: 'bg-gray-900 dark:bg-gray-700 border-white dark:border-gray-800 text-white',
203
- primary: 'bg-primary-500 border-white dark:border-gray-800 text-white',
204
- gray: 'bg-gray-200 border-white dark:border-gray-800 text-gray-900',
205
- blue: 'bg-blue-600 border-white dark:border-gray-800 text-white',
206
- green: 'bg-green-500 border-white dark:border-gray-800 text-white',
207
- red: 'bg-red-500 border-white dark:border-gray-800 text-white',
208
- purple: 'bg-purple-500 border-white dark:border-gray-800 text-white',
209
- indigo: 'bg-indigo-500 border-white dark:border-gray-800 text-white',
210
- yellow: 'bg-yellow-300 border-white dark:border-gray-800 text-gray-900',
211
- teal: 'bg-teal-500 border-white dark:border-gray-800 text-white',
212
- },
213
- isDisabled: {
214
- enabled: 'opacity-50',
215
- disabled: '',
216
- },
217
- hasOffset: {
218
- 'top-left': '-translate-x-1/3 -translate-y-1/3',
219
- 'top-center': '-translate-y-1/3',
220
- 'top-right': 'translate-x-1/3 -translate-y-1/3',
221
- 'center-left': '-translate-x-1/3',
222
- center: '',
223
- 'center-right': 'translate-x-1/3',
224
- 'bottom-left': '-translate-x-1/3 translate-y-1/3',
225
- 'bottom-center': 'translate-y-1/3',
226
- 'bottom-right': 'translate-x-1/3 translate-y-1/3',
227
- },
228
- placement: {
229
- 'top-left': 'top-0 left-0',
230
- 'top-center': 'top-0 left-1/2 -translate-x-1/2',
231
- 'top-right': 'top-0 right-0',
232
- 'center-left': 'top-1/2 -translate-y-1/2 left-0',
233
- center: 'top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2',
234
- 'center-right': 'top-1/2 -translate-y-1/2 right-0',
235
- 'bottom-left': 'bottom-0 left-0',
236
- 'bottom-center': 'bottom-0 left-1/2 -translate-x-1/2',
237
- 'bottom-right': 'bottom-0 right-0',
238
- },
239
- isOutline: {
240
- enabled: '',
241
- disabled: '',
242
- },
243
- isPill: {
244
- enabled: '',
245
- disabled: '',
246
- },
247
- isRounded: {
248
- enabled: 'rounded',
249
- disabled: 'rounded-full',
250
- },
251
- size: {
252
- xs: 'w-2 h-2 text-xs',
253
- sm: 'w-2.5 h-2.5 text-sm',
254
- md: 'w-3 h-3 text-sm',
255
- lg: 'w-3.5 h-3.5 text-sm',
256
- xl: 'w-6 h-6 text-sm',
257
- },
258
- },
259
- });
147
+ /* Indicator */
260
148
 
261
149
  /**
262
150
  * Generated bundle index. Do not edit.
263
151
  */
264
152
 
265
- export { FLOWBITE_INDICATOR_COLOR_DEFAULT_VALUE, FLOWBITE_INDICATOR_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_INDICATOR_HAS_BORDER_DEFAULT_VALUE, FLOWBITE_INDICATOR_HAS_OFFSET_DEFAULT_VALUE, FLOWBITE_INDICATOR_IS_DISABLED_DEFAULT_VALUE, FLOWBITE_INDICATOR_IS_OUTLINE_DEFAULT_VALUE, FLOWBITE_INDICATOR_IS_PILL_DEFAULT_VALUE, FLOWBITE_INDICATOR_IS_ROUNDED_DEFAULT_VALUE, FLOWBITE_INDICATOR_PLACEMENT_DEFAULT_VALUE, FLOWBITE_INDICATOR_SIZE_DEFAULT_VALUE, FLOWBITE_INDICATOR_THEME_TOKEN, IndicatorComponent, IndicatorThemeService, indicatorDefaultValueProvider, indicatorTheme };
153
+ export { FlowbiteIndicatorConfigToken, FlowbiteIndicatorStateToken, Indicator, defaultFlowbiteIndicatorConfig, flowbiteIndicatorState, flowbiteIndicatorTheme, injectFlowbiteIndicatorConfig, injectFlowbiteIndicatorState, provideFlowbiteIndicatorConfig, provideFlowbiteIndicatorState };
266
154
  //# sourceMappingURL=flowbite-angular-indicator.mjs.map