flowbite-angular 0.0.2 → 1.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/{esm2020 → esm2022}/flowbite-angular.mjs +2 -2
  2. package/esm2022/lib/common/flowbite.theme.init.mjs +318 -0
  3. package/esm2022/lib/common/index.mjs +3 -0
  4. package/esm2022/lib/common/type-definitions/colors/flowbite.colors.mjs +2 -0
  5. package/esm2022/lib/common/type-definitions/colors/flowbite.gradient-colors.mjs +2 -0
  6. package/esm2022/lib/common/type-definitions/colors/flowbite.gradient-duo-tone-colors.mjs +2 -0
  7. package/esm2022/lib/common/type-definitions/colors/index.mjs +2 -0
  8. package/esm2022/lib/common/type-definitions/flowbite.boolean.mjs +2 -0
  9. package/esm2022/lib/common/type-definitions/flowbite.class.mjs +2 -0
  10. package/esm2022/lib/common/type-definitions/flowbite.combination.mjs +5 -0
  11. package/esm2022/lib/common/type-definitions/flowbite.content-positions.mjs +2 -0
  12. package/esm2022/lib/common/type-definitions/flowbite.deep-partial.mjs +2 -0
  13. package/esm2022/lib/common/type-definitions/flowbite.heading-levels.mjs +2 -0
  14. package/esm2022/lib/common/type-definitions/flowbite.positions.mjs +2 -0
  15. package/esm2022/lib/common/type-definitions/flowbite.router-link-parameter.mjs +2 -0
  16. package/esm2022/lib/common/type-definitions/flowbite.sizes.mjs +2 -0
  17. package/esm2022/lib/common/type-definitions/flowbite.themes.mjs +2 -0
  18. package/esm2022/lib/common/type-definitions/index.mjs +2 -0
  19. package/esm2022/lib/components/accordion/accordion-content.component.mjs +46 -0
  20. package/esm2022/lib/components/accordion/accordion-content.theme.mjs +19 -0
  21. package/esm2022/lib/components/accordion/accordion-content.theme.service.mjs +17 -0
  22. package/esm2022/lib/components/accordion/accordion-panel.component.mjs +57 -0
  23. package/esm2022/lib/components/accordion/accordion-panel.theme.mjs +7 -0
  24. package/esm2022/lib/components/accordion/accordion-panel.theme.service.mjs +17 -0
  25. package/esm2022/lib/components/accordion/accordion-title.component.mjs +70 -0
  26. package/esm2022/lib/components/accordion/accordion-title.theme.mjs +26 -0
  27. package/esm2022/lib/components/accordion/accordion-title.theme.service.mjs +18 -0
  28. package/esm2022/lib/components/accordion/accordion.component.mjs +49 -0
  29. package/esm2022/lib/components/accordion/accordion.theme.mjs +19 -0
  30. package/esm2022/lib/components/accordion/accordion.theme.service.mjs +17 -0
  31. package/esm2022/lib/components/accordion/index.mjs +13 -0
  32. package/esm2022/lib/components/alert/alert.component.mjs +95 -0
  33. package/esm2022/lib/components/alert/alert.theme.mjs +34 -0
  34. package/esm2022/lib/components/alert/alert.theme.service.mjs +18 -0
  35. package/esm2022/lib/components/alert/index.mjs +4 -0
  36. package/esm2022/lib/components/badge/badge.component.mjs +47 -0
  37. package/esm2022/lib/components/badge/badge.theme.mjs +34 -0
  38. package/esm2022/lib/components/badge/badge.theme.service.mjs +19 -0
  39. package/esm2022/lib/components/badge/index.mjs +4 -0
  40. package/esm2022/lib/components/base-component.directive.mjs +34 -0
  41. package/esm2022/lib/components/breadcrumb/breadcrumb-item.component.mjs +57 -0
  42. package/esm2022/lib/components/breadcrumb/breadcrumb-item.theme.mjs +18 -0
  43. package/esm2022/lib/components/breadcrumb/breadcrumb-item.theme.service.mjs +18 -0
  44. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +46 -0
  45. package/esm2022/lib/components/breadcrumb/breadcrumb.theme.mjs +7 -0
  46. package/esm2022/lib/components/breadcrumb/breadcrumb.theme.service.mjs +17 -0
  47. package/esm2022/lib/components/breadcrumb/index.mjs +7 -0
  48. package/esm2022/lib/components/button/button.component.mjs +81 -0
  49. package/esm2022/lib/components/button/button.theme.mjs +113 -0
  50. package/esm2022/lib/components/button/button.theme.service.mjs +24 -0
  51. package/esm2022/lib/components/button/index.mjs +4 -0
  52. package/esm2022/lib/components/dark-theme-toggle/dark-theme-toggle.component.mjs +76 -0
  53. package/esm2022/lib/components/dark-theme-toggle/dark-theme-toggle.theme.mjs +7 -0
  54. package/esm2022/lib/components/dark-theme-toggle/dark-theme-toggle.theme.service.mjs +17 -0
  55. package/esm2022/lib/components/dark-theme-toggle/index.mjs +4 -0
  56. package/esm2022/lib/components/dropdown/dropdown-divider.component.mjs +34 -0
  57. package/esm2022/lib/components/dropdown/dropdown-divider.theme.mjs +7 -0
  58. package/esm2022/lib/components/dropdown/dropdown-divider.theme.service.mjs +17 -0
  59. package/esm2022/lib/components/dropdown/dropdown-header.component.mjs +44 -0
  60. package/esm2022/lib/components/dropdown/dropdown-header.theme.mjs +10 -0
  61. package/esm2022/lib/components/dropdown/dropdown-header.theme.service.mjs +18 -0
  62. package/esm2022/lib/components/dropdown/dropdown-item.component.mjs +34 -0
  63. package/esm2022/lib/components/dropdown/dropdown-item.theme.mjs +6 -0
  64. package/esm2022/lib/components/dropdown/dropdown-item.theme.service.mjs +17 -0
  65. package/esm2022/lib/components/dropdown/dropdown.component.mjs +149 -0
  66. package/esm2022/lib/components/dropdown/dropdown.theme.mjs +32 -0
  67. package/esm2022/lib/components/dropdown/dropdown.theme.service.mjs +22 -0
  68. package/esm2022/lib/components/dropdown/index.mjs +13 -0
  69. package/esm2022/lib/components/form-field/directives/addon.directive.mjs +32 -0
  70. package/esm2022/lib/components/form-field/directives/addon.directive.theme.mjs +8 -0
  71. package/esm2022/lib/components/form-field/directives/addon.directive.theme.service.mjs +17 -0
  72. package/esm2022/lib/components/form-field/directives/base-input.directive.mjs +26 -0
  73. package/esm2022/lib/components/form-field/directives/helper.directive.mjs +34 -0
  74. package/esm2022/lib/components/form-field/directives/helper.directive.theme.mjs +12 -0
  75. package/esm2022/lib/components/form-field/directives/helper.directive.theme.service.mjs +17 -0
  76. package/esm2022/lib/components/form-field/directives/icon.directive.mjs +32 -0
  77. package/esm2022/lib/components/form-field/directives/icon.directive.theme.mjs +8 -0
  78. package/esm2022/lib/components/form-field/directives/icon.directive.theme.service.mjs +17 -0
  79. package/esm2022/lib/components/form-field/directives/index.mjs +17 -0
  80. package/esm2022/lib/components/form-field/directives/input.directive.mjs +41 -0
  81. package/esm2022/lib/components/form-field/directives/input.directive.theme.mjs +79 -0
  82. package/esm2022/lib/components/form-field/directives/input.directive.theme.service.mjs +32 -0
  83. package/esm2022/lib/components/form-field/directives/label.directive.mjs +41 -0
  84. package/esm2022/lib/components/form-field/directives/label.directive.theme.mjs +51 -0
  85. package/esm2022/lib/components/form-field/directives/label.directive.theme.service.mjs +23 -0
  86. package/esm2022/lib/components/form-field/form-field.component.mjs +40 -0
  87. package/esm2022/lib/components/form-field/form-field.theme.mjs +8 -0
  88. package/esm2022/lib/components/form-field/form-field.theme.service.mjs +17 -0
  89. package/esm2022/lib/components/form-field/index.mjs +5 -0
  90. package/esm2022/lib/components/icon/icon-registry.mjs +159 -0
  91. package/esm2022/lib/components/icon/icon.component.mjs +67 -0
  92. package/esm2022/lib/components/icon/index.mjs +4 -0
  93. package/esm2022/lib/components/icon/trusted-types.mjs +21 -0
  94. package/esm2022/lib/components/index.mjs +16 -0
  95. package/esm2022/lib/components/indicators/index.mjs +4 -0
  96. package/esm2022/lib/components/indicators/indicators.component.mjs +54 -0
  97. package/esm2022/lib/components/indicators/indicators.theme.mjs +68 -0
  98. package/esm2022/lib/components/indicators/indicators.theme.service.mjs +19 -0
  99. package/esm2022/lib/components/modal/index.mjs +13 -0
  100. package/esm2022/lib/components/modal/modal-body.component.mjs +34 -0
  101. package/esm2022/lib/components/modal/modal-body.theme.mjs +7 -0
  102. package/esm2022/lib/components/modal/modal-body.theme.service.mjs +17 -0
  103. package/esm2022/lib/components/modal/modal-footer.component.mjs +34 -0
  104. package/esm2022/lib/components/modal/modal-footer.theme.mjs +7 -0
  105. package/esm2022/lib/components/modal/modal-footer.theme.service.mjs +17 -0
  106. package/esm2022/lib/components/modal/modal-header.component.mjs +66 -0
  107. package/esm2022/lib/components/modal/modal-header.theme.mjs +13 -0
  108. package/esm2022/lib/components/modal/modal-header.theme.service.mjs +19 -0
  109. package/esm2022/lib/components/modal/modal.component.mjs +142 -0
  110. package/esm2022/lib/components/modal/modal.theme.mjs +33 -0
  111. package/esm2022/lib/components/modal/modal.theme.service.mjs +20 -0
  112. package/esm2022/lib/components/navbar/index.mjs +19 -0
  113. package/esm2022/lib/components/navbar/navbar-brand.component.mjs +34 -0
  114. package/esm2022/lib/components/navbar/navbar-brand.theme.mjs +7 -0
  115. package/esm2022/lib/components/navbar/navbar-brand.theme.service.mjs +17 -0
  116. package/esm2022/lib/components/navbar/navbar-content.component.mjs +45 -0
  117. package/esm2022/lib/components/navbar/navbar-content.theme.mjs +14 -0
  118. package/esm2022/lib/components/navbar/navbar-content.theme.service.mjs +18 -0
  119. package/esm2022/lib/components/navbar/navbar-icon-button.component.mjs +42 -0
  120. package/esm2022/lib/components/navbar/navbar-icon-button.theme.mjs +15 -0
  121. package/esm2022/lib/components/navbar/navbar-icon-button.theme.service.mjs +17 -0
  122. package/esm2022/lib/components/navbar/navbar-item.component.mjs +49 -0
  123. package/esm2022/lib/components/navbar/navbar-item.theme.mjs +11 -0
  124. package/esm2022/lib/components/navbar/navbar-item.theme.service.mjs +17 -0
  125. package/esm2022/lib/components/navbar/navbar-toggle.component.mjs +50 -0
  126. package/esm2022/lib/components/navbar/navbar-toggle.theme.mjs +7 -0
  127. package/esm2022/lib/components/navbar/navbar-toggle.theme.service.mjs +17 -0
  128. package/esm2022/lib/components/navbar/navbar.component.mjs +62 -0
  129. package/esm2022/lib/components/navbar/navbar.theme.mjs +23 -0
  130. package/esm2022/lib/components/navbar/navbar.theme.service.mjs +17 -0
  131. package/esm2022/lib/components/scroll-top/index.mjs +4 -0
  132. package/esm2022/lib/components/scroll-top/scroll-top.component.mjs +50 -0
  133. package/esm2022/lib/components/scroll-top/scroll-top.theme.mjs +27 -0
  134. package/esm2022/lib/components/scroll-top/scroll-top.theme.service.mjs +17 -0
  135. package/esm2022/lib/components/sidebar/index.mjs +19 -0
  136. package/esm2022/lib/components/sidebar/sidebar-item-group.component.mjs +81 -0
  137. package/esm2022/lib/components/sidebar/sidebar-item-group.theme.mjs +18 -0
  138. package/esm2022/lib/components/sidebar/sidebar-item-group.theme.service.mjs +18 -0
  139. package/esm2022/lib/components/sidebar/sidebar-item.component.mjs +77 -0
  140. package/esm2022/lib/components/sidebar/sidebar-item.theme.mjs +18 -0
  141. package/esm2022/lib/components/sidebar/sidebar-item.theme.service.mjs +18 -0
  142. package/esm2022/lib/components/sidebar/sidebar-menu.component.mjs +49 -0
  143. package/esm2022/lib/components/sidebar/sidebar-menu.theme.mjs +24 -0
  144. package/esm2022/lib/components/sidebar/sidebar-menu.theme.service.mjs +17 -0
  145. package/esm2022/lib/components/sidebar/sidebar-page-content.component.mjs +36 -0
  146. package/esm2022/lib/components/sidebar/sidebar-page-content.theme.mjs +12 -0
  147. package/esm2022/lib/components/sidebar/sidebar-page-content.theme.service.mjs +17 -0
  148. package/esm2022/lib/components/sidebar/sidebar-toggle.component.mjs +53 -0
  149. package/esm2022/lib/components/sidebar/sidebar-toggle.theme.mjs +18 -0
  150. package/esm2022/lib/components/sidebar/sidebar-toggle.theme.service.mjs +17 -0
  151. package/esm2022/lib/components/sidebar/sidebar.component.mjs +61 -0
  152. package/esm2022/lib/components/sidebar/sidebar.theme.mjs +11 -0
  153. package/esm2022/lib/components/sidebar/sidebar.theme.service.mjs +17 -0
  154. package/esm2022/lib/directives/flowbite-router-link-active.directive.mjs +51 -0
  155. package/esm2022/lib/directives/flowbite-router-link.directive.mjs +44 -0
  156. package/esm2022/lib/directives/index.mjs +3 -0
  157. package/esm2022/lib/pipes/index.mjs +2 -0
  158. package/esm2022/lib/pipes/sanitize-html/sanitize-html.pipe.mjs +32 -0
  159. package/esm2022/lib/services/flowbite.theme.service.mjs +16 -0
  160. package/{esm2020 → esm2022}/lib/services/index.mjs +2 -3
  161. package/esm2022/lib/utils/boolean.util.mjs +10 -0
  162. package/esm2022/lib/utils/directives/index.mjs +3 -0
  163. package/esm2022/lib/utils/directives/inputs/index.mjs +3 -0
  164. package/esm2022/lib/utils/directives/inputs/router-link-active.input.mjs +8 -0
  165. package/esm2022/lib/utils/directives/inputs/router-link.inputs.mjs +20 -0
  166. package/esm2022/lib/utils/directives/outputs/index.mjs +3 -0
  167. package/esm2022/lib/utils/directives/outputs/router-link-active.output.mjs +8 -0
  168. package/esm2022/lib/utils/directives/outputs/router-link.output.mjs +8 -0
  169. package/esm2022/lib/utils/icon.list.mjs +39 -0
  170. package/esm2022/lib/utils/id.generator.mjs +81 -0
  171. package/esm2022/lib/utils/index.mjs +9 -0
  172. package/esm2022/lib/utils/theme/clone-deep.mjs +18 -0
  173. package/esm2022/lib/utils/theme/create-class.mjs +10 -0
  174. package/esm2022/lib/utils/theme/create-theme.mjs +10 -0
  175. package/esm2022/lib/utils/theme/is-object.mjs +10 -0
  176. package/esm2022/lib/utils/theme/merge-theme.mjs +29 -0
  177. package/esm2022/lib/utils/theme/to-string.mjs +10 -0
  178. package/esm2022/public-api.mjs +7 -0
  179. package/fesm2022/flowbite-angular.mjs +4228 -0
  180. package/fesm2022/flowbite-angular.mjs.map +1 -0
  181. package/index.d.ts +5 -4
  182. package/lib/common/flowbite.theme.init.d.ts +9 -0
  183. package/lib/common/index.d.ts +2 -0
  184. package/lib/common/type-definitions/colors/flowbite.colors.d.ts +19 -0
  185. package/lib/common/type-definitions/colors/flowbite.gradient-colors.d.ts +11 -0
  186. package/lib/common/type-definitions/colors/flowbite.gradient-duo-tone-colors.d.ts +12 -0
  187. package/lib/common/type-definitions/colors/index.d.ts +3 -0
  188. package/lib/common/type-definitions/flowbite.boolean.d.ts +7 -0
  189. package/lib/common/type-definitions/flowbite.class.d.ts +6 -0
  190. package/lib/common/type-definitions/flowbite.combination.d.ts +8 -0
  191. package/lib/common/type-definitions/flowbite.content-positions.d.ts +6 -0
  192. package/lib/common/type-definitions/flowbite.deep-partial.d.ts +6 -0
  193. package/lib/common/type-definitions/flowbite.heading-levels.d.ts +4 -0
  194. package/lib/common/type-definitions/flowbite.positions.d.ts +14 -0
  195. package/lib/common/type-definitions/flowbite.router-link-parameter.d.ts +5 -0
  196. package/lib/common/type-definitions/flowbite.sizes.d.ts +10 -0
  197. package/lib/common/type-definitions/flowbite.themes.d.ts +4 -0
  198. package/lib/common/type-definitions/index.d.ts +11 -0
  199. package/lib/components/accordion/accordion-content.component.d.ts +32 -0
  200. package/lib/components/accordion/accordion-content.theme.d.ts +16 -0
  201. package/lib/components/accordion/accordion-content.theme.service.d.ts +8 -0
  202. package/lib/components/accordion/accordion-panel.component.d.ts +27 -0
  203. package/lib/components/accordion/accordion-panel.theme.d.ts +11 -0
  204. package/lib/components/accordion/accordion-panel.theme.service.d.ts +9 -0
  205. package/lib/components/accordion/accordion-title.component.d.ts +46 -0
  206. package/lib/components/accordion/accordion-title.theme.d.ts +24 -0
  207. package/lib/components/accordion/accordion-title.theme.service.d.ts +8 -0
  208. package/lib/components/accordion/accordion.component.d.ts +35 -0
  209. package/lib/components/accordion/accordion.theme.d.ts +21 -0
  210. package/lib/components/accordion/accordion.theme.service.d.ts +8 -0
  211. package/lib/components/accordion/index.d.ts +16 -0
  212. package/lib/components/alert/alert.component.d.ts +53 -12
  213. package/lib/components/alert/alert.theme.d.ts +27 -0
  214. package/lib/components/alert/alert.theme.service.d.ts +8 -0
  215. package/lib/components/alert/index.d.ts +4 -1
  216. package/lib/components/badge/badge.component.d.ts +50 -10
  217. package/lib/components/badge/badge.theme.d.ts +32 -0
  218. package/lib/components/badge/badge.theme.service.d.ts +8 -0
  219. package/lib/components/badge/index.d.ts +4 -1
  220. package/lib/components/base-component.directive.d.ts +19 -0
  221. package/lib/components/breadcrumb/breadcrumb-item.component.d.ts +39 -0
  222. package/lib/components/breadcrumb/breadcrumb-item.theme.d.ts +22 -0
  223. package/lib/components/breadcrumb/breadcrumb-item.theme.service.d.ts +8 -0
  224. package/lib/components/breadcrumb/breadcrumb.component.d.ts +22 -0
  225. package/lib/components/breadcrumb/breadcrumb.theme.d.ts +14 -0
  226. package/lib/components/breadcrumb/breadcrumb.theme.service.d.ts +8 -0
  227. package/lib/components/breadcrumb/index.d.ts +8 -0
  228. package/lib/components/button/button.component.d.ts +110 -0
  229. package/lib/components/button/button.theme.d.ts +56 -0
  230. package/lib/components/button/button.theme.service.d.ts +8 -0
  231. package/lib/components/button/index.d.ts +4 -0
  232. package/lib/components/dark-theme-toggle/dark-theme-toggle.component.d.ts +21 -9
  233. package/lib/components/dark-theme-toggle/dark-theme-toggle.theme.d.ts +11 -0
  234. package/lib/components/dark-theme-toggle/dark-theme-toggle.theme.service.d.ts +8 -0
  235. package/lib/components/dark-theme-toggle/index.d.ts +4 -1
  236. package/lib/components/dropdown/dropdown-divider.component.d.ts +13 -0
  237. package/lib/components/dropdown/dropdown-divider.theme.d.ts +11 -0
  238. package/lib/components/dropdown/dropdown-divider.theme.service.d.ts +8 -0
  239. package/lib/components/dropdown/dropdown-header.component.d.ts +13 -0
  240. package/lib/components/dropdown/dropdown-header.theme.d.ts +16 -0
  241. package/lib/components/dropdown/dropdown-header.theme.service.d.ts +8 -0
  242. package/lib/components/dropdown/dropdown-item.component.d.ts +17 -0
  243. package/lib/components/dropdown/dropdown-item.theme.d.ts +11 -0
  244. package/lib/components/dropdown/dropdown-item.theme.service.d.ts +8 -0
  245. package/lib/components/dropdown/dropdown.component.d.ts +71 -0
  246. package/lib/components/dropdown/dropdown.theme.d.ts +44 -0
  247. package/lib/components/dropdown/dropdown.theme.service.d.ts +8 -0
  248. package/lib/components/dropdown/index.d.ts +16 -0
  249. package/lib/components/form-field/directives/addon.directive.d.ts +13 -0
  250. package/lib/components/form-field/directives/addon.directive.theme.d.ts +10 -0
  251. package/lib/components/form-field/directives/addon.directive.theme.service.d.ts +8 -0
  252. package/lib/components/form-field/directives/base-input.directive.d.ts +14 -0
  253. package/lib/components/form-field/directives/helper.directive.d.ts +18 -0
  254. package/lib/components/form-field/directives/helper.directive.theme.d.ts +13 -0
  255. package/lib/components/form-field/directives/helper.directive.theme.service.d.ts +8 -0
  256. package/lib/components/form-field/directives/icon.directive.d.ts +13 -0
  257. package/lib/components/form-field/directives/icon.directive.theme.d.ts +10 -0
  258. package/lib/components/form-field/directives/icon.directive.theme.service.d.ts +8 -0
  259. package/lib/components/form-field/directives/index.d.ts +21 -0
  260. package/lib/components/form-field/directives/input.directive.d.ts +100 -0
  261. package/lib/components/form-field/directives/input.directive.theme.d.ts +24 -0
  262. package/lib/components/form-field/directives/input.directive.theme.service.d.ts +8 -0
  263. package/lib/components/form-field/directives/label.directive.d.ts +62 -0
  264. package/lib/components/form-field/directives/label.directive.theme.d.ts +20 -0
  265. package/lib/components/form-field/directives/label.directive.theme.service.d.ts +8 -0
  266. package/lib/components/form-field/form-field.component.d.ts +20 -0
  267. package/lib/components/form-field/form-field.theme.d.ts +45 -0
  268. package/lib/components/form-field/form-field.theme.service.d.ts +8 -0
  269. package/lib/components/form-field/index.d.ts +5 -0
  270. package/lib/components/icon/icon-registry.d.ts +45 -0
  271. package/lib/components/icon/icon.component.d.ts +22 -0
  272. package/lib/components/icon/index.d.ts +5 -0
  273. package/lib/components/icon/trusted-types.d.ts +15 -0
  274. package/lib/components/index.d.ts +10 -0
  275. package/lib/components/indicators/index.d.ts +4 -0
  276. package/lib/components/indicators/indicators.component.d.ts +92 -0
  277. package/lib/components/indicators/indicators.theme.d.ts +43 -0
  278. package/lib/components/indicators/indicators.theme.service.d.ts +8 -0
  279. package/lib/components/modal/index.d.ts +16 -0
  280. package/lib/components/modal/modal-body.component.d.ts +17 -0
  281. package/lib/components/modal/modal-body.theme.d.ts +11 -0
  282. package/lib/components/modal/modal-body.theme.service.d.ts +8 -0
  283. package/lib/components/modal/modal-footer.component.d.ts +17 -0
  284. package/lib/components/modal/modal-footer.theme.d.ts +11 -0
  285. package/lib/components/modal/modal-footer.theme.service.d.ts +8 -0
  286. package/lib/components/modal/modal-header.component.d.ts +29 -0
  287. package/lib/components/modal/modal-header.theme.d.ts +20 -0
  288. package/lib/components/modal/modal-header.theme.service.d.ts +8 -0
  289. package/lib/components/modal/modal.component.d.ts +73 -0
  290. package/lib/components/modal/modal.theme.d.ts +39 -0
  291. package/lib/components/modal/modal.theme.service.d.ts +8 -0
  292. package/lib/components/navbar/index.d.ts +24 -1
  293. package/lib/components/navbar/navbar-brand.component.d.ts +17 -0
  294. package/lib/components/navbar/navbar-brand.theme.d.ts +11 -0
  295. package/lib/components/navbar/navbar-brand.theme.service.d.ts +8 -0
  296. package/lib/components/navbar/navbar-content.component.d.ts +27 -0
  297. package/lib/components/navbar/navbar-content.theme.d.ts +18 -0
  298. package/lib/components/navbar/navbar-content.theme.service.d.ts +8 -0
  299. package/lib/components/navbar/navbar-icon-button.component.d.ts +27 -0
  300. package/lib/components/navbar/navbar-icon-button.theme.d.ts +14 -0
  301. package/lib/components/navbar/navbar-icon-button.theme.service.d.ts +8 -0
  302. package/lib/components/navbar/navbar-item.component.d.ts +29 -0
  303. package/lib/components/navbar/navbar-item.theme.d.ts +15 -0
  304. package/lib/components/navbar/navbar-item.theme.service.d.ts +8 -0
  305. package/lib/components/navbar/navbar-toggle.component.d.ts +23 -0
  306. package/lib/components/navbar/navbar-toggle.theme.d.ts +11 -0
  307. package/lib/components/navbar/navbar-toggle.theme.service.d.ts +8 -0
  308. package/lib/components/navbar/navbar.component.d.ts +45 -6
  309. package/lib/components/navbar/navbar.theme.d.ts +24 -0
  310. package/lib/components/navbar/navbar.theme.service.d.ts +8 -0
  311. package/lib/components/scroll-top/index.d.ts +4 -0
  312. package/lib/components/scroll-top/scroll-top.component.d.ts +46 -0
  313. package/lib/components/scroll-top/scroll-top.theme.d.ts +21 -0
  314. package/lib/components/scroll-top/scroll-top.theme.service.d.ts +8 -0
  315. package/lib/components/sidebar/index.d.ts +24 -3
  316. package/lib/components/sidebar/sidebar-item-group.component.d.ts +41 -2
  317. package/lib/components/sidebar/sidebar-item-group.theme.d.ts +19 -0
  318. package/lib/components/sidebar/sidebar-item-group.theme.service.d.ts +8 -0
  319. package/lib/components/sidebar/sidebar-item.component.d.ts +38 -8
  320. package/lib/components/sidebar/sidebar-item.theme.d.ts +22 -0
  321. package/lib/components/sidebar/sidebar-item.theme.service.d.ts +8 -0
  322. package/lib/components/sidebar/sidebar-menu.component.d.ts +43 -0
  323. package/lib/components/sidebar/sidebar-menu.theme.d.ts +18 -0
  324. package/lib/components/sidebar/sidebar-menu.theme.service.d.ts +8 -0
  325. package/lib/components/sidebar/sidebar-page-content.component.d.ts +22 -0
  326. package/lib/components/sidebar/sidebar-page-content.theme.d.ts +15 -0
  327. package/lib/components/sidebar/sidebar-page-content.theme.service.d.ts +8 -0
  328. package/lib/components/sidebar/sidebar-toggle.component.d.ts +40 -0
  329. package/lib/components/sidebar/sidebar-toggle.theme.d.ts +19 -0
  330. package/lib/components/sidebar/sidebar-toggle.theme.service.d.ts +8 -0
  331. package/lib/components/sidebar/sidebar.component.d.ts +30 -7
  332. package/lib/components/sidebar/sidebar.theme.d.ts +25 -0
  333. package/lib/components/sidebar/sidebar.theme.service.d.ts +8 -0
  334. package/lib/directives/flowbite-router-link-active.directive.d.ts +25 -0
  335. package/lib/directives/flowbite-router-link.directive.d.ts +16 -0
  336. package/lib/directives/index.d.ts +2 -0
  337. package/lib/pipes/index.d.ts +1 -1
  338. package/lib/pipes/sanitize-html/sanitize-html.pipe.d.ts +14 -4
  339. package/lib/services/flowbite.theme.service.d.ts +10 -0
  340. package/lib/services/index.d.ts +1 -2
  341. package/lib/utils/boolean.util.d.ts +8 -0
  342. package/lib/utils/directives/index.d.ts +2 -0
  343. package/lib/utils/directives/inputs/index.d.ts +2 -0
  344. package/lib/utils/directives/inputs/router-link-active.input.d.ts +8 -0
  345. package/lib/utils/directives/inputs/router-link.inputs.d.ts +8 -0
  346. package/lib/utils/directives/outputs/index.d.ts +2 -0
  347. package/lib/utils/directives/outputs/router-link-active.output.d.ts +8 -0
  348. package/lib/utils/directives/outputs/router-link.output.d.ts +8 -0
  349. package/lib/utils/icon.list.d.ts +7 -0
  350. package/lib/utils/id.generator.d.ts +59 -0
  351. package/lib/utils/index.d.ts +8 -0
  352. package/lib/utils/theme/clone-deep.d.ts +7 -0
  353. package/lib/utils/theme/create-class.d.ts +7 -0
  354. package/lib/utils/theme/create-theme.d.ts +7 -0
  355. package/lib/utils/theme/is-object.d.ts +7 -0
  356. package/lib/utils/theme/merge-theme.d.ts +8 -0
  357. package/lib/utils/theme/to-string.d.ts +7 -0
  358. package/package.json +25 -39
  359. package/public-api.d.ts +6 -0
  360. package/LICENSE +0 -21
  361. package/README.md +0 -376
  362. package/esm2020/index.mjs +0 -5
  363. package/esm2020/lib/components/alert/alert.component.mjs +0 -128
  364. package/esm2020/lib/components/alert/index.mjs +0 -2
  365. package/esm2020/lib/components/badge/badge.component.mjs +0 -77
  366. package/esm2020/lib/components/badge/index.mjs +0 -2
  367. package/esm2020/lib/components/dark-theme-toggle/dark-theme-toggle.component.mjs +0 -122
  368. package/esm2020/lib/components/dark-theme-toggle/index.mjs +0 -2
  369. package/esm2020/lib/components/index.mjs +0 -6
  370. package/esm2020/lib/components/navbar/index.mjs +0 -2
  371. package/esm2020/lib/components/navbar/navbar.component.mjs +0 -49
  372. package/esm2020/lib/components/sidebar/index.mjs +0 -4
  373. package/esm2020/lib/components/sidebar/sidebar-item-group.component.mjs +0 -18
  374. package/esm2020/lib/components/sidebar/sidebar-item.component.mjs +0 -73
  375. package/esm2020/lib/components/sidebar/sidebar.component.mjs +0 -50
  376. package/esm2020/lib/flowbite.module.mjs +0 -45
  377. package/esm2020/lib/pipes/index.mjs +0 -2
  378. package/esm2020/lib/pipes/sanitize-html/sanitize-html.pipe.mjs +0 -21
  379. package/esm2020/lib/services/sidebar/index.mjs +0 -2
  380. package/esm2020/lib/services/sidebar/sidebar.service.mjs +0 -24
  381. package/esm2020/lib/services/theme/index.mjs +0 -2
  382. package/esm2020/lib/services/theme/theme.service.mjs +0 -24
  383. package/fesm2015/flowbite-angular.mjs +0 -600
  384. package/fesm2015/flowbite-angular.mjs.map +0 -1
  385. package/fesm2020/flowbite-angular.mjs +0 -599
  386. package/fesm2020/flowbite-angular.mjs.map +0 -1
  387. package/flowbite-angular.d.ts +0 -5
  388. package/lib/flowbite.module.d.ts +0 -16
  389. package/lib/services/sidebar/index.d.ts +0 -1
  390. package/lib/services/sidebar/sidebar.service.d.ts +0 -9
  391. package/lib/services/theme/index.d.ts +0 -1
  392. package/lib/services/theme/theme.service.d.ts +0 -10
  393. /package/{esm2020 → esm2022}/lib/pipes/sanitize-html/index.mjs +0 -0
@@ -0,0 +1,51 @@
1
+ import { createTheme } from '../../../utils/theme/create-theme';
2
+ export const labelDirectiveTheme = createTheme({
3
+ base: 'block mb-2 text-sm font-medium',
4
+ default: 'text-gray-900 dark:text-white',
5
+ validation: {
6
+ success: 'text-green-700 dark:text-green-500',
7
+ error: 'text-red-700 dark:text-red-500',
8
+ },
9
+ floatingLabel: {
10
+ standard: {
11
+ base: 'absolute text-sm duration-300 transform -translate-y-6 scale-75 top-3 -z-10 origin-[0] peer-focus:left-0 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-6',
12
+ default: 'text-gray-500 dark:text-gray-400 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
13
+ disabled: {
14
+ enabled: 'text-gray-400 dark:text-gray-500 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
15
+ disabled: '',
16
+ },
17
+ validation: {
18
+ success: 'text-green-600 dark:text-green-500',
19
+ error: 'text-red-600 dark:text-red-500',
20
+ },
21
+ },
22
+ outline: {
23
+ base: 'absolute text-sm duration-300 transform -translate-y-4 scale-75 top-2 z-10 origin-[0] px-2 peer-focus:px-2 peer-placeholder-shown:scale-100 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-2 peer-focus:scale-75 peer-focus:-translate-y-4 left-1',
24
+ default: 'text-gray-500 dark:text-gray-400 bg-white dark:bg-gray-900 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
25
+ disabled: {
26
+ enabled: 'text-gray-400 dark:text-gray-500 bg-white dark:bg-gray-900 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
27
+ disabled: '',
28
+ },
29
+ validation: {
30
+ success: 'text-green-600 dark:text-green-500 bg-white dark:bg-gray-900',
31
+ error: 'text-red-600 dark:text-red-500 bg-white dark:bg-gray-900',
32
+ },
33
+ },
34
+ fill: {
35
+ base: 'absolute text-sm duration-300 transform -translate-y-4 scale-75 top-4 z-10 origin-[0] left-2.5 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-4',
36
+ default: 'text-gray-500 dark:text-gray-400 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
37
+ disabled: {
38
+ enabled: 'text-gray-400 dark:text-gray-500 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
39
+ disabled: '',
40
+ },
41
+ validation: {
42
+ success: 'text-green-600 dark:text-green-500',
43
+ error: 'text-red-600 dark:text-red-500',
44
+ },
45
+ },
46
+ },
47
+ });
48
+ export const labelDirectiveClassInstance = {
49
+ rootClass: '',
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuZGlyZWN0aXZlLnRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mbG93Yml0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2RpcmVjdGl2ZXMvbGFiZWwuZGlyZWN0aXZlLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQXFCaEUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTRCLFdBQVcsQ0FBQztJQUN0RSxJQUFJLEVBQUUsZ0NBQWdDO0lBQ3RDLE9BQU8sRUFBRSwrQkFBK0I7SUFDeEMsVUFBVSxFQUFFO1FBQ1YsT0FBTyxFQUFFLG9DQUFvQztRQUM3QyxLQUFLLEVBQUUsZ0NBQWdDO0tBQ3hDO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLDhOQUE4TjtZQUNwTyxPQUFPLEVBQ0wseUZBQXlGO1lBQzNGLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQ0wseUZBQXlGO2dCQUMzRixRQUFRLEVBQUUsRUFBRTthQUNiO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxvQ0FBb0M7Z0JBQzdDLEtBQUssRUFBRSxnQ0FBZ0M7YUFDeEM7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSwwUkFBMFI7WUFDaFMsT0FBTyxFQUNMLG1IQUFtSDtZQUNySCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUNMLG1IQUFtSDtnQkFDckgsUUFBUSxFQUFFLEVBQUU7YUFDYjtZQUNELFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsOERBQThEO2dCQUN2RSxLQUFLLEVBQUUsMERBQTBEO2FBQ2xFO1NBQ0Y7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsb05BQW9OO1lBQzFOLE9BQU8sRUFDTCx5RkFBeUY7WUFDM0YsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFDTCx5RkFBeUY7Z0JBQzNGLFFBQVEsRUFBRSxFQUFFO2FBQ2I7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLG9DQUFvQztnQkFDN0MsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFJSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBd0I7SUFDOUQsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IEZsb3diaXRlQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90eXBlLWRlZmluaXRpb25zL2Zsb3diaXRlLmJvb2xlYW4nO1xuaW1wb3J0IHR5cGUgeyBGbG93Yml0ZUNsYXNzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3R5cGUtZGVmaW5pdGlvbnMvZmxvd2JpdGUuY2xhc3MnO1xuaW1wb3J0IHsgY3JlYXRlVGhlbWUgfSBmcm9tICcuLi8uLi8uLi91dGlscy90aGVtZS9jcmVhdGUtdGhlbWUnO1xuaW1wb3J0IHR5cGUgeyBGb3JtRmllbGRGbG9hdGluZ0xhYmVsVHlwZXMsIEZvcm1GaWVsZFZhbGlkYXRpb25zIH0gZnJvbSAnLi4vZm9ybS1maWVsZC50aGVtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFiZWxEaXJlY3RpdmVQcm9wZXJ0aWVzIHtcbiAgZGlzYWJsZWQ6IGtleW9mIEZsb3diaXRlQm9vbGVhbjtcbiAgdmFsaWRhdGU/OiBrZXlvZiBGb3JtRmllbGRWYWxpZGF0aW9ucztcbiAgZmxvYXRpbmdMYWJlbFR5cGU/OiBrZXlvZiBGb3JtRmllbGRGbG9hdGluZ0xhYmVsVHlwZXM7XG4gIGN1c3RvbVN0eWxlOiBEZWVwUGFydGlhbDxMYWJlbERpcmVjdGl2ZUJhc2VUaGVtZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFiZWxEaXJlY3RpdmVCYXNlVGhlbWUge1xuICBiYXNlOiBzdHJpbmc7XG4gIGRlZmF1bHQ6IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBGbG93Yml0ZUJvb2xlYW47XG4gIHZhbGlkYXRpb246IEZvcm1GaWVsZFZhbGlkYXRpb25zO1xuICBmbG9hdGluZ0xhYmVsOiBSZWNvcmQ8XG4gICAga2V5b2YgRm9ybUZpZWxkRmxvYXRpbmdMYWJlbFR5cGVzLFxuICAgIE9taXQ8TGFiZWxEaXJlY3RpdmVCYXNlVGhlbWUsICdmbG9hdGluZ0xhYmVsJz5cbiAgPjtcbn1cblxuZXhwb3J0IGNvbnN0IGxhYmVsRGlyZWN0aXZlVGhlbWU6IExhYmVsRGlyZWN0aXZlQmFzZVRoZW1lID0gY3JlYXRlVGhlbWUoe1xuICBiYXNlOiAnYmxvY2sgbWItMiB0ZXh0LXNtIGZvbnQtbWVkaXVtJyxcbiAgZGVmYXVsdDogJ3RleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlJyxcbiAgdmFsaWRhdGlvbjoge1xuICAgIHN1Y2Nlc3M6ICd0ZXh0LWdyZWVuLTcwMCBkYXJrOnRleHQtZ3JlZW4tNTAwJyxcbiAgICBlcnJvcjogJ3RleHQtcmVkLTcwMCBkYXJrOnRleHQtcmVkLTUwMCcsXG4gIH0sXG4gIGZsb2F0aW5nTGFiZWw6IHtcbiAgICBzdGFuZGFyZDoge1xuICAgICAgYmFzZTogJ2Fic29sdXRlIHRleHQtc20gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSAtdHJhbnNsYXRlLXktNiBzY2FsZS03NSB0b3AtMyAtei0xMCBvcmlnaW4tWzBdIHBlZXItZm9jdXM6bGVmdC0wIHBlZXItcGxhY2Vob2xkZXItc2hvd246c2NhbGUtMTAwIHBlZXItcGxhY2Vob2xkZXItc2hvd246dHJhbnNsYXRlLXktMCBwZWVyLWZvY3VzOnNjYWxlLTc1IHBlZXItZm9jdXM6LXRyYW5zbGF0ZS15LTYnLFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgJ3RleHQtZ3JheS01MDAgZGFyazp0ZXh0LWdyYXktNDAwIHBlZXItZm9jdXM6dGV4dC1ibHVlLTYwMCBwZWVyLWZvY3VzOmRhcms6dGV4dC1ibHVlLTUwMCcsXG4gICAgICBkaXNhYmxlZDoge1xuICAgICAgICBlbmFibGVkOlxuICAgICAgICAgICd0ZXh0LWdyYXktNDAwIGRhcms6dGV4dC1ncmF5LTUwMCBwZWVyLWZvY3VzOnRleHQtYmx1ZS02MDAgcGVlci1mb2N1czpkYXJrOnRleHQtYmx1ZS01MDAnLFxuICAgICAgICBkaXNhYmxlZDogJycsXG4gICAgICB9LFxuICAgICAgdmFsaWRhdGlvbjoge1xuICAgICAgICBzdWNjZXNzOiAndGV4dC1ncmVlbi02MDAgZGFyazp0ZXh0LWdyZWVuLTUwMCcsXG4gICAgICAgIGVycm9yOiAndGV4dC1yZWQtNjAwIGRhcms6dGV4dC1yZWQtNTAwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvdXRsaW5lOiB7XG4gICAgICBiYXNlOiAnYWJzb2x1dGUgdGV4dC1zbSBkdXJhdGlvbi0zMDAgdHJhbnNmb3JtIC10cmFuc2xhdGUteS00IHNjYWxlLTc1IHRvcC0yIHotMTAgb3JpZ2luLVswXSBweC0yIHBlZXItZm9jdXM6cHgtMiBwZWVyLXBsYWNlaG9sZGVyLXNob3duOnNjYWxlLTEwMCBwZWVyLXBsYWNlaG9sZGVyLXNob3duOi10cmFuc2xhdGUteS0xLzIgcGVlci1wbGFjZWhvbGRlci1zaG93bjp0b3AtMS8yIHBlZXItZm9jdXM6dG9wLTIgcGVlci1mb2N1czpzY2FsZS03NSBwZWVyLWZvY3VzOi10cmFuc2xhdGUteS00IGxlZnQtMScsXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAndGV4dC1ncmF5LTUwMCBkYXJrOnRleHQtZ3JheS00MDAgYmctd2hpdGUgZGFyazpiZy1ncmF5LTkwMCBwZWVyLWZvY3VzOnRleHQtYmx1ZS02MDAgcGVlci1mb2N1czpkYXJrOnRleHQtYmx1ZS01MDAnLFxuICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgZW5hYmxlZDpcbiAgICAgICAgICAndGV4dC1ncmF5LTQwMCBkYXJrOnRleHQtZ3JheS01MDAgYmctd2hpdGUgZGFyazpiZy1ncmF5LTkwMCBwZWVyLWZvY3VzOnRleHQtYmx1ZS02MDAgcGVlci1mb2N1czpkYXJrOnRleHQtYmx1ZS01MDAnLFxuICAgICAgICBkaXNhYmxlZDogJycsXG4gICAgICB9LFxuICAgICAgdmFsaWRhdGlvbjoge1xuICAgICAgICBzdWNjZXNzOiAndGV4dC1ncmVlbi02MDAgZGFyazp0ZXh0LWdyZWVuLTUwMCBiZy13aGl0ZSBkYXJrOmJnLWdyYXktOTAwJyxcbiAgICAgICAgZXJyb3I6ICd0ZXh0LXJlZC02MDAgZGFyazp0ZXh0LXJlZC01MDAgYmctd2hpdGUgZGFyazpiZy1ncmF5LTkwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZmlsbDoge1xuICAgICAgYmFzZTogJ2Fic29sdXRlIHRleHQtc20gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSAtdHJhbnNsYXRlLXktNCBzY2FsZS03NSB0b3AtNCB6LTEwIG9yaWdpbi1bMF0gbGVmdC0yLjUgcGVlci1wbGFjZWhvbGRlci1zaG93bjpzY2FsZS0xMDAgcGVlci1wbGFjZWhvbGRlci1zaG93bjp0cmFuc2xhdGUteS0wIHBlZXItZm9jdXM6c2NhbGUtNzUgcGVlci1mb2N1czotdHJhbnNsYXRlLXktNCcsXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAndGV4dC1ncmF5LTUwMCBkYXJrOnRleHQtZ3JheS00MDAgcGVlci1mb2N1czp0ZXh0LWJsdWUtNjAwIHBlZXItZm9jdXM6ZGFyazp0ZXh0LWJsdWUtNTAwJyxcbiAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgIGVuYWJsZWQ6XG4gICAgICAgICAgJ3RleHQtZ3JheS00MDAgZGFyazp0ZXh0LWdyYXktNTAwIHBlZXItZm9jdXM6dGV4dC1ibHVlLTYwMCBwZWVyLWZvY3VzOmRhcms6dGV4dC1ibHVlLTUwMCcsXG4gICAgICAgIGRpc2FibGVkOiAnJyxcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0aW9uOiB7XG4gICAgICAgIHN1Y2Nlc3M6ICd0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNTAwJyxcbiAgICAgICAgZXJyb3I6ICd0ZXh0LXJlZC02MDAgZGFyazp0ZXh0LXJlZC01MDAnLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufSk7XG5cbmV4cG9ydCB0eXBlIExhYmVsRGlyZWN0aXZlQ2xhc3MgPSBGbG93Yml0ZUNsYXNzO1xuXG5leHBvcnQgY29uc3QgbGFiZWxEaXJlY3RpdmVDbGFzc0luc3RhbmNlOiBMYWJlbERpcmVjdGl2ZUNsYXNzID0ge1xuICByb290Q2xhc3M6ICcnLFxufTtcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { mergeTheme } from '../../../utils/theme/merge-theme';
2
+ import { inject, InjectionToken } from '@angular/core';
3
+ import { twMerge } from 'tailwind-merge';
4
+ export const FLOWBITE_DIRECTIVE_LABEL_THEME_TOKEN = new InjectionToken('FLOWBITE_DIRECTIVE_LABEL_THEME_TOKEN');
5
+ export class LabelDirectiveThemeService {
6
+ constructor() {
7
+ this.baseTheme = inject(FLOWBITE_DIRECTIVE_LABEL_THEME_TOKEN);
8
+ }
9
+ getClasses(properties) {
10
+ const theme = mergeTheme(this.baseTheme, properties.customStyle);
11
+ const output = {
12
+ rootClass: twMerge(properties.floatingLabelType && theme.floatingLabel[properties.floatingLabelType].base, properties.floatingLabelType &&
13
+ properties.validate &&
14
+ theme.floatingLabel[properties.floatingLabelType].validation[properties.validate], properties.floatingLabelType &&
15
+ !properties.validate &&
16
+ theme.floatingLabel[properties.floatingLabelType].default, !properties.floatingLabelType && theme.base, !properties.floatingLabelType &&
17
+ properties.validate &&
18
+ theme.validation[properties.validate], !properties.floatingLabelType && !properties.validate && theme.default),
19
+ };
20
+ return output;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuZGlyZWN0aXZlLnRoZW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZGlyZWN0aXZlcy9sYWJlbC5kaXJlY3RpdmUudGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFPOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLElBQUksY0FBYyxDQUNwRSxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sT0FBTywwQkFBMEI7SUFBdkM7UUFDbUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBeUI1RSxDQUFDO0lBdkJRLFVBQVUsQ0FBQyxVQUFvQztRQUNwRCxNQUFNLEtBQUssR0FBNEIsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFGLE1BQU0sTUFBTSxHQUF3QjtZQUNsQyxTQUFTLEVBQUUsT0FBTyxDQUNoQixVQUFVLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLEVBQ3RGLFVBQVUsQ0FBQyxpQkFBaUI7Z0JBQzFCLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQ25GLFVBQVUsQ0FBQyxpQkFBaUI7Z0JBQzFCLENBQUMsVUFBVSxDQUFDLFFBQVE7Z0JBQ3BCLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxFQUUzRCxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUMzQyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUI7Z0JBQzNCLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFDdkMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQ3ZFO1NBQ0YsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxvd2JpdGVUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBtZXJnZVRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdGhlbWUvbWVyZ2UtdGhlbWUnO1xuaW1wb3J0IHR5cGUge1xuICBMYWJlbERpcmVjdGl2ZUJhc2VUaGVtZSxcbiAgTGFiZWxEaXJlY3RpdmVDbGFzcyxcbiAgTGFiZWxEaXJlY3RpdmVQcm9wZXJ0aWVzLFxufSBmcm9tICcuL2xhYmVsLmRpcmVjdGl2ZS50aGVtZSc7XG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSc7XG5cbmV4cG9ydCBjb25zdCBGTE9XQklURV9ESVJFQ1RJVkVfTEFCRUxfVEhFTUVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TGFiZWxEaXJlY3RpdmVCYXNlVGhlbWU+KFxuICAnRkxPV0JJVEVfRElSRUNUSVZFX0xBQkVMX1RIRU1FX1RPS0VOJ1xuKTtcblxuZXhwb3J0IGNsYXNzIExhYmVsRGlyZWN0aXZlVGhlbWVTZXJ2aWNlIGltcGxlbWVudHMgRmxvd2JpdGVUaGVtZVNlcnZpY2U8TGFiZWxEaXJlY3RpdmVQcm9wZXJ0aWVzPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZVRoZW1lID0gaW5qZWN0KEZMT1dCSVRFX0RJUkVDVElWRV9MQUJFTF9USEVNRV9UT0tFTik7XG5cbiAgcHVibGljIGdldENsYXNzZXMocHJvcGVydGllczogTGFiZWxEaXJlY3RpdmVQcm9wZXJ0aWVzKTogTGFiZWxEaXJlY3RpdmVDbGFzcyB7XG4gICAgY29uc3QgdGhlbWU6IExhYmVsRGlyZWN0aXZlQmFzZVRoZW1lID0gbWVyZ2VUaGVtZSh0aGlzLmJhc2VUaGVtZSwgcHJvcGVydGllcy5jdXN0b21TdHlsZSk7XG5cbiAgICBjb25zdCBvdXRwdXQ6IExhYmVsRGlyZWN0aXZlQ2xhc3MgPSB7XG4gICAgICByb290Q2xhc3M6IHR3TWVyZ2UoXG4gICAgICAgIHByb3BlcnRpZXMuZmxvYXRpbmdMYWJlbFR5cGUgJiYgdGhlbWUuZmxvYXRpbmdMYWJlbFtwcm9wZXJ0aWVzLmZsb2F0aW5nTGFiZWxUeXBlXS5iYXNlLFxuICAgICAgICBwcm9wZXJ0aWVzLmZsb2F0aW5nTGFiZWxUeXBlICYmXG4gICAgICAgICAgcHJvcGVydGllcy52YWxpZGF0ZSAmJlxuICAgICAgICAgIHRoZW1lLmZsb2F0aW5nTGFiZWxbcHJvcGVydGllcy5mbG9hdGluZ0xhYmVsVHlwZV0udmFsaWRhdGlvbltwcm9wZXJ0aWVzLnZhbGlkYXRlXSxcbiAgICAgICAgcHJvcGVydGllcy5mbG9hdGluZ0xhYmVsVHlwZSAmJlxuICAgICAgICAgICFwcm9wZXJ0aWVzLnZhbGlkYXRlICYmXG4gICAgICAgICAgdGhlbWUuZmxvYXRpbmdMYWJlbFtwcm9wZXJ0aWVzLmZsb2F0aW5nTGFiZWxUeXBlXS5kZWZhdWx0LFxuXG4gICAgICAgICFwcm9wZXJ0aWVzLmZsb2F0aW5nTGFiZWxUeXBlICYmIHRoZW1lLmJhc2UsXG4gICAgICAgICFwcm9wZXJ0aWVzLmZsb2F0aW5nTGFiZWxUeXBlICYmXG4gICAgICAgICAgcHJvcGVydGllcy52YWxpZGF0ZSAmJlxuICAgICAgICAgIHRoZW1lLnZhbGlkYXRpb25bcHJvcGVydGllcy52YWxpZGF0ZV0sXG4gICAgICAgICFwcm9wZXJ0aWVzLmZsb2F0aW5nTGFiZWxUeXBlICYmICFwcm9wZXJ0aWVzLnZhbGlkYXRlICYmIHRoZW1lLmRlZmF1bHRcbiAgICAgICksXG4gICAgfTtcblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { booleanToFlowbiteBoolean } from '../../utils/boolean.util';
2
+ import { BaseComponent } from '../base-component.directive';
3
+ import { FormFieldThemeService } from './form-field.theme.service';
4
+ import { AsyncPipe, NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
5
+ import { Component, inject, model } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ export class FormFieldComponent extends BaseComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.themeService = inject(FormFieldThemeService);
11
+ //#region properties
12
+ this.type = model('text');
13
+ this.size = model('md');
14
+ this.isDisabled = model(false);
15
+ this.validate = model(undefined);
16
+ this.floatingLabelType = model(undefined);
17
+ this.prefix = model(undefined);
18
+ this.customStyle = model({});
19
+ }
20
+ //#endregion
21
+ //#region BaseComponent implementation
22
+ fetchClass() {
23
+ return this.themeService.getClasses({
24
+ type: this.type(),
25
+ floatingLabelType: this.floatingLabelType(),
26
+ size: this.size(),
27
+ disabled: booleanToFlowbiteBoolean(this.isDisabled()),
28
+ validate: this.validate(),
29
+ prefix: this.prefix(),
30
+ customStyle: this.customStyle(),
31
+ });
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: FormFieldComponent, isStandalone: true, selector: "flowbite-form-field", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, validate: { classPropertyName: "validate", publicName: "validate", isSignal: true, isRequired: false, transformFunction: null }, floatingLabelType: { classPropertyName: "floatingLabelType", publicName: "floatingLabelType", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", size: "sizeChange", isDisabled: "isDisabledChange", validate: "validateChange", floatingLabelType: "floatingLabelTypeChange", prefix: "prefixChange", customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"floatingLabelType(); else nonFloatingTemplate\">\n <div\n [ngClass]=\"{\n relative: floatingLabelType(),\n 'z-0': floatingLabelType() === 'standard',\n }\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n</ng-container>\n<ng-template #nonFloatingTemplate>\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n <ng-container *ngIf=\"prefix(); else inputTemplate\">\n <ng-container *ngIf=\"prefix() === 'icon'; else inputWithAddon\">\n <div class=\"relative\">\n <div class=\"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3\">\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #inputWithAddon>\n <div class=\"flex\">\n <ng-container *ngTemplateOutlet=\"addonTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #inputTemplate>\n <ng-content select=\"input[flowbiteInput]\"></ng-content>\n</ng-template>\n<ng-template #labelTemplate>\n <ng-content select=\"label[flowbiteLabel]\"></ng-content>\n</ng-template>\n<ng-template #hintTemplate>\n <ng-content select=\"[flowbiteHelper]\"></ng-content>\n</ng-template>\n<ng-template #iconTemplate>\n <ng-content select=\"[flowbiteIcon]\"></ng-content>\n</ng-template>\n<ng-template #addonTemplate>\n <ng-content select=\"[flowbiteAddon]\"></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormFieldComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ standalone: true, imports: [NgIf, NgClass, AsyncPipe, NgTemplateOutlet], selector: 'flowbite-form-field', template: "<ng-container *ngIf=\"floatingLabelType(); else nonFloatingTemplate\">\n <div\n [ngClass]=\"{\n relative: floatingLabelType(),\n 'z-0': floatingLabelType() === 'standard',\n }\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n</ng-container>\n<ng-template #nonFloatingTemplate>\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n <ng-container *ngIf=\"prefix(); else inputTemplate\">\n <ng-container *ngIf=\"prefix() === 'icon'; else inputWithAddon\">\n <div class=\"relative\">\n <div class=\"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3\">\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #inputWithAddon>\n <div class=\"flex\">\n <ng-container *ngTemplateOutlet=\"addonTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #inputTemplate>\n <ng-content select=\"input[flowbiteInput]\"></ng-content>\n</ng-template>\n<ng-template #labelTemplate>\n <ng-content select=\"label[flowbiteLabel]\"></ng-content>\n</ng-template>\n<ng-template #hintTemplate>\n <ng-content select=\"[flowbiteHelper]\"></ng-content>\n</ng-template>\n<ng-template #iconTemplate>\n <ng-content select=\"[flowbiteIcon]\"></ng-content>\n</ng-template>\n<ng-template #addonTemplate>\n <ng-content select=\"[flowbiteAddon]\"></ng-content>\n</ng-template>\n" }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVF6RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBd0M7SUFOaEY7O1FBT2tCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFN0Qsb0JBQW9CO1FBQ2IsU0FBSSxHQUFHLEtBQUssQ0FBa0MsTUFBTSxDQUFDLENBQUM7UUFDdEQsU0FBSSxHQUFHLEtBQUssQ0FBa0MsSUFBSSxDQUFDLENBQUM7UUFDcEQsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxhQUFRLEdBQUcsS0FBSyxDQUFvRCxTQUFTLENBQUMsQ0FBQztRQUMvRSxzQkFBaUIsR0FBRyxLQUFLLENBQzlCLFNBQVMsQ0FDVixDQUFDO1FBQ0ssV0FBTSxHQUFHLEtBQUssQ0FBaUQsU0FBUyxDQUFDLENBQUM7UUFDMUUsZ0JBQVcsR0FBRyxLQUFLLENBQTZDLEVBQUUsQ0FBQyxDQUFDO0tBZ0I1RTtJQWZDLFlBQVk7SUFFWixzQ0FBc0M7SUFDdEIsVUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQ2xDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixRQUFRLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMUJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDh0Q0NoQi9CLHF6REFnREEsNENEcENZLElBQUksNkZBQUUsT0FBTyxvRkFBYSxnQkFBZ0I7OzJGQUl6QyxrQkFBa0I7a0JBTjlCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsWUFDM0MscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBib29sZWFuVG9GbG93Yml0ZUJvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlscy9ib29sZWFuLnV0aWwnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtY29tcG9uZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSAqIGFzIHByb3BlcnRpZXMgZnJvbSAnLi9mb3JtLWZpZWxkLnRoZW1lJztcbmltcG9ydCB7IEZvcm1GaWVsZFRoZW1lU2VydmljZSB9IGZyb20gJy4vZm9ybS1maWVsZC50aGVtZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzLCBBc3luY1BpcGUsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICBzZWxlY3RvcjogJ2Zsb3diaXRlLWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQ8cHJvcGVydGllcy5Gb3JtRmllbGRDbGFzcz4gaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFRoZW1lU2VydmljZSk7XG5cbiAgLy8jcmVnaW9uIHByb3BlcnRpZXNcbiAgcHVibGljIHR5cGUgPSBtb2RlbDxrZXlvZiBwcm9wZXJ0aWVzLkZvcm1GaWVsZFR5cGVzPigndGV4dCcpO1xuICBwdWJsaWMgc2l6ZSA9IG1vZGVsPGtleW9mIHByb3BlcnRpZXMuRm9ybUZpZWxkU2l6ZXM+KCdtZCcpO1xuICBwdWJsaWMgaXNEaXNhYmxlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHZhbGlkYXRlID0gbW9kZWw8a2V5b2YgcHJvcGVydGllcy5Gb3JtRmllbGRWYWxpZGF0aW9ucyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHVibGljIGZsb2F0aW5nTGFiZWxUeXBlID0gbW9kZWw8a2V5b2YgcHJvcGVydGllcy5Gb3JtRmllbGRGbG9hdGluZ0xhYmVsVHlwZXMgfCB1bmRlZmluZWQ+KFxuICAgIHVuZGVmaW5lZFxuICApO1xuICBwdWJsaWMgcHJlZml4ID0gbW9kZWw8a2V5b2YgcHJvcGVydGllcy5Gb3JtRmllbGRQcmVmaXhlcyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHVibGljIGN1c3RvbVN0eWxlID0gbW9kZWw8RGVlcFBhcnRpYWw8cHJvcGVydGllcy5Gb3JtRmllbGRCYXNlVGhlbWU+Pih7fSk7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBCYXNlQ29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gIHB1YmxpYyBvdmVycmlkZSBmZXRjaENsYXNzKCk6IHByb3BlcnRpZXMuRm9ybUZpZWxkQ2xhc3Mge1xuICAgIHJldHVybiB0aGlzLnRoZW1lU2VydmljZS5nZXRDbGFzc2VzKHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSgpLFxuICAgICAgZmxvYXRpbmdMYWJlbFR5cGU6IHRoaXMuZmxvYXRpbmdMYWJlbFR5cGUoKSxcbiAgICAgIHNpemU6IHRoaXMuc2l6ZSgpLFxuICAgICAgZGlzYWJsZWQ6IGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbih0aGlzLmlzRGlzYWJsZWQoKSksXG4gICAgICB2YWxpZGF0ZTogdGhpcy52YWxpZGF0ZSgpLFxuICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCgpLFxuICAgICAgY3VzdG9tU3R5bGU6IHRoaXMuY3VzdG9tU3R5bGUoKSxcbiAgICB9KTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJmbG9hdGluZ0xhYmVsVHlwZSgpOyBlbHNlIG5vbkZsb2F0aW5nVGVtcGxhdGVcIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIHJlbGF0aXZlOiBmbG9hdGluZ0xhYmVsVHlwZSgpLFxuICAgICAgJ3otMCc6IGZsb2F0aW5nTGFiZWxUeXBlKCkgPT09ICdzdGFuZGFyZCcsXG4gICAgfVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoaW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNub25GbG9hdGluZ1RlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJlZml4KCk7IGVsc2UgaW5wdXRUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmVmaXgoKSA9PT0gJ2ljb24nOyBlbHNlIGlucHV0V2l0aEFkZG9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgaW5zZXQteS0wIGxlZnQtMCBmbGV4IGl0ZW1zLWNlbnRlciBwbC0zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhpbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbnB1dFdpdGhBZGRvbj5cbiAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbnB1dFRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFtmbG93Yml0ZUlucHV0XVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2xhYmVsVGVtcGxhdGU+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsW2Zsb3diaXRlTGFiZWxdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjaGludFRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmxvd2JpdGVIZWxwZXJdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmxvd2JpdGVJY29uXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2FkZG9uVGVtcGxhdGU+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmbG93Yml0ZUFkZG9uXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { createTheme } from '../../utils/theme/create-theme';
2
+ export const formFieldTheme = createTheme({
3
+ base: '',
4
+ });
5
+ export const FormFieldClassInstance = {
6
+ rootClass: '',
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC50aGVtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQStDN0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF1QixXQUFXLENBQUM7SUFDNUQsSUFBSSxFQUFFLEVBQUU7Q0FDVCxDQUFDLENBQUM7QUFJSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBbUI7SUFDcEQsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IEZsb3diaXRlQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvbW1vbi90eXBlLWRlZmluaXRpb25zL2Zsb3diaXRlLmJvb2xlYW4nO1xuaW1wb3J0IHR5cGUgeyBGbG93Yml0ZUNsYXNzIH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGUtZGVmaW5pdGlvbnMvZmxvd2JpdGUuY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBGbG93Yml0ZVNpemVzIH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGUtZGVmaW5pdGlvbnMvZmxvd2JpdGUuc2l6ZXMnO1xuaW1wb3J0IHsgY3JlYXRlVGhlbWUgfSBmcm9tICcuLi8uLi91dGlscy90aGVtZS9jcmVhdGUtdGhlbWUnO1xuXG4vLyNyZWdpb24gQ29tcG9uZW50IHRoZW1lIG9wdGlvblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGRUeXBlcyB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIGZpbGU6IHN0cmluZztcbiAgbnVtYmVyOiBzdHJpbmc7XG4gIHNlYXJjaDogc3RyaW5nO1xuICB0ZWw6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGRGbG9hdGluZ0xhYmVsVHlwZXMge1xuICBzdGFuZGFyZDogc3RyaW5nO1xuICBmaWxsOiBzdHJpbmc7XG4gIG91dGxpbmU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkVmFsaWRhdGlvbnMge1xuICBzdWNjZXNzOiBzdHJpbmc7XG4gIGVycm9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkUHJlZml4ZXMge1xuICBhZGRvbjogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1GaWVsZFNpemVzIGV4dGVuZHMgUGljazxGbG93Yml0ZVNpemVzLCAnc20nIHwgJ21kJyB8ICdsZyc+IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuLy8jZW5kcmVnaW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkUHJvcGVydGllcyB7XG4gIHR5cGU6IGtleW9mIEZvcm1GaWVsZFR5cGVzO1xuICBmbG9hdGluZ0xhYmVsVHlwZT86IGtleW9mIEZvcm1GaWVsZEZsb2F0aW5nTGFiZWxUeXBlcztcbiAgc2l6ZToga2V5b2YgRm9ybUZpZWxkU2l6ZXM7XG4gIGRpc2FibGVkOiBrZXlvZiBGbG93Yml0ZUJvb2xlYW47XG4gIHZhbGlkYXRlPzoga2V5b2YgRm9ybUZpZWxkVmFsaWRhdGlvbnM7XG4gIHByZWZpeD86IGtleW9mIEZvcm1GaWVsZFByZWZpeGVzO1xuICBjdXN0b21TdHlsZTogRGVlcFBhcnRpYWw8Rm9ybUZpZWxkQmFzZVRoZW1lPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGRCYXNlVGhlbWUge1xuICBiYXNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBmb3JtRmllbGRUaGVtZTogRm9ybUZpZWxkQmFzZVRoZW1lID0gY3JlYXRlVGhlbWUoe1xuICBiYXNlOiAnJyxcbn0pO1xuXG5leHBvcnQgdHlwZSBGb3JtRmllbGRDbGFzcyA9IEZsb3diaXRlQ2xhc3M7XG5cbmV4cG9ydCBjb25zdCBGb3JtRmllbGRDbGFzc0luc3RhbmNlOiBGb3JtRmllbGRDbGFzcyA9IHtcbiAgcm9vdENsYXNzOiAnJyxcbn07XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { mergeTheme } from '../../utils/theme/merge-theme';
2
+ import { inject, InjectionToken } from '@angular/core';
3
+ import { twMerge } from 'tailwind-merge';
4
+ export const FLOWBITE_FORM_FIELD_THEME_TOKEN = new InjectionToken('FLOWBITE_FORM_FIELD_THEME_TOKEN');
5
+ export class FormFieldThemeService {
6
+ constructor() {
7
+ this.baseTheme = inject(FLOWBITE_FORM_FIELD_THEME_TOKEN);
8
+ }
9
+ getClasses(properties) {
10
+ const theme = mergeTheme(this.baseTheme, properties.customStyle);
11
+ const output = {
12
+ rootClass: twMerge(theme.base),
13
+ };
14
+ return output;
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC50aGVtZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mbG93Yml0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQudGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLElBQUksY0FBYyxDQUMvRCxpQ0FBaUMsQ0FDbEMsQ0FBQztBQUVGLE1BQU0sT0FBTyxxQkFBcUI7SUFBbEM7UUFDbUIsY0FBUyxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBV3ZFLENBQUM7SUFUUSxVQUFVLENBQUMsVUFBK0I7UUFDL0MsTUFBTSxLQUFLLEdBQXVCLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyRixNQUFNLE1BQU0sR0FBbUI7WUFDN0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1NBQy9CLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZsb3diaXRlVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgbWVyZ2VUaGVtZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RoZW1lL21lcmdlLXRoZW1lJztcbmltcG9ydCB0eXBlIHsgRm9ybUZpZWxkQmFzZVRoZW1lLCBGb3JtRmllbGRDbGFzcywgRm9ybUZpZWxkUHJvcGVydGllcyB9IGZyb20gJy4vZm9ybS1maWVsZC50aGVtZSc7XG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSc7XG5cbmV4cG9ydCBjb25zdCBGTE9XQklURV9GT1JNX0ZJRUxEX1RIRU1FX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEZvcm1GaWVsZEJhc2VUaGVtZT4oXG4gICdGTE9XQklURV9GT1JNX0ZJRUxEX1RIRU1FX1RPS0VOJ1xuKTtcblxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZFRoZW1lU2VydmljZSBpbXBsZW1lbnRzIEZsb3diaXRlVGhlbWVTZXJ2aWNlPEZvcm1GaWVsZFByb3BlcnRpZXM+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlVGhlbWUgPSBpbmplY3QoRkxPV0JJVEVfRk9STV9GSUVMRF9USEVNRV9UT0tFTik7XG5cbiAgcHVibGljIGdldENsYXNzZXMocHJvcGVydGllczogRm9ybUZpZWxkUHJvcGVydGllcyk6IEZvcm1GaWVsZENsYXNzIHtcbiAgICBjb25zdCB0aGVtZTogRm9ybUZpZWxkQmFzZVRoZW1lID0gbWVyZ2VUaGVtZSh0aGlzLmJhc2VUaGVtZSwgcHJvcGVydGllcy5jdXN0b21TdHlsZSk7XG5cbiAgICBjb25zdCBvdXRwdXQ6IEZvcm1GaWVsZENsYXNzID0ge1xuICAgICAgcm9vdENsYXNzOiB0d01lcmdlKHRoZW1lLmJhc2UpLFxuICAgIH07XG5cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './directives';
2
+ export { FormFieldComponent } from './form-field.component';
3
+ export { FormFieldClassInstance, formFieldTheme } from './form-field.theme';
4
+ export { FormFieldThemeService, FLOWBITE_FORM_FIELD_THEME_TOKEN } from './form-field.theme.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFXNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuZXhwb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIEZvcm1GaWVsZFByb3BlcnRpZXMsXG4gIEZvcm1GaWVsZEZsb2F0aW5nTGFiZWxUeXBlcyxcbiAgRm9ybUZpZWxkUHJlZml4ZXMsXG4gIEZvcm1GaWVsZFNpemVzLFxuICBGb3JtRmllbGRUeXBlcyxcbiAgRm9ybUZpZWxkVmFsaWRhdGlvbnMsXG4gIEZvcm1GaWVsZENsYXNzLFxuICBGb3JtRmllbGRCYXNlVGhlbWUsXG59IGZyb20gJy4vZm9ybS1maWVsZC50aGVtZSc7XG5leHBvcnQgeyBGb3JtRmllbGRDbGFzc0luc3RhbmNlLCBmb3JtRmllbGRUaGVtZSB9IGZyb20gJy4vZm9ybS1maWVsZC50aGVtZSc7XG5leHBvcnQgeyBGb3JtRmllbGRUaGVtZVNlcnZpY2UsIEZMT1dCSVRFX0ZPUk1fRklFTERfVEhFTUVfVE9LRU4gfSBmcm9tICcuL2Zvcm0tZmllbGQudGhlbWUuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Thanks to Angular Material for Icon part of this library : https://github.com/angular/components
3
+ */
4
+ import { trustedHTMLFromString } from './trusted-types';
5
+ import { DOCUMENT, isPlatformBrowser } from '@angular/common';
6
+ import { HttpClient } from '@angular/common/http';
7
+ import { inject, Injectable, PLATFORM_ID, SecurityContext } from '@angular/core';
8
+ import { DomSanitizer } from '@angular/platform-browser';
9
+ import { finalize, map, of, share, tap, throwError } from 'rxjs';
10
+ import * as i0 from "@angular/core";
11
+ export function getSvgIconFromNamedError(iconName) {
12
+ return Error(`Unable to find icon with name ${iconName}`);
13
+ }
14
+ export function getSvgIconFailedToSanitizeRawError(raw) {
15
+ return Error(`The raw provided to IconRegistry was not trusted as safe HTML by ANGULAR's DOMSanitizer. Attempted raw was : ${raw}`);
16
+ }
17
+ export function getSvgIconFailedToSanitizeUrlError(url) {
18
+ return Error(`The URL provided to IconRegistry was not trusted as a resource URL via Angular's DOMSanitizer. Attempted URL was : ${url}`);
19
+ }
20
+ export function getSvgIconNoHttpClientProvidedError() {
21
+ return Error(`Could not fid HttpClient provider for use with flowbite-angular icons. Please include the HttpClientModule from @angular/common/http in your app imports`);
22
+ }
23
+ export class SvgIconConfig {
24
+ constructor(url, svgText, options) {
25
+ this.url = url;
26
+ this.svgText = svgText;
27
+ this.options = options;
28
+ this.svgElement = null;
29
+ }
30
+ }
31
+ export class IconRegistry {
32
+ constructor() {
33
+ this.platformId = inject(PLATFORM_ID);
34
+ this._httpClient = inject(HttpClient, { optional: true });
35
+ this._sanitizer = inject(DomSanitizer);
36
+ this._document = inject(DOCUMENT);
37
+ this._svgIconConfig = new Map();
38
+ this._cachedSvgIconByUrl = new Map();
39
+ this._inProgressSvgIconFetch = new Map();
40
+ }
41
+ addSvgIcon(iconName, url, options) {
42
+ return this.addSvgIconInNamespace('', iconName, url, options);
43
+ }
44
+ addRawSvgIcon(iconName, raw, options) {
45
+ return this.addRawSvgIconInNamepsace('', iconName, raw, options);
46
+ }
47
+ addSvgIconInNamespace(namespace, iconName, url, options) {
48
+ return this._addSvgIconConfig(namespace, iconName, new SvgIconConfig(url, undefined, options));
49
+ }
50
+ addRawSvgIconInNamepsace(namespace, iconName, raw, options) {
51
+ const cleanRaw = this._sanitizer.sanitize(SecurityContext.HTML, raw);
52
+ if (!cleanRaw) {
53
+ throw getSvgIconFailedToSanitizeRawError(raw);
54
+ }
55
+ const trustedRaw = trustedHTMLFromString(cleanRaw);
56
+ return this._addSvgIconConfig(namespace, iconName, new SvgIconConfig('', trustedRaw, options));
57
+ }
58
+ getSvgIconFromUrl(safeUrl) {
59
+ const url = this._sanitizer.sanitize(SecurityContext.RESOURCE_URL, safeUrl);
60
+ if (!url) {
61
+ throw getSvgIconFailedToSanitizeUrlError(safeUrl);
62
+ }
63
+ const cachedIcon = this._cachedSvgIconByUrl.get(url);
64
+ if (cachedIcon) {
65
+ return of(cloneSvg(cachedIcon));
66
+ }
67
+ return this._loadSvgIconFromConfig(new SvgIconConfig(safeUrl, undefined));
68
+ }
69
+ getSvgIconFromName(iconName, namespace) {
70
+ const key = iconKey(namespace, iconName);
71
+ const config = this._svgIconConfig.get(key);
72
+ if (config) {
73
+ return this._getSvgIconFromConfig(config);
74
+ }
75
+ return throwError(() => getSvgIconFromNamedError(key));
76
+ }
77
+ ngOnDestroy() {
78
+ this._svgIconConfig.clear();
79
+ this._cachedSvgIconByUrl.clear();
80
+ }
81
+ _addSvgIconConfig(namespace, iconName, config) {
82
+ this._svgIconConfig.set(iconKey(namespace, iconName), config);
83
+ return this;
84
+ }
85
+ _getSvgIconFromConfig(config) {
86
+ if (config.svgText) {
87
+ return of(cloneSvg(this._svgElementFromConfig(config)));
88
+ }
89
+ else {
90
+ return this._loadSvgIconFromConfig(config).pipe(map((svg) => cloneSvg(svg)));
91
+ }
92
+ }
93
+ _loadSvgIconFromConfig(config) {
94
+ return this._fetchIcon(config).pipe(tap((svgText) => (config.svgText = svgText)), map(() => this._svgElementFromConfig(config)));
95
+ }
96
+ _setSvgAttributes(svg, options) {
97
+ svg.setAttribute('fit', '');
98
+ svg.setAttribute('height', '100%');
99
+ svg.setAttribute('width', '100%');
100
+ svg.setAttribute('preserveAspectRatio', 'xMidYMid meet');
101
+ svg.setAttribute('focusable', 'false');
102
+ if (options?.viewBox) {
103
+ svg.setAttribute('viewBox', options.viewBox);
104
+ }
105
+ return svg;
106
+ }
107
+ _svgElementFromConfig(config) {
108
+ if (!config.svgElement) {
109
+ const svg = this._svgElementFromString(config.svgText);
110
+ this._setSvgAttributes(svg, config.options);
111
+ config.svgElement = svg;
112
+ }
113
+ return config.svgElement;
114
+ }
115
+ _svgElementFromString(str) {
116
+ const div = this._document.createElement('div');
117
+ div.innerHTML = str;
118
+ const svg = div.querySelector('svg');
119
+ return svg;
120
+ }
121
+ _fetchIcon(iconConfig) {
122
+ if (isPlatformBrowser(this.platformId)) {
123
+ if (!this._httpClient) {
124
+ throw getSvgIconNoHttpClientProvidedError();
125
+ }
126
+ const url = this._sanitizer.sanitize(SecurityContext.RESOURCE_URL, iconConfig.url);
127
+ if (!url) {
128
+ throw getSvgIconFailedToSanitizeUrlError(iconConfig.url);
129
+ }
130
+ const inProgressFetch = this._inProgressSvgIconFetch.get(url);
131
+ if (inProgressFetch) {
132
+ return inProgressFetch;
133
+ }
134
+ const req = this._httpClient.get(url, { responseType: 'text' }).pipe(map((svg) => {
135
+ return trustedHTMLFromString(svg);
136
+ }), finalize(() => this._inProgressSvgIconFetch.delete(url)), share());
137
+ this._inProgressSvgIconFetch.set(url, req);
138
+ return req;
139
+ }
140
+ else {
141
+ return of(trustedHTMLFromString('<svg></svg>'));
142
+ }
143
+ }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
145
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IconRegistry, providedIn: 'root' }); }
146
+ }
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IconRegistry, decorators: [{
148
+ type: Injectable,
149
+ args: [{
150
+ providedIn: 'root',
151
+ }]
152
+ }] });
153
+ function cloneSvg(svg) {
154
+ return svg.cloneNode(true);
155
+ }
156
+ function iconKey(namespace, iconName) {
157
+ return `${namespace}:${iconName}`;
158
+ }
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxZQUFZLEVBQXdCLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFtQixNQUFNLE1BQU0sQ0FBQzs7QUFFbEYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFFBQWdCO0lBQ3ZELE9BQU8sS0FBSyxDQUFDLGlDQUFpQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLFVBQVUsa0NBQWtDLENBQUMsR0FBYTtJQUM5RCxPQUFPLEtBQUssQ0FDVixnSEFBZ0gsR0FBYSxFQUFFLENBQ2hJLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLEdBQW9CO0lBQ3JFLE9BQU8sS0FBSyxDQUNWLHNIQUFzSCxHQUFhLEVBQUUsQ0FDdEksQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsbUNBQW1DO0lBQ2pELE9BQU8sS0FBSyxDQUNWLDBKQUEwSixDQUMzSixDQUFDO0FBQ0osQ0FBQztBQU1ELE1BQU0sT0FBTyxh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LENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUN4RCxLQUFLLEVBQUUsQ0FDUixDQUFDO1lBRUYsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDM0MsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7OEdBbEtVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQXNLRCxTQUFTLFFBQVEsQ0FBQyxHQUFlO0lBQy9CLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWUsQ0FBQztBQUMzQyxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsU0FBaUIsRUFBRSxRQUFnQjtJQUNsRCxPQUFPLEdBQUcsU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoYW5rcyB0byBBbmd1bGFyIE1hdGVyaWFsIGZvciBJY29uIHBhcnQgb2YgdGhpcyBsaWJyYXJ5IDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50c1xuICovXG5cbmltcG9ydCB7IHRydXN0ZWRIVE1MRnJvbVN0cmluZyB9IGZyb20gJy4vdHJ1c3RlZC10eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFRydXN0ZWRIVE1MIH0gZnJvbSAnLi90cnVzdGVkLXR5cGVzJztcblxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgdHlwZSB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCwgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIHR5cGUgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwLCBvZiwgc2hhcmUsIHRhcCwgdGhyb3dFcnJvciwgdHlwZSBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdmdJY29uRnJvbU5hbWVkRXJyb3IoaWNvbk5hbWU6IHN0cmluZyk6IEVycm9yIHtcbiAgcmV0dXJuIEVycm9yKGBVbmFibGUgdG8gZmluZCBpY29uIHdpdGggbmFtZSAke2ljb25OYW1lfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3ZnSWNvbkZhaWxlZFRvU2FuaXRpemVSYXdFcnJvcihyYXc6IFNhZmVIdG1sKTogRXJyb3Ige1xuICByZXR1cm4gRXJyb3IoXG4gICAgYFRoZSByYXcgcHJvdmlkZWQgdG8gSWNvblJlZ2lzdHJ5IHdhcyBub3QgdHJ1c3RlZCBhcyBzYWZlIEhUTUwgYnkgQU5HVUxBUidzIERPTVNhbml0aXplci4gQXR0ZW1wdGVkIHJhdyB3YXMgOiAke3JhdyBhcyBzdHJpbmd9YFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3ZnSWNvbkZhaWxlZFRvU2FuaXRpemVVcmxFcnJvcih1cmw6IFNhZmVSZXNvdXJjZVVybCk6IEVycm9yIHtcbiAgcmV0dXJuIEVycm9yKFxuICAgIGBUaGUgVVJMIHByb3ZpZGVkIHRvIEljb25SZWdpc3RyeSB3YXMgbm90IHRydXN0ZWQgYXMgYSByZXNvdXJjZSBVUkwgdmlhIEFuZ3VsYXIncyBET01TYW5pdGl6ZXIuIEF0dGVtcHRlZCBVUkwgd2FzIDogJHt1cmwgYXMgc3RyaW5nfWBcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN2Z0ljb25Ob0h0dHBDbGllbnRQcm92aWRlZEVycm9yKCk6IEVycm9yIHtcbiAgcmV0dXJuIEVycm9yKFxuICAgIGBDb3VsZCBub3QgZmlkIEh0dHBDbGllbnQgcHJvdmlkZXIgZm9yIHVzZSB3aXRoIGZsb3diaXRlLWFuZ3VsYXIgaWNvbnMuIFBsZWFzZSBpbmNsdWRlIHRoZSBIdHRwQ2xpZW50TW9kdWxlIGZyb20gQGFuZ3VsYXIvY29tbW9uL2h0dHAgaW4geW91ciBhcHAgaW1wb3J0c2BcbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdmdJY29uT3B0aW9ucyB7XG4gIHZpZXdCb3g6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFN2Z0ljb25Db25maWcge1xuICBzdmdFbGVtZW50OiBTVkdFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHVybDogU2FmZVJlc291cmNlVXJsLFxuICAgIHB1YmxpYyBzdmdUZXh0OiBUcnVzdGVkSFRNTCB8IHVuZGVmaW5lZCxcbiAgICBwdWJsaWMgb3B0aW9ucz86IFN2Z0ljb25PcHRpb25zXG4gICkge31cbn1cblxudHlwZSBMb2FkZWRTdmdJY29uQ29uZmlnID0gU3ZnSWNvbkNvbmZpZyAmIHsgc3ZnVGV4dDogVHJ1c3RlZEhUTUwgfTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEljb25SZWdpc3RyeSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcHJpdmF0ZSBfaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIF9zYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gIHByaXZhdGUgX3N2Z0ljb25Db25maWcgPSBuZXcgTWFwPHN0cmluZywgU3ZnSWNvbkNvbmZpZz4oKTtcbiAgcHJpdmF0ZSBfY2FjaGVkU3ZnSWNvbkJ5VXJsID0gbmV3IE1hcDxzdHJpbmcsIFNWR0VsZW1lbnQ+KCk7XG4gIHByaXZhdGUgX2luUHJvZ3Jlc3NTdmdJY29uRmV0Y2ggPSBuZXcgTWFwPHN0cmluZywgT2JzZXJ2YWJsZTxUcnVzdGVkSFRNTD4+KCk7XG5cbiAgcHVibGljIGFkZFN2Z0ljb24oaWNvbk5hbWU6IHN0cmluZywgdXJsOiBTYWZlUmVzb3VyY2VVcmwsIG9wdGlvbnM/OiBTdmdJY29uT3B0aW9ucyk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZFN2Z0ljb25Jbk5hbWVzcGFjZSgnJywgaWNvbk5hbWUsIHVybCwgb3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYWRkUmF3U3ZnSWNvbihpY29uTmFtZTogc3RyaW5nLCByYXc6IFNhZmVIdG1sLCBvcHRpb25zPzogU3ZnSWNvbk9wdGlvbnMpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRSYXdTdmdJY29uSW5OYW1lcHNhY2UoJycsIGljb25OYW1lLCByYXcsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGFkZFN2Z0ljb25Jbk5hbWVzcGFjZShcbiAgICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgICBpY29uTmFtZTogc3RyaW5nLFxuICAgIHVybDogU2FmZVJlc291cmNlVXJsLFxuICAgIG9wdGlvbnM/OiBTdmdJY29uT3B0aW9uc1xuICApOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkU3ZnSWNvbkNvbmZpZyhuYW1lc3BhY2UsIGljb25OYW1lLCBuZXcgU3ZnSWNvbkNvbmZpZyh1cmwsIHVuZGVmaW5lZCwgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFkZFJhd1N2Z0ljb25Jbk5hbWVwc2FjZShcbiAgICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgICBpY29uTmFtZTogc3RyaW5nLFxuICAgIHJhdzogU2FmZUh0bWwsXG4gICAgb3B0aW9ucz86IFN2Z0ljb25PcHRpb25zXG4gICk6IHRoaXMge1xuICAgIGNvbnN0IGNsZWFuUmF3ID0gdGhpcy5fc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCByYXcpO1xuXG4gICAgaWYgKCFjbGVhblJhdykge1xuICAgICAgdGhyb3cgZ2V0U3ZnSWNvbkZhaWxlZFRvU2FuaXRpemVSYXdFcnJvcihyYXcpO1xuICAgIH1cblxuICAgIGNvbnN0IHRydXN0ZWRSYXcgPSB0cnVzdGVkSFRNTEZyb21TdHJpbmcoY2xlYW5SYXcpO1xuICAgIHJldHVybiB0aGlzLl9hZGRTdmdJY29uQ29uZmlnKG5hbWVzcGFjZSwgaWNvbk5hbWUsIG5ldyBTdmdJY29uQ29uZmlnKCcnLCB0cnVzdGVkUmF3LCBvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ZnSWNvbkZyb21Vcmwoc2FmZVVybDogU2FmZVJlc291cmNlVXJsKTogT2JzZXJ2YWJsZTxTVkdFbGVtZW50PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5fc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5SRVNPVVJDRV9VUkwsIHNhZmVVcmwpO1xuXG4gICAgaWYgKCF1cmwpIHtcbiAgICAgIHRocm93IGdldFN2Z0ljb25GYWlsZWRUb1Nhbml0aXplVXJsRXJyb3Ioc2FmZVVybCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVkSWNvbiA9IHRoaXMuX2NhY2hlZFN2Z0ljb25CeVVybC5nZXQodXJsKTtcblxuICAgIGlmIChjYWNoZWRJY29uKSB7XG4gICAgICByZXR1cm4gb2YoY2xvbmVTdmcoY2FjaGVkSWNvbikpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9sb2FkU3ZnSWNvbkZyb21Db25maWcobmV3IFN2Z0ljb25Db25maWcoc2FmZVVybCwgdW5kZWZpbmVkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ZnSWNvbkZyb21OYW1lKGljb25OYW1lOiBzdHJpbmcsIG5hbWVzcGFjZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTVkdFbGVtZW50PiB7XG4gICAgY29uc3Qga2V5ID0gaWNvbktleShuYW1lc3BhY2UsIGljb25OYW1lKTtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLl9zdmdJY29uQ29uZmlnLmdldChrZXkpO1xuXG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgcmV0dXJuIHRoaXMuX2dldFN2Z0ljb25Gcm9tQ29uZmlnKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZ2V0U3ZnSWNvbkZyb21OYW1lZEVycm9yKGtleSkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N2Z0ljb25Db25maWcuY2xlYXIoKTtcbiAgICB0aGlzLl9jYWNoZWRTdmdJY29uQnlVcmwuY2xlYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFN2Z0ljb25Db25maWcobmFtZXNwYWNlOiBzdHJpbmcsIGljb25OYW1lOiBzdHJpbmcsIGNvbmZpZzogU3ZnSWNvbkNvbmZpZyk6IHRoaXMge1xuICAgIHRoaXMuX3N2Z0ljb25Db25maWcuc2V0KGljb25LZXkobmFtZXNwYWNlLCBpY29uTmFtZSksIGNvbmZpZyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX2dldFN2Z0ljb25Gcm9tQ29uZmlnKGNvbmZpZzogU3ZnSWNvbkNvbmZpZyk6IE9ic2VydmFibGU8U1ZHRWxlbWVudD4ge1xuICAgIGlmIChjb25maWcuc3ZnVGV4dCkge1xuICAgICAgcmV0dXJuIG9mKGNsb25lU3ZnKHRoaXMuX3N2Z0VsZW1lbnRGcm9tQ29uZmlnKGNvbmZpZyBhcyBMb2FkZWRTdmdJY29uQ29uZmlnKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5fbG9hZFN2Z0ljb25Gcm9tQ29uZmlnKGNvbmZpZykucGlwZShtYXAoKHN2ZykgPT4gY2xvbmVTdmcoc3ZnKSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRTdmdJY29uRnJvbUNvbmZpZyhjb25maWc6IFN2Z0ljb25Db25maWcpOiBPYnNlcnZhYmxlPFNWR0VsZW1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZmV0Y2hJY29uKGNvbmZpZykucGlwZShcbiAgICAgIHRhcCgoc3ZnVGV4dCkgPT4gKGNvbmZpZy5zdmdUZXh0ID0gc3ZnVGV4dCkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMuX3N2Z0VsZW1lbnRGcm9tQ29uZmlnKGNvbmZpZyBhcyBMb2FkZWRTdmdJY29uQ29uZmlnKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U3ZnQXR0cmlidXRlcyhzdmc6IFNWR0VsZW1lbnQsIG9wdGlvbnM/OiBTdmdJY29uT3B0aW9ucyk6IFNWR0VsZW1lbnQge1xuICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ2ZpdCcsICcnKTtcbiAgICBzdmcuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnMTAwJScpO1xuICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgJzEwMCUnKTtcbiAgICBzdmcuc2V0QXR0cmlidXRlKCdwcmVzZXJ2ZUFzcGVjdFJhdGlvJywgJ3hNaWRZTWlkIG1lZXQnKTtcbiAgICBzdmcuc2V0QXR0cmlidXRlKCdmb2N1c2FibGUnLCAnZmFsc2UnKTtcblxuICAgIGlmIChvcHRpb25zPy52aWV3Qm94KSB7XG4gICAgICBzdmcuc2V0QXR0cmlidXRlKCd2aWV3Qm94Jywgb3B0aW9ucy52aWV3Qm94KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ZnO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3ZnRWxlbWVudEZyb21Db25maWcoY29uZmlnOiBMb2FkZWRTdmdJY29uQ29uZmlnKTogU1ZHRWxlbWVudCB7XG4gICAgaWYgKCFjb25maWcuc3ZnRWxlbWVudCkge1xuICAgICAgY29uc3Qgc3ZnID0gdGhpcy5fc3ZnRWxlbWVudEZyb21TdHJpbmcoY29uZmlnLnN2Z1RleHQpO1xuXG4gICAgICB0aGlzLl9zZXRTdmdBdHRyaWJ1dGVzKHN2ZywgY29uZmlnLm9wdGlvbnMpO1xuICAgICAgY29uZmlnLnN2Z0VsZW1lbnQgPSBzdmc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpZy5zdmdFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfc3ZnRWxlbWVudEZyb21TdHJpbmcoc3RyOiBUcnVzdGVkSFRNTCk6IFNWR0VsZW1lbnQge1xuICAgIGNvbnN0IGRpdiA9IHRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi5pbm5lckhUTUwgPSBzdHIgYXMgdW5rbm93biBhcyBzdHJpbmc7XG5cbiAgICBjb25zdCBzdmcgPSBkaXYucXVlcnlTZWxlY3Rvcignc3ZnJykgYXMgU1ZHRWxlbWVudDtcblxuICAgIHJldHVybiBzdmc7XG4gIH1cblxuICBwcml2YXRlIF9mZXRjaEljb24oaWNvbkNvbmZpZzogU3ZnSWNvbkNvbmZpZyk6IE9ic2VydmFibGU8VHJ1c3RlZEhUTUw+IHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgaWYgKCF0aGlzLl9odHRwQ2xpZW50KSB7XG4gICAgICAgIHRocm93IGdldFN2Z0ljb25Ob0h0dHBDbGllbnRQcm92aWRlZEVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuUkVTT1VSQ0VfVVJMLCBpY29uQ29uZmlnLnVybCk7XG5cbiAgICAgIGlmICghdXJsKSB7XG4gICAgICAgIHRocm93IGdldFN2Z0ljb25GYWlsZWRUb1Nhbml0aXplVXJsRXJyb3IoaWNvbkNvbmZpZy51cmwpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpblByb2dyZXNzRmV0Y2ggPSB0aGlzLl9pblByb2dyZXNzU3ZnSWNvbkZldGNoLmdldCh1cmwpO1xuXG4gICAgICBpZiAoaW5Qcm9ncmVzc0ZldGNoKSB7XG4gICAgICAgIHJldHVybiBpblByb2dyZXNzRmV0Y2g7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcSA9IHRoaXMuX2h0dHBDbGllbnQuZ2V0KHVybCwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KS5waXBlKFxuICAgICAgICBtYXAoKHN2ZykgPT4ge1xuICAgICAgICAgIHJldHVybiB0cnVzdGVkSFRNTEZyb21TdHJpbmcoc3ZnKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuX2luUHJvZ3Jlc3NTdmdJY29uRmV0Y2guZGVsZXRlKHVybCkpLFxuICAgICAgICBzaGFyZSgpXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9pblByb2dyZXNzU3ZnSWNvbkZldGNoLnNldCh1cmwsIHJlcSk7XG4gICAgICByZXR1cm4gcmVxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YodHJ1c3RlZEhUTUxGcm9tU3RyaW5nKCc8c3ZnPjwvc3ZnPicpKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVTdmcoc3ZnOiBTVkdFbGVtZW50KTogU1ZHRWxlbWVudCB7XG4gIHJldHVybiBzdmcuY2xvbmVOb2RlKHRydWUpIGFzIFNWR0VsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGljb25LZXkobmFtZXNwYWNlOiBzdHJpbmcsIGljb25OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7bmFtZXNwYWNlfToke2ljb25OYW1lfWA7XG59XG4iXX0=
@@ -0,0 +1,67 @@
1
+ import { BaseComponent } from '../base-component.directive';
2
+ import { IconRegistry } from './icon-registry';
3
+ import { Component, effect, ElementRef, inject, model } from '@angular/core';
4
+ import { take } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ export class IconComponent extends BaseComponent {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._elementRef = inject((ElementRef));
10
+ this._iconRegistry = inject(IconRegistry);
11
+ this.svgIcon = model.required();
12
+ }
13
+ init() {
14
+ effect(() => {
15
+ this._updateSvgIcon();
16
+ }, { injector: this.injector });
17
+ }
18
+ fetchClass() {
19
+ return { rootClass: '' };
20
+ }
21
+ _splitIconName(iconName) {
22
+ if (!iconName) {
23
+ return ['', ''];
24
+ }
25
+ const parts = iconName.split(':');
26
+ switch (parts.length) {
27
+ case 1:
28
+ return ['', parts[0]];
29
+ case 2:
30
+ return parts;
31
+ default:
32
+ throw Error(`Invalid icon name: "${iconName}"`);
33
+ }
34
+ }
35
+ _updateSvgIcon() {
36
+ const [namespace, iconName] = this._splitIconName(this.svgIcon());
37
+ this._iconRegistry
38
+ .getSvgIconFromName(iconName, namespace)
39
+ .pipe(take(1))
40
+ .subscribe((svg) => this._setSvgElement(svg));
41
+ }
42
+ _setSvgElement(svg) {
43
+ this._clearSvgElements();
44
+ this._elementRef.nativeElement.appendChild(svg);
45
+ }
46
+ _clearSvgElements() {
47
+ const layoutElement = this._elementRef.nativeElement;
48
+ let childCount = layoutElement.childNodes.length;
49
+ while (childCount--) {
50
+ const child = layoutElement.childNodes[childCount];
51
+ if (child.nodeType !== 1 || child.nodeName.toLowerCase() === 'svg') {
52
+ child.remove();
53
+ }
54
+ }
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: IconComponent, isStandalone: true, selector: "flowbite-icon", inputs: { svgIcon: { classPropertyName: "svgIcon", publicName: "svgIcon", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { svgIcon: "svgIconChange" }, usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IconComponent, decorators: [{
60
+ type: Component,
61
+ args: [{
62
+ selector: 'flowbite-icon',
63
+ standalone: true,
64
+ template: `<ng-content />`,
65
+ }]
66
+ }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU81QixNQUFNLE9BQU8sYUFBYyxTQUFRLGFBQTRCO0lBTC9EOztRQU1TLGdCQUFXLEdBQUcsTUFBTSxDQUEwQixDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBQ3ZFLGtCQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7S0EwRDNDO0lBeERpQixJQUFJO1FBQ2xCLE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFZSxVQUFVO1FBQ3hCLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFnQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLEtBQUssQ0FBQztnQkFDSixPQUF5QixLQUFLLENBQUM7WUFDakM7Z0JBQ0UsTUFBTSxLQUFLLENBQUMsdUJBQXVCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsYUFBYTthQUNmLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7YUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxjQUFjLENBQUMsR0FBZTtRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLGFBQWEsR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDbEUsSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFFakQsT0FBTyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFbkQsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUNuRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQTdEVSxhQUFhO2tHQUFiLGFBQWEsZ1JBRmQsZ0JBQWdCOzsyRkFFZixhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoYW5rcyB0byBBbmd1bGFyIE1hdGVyaWFsIGZvciBJY29uIHBhcnQgb2YgdGhpcyBsaWJyYXJ5IDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50c1xuICovXG5cbmltcG9ydCB0eXBlIHsgRmxvd2JpdGVDbGFzcyB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1jb21wb25lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4vaWNvbi1yZWdpc3RyeSc7XG5cbmltcG9ydCB0eXBlIHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbG93Yml0ZS1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PEZsb3diaXRlQ2xhc3M+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG4gIHB1YmxpYyBfaWNvblJlZ2lzdHJ5ID0gaW5qZWN0KEljb25SZWdpc3RyeSk7XG5cbiAgcHVibGljIHN2Z0ljb24gPSBtb2RlbC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXQoKTogdm9pZCB7XG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVTdmdJY29uKCk7XG4gICAgICB9LFxuICAgICAgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmZXRjaENsYXNzKCk6IEZsb3diaXRlQ2xhc3Mge1xuICAgIHJldHVybiB7IHJvb3RDbGFzczogJycgfTtcbiAgfVxuXG4gIHByaXZhdGUgX3NwbGl0SWNvbk5hbWUoaWNvbk5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10ge1xuICAgIGlmICghaWNvbk5hbWUpIHtcbiAgICAgIHJldHVybiBbJycsICcnXTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJ0cyA9IGljb25OYW1lLnNwbGl0KCc6Jyk7XG4gICAgc3dpdGNoIChwYXJ0cy5sZW5ndGgpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgcmV0dXJuIFsnJywgcGFydHNbMF1dO1xuICAgICAgY2FzZSAyOlxuICAgICAgICByZXR1cm4gPFtzdHJpbmcsIHN0cmluZ10+cGFydHM7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBpY29uIG5hbWU6IFwiJHtpY29uTmFtZX1cImApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVN2Z0ljb24oKSB7XG4gICAgY29uc3QgW25hbWVzcGFjZSwgaWNvbk5hbWVdID0gdGhpcy5fc3BsaXRJY29uTmFtZSh0aGlzLnN2Z0ljb24oKSk7XG5cbiAgICB0aGlzLl9pY29uUmVnaXN0cnlcbiAgICAgIC5nZXRTdmdJY29uRnJvbU5hbWUoaWNvbk5hbWUsIG5hbWVzcGFjZSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChzdmcpID0+IHRoaXMuX3NldFN2Z0VsZW1lbnQoc3ZnKSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRTdmdFbGVtZW50KHN2ZzogU1ZHRWxlbWVudCkge1xuICAgIHRoaXMuX2NsZWFyU3ZnRWxlbWVudHMoKTtcblxuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChzdmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xlYXJTdmdFbGVtZW50cygpIHtcbiAgICBjb25zdCBsYXlvdXRFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBsZXQgY2hpbGRDb3VudCA9IGxheW91dEVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICB3aGlsZSAoY2hpbGRDb3VudC0tKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGxheW91dEVsZW1lbnQuY2hpbGROb2Rlc1tjaGlsZENvdW50XTtcblxuICAgICAgaWYgKGNoaWxkLm5vZGVUeXBlICE9PSAxIHx8IGNoaWxkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzdmcnKSB7XG4gICAgICAgIGNoaWxkLnJlbW92ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export { IconComponent } from './icon.component';
2
+ export { IconRegistry, SvgIconConfig, getSvgIconFailedToSanitizeRawError, getSvgIconFailedToSanitizeUrlError, getSvgIconFromNamedError, getSvgIconNoHttpClientProvidedError, } from './icon-registry';
3
+ export { trustedHTMLFromString } from './trusted-types';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sRUFDTCxZQUFZLEVBQ1osYUFBYSxFQUNiLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsd0JBQXdCLEVBQ3hCLG1DQUFtQyxHQUNwQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUgeyBTdmdJY29uT3B0aW9ucyB9IGZyb20gJy4vaWNvbi1yZWdpc3RyeSc7XG5leHBvcnQge1xuICBJY29uUmVnaXN0cnksXG4gIFN2Z0ljb25Db25maWcsXG4gIGdldFN2Z0ljb25GYWlsZWRUb1Nhbml0aXplUmF3RXJyb3IsXG4gIGdldFN2Z0ljb25GYWlsZWRUb1Nhbml0aXplVXJsRXJyb3IsXG4gIGdldFN2Z0ljb25Gcm9tTmFtZWRFcnJvcixcbiAgZ2V0U3ZnSWNvbk5vSHR0cENsaWVudFByb3ZpZGVkRXJyb3IsXG59IGZyb20gJy4vaWNvbi1yZWdpc3RyeSc7XG5leHBvcnQgdHlwZSB7IFRydXN0ZWRIVE1MLCBUcnVzdGVkVHlwZVBvbGljeSwgVHJ1c3RlZFR5cGVQb2xpY3lGYWN0b3J5IH0gZnJvbSAnLi90cnVzdGVkLXR5cGVzJztcbmV4cG9ydCB7IHRydXN0ZWRIVE1MRnJvbVN0cmluZyB9IGZyb20gJy4vdHJ1c3RlZC10eXBlcyc7XG4iXX0=
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Thanks to Angular Material for Icon part of this library : https://github.com/angular/components
3
+ */
4
+ let policy;
5
+ function getPolicy() {
6
+ if (!policy) {
7
+ if (typeof window !== 'undefined') {
8
+ const tWindow = window;
9
+ if (tWindow.trustedTypes !== undefined) {
10
+ policy = tWindow.trustedTypes.createPolicy('angular#components', {
11
+ createHTML: (s) => s,
12
+ });
13
+ }
14
+ }
15
+ }
16
+ return policy;
17
+ }
18
+ export function trustedHTMLFromString(raw) {
19
+ return getPolicy()?.createHTML(raw) || raw;
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi90cnVzdGVkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBbUJILElBQUksTUFBcUMsQ0FBQztBQUUxQyxTQUFTLFNBQVM7SUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFnRSxDQUFDO1lBRWpGLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFO29CQUMvRCxVQUFVLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQzdCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsR0FBVztJQUMvQyxPQUFPLFNBQVMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSyxHQUE4QixDQUFDO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoYW5rcyB0byBBbmd1bGFyIE1hdGVyaWFsIGZvciBJY29uIHBhcnQgb2YgdGhpcyBsaWJyYXJ5IDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50c1xuICovXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUcnVzdGVkSFRNTCB7XG4gIF9fYnJhbmRfXzogJ1RydXN0ZWRIVE1MJztcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRydXN0ZWRUeXBlUG9saWN5RmFjdG9yeSB7XG4gIGNyZWF0ZVBvbGljeShcbiAgICBwb2xpY3lOYW1lOiBzdHJpbmcsXG4gICAgcG9saWN5T3B0aW9uczoge1xuICAgICAgY3JlYXRlSFRNTD86IChpbnB1dDogc3RyaW5nKSA9PiBzdHJpbmc7XG4gICAgfVxuICApOiBUcnVzdGVkVHlwZVBvbGljeTtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRydXN0ZWRUeXBlUG9saWN5IHtcbiAgY3JlYXRlSFRNTChpbnB1dDogc3RyaW5nKTogVHJ1c3RlZEhUTUw7XG59XG5cbmxldCBwb2xpY3k6IFRydXN0ZWRUeXBlUG9saWN5IHwgdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBnZXRQb2xpY3koKTogVHJ1c3RlZFR5cGVQb2xpY3kgfCB1bmRlZmluZWQge1xuICBpZiAoIXBvbGljeSkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgdFdpbmRvdyA9IHdpbmRvdyBhcyB1bmtub3duIGFzIHsgdHJ1c3RlZFR5cGVzPzogVHJ1c3RlZFR5cGVQb2xpY3lGYWN0b3J5IH07XG5cbiAgICAgIGlmICh0V2luZG93LnRydXN0ZWRUeXBlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBvbGljeSA9IHRXaW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeSgnYW5ndWxhciNjb21wb25lbnRzJywge1xuICAgICAgICAgIGNyZWF0ZUhUTUw6IChzOiBzdHJpbmcpID0+IHMsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwb2xpY3k7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnVzdGVkSFRNTEZyb21TdHJpbmcocmF3OiBzdHJpbmcpOiBUcnVzdGVkSFRNTCB7XG4gIHJldHVybiBnZXRQb2xpY3koKT8uY3JlYXRlSFRNTChyYXcpIHx8IChyYXcgYXMgdW5rbm93biBhcyBUcnVzdGVkSFRNTCk7XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ export * from './accordion';
2
+ export * from './alert';
3
+ export * from './badge';
4
+ export * from './breadcrumb';
5
+ export * from './button';
6
+ export * from './dark-theme-toggle';
7
+ export * from './dropdown';
8
+ export * from './form-field';
9
+ export * from './icon';
10
+ export * from './indicators';
11
+ export * from './modal';
12
+ export * from './navbar';
13
+ export * from './scroll-top';
14
+ export * from './sidebar';
15
+ export { BaseComponent } from './base-component.directive';
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFFMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hbGVydCc7XG5leHBvcnQgKiBmcm9tICcuL2JhZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYic7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL2RhcmstdGhlbWUtdG9nZ2xlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24nO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbic7XG5leHBvcnQgKiBmcm9tICcuL2luZGljYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL25hdmJhcic7XG5leHBvcnQgKiBmcm9tICcuL3Njcm9sbC10b3AnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWRlYmFyJztcblxuZXhwb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnQuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export { IndicatorComponent } from './indicators.component';
2
+ export { indicatorTheme } from './indicators.theme';
3
+ export { FLOWBITE_INDICATOR_THEME_TOKEN, IndicatorThemeService } from './indicators.theme.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2luZGljYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFTNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9pbmRpY2F0b3JzLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIEluZGljYXRvclByb3BlcnRpZXMsXG4gIGluZGljYXRvckNsYXNzLFxuICBJbmRpY2F0b3JDb2xvcnMsXG4gIEluZGljYXRvclRoZW1lLFxuICBJbmRpY2F0b3JQb3NpdGlvbnMsXG4gIEluZGljYXRvclNpemVzLFxufSBmcm9tICcuL2luZGljYXRvcnMudGhlbWUnO1xuZXhwb3J0IHsgaW5kaWNhdG9yVGhlbWUgfSBmcm9tICcuL2luZGljYXRvcnMudGhlbWUnO1xuZXhwb3J0IHsgRkxPV0JJVEVfSU5ESUNBVE9SX1RIRU1FX1RPS0VOLCBJbmRpY2F0b3JUaGVtZVNlcnZpY2UgfSBmcm9tICcuL2luZGljYXRvcnMudGhlbWUuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { booleanToFlowbiteBoolean } from '../../utils/boolean.util';
2
+ import { BaseComponent } from '../base-component.directive';
3
+ import { IndicatorThemeService } from './indicators.theme.service';
4
+ import { NgClass } from '@angular/common';
5
+ import { Component, inject, model } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * @see https://flowbite.com/docs/components/indicators/
9
+ */
10
+ export class IndicatorComponent extends BaseComponent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.themeService = inject(IndicatorThemeService);
14
+ //#region properties
15
+ this.isPill = model(false);
16
+ this.isOutline = model(false);
17
+ this.isDisabled = model(false);
18
+ this.hasOffset = model(false);
19
+ this.isRounded = model(false);
20
+ this.hasBorder = model(false);
21
+ this.color = model('primary');
22
+ this.size = model('md');
23
+ this.placement = model(undefined);
24
+ this.customStyle = model({});
25
+ }
26
+ //#endregion
27
+ //#region BaseComponent implementation
28
+ fetchClass() {
29
+ return this.themeService.getClasses({
30
+ hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),
31
+ color: this.color(),
32
+ isDisabled: booleanToFlowbiteBoolean(this.isDisabled()),
33
+ hasOffset: booleanToFlowbiteBoolean(this.hasOffset()),
34
+ isOutline: booleanToFlowbiteBoolean(this.isOutline()),
35
+ isPill: booleanToFlowbiteBoolean(this.isPill()),
36
+ isRounded: booleanToFlowbiteBoolean(this.isRounded()),
37
+ size: this.size(),
38
+ placement: this.placement(),
39
+ customStyle: this.customStyle(),
40
+ });
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IndicatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", 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 }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: IndicatorComponent, decorators: [{
46
+ type: Component,
47
+ args: [{
48
+ standalone: true,
49
+ imports: [NgClass],
50
+ selector: 'flowbite-indicator',
51
+ template: `<ng-content />`,
52
+ }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaWNhdG9ycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2luZGljYXRvcnMvaW5kaWNhdG9ycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBUTVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpEOztHQUVHO0FBT0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQTZCO0lBTnJFOztRQU9rQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTdELG9CQUFvQjtRQUNiLFdBQU0sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0IsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEMsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLFVBQUssR0FBRyxLQUFLLENBQXdCLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELFNBQUksR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQXVDLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsS0FBSyxDQUE4QixFQUFFLENBQUMsQ0FBQztLQW1CN0Q7SUFsQkMsWUFBWTtJQUVaLHNDQUFzQztJQUN0QixVQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7WUFDbEMsU0FBUyxFQUFFLHdCQUF3QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuQixVQUFVLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZELFNBQVMsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckQsU0FBUyxFQUFFLHdCQUF3QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyRCxNQUFNLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9DLFNBQVMsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E5QlUsa0JBQWtCO2tHQUFsQixrQkFBa0IscXFEQUZuQixnQkFBZ0I7OzJGQUVmLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVlcFBhcnRpYWwgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhblRvRmxvd2JpdGVCb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMvYm9vbGVhbi51dGlsJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWNvbXBvbmVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHR5cGUge1xuICBpbmRpY2F0b3JDbGFzcyxcbiAgSW5kaWNhdG9yQ29sb3JzLFxuICBJbmRpY2F0b3JQb3NpdGlvbnMsXG4gIEluZGljYXRvclNpemVzLFxuICBJbmRpY2F0b3JUaGVtZSxcbn0gZnJvbSAnLi9pbmRpY2F0b3JzLnRoZW1lJztcbmltcG9ydCB7IEluZGljYXRvclRoZW1lU2VydmljZSB9IGZyb20gJy4vaW5kaWNhdG9ycy50aGVtZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vZmxvd2JpdGUuY29tL2RvY3MvY29tcG9uZW50cy9pbmRpY2F0b3JzL1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxuICBzZWxlY3RvcjogJ2Zsb3diaXRlLWluZGljYXRvcicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgLz5gLFxufSlcbmV4cG9ydCBjbGFzcyBJbmRpY2F0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PGluZGljYXRvckNsYXNzPiB7XG4gIHB1YmxpYyByZWFkb25seSB0aGVtZVNlcnZpY2UgPSBpbmplY3QoSW5kaWNhdG9yVGhlbWVTZXJ2aWNlKTtcblxuICAvLyNyZWdpb24gcHJvcGVydGllc1xuICBwdWJsaWMgaXNQaWxsID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgaXNPdXRsaW5lID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgaXNEaXNhYmxlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGhhc09mZnNldCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGlzUm91bmRlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGhhc0JvcmRlciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGNvbG9yID0gbW9kZWw8a2V5b2YgSW5kaWNhdG9yQ29sb3JzPigncHJpbWFyeScpO1xuICBwdWJsaWMgc2l6ZSA9IG1vZGVsPGtleW9mIEluZGljYXRvclNpemVzPignbWQnKTtcbiAgcHVibGljIHBsYWNlbWVudCA9IG1vZGVsPGtleW9mIEluZGljYXRvclBvc2l0aW9ucyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHVibGljIGN1c3RvbVN0eWxlID0gbW9kZWw8RGVlcFBhcnRpYWw8SW5kaWNhdG9yVGhlbWU+Pih7fSk7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBCYXNlQ29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gIHB1YmxpYyBvdmVycmlkZSBmZXRjaENsYXNzKCk6IGluZGljYXRvckNsYXNzIHtcbiAgICByZXR1cm4gdGhpcy50aGVtZVNlcnZpY2UuZ2V0Q2xhc3Nlcyh7XG4gICAgICBoYXNCb3JkZXI6IGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbih0aGlzLmhhc0JvcmRlcigpKSxcbiAgICAgIGNvbG9yOiB0aGlzLmNvbG9yKCksXG4gICAgICBpc0Rpc2FibGVkOiBib29sZWFuVG9GbG93Yml0ZUJvb2xlYW4odGhpcy5pc0Rpc2FibGVkKCkpLFxuICAgICAgaGFzT2Zmc2V0OiBib29sZWFuVG9GbG93Yml0ZUJvb2xlYW4odGhpcy5oYXNPZmZzZXQoKSksXG4gICAgICBpc091dGxpbmU6IGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbih0aGlzLmlzT3V0bGluZSgpKSxcbiAgICAgIGlzUGlsbDogYm9vbGVhblRvRmxvd2JpdGVCb29sZWFuKHRoaXMuaXNQaWxsKCkpLFxuICAgICAgaXNSb3VuZGVkOiBib29sZWFuVG9GbG93Yml0ZUJvb2xlYW4odGhpcy5pc1JvdW5kZWQoKSksXG4gICAgICBzaXplOiB0aGlzLnNpemUoKSxcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQoKSxcbiAgICAgIGN1c3RvbVN0eWxlOiB0aGlzLmN1c3RvbVN0eWxlKCksXG4gICAgfSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=