@govbr-ds/webcomponents 2.0.0-next.63 → 2.0.0-next.65

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 (694) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +1 -1
  2. package/dist/cjs/br-avatar.entry.cjs.js.map +1 -1
  3. package/dist/cjs/br-breadcrumb.cjs.entry.js +113 -61
  4. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +1 -1
  5. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +1 -1
  6. package/dist/cjs/br-button_2.cjs.entry.js +4 -4
  7. package/dist/cjs/br-card.cjs.entry.js +2 -2
  8. package/dist/cjs/br-card.entry.cjs.js.map +1 -1
  9. package/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +1 -1
  10. package/dist/cjs/br-checkbox_3.cjs.entry.js +6 -6
  11. package/dist/cjs/br-checkgroup.cjs.entry.js +2 -2
  12. package/dist/cjs/br-checkgroup.entry.cjs.js.map +1 -1
  13. package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -1
  14. package/dist/cjs/br-collapse_2.cjs.entry.js +4 -4
  15. package/dist/cjs/br-crumb.cjs.entry.js +38 -0
  16. package/dist/cjs/br-crumb.entry.cjs.js.map +1 -0
  17. package/dist/cjs/br-datetime-picker.cjs.entry.js +2 -2
  18. package/dist/cjs/br-datetime-picker.entry.cjs.js.map +1 -1
  19. package/dist/cjs/br-divider.cjs.entry.js +2 -2
  20. package/dist/cjs/br-divider.entry.cjs.js.map +1 -1
  21. package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +1 -1
  22. package/dist/cjs/br-dropdown_2.cjs.entry.js +123 -40
  23. package/dist/cjs/br-footer-category.cjs.entry.js +3 -3
  24. package/dist/cjs/br-footer-category.entry.cjs.js.map +1 -1
  25. package/dist/cjs/br-footer-item.cjs.entry.js +2 -2
  26. package/dist/cjs/br-footer-item.entry.cjs.js.map +1 -1
  27. package/dist/cjs/br-footer-legal.cjs.entry.js +2 -2
  28. package/dist/cjs/br-footer-legal.entry.cjs.js.map +1 -1
  29. package/dist/cjs/br-footer-logo.cjs.entry.js +2 -2
  30. package/dist/cjs/br-footer-logo.entry.cjs.js.map +1 -1
  31. package/dist/cjs/br-footer-social.cjs.entry.js +2 -2
  32. package/dist/cjs/br-footer-social.entry.cjs.js.map +1 -1
  33. package/dist/cjs/br-footer.cjs.entry.js +2 -2
  34. package/dist/cjs/br-footer.entry.cjs.js.map +1 -1
  35. package/dist/cjs/br-header-function.cjs.entry.js +2 -2
  36. package/dist/cjs/br-header-function.entry.cjs.js.map +1 -1
  37. package/dist/cjs/br-header-link.cjs.entry.js +2 -2
  38. package/dist/cjs/br-header-link.entry.cjs.js.map +1 -1
  39. package/dist/cjs/br-header-list.cjs.entry.js +2 -2
  40. package/dist/cjs/br-header-list.entry.cjs.js.map +1 -1
  41. package/dist/cjs/br-header-logo.cjs.entry.js +2 -2
  42. package/dist/cjs/br-header-logo.entry.cjs.js.map +1 -1
  43. package/dist/cjs/br-header.cjs.entry.js +2 -2
  44. package/dist/cjs/br-header.entry.cjs.js.map +1 -1
  45. package/dist/cjs/br-item.cjs.entry.js +2 -2
  46. package/dist/cjs/br-item.entry.cjs.js.map +1 -1
  47. package/dist/cjs/br-loading.cjs.entry.js +2 -2
  48. package/dist/cjs/br-loading.entry.cjs.js.map +1 -1
  49. package/dist/cjs/br-magic-button.cjs.entry.js +2 -2
  50. package/dist/cjs/br-magic-button.entry.cjs.js.map +1 -1
  51. package/dist/cjs/br-menu-header.cjs.entry.js +2 -2
  52. package/dist/cjs/br-menu-header.entry.cjs.js.map +1 -1
  53. package/dist/cjs/br-menu-info.cjs.entry.js +2 -2
  54. package/dist/cjs/br-menu-info.entry.cjs.js.map +1 -1
  55. package/dist/cjs/br-menu-item.cjs.entry.js +3 -3
  56. package/dist/cjs/br-menu-item.entry.cjs.js.map +1 -1
  57. package/dist/cjs/br-menu-link.cjs.entry.js +2 -2
  58. package/dist/cjs/br-menu-link.entry.cjs.js.map +1 -1
  59. package/dist/cjs/br-menu-list.cjs.entry.js +1 -1
  60. package/dist/cjs/br-menu-list.entry.cjs.js.map +1 -1
  61. package/dist/cjs/br-menu-logo.cjs.entry.js +2 -2
  62. package/dist/cjs/br-menu-logo.entry.cjs.js.map +1 -1
  63. package/dist/cjs/br-menu-social.cjs.entry.js +2 -2
  64. package/dist/cjs/br-menu-social.entry.cjs.js.map +1 -1
  65. package/dist/cjs/br-menu.cjs.entry.js +3 -3
  66. package/dist/cjs/br-menu.entry.cjs.js.map +1 -1
  67. package/dist/cjs/br-message.cjs.entry.js +2 -2
  68. package/dist/cjs/br-message.entry.cjs.js.map +1 -1
  69. package/dist/cjs/br-modal.cjs.entry.js +252 -12
  70. package/dist/cjs/br-modal.entry.cjs.js.map +1 -1
  71. package/dist/cjs/br-pagination.cjs.entry.js +1 -1
  72. package/dist/cjs/br-pagination.entry.cjs.js.map +1 -1
  73. package/dist/cjs/br-scrim.cjs.entry.js +117 -24
  74. package/dist/cjs/br-scrim.entry.cjs.js.map +1 -1
  75. package/dist/cjs/br-select-option.cjs.entry.js +32 -0
  76. package/dist/cjs/br-select-option.entry.cjs.js.map +1 -0
  77. package/dist/cjs/br-sign-in.cjs.entry.js +2 -2
  78. package/dist/cjs/br-sign-in.entry.cjs.js.map +1 -1
  79. package/dist/cjs/br-skip-link.cjs.entry.js +2 -2
  80. package/dist/cjs/br-skip-link.entry.cjs.js.map +1 -1
  81. package/dist/cjs/br-skiplink-item.cjs.entry.js +2 -2
  82. package/dist/cjs/br-skiplink-item.entry.cjs.js.map +1 -1
  83. package/dist/cjs/br-step.br-step-item.entry.cjs.js.map +1 -1
  84. package/dist/cjs/br-step_2.cjs.entry.js +17 -86
  85. package/dist/cjs/br-switch.cjs.entry.js +2 -2
  86. package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
  87. package/dist/cjs/br-tab-item.cjs.entry.js +2 -2
  88. package/dist/cjs/br-tab-item.entry.cjs.js.map +1 -1
  89. package/dist/cjs/br-tab.cjs.entry.js +76 -10
  90. package/dist/cjs/br-tab.entry.cjs.js.map +1 -1
  91. package/dist/cjs/br-table-cell.cjs.entry.js +2 -2
  92. package/dist/cjs/br-table-cell.entry.cjs.js.map +1 -1
  93. package/dist/cjs/br-table-header-cell.cjs.entry.js +2 -2
  94. package/dist/cjs/br-table-header-cell.entry.cjs.js.map +1 -1
  95. package/dist/cjs/br-table-header-row.cjs.entry.js +2 -2
  96. package/dist/cjs/br-table-header-row.entry.cjs.js.map +1 -1
  97. package/dist/cjs/br-table-row.cjs.entry.js +2 -2
  98. package/dist/cjs/br-table-row.entry.cjs.js.map +1 -1
  99. package/dist/cjs/br-table.cjs.entry.js +2 -2
  100. package/dist/cjs/br-table.entry.cjs.js.map +1 -1
  101. package/dist/cjs/br-tag.cjs.entry.js +2 -2
  102. package/dist/cjs/br-tag.entry.cjs.js.map +1 -1
  103. package/dist/cjs/br-textarea.cjs.entry.js +2 -2
  104. package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
  105. package/dist/cjs/br-tooltip.cjs.entry.js +2 -2
  106. package/dist/cjs/br-tooltip.entry.cjs.js.map +1 -1
  107. package/dist/cjs/br-upload.cjs.entry.js +2 -2
  108. package/dist/cjs/br-upload.entry.cjs.js.map +1 -1
  109. package/dist/cjs/br-wizard-panel.cjs.entry.js +2 -2
  110. package/dist/cjs/br-wizard-panel.entry.cjs.js.map +1 -1
  111. package/dist/cjs/br-wizard.cjs.entry.js +2 -2
  112. package/dist/cjs/br-wizard.entry.cjs.js.map +1 -1
  113. package/dist/cjs/index-CFIH680Y.js +8 -0
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/cjs/webcomponents.cjs.js +1 -1
  116. package/dist/collection/collection-manifest.json +2 -0
  117. package/dist/collection/components/avatar/avatar.css +1 -1
  118. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  119. package/dist/collection/components/breadcrumb/breadcrumb.js +124 -57
  120. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  121. package/dist/collection/components/breadcrumb/crumb/crumb.js +168 -0
  122. package/dist/collection/components/breadcrumb/crumb/crumb.js.map +1 -0
  123. package/dist/collection/components/button/button.css +1 -1
  124. package/dist/collection/components/button/button.js +1 -1
  125. package/dist/collection/components/card/card.css +1 -1
  126. package/dist/collection/components/card/card.js +1 -1
  127. package/dist/collection/components/checkbox/checkbox.css +1 -1
  128. package/dist/collection/components/checkbox/checkbox.js +1 -1
  129. package/dist/collection/components/checkgroup/checkgroup.css +1 -1
  130. package/dist/collection/components/checkgroup/checkgroup.js +1 -1
  131. package/dist/collection/components/collapse/collapse.css +1 -1
  132. package/dist/collection/components/collapse/collapse.js +1 -1
  133. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
  134. package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
  135. package/dist/collection/components/divider/divider.css +1 -1
  136. package/dist/collection/components/divider/divider.js +1 -1
  137. package/dist/collection/components/dropdown/dropdown.css +1 -1
  138. package/dist/collection/components/dropdown/dropdown.js +1 -1
  139. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  140. package/dist/collection/components/footer/footer-category/footer-category.js +2 -2
  141. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  142. package/dist/collection/components/footer/footer-item/footer-item.js +1 -1
  143. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  144. package/dist/collection/components/footer/footer-legal/footer-legal.js +1 -1
  145. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  146. package/dist/collection/components/footer/footer-logo/footer-logo.js +1 -1
  147. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  148. package/dist/collection/components/footer/footer-social/footer-social.js +1 -1
  149. package/dist/collection/components/footer/footer.css +1 -1
  150. package/dist/collection/components/footer/footer.js +1 -1
  151. package/dist/collection/components/header/header-function/header-function.css +1 -1
  152. package/dist/collection/components/header/header-function/header-function.js +1 -1
  153. package/dist/collection/components/header/header-link/header-link.css +1 -1
  154. package/dist/collection/components/header/header-link/header-link.js +1 -1
  155. package/dist/collection/components/header/header-list/header-list.css +1 -1
  156. package/dist/collection/components/header/header-list/header-list.js +1 -1
  157. package/dist/collection/components/header/header-logo/header-logo.css +1 -1
  158. package/dist/collection/components/header/header-logo/header-logo.js +1 -1
  159. package/dist/collection/components/header/header.css +1 -1
  160. package/dist/collection/components/header/header.js +1 -1
  161. package/dist/collection/components/icon/icon.css +1 -1
  162. package/dist/collection/components/icon/icon.js +1 -1
  163. package/dist/collection/components/input/input.css +1 -1
  164. package/dist/collection/components/input/input.js +1 -1
  165. package/dist/collection/components/item/item.css +1 -1
  166. package/dist/collection/components/item/item.js +1 -1
  167. package/dist/collection/components/list/list.css +1 -1
  168. package/dist/collection/components/list/list.js +1 -1
  169. package/dist/collection/components/loading/loading.css +1 -1
  170. package/dist/collection/components/loading/loading.js +1 -1
  171. package/dist/collection/components/magic-button/magic-button.css +1 -1
  172. package/dist/collection/components/magic-button/magic-button.js +1 -1
  173. package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
  174. package/dist/collection/components/menu/menu-header/menu-header.js +1 -1
  175. package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
  176. package/dist/collection/components/menu/menu-info/menu-info.js +1 -1
  177. package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
  178. package/dist/collection/components/menu/menu-item/menu-item.js +2 -2
  179. package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
  180. package/dist/collection/components/menu/menu-link/menu-link.js +1 -1
  181. package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
  182. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
  183. package/dist/collection/components/menu/menu-logo/menu-logo.js +1 -1
  184. package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
  185. package/dist/collection/components/menu/menu-social/menu-social.js +1 -1
  186. package/dist/collection/components/menu/menu.css +1 -1
  187. package/dist/collection/components/menu/menu.js +2 -2
  188. package/dist/collection/components/message/message.css +1 -1
  189. package/dist/collection/components/message/message.js +1 -1
  190. package/dist/collection/components/modal/modal.css +1 -1
  191. package/dist/collection/components/modal/modal.js +266 -12
  192. package/dist/collection/components/modal/modal.js.map +1 -1
  193. package/dist/collection/components/pagination/pagination.css +1 -1
  194. package/dist/collection/components/radio/radio.css +1 -1
  195. package/dist/collection/components/radio/radio.js +1 -1
  196. package/dist/collection/components/scrim/scrim.css +1 -1
  197. package/dist/collection/components/scrim/scrim.js +116 -23
  198. package/dist/collection/components/scrim/scrim.js.map +1 -1
  199. package/dist/collection/components/select/select-option/select-option.js +122 -0
  200. package/dist/collection/components/select/select-option/select-option.js.map +1 -0
  201. package/dist/collection/components/select/select.css +1 -1
  202. package/dist/collection/components/select/select.js +151 -38
  203. package/dist/collection/components/select/select.js.map +1 -1
  204. package/dist/collection/components/sign-in/sign-in.css +1 -1
  205. package/dist/collection/components/sign-in/sign-in.js +1 -1
  206. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
  207. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +1 -1
  208. package/dist/collection/components/skip-link/skip-link.css +1 -1
  209. package/dist/collection/components/skip-link/skip-link.js +1 -1
  210. package/dist/collection/components/skip-link/skip-link.js.map +1 -1
  211. package/dist/collection/components/step/step-item/step-item.css +1 -1
  212. package/dist/collection/components/step/step-item/step-item.js +16 -86
  213. package/dist/collection/components/step/step-item/step-item.js.map +1 -1
  214. package/dist/collection/components/step/step.css +1 -1
  215. package/dist/collection/components/step/step.js +2 -6
  216. package/dist/collection/components/step/step.js.map +1 -1
  217. package/dist/collection/components/switch/switch.css +1 -1
  218. package/dist/collection/components/switch/switch.js +1 -1
  219. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  220. package/dist/collection/components/tab/tab-item/tab-item.js +1 -1
  221. package/dist/collection/components/tab/tab.css +1 -1
  222. package/dist/collection/components/tab/tab.js +137 -17
  223. package/dist/collection/components/tab/tab.js.map +1 -1
  224. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  225. package/dist/collection/components/table/table-cell/table-cell.js +1 -1
  226. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  227. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  228. package/dist/collection/components/table/table-header-row/table-header-row.css +1 -1
  229. package/dist/collection/components/table/table-header-row/table-header-row.js +1 -1
  230. package/dist/collection/components/table/table-row/table-row.css +1 -1
  231. package/dist/collection/components/table/table-row/table-row.js +1 -1
  232. package/dist/collection/components/table/table.css +1 -1
  233. package/dist/collection/components/table/table.js +1 -1
  234. package/dist/collection/components/tag/tag.css +1 -1
  235. package/dist/collection/components/tag/tag.js +1 -1
  236. package/dist/collection/components/textarea/textarea.css +1 -1
  237. package/dist/collection/components/textarea/textarea.js +1 -1
  238. package/dist/collection/components/tooltip/tooltip.css +1 -1
  239. package/dist/collection/components/tooltip/tooltip.js +1 -1
  240. package/dist/collection/components/upload/upload.css +1 -1
  241. package/dist/collection/components/upload/upload.js +1 -1
  242. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
  243. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +1 -1
  244. package/dist/collection/components/wizard/wizard.css +1 -1
  245. package/dist/collection/components/wizard/wizard.js +1 -1
  246. package/dist/collection/pages/scripts/menu.js +3 -1
  247. package/dist/collection/pages/scripts/pageLoader.js +4 -2
  248. package/dist/collection/value-accessors/angular-value-accessor-config.js +1 -1
  249. package/dist/collection/value-accessors/angular-value-accessor-config.js.map +1 -1
  250. package/dist/components/br-avatar.js +3 -3
  251. package/dist/components/br-breadcrumb.js +161 -90
  252. package/dist/components/br-breadcrumb.js.map +1 -1
  253. package/dist/components/br-button.js +3 -3
  254. package/dist/components/br-card.js +3 -3
  255. package/dist/components/br-checkbox.js +4 -4
  256. package/dist/components/br-checkgroup.js +11 -11
  257. package/dist/components/br-collapse.js +4 -4
  258. package/dist/components/br-crumb.d.ts +11 -0
  259. package/dist/components/br-crumb.js +80 -0
  260. package/dist/components/br-crumb.js.map +1 -0
  261. package/dist/components/br-datetime-picker.js +324 -324
  262. package/dist/components/br-divider.js +1 -1
  263. package/dist/components/br-dropdown.js +4 -4
  264. package/dist/components/br-footer-category.js +14 -14
  265. package/dist/components/br-footer-item.js +6 -6
  266. package/dist/components/br-footer-legal.js +9 -9
  267. package/dist/components/br-footer-logo.js +4 -4
  268. package/dist/components/br-footer-social.js +7 -7
  269. package/dist/components/br-footer.js +24 -24
  270. package/dist/components/br-header-function.js +6 -6
  271. package/dist/components/br-header-link.js +6 -6
  272. package/dist/components/br-header-list.js +8 -8
  273. package/dist/components/br-header-logo.js +13 -13
  274. package/dist/components/br-header.js +15 -15
  275. package/dist/components/br-icon.js +3 -3
  276. package/dist/components/br-input.js +3 -3
  277. package/dist/components/br-item.js +3 -3
  278. package/dist/components/br-list.js +4 -4
  279. package/dist/components/br-loading.js +7 -7
  280. package/dist/components/br-magic-button.js +7 -7
  281. package/dist/components/br-menu-header.js +14 -14
  282. package/dist/components/br-menu-info.js +5 -5
  283. package/dist/components/br-menu-item.js +3 -3
  284. package/dist/components/br-menu-link.js +9 -9
  285. package/dist/components/br-menu-list.js +4 -4
  286. package/dist/components/br-menu-logo.js +6 -6
  287. package/dist/components/br-menu-social.js +9 -9
  288. package/dist/components/br-menu.js +35 -35
  289. package/dist/components/br-message.js +5 -5
  290. package/dist/components/br-modal.js +230 -21
  291. package/dist/components/br-modal.js.map +1 -1
  292. package/dist/components/br-pagination.js +12 -12
  293. package/dist/components/br-radio.js +4 -4
  294. package/dist/components/br-scrim.js +122 -37
  295. package/dist/components/br-scrim.js.map +1 -1
  296. package/dist/components/br-select-option.d.ts +11 -0
  297. package/dist/components/br-select-option.js +72 -0
  298. package/dist/components/br-select-option.js.map +1 -0
  299. package/dist/components/br-select.js +4 -4
  300. package/dist/components/br-sign-in.js +11 -11
  301. package/dist/components/br-skip-link.js +10 -11
  302. package/dist/components/br-skip-link.js.map +1 -1
  303. package/dist/components/br-skiplink-item.js +14 -14
  304. package/dist/components/br-step-item.js +4 -4
  305. package/dist/components/br-step.js +3 -3
  306. package/dist/components/br-switch.js +7 -7
  307. package/dist/components/br-tab-item.js +7 -7
  308. package/dist/components/br-tab.js +82 -26
  309. package/dist/components/br-tab.js.map +1 -1
  310. package/dist/components/br-table-cell.js +5 -5
  311. package/dist/components/br-table-header-cell.js +8 -8
  312. package/dist/components/br-table-header-row.js +5 -5
  313. package/dist/components/br-table-row.js +5 -5
  314. package/dist/components/br-table.js +8 -8
  315. package/dist/components/br-tag.js +1 -1
  316. package/dist/components/br-textarea.js +4 -4
  317. package/dist/components/br-tooltip.js +14 -14
  318. package/dist/components/br-upload.js +34 -34
  319. package/dist/components/br-wizard-panel.js +6 -6
  320. package/dist/components/br-wizard.js +12 -12
  321. package/dist/components/br-wizard.js.map +1 -1
  322. package/dist/components/index.d.ts +4 -0
  323. package/dist/components/index.js +5 -1
  324. package/dist/components/{p-CJSXIVVe.js → p-B4_2a6sY.js} +9 -9
  325. package/dist/components/{p-DdjKNpU3.js → p-BVCWXitK.js} +157 -61
  326. package/dist/components/p-BVCWXitK.js.map +1 -0
  327. package/dist/components/p-BXMQkO62.js +399 -0
  328. package/dist/components/p-Bb4aDGZV.js +192 -0
  329. package/dist/components/p-BfM6USmd.js +138 -0
  330. package/dist/components/{p-BIJ6vVdB.js.map → p-BfM6USmd.js.map} +1 -1
  331. package/dist/components/{p-CwtLw60M.js → p-Bjywc5uG.js} +6 -6
  332. package/dist/components/p-BtGv7ZmW.js +229 -0
  333. package/dist/components/p-BtGv7ZmW.js.map +1 -0
  334. package/dist/components/{p-C_OI0BQu.js → p-BwHD1VKm.js} +6 -6
  335. package/dist/components/{p-Bqb7YtL0.js → p-C1NfZb6u.js} +19 -19
  336. package/dist/components/{p-DW63EY0U.js → p-C2apigAS.js} +13 -13
  337. package/dist/components/{p-5Bn_PU3B.js → p-CldlPwBq.js} +8 -8
  338. package/dist/components/p-DLCPJIh7.js +306 -0
  339. package/dist/components/p-DLCPJIh7.js.map +1 -0
  340. package/dist/components/{p-Bri6ECVa.js → p-DexVMiiX.js} +13 -13
  341. package/dist/components/p-DexVMiiX.js.map +1 -0
  342. package/dist/components/{p-DSkSDmzD.js → p-DozXPp1d.js} +3 -3
  343. package/dist/components/p-DzfbHHTf.js +136 -0
  344. package/dist/components/{p-CBj_WCYf.js → p-JsxUUux9.js} +6 -6
  345. package/dist/components/{p-lIb35q2K.js → p-p8k-sBQZ.js} +8 -8
  346. package/dist/custom-elements.json +1202 -524
  347. package/dist/esm/br-avatar.entry.js +2 -2
  348. package/dist/esm/br-avatar.entry.js.map +1 -1
  349. package/dist/esm/br-breadcrumb.entry.js +114 -62
  350. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  351. package/dist/esm/br-button.br-icon.entry.js.map +1 -1
  352. package/dist/esm/br-button_2.entry.js +5 -5
  353. package/dist/esm/br-card.entry.js +3 -3
  354. package/dist/esm/br-card.entry.js.map +1 -1
  355. package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +1 -1
  356. package/dist/esm/br-checkbox_3.entry.js +7 -7
  357. package/dist/esm/br-checkgroup.entry.js +3 -3
  358. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  359. package/dist/esm/br-collapse.br-list.entry.js.map +1 -1
  360. package/dist/esm/br-collapse_2.entry.js +5 -5
  361. package/dist/esm/br-crumb.entry.js +36 -0
  362. package/dist/esm/br-crumb.entry.js.map +1 -0
  363. package/dist/esm/br-datetime-picker.entry.js +3 -3
  364. package/dist/esm/br-datetime-picker.entry.js.map +1 -1
  365. package/dist/esm/br-divider.entry.js +3 -3
  366. package/dist/esm/br-divider.entry.js.map +1 -1
  367. package/dist/esm/br-dropdown.br-select.entry.js.map +1 -1
  368. package/dist/esm/br-dropdown_2.entry.js +124 -41
  369. package/dist/esm/br-footer-category.entry.js +4 -4
  370. package/dist/esm/br-footer-category.entry.js.map +1 -1
  371. package/dist/esm/br-footer-item.entry.js +3 -3
  372. package/dist/esm/br-footer-item.entry.js.map +1 -1
  373. package/dist/esm/br-footer-legal.entry.js +3 -3
  374. package/dist/esm/br-footer-legal.entry.js.map +1 -1
  375. package/dist/esm/br-footer-logo.entry.js +3 -3
  376. package/dist/esm/br-footer-logo.entry.js.map +1 -1
  377. package/dist/esm/br-footer-social.entry.js +3 -3
  378. package/dist/esm/br-footer-social.entry.js.map +1 -1
  379. package/dist/esm/br-footer.entry.js +3 -3
  380. package/dist/esm/br-footer.entry.js.map +1 -1
  381. package/dist/esm/br-header-function.entry.js +3 -3
  382. package/dist/esm/br-header-function.entry.js.map +1 -1
  383. package/dist/esm/br-header-link.entry.js +3 -3
  384. package/dist/esm/br-header-link.entry.js.map +1 -1
  385. package/dist/esm/br-header-list.entry.js +3 -3
  386. package/dist/esm/br-header-list.entry.js.map +1 -1
  387. package/dist/esm/br-header-logo.entry.js +3 -3
  388. package/dist/esm/br-header-logo.entry.js.map +1 -1
  389. package/dist/esm/br-header.entry.js +3 -3
  390. package/dist/esm/br-header.entry.js.map +1 -1
  391. package/dist/esm/br-item.entry.js +3 -3
  392. package/dist/esm/br-item.entry.js.map +1 -1
  393. package/dist/esm/br-loading.entry.js +3 -3
  394. package/dist/esm/br-loading.entry.js.map +1 -1
  395. package/dist/esm/br-magic-button.entry.js +3 -3
  396. package/dist/esm/br-magic-button.entry.js.map +1 -1
  397. package/dist/esm/br-menu-header.entry.js +3 -3
  398. package/dist/esm/br-menu-header.entry.js.map +1 -1
  399. package/dist/esm/br-menu-info.entry.js +3 -3
  400. package/dist/esm/br-menu-info.entry.js.map +1 -1
  401. package/dist/esm/br-menu-item.entry.js +4 -4
  402. package/dist/esm/br-menu-item.entry.js.map +1 -1
  403. package/dist/esm/br-menu-link.entry.js +3 -3
  404. package/dist/esm/br-menu-link.entry.js.map +1 -1
  405. package/dist/esm/br-menu-list.entry.js +2 -2
  406. package/dist/esm/br-menu-list.entry.js.map +1 -1
  407. package/dist/esm/br-menu-logo.entry.js +3 -3
  408. package/dist/esm/br-menu-logo.entry.js.map +1 -1
  409. package/dist/esm/br-menu-social.entry.js +3 -3
  410. package/dist/esm/br-menu-social.entry.js.map +1 -1
  411. package/dist/esm/br-menu.entry.js +4 -4
  412. package/dist/esm/br-menu.entry.js.map +1 -1
  413. package/dist/esm/br-message.entry.js +3 -3
  414. package/dist/esm/br-message.entry.js.map +1 -1
  415. package/dist/esm/br-modal.entry.js +253 -13
  416. package/dist/esm/br-modal.entry.js.map +1 -1
  417. package/dist/esm/br-pagination.entry.js +2 -2
  418. package/dist/esm/br-pagination.entry.js.map +1 -1
  419. package/dist/esm/br-scrim.entry.js +118 -25
  420. package/dist/esm/br-scrim.entry.js.map +1 -1
  421. package/dist/esm/br-select-option.entry.js +30 -0
  422. package/dist/esm/br-select-option.entry.js.map +1 -0
  423. package/dist/esm/br-sign-in.entry.js +3 -3
  424. package/dist/esm/br-sign-in.entry.js.map +1 -1
  425. package/dist/esm/br-skip-link.entry.js +3 -3
  426. package/dist/esm/br-skip-link.entry.js.map +1 -1
  427. package/dist/esm/br-skiplink-item.entry.js +3 -3
  428. package/dist/esm/br-skiplink-item.entry.js.map +1 -1
  429. package/dist/esm/br-step.br-step-item.entry.js.map +1 -1
  430. package/dist/esm/br-step_2.entry.js +18 -87
  431. package/dist/esm/br-switch.entry.js +3 -3
  432. package/dist/esm/br-switch.entry.js.map +1 -1
  433. package/dist/esm/br-tab-item.entry.js +3 -3
  434. package/dist/esm/br-tab-item.entry.js.map +1 -1
  435. package/dist/esm/br-tab.entry.js +77 -11
  436. package/dist/esm/br-tab.entry.js.map +1 -1
  437. package/dist/esm/br-table-cell.entry.js +3 -3
  438. package/dist/esm/br-table-cell.entry.js.map +1 -1
  439. package/dist/esm/br-table-header-cell.entry.js +3 -3
  440. package/dist/esm/br-table-header-cell.entry.js.map +1 -1
  441. package/dist/esm/br-table-header-row.entry.js +3 -3
  442. package/dist/esm/br-table-header-row.entry.js.map +1 -1
  443. package/dist/esm/br-table-row.entry.js +3 -3
  444. package/dist/esm/br-table-row.entry.js.map +1 -1
  445. package/dist/esm/br-table.entry.js +3 -3
  446. package/dist/esm/br-table.entry.js.map +1 -1
  447. package/dist/esm/br-tag.entry.js +3 -3
  448. package/dist/esm/br-tag.entry.js.map +1 -1
  449. package/dist/esm/br-textarea.entry.js +3 -3
  450. package/dist/esm/br-textarea.entry.js.map +1 -1
  451. package/dist/esm/br-tooltip.entry.js +3 -3
  452. package/dist/esm/br-tooltip.entry.js.map +1 -1
  453. package/dist/esm/br-upload.entry.js +3 -3
  454. package/dist/esm/br-upload.entry.js.map +1 -1
  455. package/dist/esm/br-wizard-panel.entry.js +3 -3
  456. package/dist/esm/br-wizard-panel.entry.js.map +1 -1
  457. package/dist/esm/br-wizard.entry.js +3 -3
  458. package/dist/esm/br-wizard.entry.js.map +1 -1
  459. package/dist/esm/{index-ByGJPTh2.js → index-CgnD6TrP.js} +11 -3
  460. package/dist/esm/{index-ByGJPTh2.js.map → index-CgnD6TrP.js.map} +1 -1
  461. package/dist/esm/loader.js +3 -3
  462. package/dist/esm/webcomponents.js +3 -3
  463. package/dist/hydrate/index.js +3543 -2986
  464. package/dist/hydrate/index.mjs +3543 -2986
  465. package/dist/types/components/breadcrumb/breadcrumb.d.ts +21 -15
  466. package/dist/types/components/breadcrumb/crumb/crumb.d.ts +35 -0
  467. package/dist/types/components/modal/modal.d.ts +86 -3
  468. package/dist/types/components/scrim/scrim.d.ts +32 -2
  469. package/dist/types/components/select/select-option/select-option.d.ts +29 -0
  470. package/dist/types/components/select/select.d.ts +30 -10
  471. package/dist/types/components/step/step-item/step-item.d.ts +3 -14
  472. package/dist/types/components/tab/tab.d.ts +67 -7
  473. package/dist/types/components.d.ts +215 -12
  474. package/dist/webcomponents/br-avatar.entry.esm.js.map +1 -1
  475. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +1 -1
  476. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
  477. package/dist/webcomponents/br-card.entry.esm.js.map +1 -1
  478. package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +1 -1
  479. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +1 -1
  480. package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -1
  481. package/dist/webcomponents/br-crumb.entry.esm.js.map +1 -0
  482. package/dist/webcomponents/br-datetime-picker.entry.esm.js.map +1 -1
  483. package/dist/webcomponents/br-divider.entry.esm.js.map +1 -1
  484. package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +1 -1
  485. package/dist/webcomponents/br-footer-category.entry.esm.js.map +1 -1
  486. package/dist/webcomponents/br-footer-item.entry.esm.js.map +1 -1
  487. package/dist/webcomponents/br-footer-legal.entry.esm.js.map +1 -1
  488. package/dist/webcomponents/br-footer-logo.entry.esm.js.map +1 -1
  489. package/dist/webcomponents/br-footer-social.entry.esm.js.map +1 -1
  490. package/dist/webcomponents/br-footer.entry.esm.js.map +1 -1
  491. package/dist/webcomponents/br-header-function.entry.esm.js.map +1 -1
  492. package/dist/webcomponents/br-header-link.entry.esm.js.map +1 -1
  493. package/dist/webcomponents/br-header-list.entry.esm.js.map +1 -1
  494. package/dist/webcomponents/br-header-logo.entry.esm.js.map +1 -1
  495. package/dist/webcomponents/br-header.entry.esm.js.map +1 -1
  496. package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
  497. package/dist/webcomponents/br-loading.entry.esm.js.map +1 -1
  498. package/dist/webcomponents/br-magic-button.entry.esm.js.map +1 -1
  499. package/dist/webcomponents/br-menu-header.entry.esm.js.map +1 -1
  500. package/dist/webcomponents/br-menu-info.entry.esm.js.map +1 -1
  501. package/dist/webcomponents/br-menu-item.entry.esm.js.map +1 -1
  502. package/dist/webcomponents/br-menu-link.entry.esm.js.map +1 -1
  503. package/dist/webcomponents/br-menu-list.entry.esm.js.map +1 -1
  504. package/dist/webcomponents/br-menu-logo.entry.esm.js.map +1 -1
  505. package/dist/webcomponents/br-menu-social.entry.esm.js.map +1 -1
  506. package/dist/webcomponents/br-menu.entry.esm.js.map +1 -1
  507. package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
  508. package/dist/webcomponents/br-modal.entry.esm.js.map +1 -1
  509. package/dist/webcomponents/br-pagination.entry.esm.js.map +1 -1
  510. package/dist/webcomponents/br-scrim.entry.esm.js.map +1 -1
  511. package/dist/webcomponents/br-select-option.entry.esm.js.map +1 -0
  512. package/dist/webcomponents/br-sign-in.entry.esm.js.map +1 -1
  513. package/dist/webcomponents/br-skip-link.entry.esm.js.map +1 -1
  514. package/dist/webcomponents/br-skiplink-item.entry.esm.js.map +1 -1
  515. package/dist/webcomponents/br-step.br-step-item.entry.esm.js.map +1 -1
  516. package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
  517. package/dist/webcomponents/br-tab-item.entry.esm.js.map +1 -1
  518. package/dist/webcomponents/br-tab.entry.esm.js.map +1 -1
  519. package/dist/webcomponents/br-table-cell.entry.esm.js.map +1 -1
  520. package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +1 -1
  521. package/dist/webcomponents/br-table-header-row.entry.esm.js.map +1 -1
  522. package/dist/webcomponents/br-table-row.entry.esm.js.map +1 -1
  523. package/dist/webcomponents/br-table.entry.esm.js.map +1 -1
  524. package/dist/webcomponents/br-tag.entry.esm.js.map +1 -1
  525. package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
  526. package/dist/webcomponents/br-tooltip.entry.esm.js.map +1 -1
  527. package/dist/webcomponents/br-upload.entry.esm.js.map +1 -1
  528. package/dist/webcomponents/br-wizard-panel.entry.esm.js.map +1 -1
  529. package/dist/webcomponents/br-wizard.entry.esm.js.map +1 -1
  530. package/dist/webcomponents/{p-f2ea0d7e.entry.js → p-020c598b.entry.js} +19 -19
  531. package/dist/webcomponents/{p-f2ea0d7e.entry.js.map → p-020c598b.entry.js.map} +1 -1
  532. package/dist/webcomponents/{p-83001853.entry.js → p-09a09974.entry.js} +6 -6
  533. package/dist/webcomponents/{p-83001853.entry.js.map → p-09a09974.entry.js.map} +1 -1
  534. package/dist/webcomponents/{p-bd803fec.entry.js → p-0be0b270.entry.js} +372 -372
  535. package/dist/webcomponents/{p-bd803fec.entry.js.map → p-0be0b270.entry.js.map} +1 -1
  536. package/dist/webcomponents/p-0d8da69a.entry.js +50 -0
  537. package/dist/webcomponents/{p-8b3688ab.entry.js → p-107ad6d3.entry.js} +6 -6
  538. package/dist/webcomponents/{p-01b4fecb.entry.js → p-10b0d158.entry.js} +6 -6
  539. package/dist/webcomponents/{p-f1fb559a.entry.js → p-13b1b500.entry.js} +7 -7
  540. package/dist/webcomponents/p-15561737.entry.js +428 -0
  541. package/dist/webcomponents/p-15561737.entry.js.map +1 -0
  542. package/dist/webcomponents/{p-c0cdb81f.entry.js → p-24dd7de0.entry.js} +9 -9
  543. package/dist/webcomponents/{p-e5875d3d.entry.js → p-26ec56f1.entry.js} +5 -5
  544. package/dist/webcomponents/{p-e5875d3d.entry.js.map → p-26ec56f1.entry.js.map} +1 -1
  545. package/dist/webcomponents/p-34cd69c7.entry.js +105 -0
  546. package/dist/webcomponents/{p-d856888c.entry.js.map → p-34cd69c7.entry.js.map} +1 -1
  547. package/dist/webcomponents/{p-c06a79b8.entry.js → p-3956e4ac.entry.js} +6 -6
  548. package/dist/webcomponents/{p-462c5647.entry.js → p-4071b981.entry.js} +4 -4
  549. package/dist/webcomponents/p-42f11872.entry.js +60 -0
  550. package/dist/webcomponents/{p-f16a5e27.entry.js → p-4ad3b8c9.entry.js} +8 -8
  551. package/dist/webcomponents/{p-de358dbe.entry.js → p-512385f0.entry.js} +7 -7
  552. package/dist/webcomponents/{p-cfecd64a.entry.js → p-53c2b2c2.entry.js} +34 -34
  553. package/dist/webcomponents/p-567b17e6.entry.js +346 -0
  554. package/dist/webcomponents/{p-46dfc3ee.entry.js → p-57d49488.entry.js} +5 -5
  555. package/dist/webcomponents/p-58a862f9.entry.js +44 -0
  556. package/dist/webcomponents/p-58a862f9.entry.js.map +1 -0
  557. package/dist/webcomponents/p-59d41342.entry.js +101 -0
  558. package/dist/webcomponents/{p-c1b0a116.entry.js → p-5b7f446c.entry.js} +7 -7
  559. package/dist/webcomponents/{p-bd978abf.entry.js → p-610c2e8e.entry.js} +4 -4
  560. package/dist/webcomponents/p-62651eba.entry.js +44 -0
  561. package/dist/webcomponents/{p-50f1b088.entry.js → p-6bf86e0b.entry.js} +6 -6
  562. package/dist/webcomponents/{p-10e25a32.entry.js → p-6f8abd26.entry.js} +41 -41
  563. package/dist/webcomponents/{p-a2eec4fb.entry.js → p-7a93d79b.entry.js} +123 -38
  564. package/dist/webcomponents/p-7a93d79b.entry.js.map +1 -0
  565. package/dist/webcomponents/p-7d8eb8ac.entry.js +40 -0
  566. package/dist/webcomponents/p-7d8eb8ac.entry.js.map +1 -0
  567. package/dist/webcomponents/{p-56aabe89.entry.js → p-857cfe62.entry.js} +19 -19
  568. package/dist/webcomponents/p-898d950f.entry.js +84 -0
  569. package/dist/webcomponents/{p-6ecb3439.entry.js → p-8a931bfe.entry.js} +9 -9
  570. package/dist/webcomponents/p-8b7cc3a9.entry.js +92 -0
  571. package/dist/webcomponents/{p-ca2d95f7.entry.js → p-946cc8f3.entry.js} +142 -48
  572. package/dist/webcomponents/p-946cc8f3.entry.js.map +1 -0
  573. package/dist/webcomponents/p-9bb74d81.entry.js +133 -0
  574. package/dist/webcomponents/{p-cfa86a23.entry.js.map → p-9bb74d81.entry.js.map} +1 -1
  575. package/dist/webcomponents/p-9fabdfb4.entry.js +75 -0
  576. package/dist/webcomponents/{p-9b50e6af.entry.js → p-9fe9f5d2.entry.js} +6 -6
  577. package/dist/webcomponents/{p-ByGJPTh2.js → p-CgnD6TrP.js} +3 -3
  578. package/dist/webcomponents/{p-ByGJPTh2.js.map → p-CgnD6TrP.js.map} +1 -1
  579. package/dist/webcomponents/p-a09cf1bc.entry.js +145 -0
  580. package/dist/webcomponents/{p-30af66b3.entry.js → p-ae4feb1e.entry.js} +9 -9
  581. package/dist/webcomponents/p-b020467b.entry.js +351 -0
  582. package/dist/webcomponents/p-b020467b.entry.js.map +1 -0
  583. package/dist/webcomponents/{p-336071a5.entry.js → p-b04b7996.entry.js} +13 -13
  584. package/dist/webcomponents/{p-d7070712.entry.js → p-b39c2ad1.entry.js} +5 -5
  585. package/dist/webcomponents/{p-4bb5aeab.entry.js → p-b8e4bc36.entry.js} +17 -17
  586. package/dist/webcomponents/{p-66d26793.entry.js → p-b9c38611.entry.js} +3 -3
  587. package/dist/webcomponents/p-c4e28f37.entry.js +446 -0
  588. package/dist/webcomponents/p-c4e28f37.entry.js.map +1 -0
  589. package/dist/webcomponents/{p-d090d412.entry.js → p-cf764a83.entry.js} +6 -6
  590. package/dist/webcomponents/{p-27eb10f9.entry.js → p-d75fccd1.entry.js} +13 -13
  591. package/dist/webcomponents/p-da17c570.entry.js +134 -0
  592. package/dist/webcomponents/{p-6a9d2a0b.entry.js → p-df170bb4.entry.js} +6 -6
  593. package/dist/webcomponents/p-e55b41b4.entry.js +159 -0
  594. package/dist/webcomponents/{p-7537c4ba.entry.js.map → p-e55b41b4.entry.js.map} +1 -1
  595. package/dist/webcomponents/{p-a365183a.entry.js → p-e58dbeef.entry.js} +6 -6
  596. package/dist/webcomponents/p-e5ff5232.entry.js +452 -0
  597. package/dist/webcomponents/p-e5ff5232.entry.js.map +1 -0
  598. package/dist/webcomponents/{p-007c0f38.entry.js → p-f2f32774.entry.js} +14 -14
  599. package/dist/webcomponents/{p-1991135d.entry.js → p-f583b74c.entry.js} +8 -9
  600. package/dist/webcomponents/p-f583b74c.entry.js.map +1 -0
  601. package/dist/webcomponents/{p-061dbde5.entry.js → p-f723c6fc.entry.js} +5 -5
  602. package/dist/webcomponents/p-f86da8f9.entry.js +94 -0
  603. package/dist/webcomponents/p-fc94c64c.entry.js +50 -0
  604. package/dist/webcomponents/webcomponents.esm.js +3 -3
  605. package/dist/webcomponents.html-custom-data.json +106 -49
  606. package/package.json +1 -1
  607. package/dist/components/p-AOxMWARt.js +0 -136
  608. package/dist/components/p-BIJ6vVdB.js +0 -138
  609. package/dist/components/p-B_YesJM8.js +0 -192
  610. package/dist/components/p-Bc03PTAW.js +0 -306
  611. package/dist/components/p-Bc03PTAW.js.map +0 -1
  612. package/dist/components/p-Bri6ECVa.js.map +0 -1
  613. package/dist/components/p-C3Rduy2t.js +0 -399
  614. package/dist/components/p-CWRBs6PD.js +0 -316
  615. package/dist/components/p-CWRBs6PD.js.map +0 -1
  616. package/dist/components/p-DdjKNpU3.js.map +0 -1
  617. package/dist/webcomponents/p-0e3a9a52.entry.js +0 -44
  618. package/dist/webcomponents/p-1991135d.entry.js.map +0 -1
  619. package/dist/webcomponents/p-271fafec.entry.js +0 -94
  620. package/dist/webcomponents/p-2768bb52.entry.js +0 -92
  621. package/dist/webcomponents/p-2a6b20bb.entry.js +0 -60
  622. package/dist/webcomponents/p-2de59d45.entry.js +0 -145
  623. package/dist/webcomponents/p-3c75367e.entry.js +0 -50
  624. package/dist/webcomponents/p-492972fb.entry.js +0 -380
  625. package/dist/webcomponents/p-492972fb.entry.js.map +0 -1
  626. package/dist/webcomponents/p-4cc446e4.entry.js +0 -50
  627. package/dist/webcomponents/p-5710a3e9.entry.js +0 -529
  628. package/dist/webcomponents/p-5710a3e9.entry.js.map +0 -1
  629. package/dist/webcomponents/p-7537c4ba.entry.js +0 -159
  630. package/dist/webcomponents/p-8c0f167a.entry.js +0 -101
  631. package/dist/webcomponents/p-90401ecd.entry.js +0 -219
  632. package/dist/webcomponents/p-90401ecd.entry.js.map +0 -1
  633. package/dist/webcomponents/p-a2eec4fb.entry.js.map +0 -1
  634. package/dist/webcomponents/p-aa7635d4.entry.js +0 -346
  635. package/dist/webcomponents/p-b30ef853.entry.js +0 -75
  636. package/dist/webcomponents/p-b8e4b353.entry.js +0 -84
  637. package/dist/webcomponents/p-c5b716c8.entry.js +0 -134
  638. package/dist/webcomponents/p-c73b38c5.entry.js +0 -297
  639. package/dist/webcomponents/p-c73b38c5.entry.js.map +0 -1
  640. package/dist/webcomponents/p-ca2d95f7.entry.js.map +0 -1
  641. package/dist/webcomponents/p-cfa86a23.entry.js +0 -133
  642. package/dist/webcomponents/p-d856888c.entry.js +0 -105
  643. /package/dist/components/{p-CJSXIVVe.js.map → p-B4_2a6sY.js.map} +0 -0
  644. /package/dist/components/{p-C3Rduy2t.js.map → p-BXMQkO62.js.map} +0 -0
  645. /package/dist/components/{p-B_YesJM8.js.map → p-Bb4aDGZV.js.map} +0 -0
  646. /package/dist/components/{p-CwtLw60M.js.map → p-Bjywc5uG.js.map} +0 -0
  647. /package/dist/components/{p-C_OI0BQu.js.map → p-BwHD1VKm.js.map} +0 -0
  648. /package/dist/components/{p-Bqb7YtL0.js.map → p-C1NfZb6u.js.map} +0 -0
  649. /package/dist/components/{p-DW63EY0U.js.map → p-C2apigAS.js.map} +0 -0
  650. /package/dist/components/{p-5Bn_PU3B.js.map → p-CldlPwBq.js.map} +0 -0
  651. /package/dist/components/{p-DSkSDmzD.js.map → p-DozXPp1d.js.map} +0 -0
  652. /package/dist/components/{p-AOxMWARt.js.map → p-DzfbHHTf.js.map} +0 -0
  653. /package/dist/components/{p-CBj_WCYf.js.map → p-JsxUUux9.js.map} +0 -0
  654. /package/dist/components/{p-lIb35q2K.js.map → p-p8k-sBQZ.js.map} +0 -0
  655. /package/dist/webcomponents/{p-3c75367e.entry.js.map → p-0d8da69a.entry.js.map} +0 -0
  656. /package/dist/webcomponents/{p-8b3688ab.entry.js.map → p-107ad6d3.entry.js.map} +0 -0
  657. /package/dist/webcomponents/{p-01b4fecb.entry.js.map → p-10b0d158.entry.js.map} +0 -0
  658. /package/dist/webcomponents/{p-f1fb559a.entry.js.map → p-13b1b500.entry.js.map} +0 -0
  659. /package/dist/webcomponents/{p-c0cdb81f.entry.js.map → p-24dd7de0.entry.js.map} +0 -0
  660. /package/dist/webcomponents/{p-c06a79b8.entry.js.map → p-3956e4ac.entry.js.map} +0 -0
  661. /package/dist/webcomponents/{p-462c5647.entry.js.map → p-4071b981.entry.js.map} +0 -0
  662. /package/dist/webcomponents/{p-2a6b20bb.entry.js.map → p-42f11872.entry.js.map} +0 -0
  663. /package/dist/webcomponents/{p-f16a5e27.entry.js.map → p-4ad3b8c9.entry.js.map} +0 -0
  664. /package/dist/webcomponents/{p-de358dbe.entry.js.map → p-512385f0.entry.js.map} +0 -0
  665. /package/dist/webcomponents/{p-cfecd64a.entry.js.map → p-53c2b2c2.entry.js.map} +0 -0
  666. /package/dist/webcomponents/{p-aa7635d4.entry.js.map → p-567b17e6.entry.js.map} +0 -0
  667. /package/dist/webcomponents/{p-46dfc3ee.entry.js.map → p-57d49488.entry.js.map} +0 -0
  668. /package/dist/webcomponents/{p-8c0f167a.entry.js.map → p-59d41342.entry.js.map} +0 -0
  669. /package/dist/webcomponents/{p-c1b0a116.entry.js.map → p-5b7f446c.entry.js.map} +0 -0
  670. /package/dist/webcomponents/{p-bd978abf.entry.js.map → p-610c2e8e.entry.js.map} +0 -0
  671. /package/dist/webcomponents/{p-0e3a9a52.entry.js.map → p-62651eba.entry.js.map} +0 -0
  672. /package/dist/webcomponents/{p-50f1b088.entry.js.map → p-6bf86e0b.entry.js.map} +0 -0
  673. /package/dist/webcomponents/{p-10e25a32.entry.js.map → p-6f8abd26.entry.js.map} +0 -0
  674. /package/dist/webcomponents/{p-56aabe89.entry.js.map → p-857cfe62.entry.js.map} +0 -0
  675. /package/dist/webcomponents/{p-b8e4b353.entry.js.map → p-898d950f.entry.js.map} +0 -0
  676. /package/dist/webcomponents/{p-6ecb3439.entry.js.map → p-8a931bfe.entry.js.map} +0 -0
  677. /package/dist/webcomponents/{p-2768bb52.entry.js.map → p-8b7cc3a9.entry.js.map} +0 -0
  678. /package/dist/webcomponents/{p-b30ef853.entry.js.map → p-9fabdfb4.entry.js.map} +0 -0
  679. /package/dist/webcomponents/{p-9b50e6af.entry.js.map → p-9fe9f5d2.entry.js.map} +0 -0
  680. /package/dist/webcomponents/{p-2de59d45.entry.js.map → p-a09cf1bc.entry.js.map} +0 -0
  681. /package/dist/webcomponents/{p-30af66b3.entry.js.map → p-ae4feb1e.entry.js.map} +0 -0
  682. /package/dist/webcomponents/{p-336071a5.entry.js.map → p-b04b7996.entry.js.map} +0 -0
  683. /package/dist/webcomponents/{p-d7070712.entry.js.map → p-b39c2ad1.entry.js.map} +0 -0
  684. /package/dist/webcomponents/{p-4bb5aeab.entry.js.map → p-b8e4bc36.entry.js.map} +0 -0
  685. /package/dist/webcomponents/{p-66d26793.entry.js.map → p-b9c38611.entry.js.map} +0 -0
  686. /package/dist/webcomponents/{p-d090d412.entry.js.map → p-cf764a83.entry.js.map} +0 -0
  687. /package/dist/webcomponents/{p-27eb10f9.entry.js.map → p-d75fccd1.entry.js.map} +0 -0
  688. /package/dist/webcomponents/{p-c5b716c8.entry.js.map → p-da17c570.entry.js.map} +0 -0
  689. /package/dist/webcomponents/{p-6a9d2a0b.entry.js.map → p-df170bb4.entry.js.map} +0 -0
  690. /package/dist/webcomponents/{p-a365183a.entry.js.map → p-e58dbeef.entry.js.map} +0 -0
  691. /package/dist/webcomponents/{p-007c0f38.entry.js.map → p-f2f32774.entry.js.map} +0 -0
  692. /package/dist/webcomponents/{p-061dbde5.entry.js.map → p-f723c6fc.entry.js.map} +0 -0
  693. /package/dist/webcomponents/{p-271fafec.entry.js.map → p-f86da8f9.entry.js.map} +0 -0
  694. /package/dist/webcomponents/{p-4cc446e4.entry.js.map → p-fc94c64c.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"br-button.br-icon.entry.esm.js","sources":["../../packages/webcomponents/src/components/button/button.scss?tag=br-button&encapsulation=shadow","../../packages/webcomponents/src/components/button/button.tsx","../../node_modules/iconify-icon/dist/iconify-icon.mjs","../../packages/webcomponents/src/components/icon/icon.scss?tag=br-icon&encapsulation=shadow","../../packages/webcomponents/src/components/icon/icon.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/loading/loading\";\n\n:host {\n display: inline-block;\n}\n\n:host([shape=\"block\"]) {\n display: block;\n}\n\n::slotted(br-icon) {\n margin: 0 var(--spacing-scale-base);\n}\n\n::slotted(a:not(:disabled):hover) {\n background-image: none !important;\n}\n","import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/button?tab=designer).\n *\n * @slot default - Slot para o rótulo ou conteúdo do botão.\n * @part button - Parte para o elemento button interno, usada para estilos customizados via ::part(button).\n */\n@Component({\n tag: 'br-button',\n styleUrl: 'button.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Button {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrButtonElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define se o botão usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) readonly colorMode: 'dark'\n\n /**\n * Identificador único; gerado automaticamente quando omitido.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('br-button')\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o botão, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.\n */\n @Prop({ reflect: true }) readonly emphasis: 'primary' | 'secondary' | 'tertiary'\n\n /**\n * Indica se o botão está no estado ativo.\n * Se definido como verdadeiro, o botão será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Aplica o estado de \"progresso\" ao botão.\n * O botão exibirá um indicador de carregamento ou progresso.\n */\n @Prop({ reflect: true }) readonly isLoading: boolean = false\n\n /**\n * Define o formato do botão.\n */\n @Prop({ reflect: true }) readonly shape: 'circle' | 'block' | 'pill'\n\n /**\n * Define o tipo de botão, especificando seu comportamento padrão.\n */\n @Prop({ reflect: true }) readonly type: 'button' | 'reset' | 'submit'\n\n /**\n * Define o valor inicial do botão em um formulário.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /**\n * Define o índice de tabulação do botão.\n * Útil para remover o botão da sequência de tabulação (tabindex=\"-1\") quando ele é puramente decorativo ou o foco é gerenciado por um componente pai.\n */\n @Prop({ reflect: true }) readonly customTabIndex?: number\n\n /**\n * Define o rótulo acessível do botão.\n * Este rótulo é usado por tecnologias assistivas para descrever a função do botão.\n * É especialmente importante para botões com formato circular, onde o texto pode não ser visível.\n * Se o botão não tiver um rótulo acessível, uma mensagem de aviso será exibida no console.\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n /**\n * Define o estado de pressionado do botão.\n * Este atributo é usado para indicar se o botão está atualmente pressionado ou não.\n * É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado.\n * O valor deve ser 'true' ou 'false'.\n */\n @Prop({ reflect: true }) readonly ariaPressed: string\n\n private readonly handleClick = () => {\n if (this.type === 'submit') {\n const submitEvent = new SubmitEvent('submit', {\n submitter: this.elementInternals.form,\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n this.elementInternals.form.dispatchEvent(submitEvent)\n }\n\n if (this.type === 'reset') {\n this.elementInternals.form.reset()\n }\n }\n\n componentDidLoad() {\n if (this.shape === 'circle') {\n const ariaLabelValue = this.el.getAttribute('aria-label')\n if (ariaLabelValue === null || ariaLabelValue === undefined || ariaLabelValue.trim() === '') {\n console.warn('[br-button]: Botões circulares devem conter um aria-label.')\n }\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-button': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n active: this.isActive,\n loading: this.isLoading,\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <button\n part=\"button\"\n aria-label={this.shape === 'circle' ? this.ariaLabel : null}\n aria-pressed={this.ariaPressed}\n class={this.getCssClassMap()}\n type={this.type}\n id={this.customId}\n disabled={this.disabled}\n value={this.value}\n tabindex={this.customTabIndex}\n onClick={this.handleClick}\n >\n <slot></slot>\n </button>\n </Host>\n )\n }\n}\n","/**\n* (c) Iconify\n*\n* For the full copyright and license information, please view the license.txt\n* files at https://github.com/iconify/iconify\n*\n* Licensed under MIT.\n*\n* @license MIT\n* @version 3.0.2\n*/\n/** Default values for dimensions */\nconst defaultIconDimensions = Object.freeze({\n\tleft: 0,\n\ttop: 0,\n\twidth: 16,\n\theight: 16\n});\n/** Default values for transformations */\nconst defaultIconTransformations = Object.freeze({\n\trotate: 0,\n\tvFlip: false,\n\thFlip: false\n});\n/** Default values for all optional IconifyIcon properties */\nconst defaultIconProps = Object.freeze({\n\t...defaultIconDimensions,\n\t...defaultIconTransformations\n});\n/** Default values for all properties used in ExtendedIconifyIcon */\nconst defaultExtendedIconProps = Object.freeze({\n\t...defaultIconProps,\n\tbody: \"\",\n\thidden: false\n});\n\n/**\n* Default icon customisations values\n*/\nconst defaultIconSizeCustomisations = Object.freeze({\n\twidth: null,\n\theight: null\n});\nconst defaultIconCustomisations = Object.freeze({\n\t...defaultIconSizeCustomisations,\n\t...defaultIconTransformations\n});\n\n/**\n* Get rotation value\n*/\nfunction rotateFromString(value, defaultValue = 0) {\n\tconst units = value.replace(/^-?[0-9.]*/, \"\");\n\tfunction cleanup(value$1) {\n\t\twhile (value$1 < 0) value$1 += 4;\n\t\treturn value$1 % 4;\n\t}\n\tif (units === \"\") {\n\t\tconst num = parseInt(value);\n\t\treturn isNaN(num) ? 0 : cleanup(num);\n\t} else if (units !== value) {\n\t\tlet split = 0;\n\t\tswitch (units) {\n\t\t\tcase \"%\":\n\t\t\t\tsplit = 25;\n\t\t\t\tbreak;\n\t\t\tcase \"deg\": split = 90;\n\t\t}\n\t\tif (split) {\n\t\t\tlet num = parseFloat(value.slice(0, value.length - units.length));\n\t\t\tif (isNaN(num)) return 0;\n\t\t\tnum = num / split;\n\t\t\treturn num % 1 === 0 ? cleanup(num) : 0;\n\t\t}\n\t}\n\treturn defaultValue;\n}\n\nconst separator = /[\\s,]+/;\n/**\n* Apply \"flip\" string to icon customisations\n*/\nfunction flipFromString(custom, flip) {\n\tflip.split(separator).forEach((str) => {\n\t\tswitch (str.trim()) {\n\t\t\tcase \"horizontal\":\n\t\t\t\tcustom.hFlip = true;\n\t\t\t\tbreak;\n\t\t\tcase \"vertical\":\n\t\t\t\tcustom.vFlip = true;\n\t\t\t\tbreak;\n\t\t}\n\t});\n}\n\nconst defaultCustomisations = {\n ...defaultIconCustomisations,\n preserveAspectRatio: '',\n};\n/**\n * Get customisations\n */\nfunction getCustomisations(node) {\n const customisations = {\n ...defaultCustomisations,\n };\n const attr = (key, def) => node.getAttribute(key) || def;\n // Dimensions\n customisations.width = attr('width', null);\n customisations.height = attr('height', null);\n // Rotation\n customisations.rotate = rotateFromString(attr('rotate', ''));\n // Flip\n flipFromString(customisations, attr('flip', ''));\n // SVG attributes\n customisations.preserveAspectRatio = attr('preserveAspectRatio', attr('preserveaspectratio', ''));\n return customisations;\n}\n/**\n * Check if customisations have been updated\n */\nfunction haveCustomisationsChanged(value1, value2) {\n for (const key in defaultCustomisations) {\n if (value1[key] !== value2[key]) {\n return true;\n }\n }\n return false;\n}\n\n/**\n* Expression to test part of icon name.\n*\n* Used when loading icons from Iconify API due to project naming convension.\n* Ignored when using custom icon sets - convension does not apply.\n*/\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\n/**\n* Convert string icon name to IconifyIconName object.\n*/\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n\tconst colonSeparated = value.split(\":\");\n\tif (value.slice(0, 1) === \"@\") {\n\t\tif (colonSeparated.length < 2 || colonSeparated.length > 3) return null;\n\t\tprovider = colonSeparated.shift().slice(1);\n\t}\n\tif (colonSeparated.length > 3 || !colonSeparated.length) return null;\n\tif (colonSeparated.length > 1) {\n\t\tconst name$1 = colonSeparated.pop();\n\t\tconst prefix = colonSeparated.pop();\n\t\tconst result = {\n\t\t\tprovider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n\t\t\tprefix,\n\t\t\tname: name$1\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tconst name = colonSeparated[0];\n\tconst dashSeparated = name.split(\"-\");\n\tif (dashSeparated.length > 1) {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: dashSeparated.shift(),\n\t\t\tname: dashSeparated.join(\"-\")\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tif (allowSimpleName && provider === \"\") {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: \"\",\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result, allowSimpleName) ? null : result;\n\t}\n\treturn null;\n};\n/**\n* Check if icon is valid.\n*\n* This function is not part of stringToIcon because validation is not needed for most code.\n*/\nconst validateIconName = (icon, allowSimpleName) => {\n\tif (!icon) return false;\n\treturn !!((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\n/**\n* Resolve icon set icons\n*\n* Returns parent icon for each icon\n*/\nfunction getIconsTree(data, names) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tconst resolved = Object.create(null);\n\tfunction resolve(name) {\n\t\tif (icons[name]) return resolved[name] = [];\n\t\tif (!(name in resolved)) {\n\t\t\tresolved[name] = null;\n\t\t\tconst parent = aliases[name] && aliases[name].parent;\n\t\t\tconst value = parent && resolve(parent);\n\t\t\tif (value) resolved[name] = [parent].concat(value);\n\t\t}\n\t\treturn resolved[name];\n\t}\n\t(Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n\treturn resolved;\n}\n\n/**\n* Merge transformations\n*/\nfunction mergeIconTransformations(obj1, obj2) {\n\tconst result = {};\n\tif (!obj1.hFlip !== !obj2.hFlip) result.hFlip = true;\n\tif (!obj1.vFlip !== !obj2.vFlip) result.vFlip = true;\n\tconst rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n\tif (rotate) result.rotate = rotate;\n\treturn result;\n}\n\n/**\n* Merge icon and alias\n*\n* Can also be used to merge default values and icon\n*/\nfunction mergeIconData(parent, child) {\n\tconst result = mergeIconTransformations(parent, child);\n\tfor (const key in defaultExtendedIconProps) if (key in defaultIconTransformations) {\n\t\tif (key in parent && !(key in result)) result[key] = defaultIconTransformations[key];\n\t} else if (key in child) result[key] = child[key];\n\telse if (key in parent) result[key] = parent[key];\n\treturn result;\n}\n\n/**\n* Get icon data, using prepared aliases tree\n*/\nfunction internalGetIconData(data, name, tree) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tlet currentProps = {};\n\tfunction parse(name$1) {\n\t\tcurrentProps = mergeIconData(icons[name$1] || aliases[name$1], currentProps);\n\t}\n\tparse(name);\n\ttree.forEach(parse);\n\treturn mergeIconData(data, currentProps);\n}\n\n/**\n* Extract icons from an icon set\n*\n* Returns list of icons that were found in icon set\n*/\nfunction parseIconSet(data, callback) {\n\tconst names = [];\n\tif (typeof data !== \"object\" || typeof data.icons !== \"object\") return names;\n\tif (data.not_found instanceof Array) data.not_found.forEach((name) => {\n\t\tcallback(name, null);\n\t\tnames.push(name);\n\t});\n\tconst tree = getIconsTree(data);\n\tfor (const name in tree) {\n\t\tconst item = tree[name];\n\t\tif (item) {\n\t\t\tcallback(name, internalGetIconData(data, name, item));\n\t\t\tnames.push(name);\n\t\t}\n\t}\n\treturn names;\n}\n\n/**\n* Optional properties\n*/\nconst optionalPropertyDefaults = {\n\tprovider: \"\",\n\taliases: {},\n\tnot_found: {},\n\t...defaultIconDimensions\n};\n/**\n* Check props\n*/\nfunction checkOptionalProps(item, defaults) {\n\tfor (const prop in defaults) if (prop in item && typeof item[prop] !== typeof defaults[prop]) return false;\n\treturn true;\n}\n/**\n* Validate icon set, return it as IconifyJSON on success, null on failure\n*\n* Unlike validateIconSet(), this function is very basic.\n* It does not throw exceptions, it does not check metadata, it does not fix stuff.\n*/\nfunction quicklyValidateIconSet(obj) {\n\tif (typeof obj !== \"object\" || obj === null) return null;\n\tconst data = obj;\n\tif (typeof data.prefix !== \"string\" || !obj.icons || typeof obj.icons !== \"object\") return null;\n\tif (!checkOptionalProps(obj, optionalPropertyDefaults)) return null;\n\tconst icons = data.icons;\n\tfor (const name in icons) {\n\t\tconst icon = icons[name];\n\t\tif (!name || typeof icon.body !== \"string\" || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\tconst aliases = data.aliases || Object.create(null);\n\tfor (const name in aliases) {\n\t\tconst icon = aliases[name];\n\t\tconst parent = icon.parent;\n\t\tif (!name || typeof parent !== \"string\" || !icons[parent] && !aliases[parent] || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\treturn data;\n}\n\n/**\n* Storage by provider and prefix\n*/\nconst dataStorage = Object.create(null);\n/**\n* Create new storage\n*/\nfunction newStorage(provider, prefix) {\n\treturn {\n\t\tprovider,\n\t\tprefix,\n\t\ticons: Object.create(null),\n\t\tmissing: /* @__PURE__ */ new Set()\n\t};\n}\n/**\n* Get storage for provider and prefix\n*/\nfunction getStorage(provider, prefix) {\n\tconst providerStorage = dataStorage[provider] || (dataStorage[provider] = Object.create(null));\n\treturn providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix));\n}\n/**\n* Add icon set to storage\n*\n* Returns array of added icons\n*/\nfunction addIconSet(storage, data) {\n\tif (!quicklyValidateIconSet(data)) return [];\n\treturn parseIconSet(data, (name, icon) => {\n\t\tif (icon) storage.icons[name] = icon;\n\t\telse storage.missing.add(name);\n\t});\n}\n/**\n* Add icon to storage\n*/\nfunction addIconToStorage(storage, name, icon) {\n\ttry {\n\t\tif (typeof icon.body === \"string\") {\n\t\t\tstorage.icons[name] = { ...icon };\n\t\t\treturn true;\n\t\t}\n\t} catch (err) {}\n\treturn false;\n}\n/**\n* List available icons\n*/\nfunction listIcons$1(provider, prefix) {\n\tlet allIcons = [];\n\t(typeof provider === \"string\" ? [provider] : Object.keys(dataStorage)).forEach((provider$1) => {\n\t\t(typeof provider$1 === \"string\" && typeof prefix === \"string\" ? [prefix] : Object.keys(dataStorage[provider$1] || {})).forEach((prefix$1) => {\n\t\t\tconst storage = getStorage(provider$1, prefix$1);\n\t\t\tallIcons = allIcons.concat(Object.keys(storage.icons).map((name) => (provider$1 !== \"\" ? \"@\" + provider$1 + \":\" : \"\") + prefix$1 + \":\" + name));\n\t\t});\n\t});\n\treturn allIcons;\n}\n\n/**\n* Allow storing icons without provider or prefix, making it possible to store icons like \"home\"\n*/\nlet simpleNames = false;\nfunction allowSimpleNames(allow) {\n\tif (typeof allow === \"boolean\") simpleNames = allow;\n\treturn simpleNames;\n}\n/**\n* Get icon data\n*\n* Returns:\n* - IconifyIcon on success, object directly from storage so don't modify it\n* - null if icon is marked as missing (returned in `not_found` property from API, so don't bother sending API requests)\n* - undefined if icon is missing in storage\n*/\nfunction getIconData(name) {\n\tconst icon = typeof name === \"string\" ? stringToIcon(name, true, simpleNames) : name;\n\tif (icon) {\n\t\tconst storage = getStorage(icon.provider, icon.prefix);\n\t\tconst iconName = icon.name;\n\t\treturn storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0);\n\t}\n}\n/**\n* Add one icon\n*/\nfunction addIcon$1(name, data) {\n\tconst icon = stringToIcon(name, true, simpleNames);\n\tif (!icon) return false;\n\tconst storage = getStorage(icon.provider, icon.prefix);\n\tif (data) return addIconToStorage(storage, icon.name, data);\n\telse {\n\t\tstorage.missing.add(icon.name);\n\t\treturn true;\n\t}\n}\n/**\n* Add icon set\n*/\nfunction addCollection$1(data, provider) {\n\tif (typeof data !== \"object\") return false;\n\tif (typeof provider !== \"string\") provider = data.provider || \"\";\n\tif (simpleNames && !provider && !data.prefix) {\n\t\tlet added = false;\n\t\tif (quicklyValidateIconSet(data)) {\n\t\t\tdata.prefix = \"\";\n\t\t\tparseIconSet(data, (name, icon) => {\n\t\t\t\tif (addIcon$1(name, icon)) added = true;\n\t\t\t});\n\t\t}\n\t\treturn added;\n\t}\n\tconst prefix = data.prefix;\n\tif (!validateIconName({\n\t\tprefix,\n\t\tname: \"a\"\n\t})) return false;\n\treturn !!addIconSet(getStorage(provider, prefix), data);\n}\n/**\n* Check if icon data is available\n*/\nfunction iconLoaded$1(name) {\n\treturn !!getIconData(name);\n}\n/**\n* Get full icon\n*/\nfunction getIcon$1(name) {\n\tconst result = getIconData(name);\n\treturn result ? {\n\t\t...defaultIconProps,\n\t\t...result\n\t} : result;\n}\n\n/**\n* Remove callback\n*/\nfunction removeCallback(storages, id) {\n\tstorages.forEach((storage) => {\n\t\tconst items = storage.loaderCallbacks;\n\t\tif (items) storage.loaderCallbacks = items.filter((row) => row.id !== id);\n\t});\n}\n/**\n* Update all callbacks for provider and prefix\n*/\nfunction updateCallbacks(storage) {\n\tif (!storage.pendingCallbacksFlag) {\n\t\tstorage.pendingCallbacksFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.pendingCallbacksFlag = false;\n\t\t\tconst items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : [];\n\t\t\tif (!items.length) return;\n\t\t\tlet hasPending = false;\n\t\t\tconst provider = storage.provider;\n\t\t\tconst prefix = storage.prefix;\n\t\t\titems.forEach((item) => {\n\t\t\t\tconst icons = item.icons;\n\t\t\t\tconst oldLength = icons.pending.length;\n\t\t\t\ticons.pending = icons.pending.filter((icon) => {\n\t\t\t\t\tif (icon.prefix !== prefix) return true;\n\t\t\t\t\tconst name = icon.name;\n\t\t\t\t\tif (storage.icons[name]) icons.loaded.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse if (storage.missing.has(name)) icons.missing.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse {\n\t\t\t\t\t\thasPending = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t\tif (icons.pending.length !== oldLength) {\n\t\t\t\t\tif (!hasPending) removeCallback([storage], item.id);\n\t\t\t\t\titem.callback(icons.loaded.slice(0), icons.missing.slice(0), icons.pending.slice(0), item.abort);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Unique id counter for callbacks\n*/\nlet idCounter = 0;\n/**\n* Add callback\n*/\nfunction storeCallback(callback, icons, pendingSources) {\n\tconst id = idCounter++;\n\tconst abort = removeCallback.bind(null, pendingSources, id);\n\tif (!icons.pending.length) return abort;\n\tconst item = {\n\t\tid,\n\t\ticons,\n\t\tcallback,\n\t\tabort\n\t};\n\tpendingSources.forEach((storage) => {\n\t\t(storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item);\n\t});\n\treturn abort;\n}\n\n/**\n* Check if icons have been loaded\n*/\nfunction sortIcons(icons) {\n\tconst result = {\n\t\tloaded: [],\n\t\tmissing: [],\n\t\tpending: []\n\t};\n\tconst storage = Object.create(null);\n\ticons.sort((a, b) => {\n\t\tif (a.provider !== b.provider) return a.provider.localeCompare(b.provider);\n\t\tif (a.prefix !== b.prefix) return a.prefix.localeCompare(b.prefix);\n\t\treturn a.name.localeCompare(b.name);\n\t});\n\tlet lastIcon = {\n\t\tprovider: \"\",\n\t\tprefix: \"\",\n\t\tname: \"\"\n\t};\n\ticons.forEach((icon) => {\n\t\tif (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) return;\n\t\tlastIcon = icon;\n\t\tconst provider = icon.provider;\n\t\tconst prefix = icon.prefix;\n\t\tconst name = icon.name;\n\t\tconst providerStorage = storage[provider] || (storage[provider] = Object.create(null));\n\t\tconst localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix));\n\t\tlet list;\n\t\tif (name in localStorage.icons) list = result.loaded;\n\t\telse if (prefix === \"\" || localStorage.missing.has(name)) list = result.missing;\n\t\telse list = result.pending;\n\t\tconst item = {\n\t\t\tprovider,\n\t\t\tprefix,\n\t\t\tname\n\t\t};\n\t\tlist.push(item);\n\t});\n\treturn result;\n}\n\n/**\n* Local storate types and entries\n*/\nconst storage = Object.create(null);\n/**\n* Set API module\n*/\nfunction setAPIModule(provider, item) {\n\tstorage[provider] = item;\n}\n/**\n* Get API module\n*/\nfunction getAPIModule(provider) {\n\treturn storage[provider] || storage[\"\"];\n}\n\n/**\n* Convert icons list from string/icon mix to icons and validate them\n*/\nfunction listToIcons(list, validate = true, simpleNames = false) {\n\tconst result = [];\n\tlist.forEach((item) => {\n\t\tconst icon = typeof item === \"string\" ? stringToIcon(item, validate, simpleNames) : item;\n\t\tif (icon) result.push(icon);\n\t});\n\treturn result;\n}\n\n/**\n* Create full API configuration from partial data\n*/\nfunction createAPIConfig(source) {\n\tlet resources;\n\tif (typeof source.resources === \"string\") resources = [source.resources];\n\telse {\n\t\tresources = source.resources;\n\t\tif (!(resources instanceof Array) || !resources.length) return null;\n\t}\n\treturn {\n\t\tresources,\n\t\tpath: source.path || \"/\",\n\t\tmaxURL: source.maxURL || 500,\n\t\trotate: source.rotate || 750,\n\t\ttimeout: source.timeout || 5e3,\n\t\trandom: source.random === true,\n\t\tindex: source.index || 0,\n\t\tdataAfterTimeout: source.dataAfterTimeout !== false\n\t};\n}\n/**\n* Local storage\n*/\nconst configStorage = Object.create(null);\n/**\n* Redundancy for API servers.\n*\n* API should have very high uptime because of implemented redundancy at server level, but\n* sometimes bad things happen. On internet 100% uptime is not possible.\n*\n* There could be routing problems. Server might go down for whatever reason, but it takes\n* few minutes to detect that downtime, so during those few minutes API might not be accessible.\n*\n* This script has some redundancy to mitigate possible network issues.\n*\n* If one host cannot be reached in 'rotate' (750 by default) ms, script will try to retrieve\n* data from different host. Hosts have different configurations, pointing to different\n* API servers hosted at different providers.\n*/\nconst fallBackAPISources = [\"https://api.simplesvg.com\", \"https://api.unisvg.com\"];\nconst fallBackAPI = [];\nwhile (fallBackAPISources.length > 0) if (fallBackAPISources.length === 1) fallBackAPI.push(fallBackAPISources.shift());\nelse if (Math.random() > .5) fallBackAPI.push(fallBackAPISources.shift());\nelse fallBackAPI.push(fallBackAPISources.pop());\nconfigStorage[\"\"] = createAPIConfig({ resources: [\"https://api.iconify.design\"].concat(fallBackAPI) });\n/**\n* Add custom config for provider\n*/\nfunction addAPIProvider$1(provider, customConfig) {\n\tconst config = createAPIConfig(customConfig);\n\tif (config === null) return false;\n\tconfigStorage[provider] = config;\n\treturn true;\n}\n/**\n* Get API configuration\n*/\nfunction getAPIConfig(provider) {\n\treturn configStorage[provider];\n}\n/**\n* List API providers\n*/\nfunction listAPIProviders() {\n\treturn Object.keys(configStorage);\n}\n\n/**\n* Default RedundancyConfig for API calls\n*/\nconst defaultConfig = {\n\tresources: [],\n\tindex: 0,\n\ttimeout: 2e3,\n\trotate: 750,\n\trandom: false,\n\tdataAfterTimeout: false\n};\n\n/**\n* Send query\n*/\nfunction sendQuery(config, payload, query, done) {\n\tconst resourcesCount = config.resources.length;\n\tconst startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;\n\tlet resources;\n\tif (config.random) {\n\t\tlet list = config.resources.slice(0);\n\t\tresources = [];\n\t\twhile (list.length > 1) {\n\t\t\tconst nextIndex = Math.floor(Math.random() * list.length);\n\t\t\tresources.push(list[nextIndex]);\n\t\t\tlist = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));\n\t\t}\n\t\tresources = resources.concat(list);\n\t} else resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));\n\tconst startTime = Date.now();\n\tlet status = \"pending\";\n\tlet queriesSent = 0;\n\tlet lastError;\n\tlet timer = null;\n\tlet queue = [];\n\tlet doneCallbacks = [];\n\tif (typeof done === \"function\") doneCallbacks.push(done);\n\t/**\n\t* Reset timer\n\t*/\n\tfunction resetTimer() {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = null;\n\t\t}\n\t}\n\t/**\n\t* Abort everything\n\t*/\n\tfunction abort() {\n\t\tif (status === \"pending\") status = \"aborted\";\n\t\tresetTimer();\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Add / replace callback to call when execution is complete.\n\t* This can be used to abort pending query implementations when query is complete or aborted.\n\t*/\n\tfunction subscribe(callback, overwrite) {\n\t\tif (overwrite) doneCallbacks = [];\n\t\tif (typeof callback === \"function\") doneCallbacks.push(callback);\n\t}\n\t/**\n\t* Get query status\n\t*/\n\tfunction getQueryStatus() {\n\t\treturn {\n\t\t\tstartTime,\n\t\t\tpayload,\n\t\t\tstatus,\n\t\t\tqueriesSent,\n\t\t\tqueriesPending: queue.length,\n\t\t\tsubscribe,\n\t\t\tabort\n\t\t};\n\t}\n\t/**\n\t* Fail query\n\t*/\n\tfunction failQuery() {\n\t\tstatus = \"failed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(void 0, lastError);\n\t\t});\n\t}\n\t/**\n\t* Clear queue\n\t*/\n\tfunction clearQueue() {\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Got response from module\n\t*/\n\tfunction moduleResponse(item, response, data) {\n\t\tconst isError = response !== \"success\";\n\t\tqueue = queue.filter((queued) => queued !== item);\n\t\tswitch (status) {\n\t\t\tcase \"pending\": break;\n\t\t\tcase \"failed\":\n\t\t\t\tif (isError || !config.dataAfterTimeout) return;\n\t\t\t\tbreak;\n\t\t\tdefault: return;\n\t\t}\n\t\tif (response === \"abort\") {\n\t\t\tlastError = data;\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tif (isError) {\n\t\t\tlastError = data;\n\t\t\tif (!queue.length) if (!resources.length) failQuery();\n\t\t\telse execNext();\n\t\t\treturn;\n\t\t}\n\t\tresetTimer();\n\t\tclearQueue();\n\t\tif (!config.random) {\n\t\t\tconst index = config.resources.indexOf(item.resource);\n\t\t\tif (index !== -1 && index !== config.index) config.index = index;\n\t\t}\n\t\tstatus = \"completed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(data);\n\t\t});\n\t}\n\t/**\n\t* Execute next query\n\t*/\n\tfunction execNext() {\n\t\tif (status !== \"pending\") return;\n\t\tresetTimer();\n\t\tconst resource = resources.shift();\n\t\tif (resource === void 0) {\n\t\t\tif (queue.length) {\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tresetTimer();\n\t\t\t\t\tif (status === \"pending\") {\n\t\t\t\t\t\tclearQueue();\n\t\t\t\t\t\tfailQuery();\n\t\t\t\t\t}\n\t\t\t\t}, config.timeout);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tconst item = {\n\t\t\tstatus: \"pending\",\n\t\t\tresource,\n\t\t\tcallback: (status$1, data) => {\n\t\t\t\tmoduleResponse(item, status$1, data);\n\t\t\t}\n\t\t};\n\t\tqueue.push(item);\n\t\tqueriesSent++;\n\t\ttimer = setTimeout(execNext, config.rotate);\n\t\tquery(resource, payload, item.callback);\n\t}\n\tsetTimeout(execNext);\n\treturn getQueryStatus;\n}\n\n/**\n* Redundancy instance\n*/\nfunction initRedundancy(cfg) {\n\tconst config = {\n\t\t...defaultConfig,\n\t\t...cfg\n\t};\n\tlet queries = [];\n\t/**\n\t* Remove aborted and completed queries\n\t*/\n\tfunction cleanup() {\n\t\tqueries = queries.filter((item) => item().status === \"pending\");\n\t}\n\t/**\n\t* Send query\n\t*/\n\tfunction query(payload, queryCallback, doneCallback) {\n\t\tconst query$1 = sendQuery(config, payload, queryCallback, (data, error) => {\n\t\t\tcleanup();\n\t\t\tif (doneCallback) doneCallback(data, error);\n\t\t});\n\t\tqueries.push(query$1);\n\t\treturn query$1;\n\t}\n\t/**\n\t* Find instance\n\t*/\n\tfunction find(callback) {\n\t\treturn queries.find((value) => {\n\t\t\treturn callback(value);\n\t\t}) || null;\n\t}\n\treturn {\n\t\tquery,\n\t\tfind,\n\t\tsetIndex: (index) => {\n\t\t\tconfig.index = index;\n\t\t},\n\t\tgetIndex: () => config.index,\n\t\tcleanup\n\t};\n}\n\nfunction emptyCallback$1() {}\nconst redundancyCache = Object.create(null);\n/**\n* Get Redundancy instance for provider\n*/\nfunction getRedundancyCache(provider) {\n\tif (!redundancyCache[provider]) {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (!config) return;\n\t\tredundancyCache[provider] = {\n\t\t\tconfig,\n\t\t\tredundancy: initRedundancy(config)\n\t\t};\n\t}\n\treturn redundancyCache[provider];\n}\n/**\n* Send API query\n*/\nfunction sendAPIQuery(target, query, callback) {\n\tlet redundancy;\n\tlet send;\n\tif (typeof target === \"string\") {\n\t\tconst api = getAPIModule(target);\n\t\tif (!api) {\n\t\t\tcallback(void 0, 424);\n\t\t\treturn emptyCallback$1;\n\t\t}\n\t\tsend = api.send;\n\t\tconst cached = getRedundancyCache(target);\n\t\tif (cached) redundancy = cached.redundancy;\n\t} else {\n\t\tconst config = createAPIConfig(target);\n\t\tif (config) {\n\t\t\tredundancy = initRedundancy(config);\n\t\t\tconst api = getAPIModule(target.resources ? target.resources[0] : \"\");\n\t\t\tif (api) send = api.send;\n\t\t}\n\t}\n\tif (!redundancy || !send) {\n\t\tcallback(void 0, 424);\n\t\treturn emptyCallback$1;\n\t}\n\treturn redundancy.query(query, send, callback)().abort;\n}\n\nfunction emptyCallback() {}\n/**\n* Function called when new icons have been loaded\n*/\nfunction loadedNewIcons(storage) {\n\tif (!storage.iconsLoaderFlag) {\n\t\tstorage.iconsLoaderFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsLoaderFlag = false;\n\t\t\tupdateCallbacks(storage);\n\t\t});\n\t}\n}\n/**\n* Check icon names for API\n*/\nfunction checkIconNamesForAPI(icons) {\n\tconst valid = [];\n\tconst invalid = [];\n\ticons.forEach((name) => {\n\t\t(name.match(matchIconName) ? valid : invalid).push(name);\n\t});\n\treturn {\n\t\tvalid,\n\t\tinvalid\n\t};\n}\n/**\n* Parse loader response\n*/\nfunction parseLoaderResponse(storage, icons, data) {\n\tfunction checkMissing() {\n\t\tconst pending = storage.pendingIcons;\n\t\ticons.forEach((name) => {\n\t\t\tif (pending) pending.delete(name);\n\t\t\tif (!storage.icons[name]) storage.missing.add(name);\n\t\t});\n\t}\n\tif (data && typeof data === \"object\") try {\n\t\tif (!addIconSet(storage, data).length) {\n\t\t\tcheckMissing();\n\t\t\treturn;\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(err);\n\t}\n\tcheckMissing();\n\tloadedNewIcons(storage);\n}\n/**\n* Handle response that can be async\n*/\nfunction parsePossiblyAsyncResponse(response, callback) {\n\tif (response instanceof Promise) response.then((data) => {\n\t\tcallback(data);\n\t}).catch(() => {\n\t\tcallback(null);\n\t});\n\telse callback(response);\n}\n/**\n* Load icons\n*/\nfunction loadNewIcons(storage, icons) {\n\tif (!storage.iconsToLoad) storage.iconsToLoad = icons;\n\telse storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort();\n\tif (!storage.iconsQueueFlag) {\n\t\tstorage.iconsQueueFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsQueueFlag = false;\n\t\t\tconst { provider, prefix } = storage;\n\t\t\tconst icons$1 = storage.iconsToLoad;\n\t\t\tdelete storage.iconsToLoad;\n\t\t\tif (!icons$1 || !icons$1.length) return;\n\t\t\tconst customIconLoader = storage.loadIcon;\n\t\t\tif (storage.loadIcons && (icons$1.length > 1 || !customIconLoader)) {\n\t\t\t\tparsePossiblyAsyncResponse(storage.loadIcons(icons$1, prefix, provider), (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, icons$1, data);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (customIconLoader) {\n\t\t\t\ticons$1.forEach((name) => {\n\t\t\t\t\tparsePossiblyAsyncResponse(customIconLoader(name, prefix, provider), (data) => {\n\t\t\t\t\t\tparseLoaderResponse(storage, [name], data ? {\n\t\t\t\t\t\t\tprefix,\n\t\t\t\t\t\t\ticons: { [name]: data }\n\t\t\t\t\t\t} : null);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { valid, invalid } = checkIconNamesForAPI(icons$1);\n\t\t\tif (invalid.length) parseLoaderResponse(storage, invalid, null);\n\t\t\tif (!valid.length) return;\n\t\t\tconst api = prefix.match(matchIconName) ? getAPIModule(provider) : null;\n\t\t\tif (!api) {\n\t\t\t\tparseLoaderResponse(storage, valid, null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tapi.prepare(provider, prefix, valid).forEach((item) => {\n\t\t\t\tsendAPIQuery(provider, item, (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, item.icons, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Load icons\n*/\nconst loadIcons$1 = (icons, callback) => {\n\tconst sortedIcons = sortIcons(listToIcons(icons, true, allowSimpleNames()));\n\tif (!sortedIcons.pending.length) {\n\t\tlet callCallback = true;\n\t\tif (callback) setTimeout(() => {\n\t\t\tif (callCallback) callback(sortedIcons.loaded, sortedIcons.missing, sortedIcons.pending, emptyCallback);\n\t\t});\n\t\treturn () => {\n\t\t\tcallCallback = false;\n\t\t};\n\t}\n\tconst newIcons = Object.create(null);\n\tconst sources = [];\n\tlet lastProvider, lastPrefix;\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix } = icon;\n\t\tif (prefix === lastPrefix && provider === lastProvider) return;\n\t\tlastProvider = provider;\n\t\tlastPrefix = prefix;\n\t\tsources.push(getStorage(provider, prefix));\n\t\tconst providerNewIcons = newIcons[provider] || (newIcons[provider] = Object.create(null));\n\t\tif (!providerNewIcons[prefix]) providerNewIcons[prefix] = [];\n\t});\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix, name } = icon;\n\t\tconst storage = getStorage(provider, prefix);\n\t\tconst pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set());\n\t\tif (!pendingQueue.has(name)) {\n\t\t\tpendingQueue.add(name);\n\t\t\tnewIcons[provider][prefix].push(name);\n\t\t}\n\t});\n\tsources.forEach((storage) => {\n\t\tconst list = newIcons[storage.provider][storage.prefix];\n\t\tif (list.length) loadNewIcons(storage, list);\n\t});\n\treturn callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;\n};\n/**\n* Load one icon using Promise\n*/\nconst loadIcon$1 = (icon) => {\n\treturn new Promise((fulfill, reject) => {\n\t\tconst iconObj = typeof icon === \"string\" ? stringToIcon(icon, true) : icon;\n\t\tif (!iconObj) {\n\t\t\treject(icon);\n\t\t\treturn;\n\t\t}\n\t\tloadIcons$1([iconObj || icon], (loaded) => {\n\t\t\tif (loaded.length && iconObj) {\n\t\t\t\tconst data = getIconData(iconObj);\n\t\t\t\tif (data) {\n\t\t\t\t\tfulfill({\n\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t...data\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\treject(icon);\n\t\t});\n\t});\n};\n\n/**\n * Test icon string\n */\nfunction testIconObject(value) {\n try {\n const obj = typeof value === 'string' ? JSON.parse(value) : value;\n if (typeof obj.body === 'string') {\n return {\n ...obj,\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n}\n\n/**\n * Parse icon value, load if needed\n */\nfunction parseIconValue(value, onload) {\n if (typeof value === 'object') {\n const data = testIconObject(value);\n return {\n data,\n value,\n };\n }\n if (typeof value !== 'string') {\n // Invalid value\n return {\n value,\n };\n }\n // Check for JSON\n if (value.includes('{')) {\n const data = testIconObject(value);\n if (data) {\n return {\n data,\n value,\n };\n }\n }\n // Parse icon name\n const name = stringToIcon(value, true, true);\n if (!name) {\n return {\n value,\n };\n }\n // Valid icon name: check if data is available\n const data = getIconData(name);\n // Icon data exists or icon has no prefix. Do not load icon from API if icon has no prefix\n if (data !== undefined || !name.prefix) {\n return {\n value,\n name,\n data, // could be 'null' -> icon is missing\n };\n }\n // Load icon\n const loading = loadIcons$1([name], () => onload(value, name, getIconData(name)));\n return {\n value,\n name,\n loading,\n };\n}\n\n// Check for Safari\nlet isBuggedSafari = false;\ntry {\n isBuggedSafari = navigator.vendor.indexOf('Apple') === 0;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n}\ncatch (err) {\n //\n}\n/**\n * Get render mode\n */\nfunction getRenderMode(body, mode) {\n switch (mode) {\n // Force mode\n case 'svg':\n case 'bg':\n case 'mask':\n return mode;\n }\n // Check for animation, use 'style' for animated icons, unless browser is Safari\n // (only <a>, which should be ignored or animations start with '<a')\n if (mode !== 'style' &&\n (isBuggedSafari || body.indexOf('<a') === -1)) {\n // Render <svg>\n return 'svg';\n }\n // Use background or mask\n return body.indexOf('currentColor') === -1 ? 'bg' : 'mask';\n}\n\n/**\n* Regular expressions for calculating dimensions\n*/\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize$1(size, ratio, precision) {\n\tif (ratio === 1) return size;\n\tprecision = precision || 100;\n\tif (typeof size === \"number\") return Math.ceil(size * ratio * precision) / precision;\n\tif (typeof size !== \"string\") return size;\n\tconst oldParts = size.split(unitsSplit);\n\tif (oldParts === null || !oldParts.length) return size;\n\tconst newParts = [];\n\tlet code = oldParts.shift();\n\tlet isNumber = unitsTest.test(code);\n\twhile (true) {\n\t\tif (isNumber) {\n\t\t\tconst num = parseFloat(code);\n\t\t\tif (isNaN(num)) newParts.push(code);\n\t\t\telse newParts.push(Math.ceil(num * ratio * precision) / precision);\n\t\t} else newParts.push(code);\n\t\tcode = oldParts.shift();\n\t\tif (code === void 0) return newParts.join(\"\");\n\t\tisNumber = !isNumber;\n\t}\n}\n\nfunction splitSVGDefs(content, tag = \"defs\") {\n\tlet defs = \"\";\n\tconst index = content.indexOf(\"<\" + tag);\n\twhile (index >= 0) {\n\t\tconst start = content.indexOf(\">\", index);\n\t\tconst end = content.indexOf(\"</\" + tag);\n\t\tif (start === -1 || end === -1) break;\n\t\tconst endEnd = content.indexOf(\">\", end);\n\t\tif (endEnd === -1) break;\n\t\tdefs += content.slice(start + 1, end).trim();\n\t\tcontent = content.slice(0, index).trim() + content.slice(endEnd + 1);\n\t}\n\treturn {\n\t\tdefs,\n\t\tcontent\n\t};\n}\n/**\n* Merge defs and content\n*/\nfunction mergeDefsAndContent(defs, content) {\n\treturn defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\n/**\n* Wrap SVG content, without wrapping definitions\n*/\nfunction wrapSVGContent(body, start, end) {\n\tconst split = splitSVGDefs(body);\n\treturn mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\n/**\n* Check if value should be unset. Allows multiple keywords\n*/\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\n/**\n* Get SVG attributes and content from icon + customisations\n*\n* Does not generate style to make it compatible with frameworks that use objects for style, such as React.\n* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.\n*\n* Customisations should be normalised by platform specific parser.\n* Result should be converted to <svg> by platform specific parser.\n* Use replaceIDs to generate unique IDs for body.\n*/\nfunction iconToSVG(icon, customisations) {\n\tconst fullIcon = {\n\t\t...defaultIconProps,\n\t\t...icon\n\t};\n\tconst fullCustomisations = {\n\t\t...defaultIconCustomisations,\n\t\t...customisations\n\t};\n\tconst box = {\n\t\tleft: fullIcon.left,\n\t\ttop: fullIcon.top,\n\t\twidth: fullIcon.width,\n\t\theight: fullIcon.height\n\t};\n\tlet body = fullIcon.body;\n\t[fullIcon, fullCustomisations].forEach((props) => {\n\t\tconst transformations = [];\n\t\tconst hFlip = props.hFlip;\n\t\tconst vFlip = props.vFlip;\n\t\tlet rotation = props.rotate;\n\t\tif (hFlip) if (vFlip) rotation += 2;\n\t\telse {\n\t\t\ttransformations.push(\"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(-1 1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\telse if (vFlip) {\n\t\t\ttransformations.push(\"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(1 -1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\tlet tempValue;\n\t\tif (rotation < 0) rotation -= Math.floor(rotation / 4) * 4;\n\t\trotation = rotation % 4;\n\t\tswitch (rotation) {\n\t\t\tcase 1:\n\t\t\t\ttempValue = box.height / 2 + box.top;\n\t\t\t\ttransformations.unshift(\"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ttransformations.unshift(\"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\ttempValue = box.width / 2 + box.left;\n\t\t\t\ttransformations.unshift(\"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t}\n\t\tif (rotation % 2 === 1) {\n\t\t\tif (box.left !== box.top) {\n\t\t\t\ttempValue = box.left;\n\t\t\t\tbox.left = box.top;\n\t\t\t\tbox.top = tempValue;\n\t\t\t}\n\t\t\tif (box.width !== box.height) {\n\t\t\t\ttempValue = box.width;\n\t\t\t\tbox.width = box.height;\n\t\t\t\tbox.height = tempValue;\n\t\t\t}\n\t\t}\n\t\tif (transformations.length) body = wrapSVGContent(body, \"<g transform=\\\"\" + transformations.join(\" \") + \"\\\">\", \"</g>\");\n\t});\n\tconst customisationsWidth = fullCustomisations.width;\n\tconst customisationsHeight = fullCustomisations.height;\n\tconst boxWidth = box.width;\n\tconst boxHeight = box.height;\n\tlet width;\n\tlet height;\n\tif (customisationsWidth === null) {\n\t\theight = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t\twidth = calculateSize$1(height, boxWidth / boxHeight);\n\t} else {\n\t\twidth = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n\t\theight = customisationsHeight === null ? calculateSize$1(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t}\n\tconst attributes = {};\n\tconst setAttr = (prop, value) => {\n\t\tif (!isUnsetKeyword(value)) attributes[prop] = value.toString();\n\t};\n\tsetAttr(\"width\", width);\n\tsetAttr(\"height\", height);\n\tconst viewBox = [\n\t\tbox.left,\n\t\tbox.top,\n\t\tboxWidth,\n\t\tboxHeight\n\t];\n\tattributes.viewBox = viewBox.join(\" \");\n\treturn {\n\t\tattributes,\n\t\tviewBox,\n\t\tbody\n\t};\n}\n\n/**\n* Generate <svg>\n*/\nfunction iconToHTML$1(body, attributes) {\n\tlet renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : \" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\";\n\tfor (const attr in attributes) renderAttribsHTML += \" \" + attr + \"=\\\"\" + attributes[attr] + \"\\\"\";\n\treturn \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\" + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\n/**\n* Encode SVG for use in url()\n*\n* Short alternative to encodeURIComponent() that encodes only stuff used in SVG, generating\n* smaller code.\n*/\nfunction encodeSVGforURL(svg) {\n\treturn svg.replace(/\"/g, \"'\").replace(/%/g, \"%25\").replace(/#/g, \"%23\").replace(/</g, \"%3C\").replace(/>/g, \"%3E\").replace(/\\s+/g, \" \");\n}\n/**\n* Generate data: URL from SVG\n*/\nfunction svgToData(svg) {\n\treturn \"data:image/svg+xml,\" + encodeSVGforURL(svg);\n}\n/**\n* Generate url() from SVG\n*/\nfunction svgToURL$1(svg) {\n\treturn \"url(\\\"\" + svgToData(svg) + \"\\\")\";\n}\n\nconst detectFetch = () => {\n\tlet callback;\n\ttry {\n\t\tcallback = fetch;\n\t\tif (typeof callback === \"function\") return callback;\n\t} catch (err) {}\n};\n/**\n* Fetch function\n*/\nlet fetchModule = detectFetch();\n/**\n* Set custom fetch() function\n*/\nfunction setFetch(fetch$1) {\n\tfetchModule = fetch$1;\n}\n/**\n* Get fetch() function. Used by Icon Finder Core\n*/\nfunction getFetch() {\n\treturn fetchModule;\n}\n/**\n* Calculate maximum icons list length for prefix\n*/\nfunction calculateMaxLength(provider, prefix) {\n\tconst config = getAPIConfig(provider);\n\tif (!config) return 0;\n\tlet result;\n\tif (!config.maxURL) result = 0;\n\telse {\n\t\tlet maxHostLength = 0;\n\t\tconfig.resources.forEach((item) => {\n\t\t\tconst host = item;\n\t\t\tmaxHostLength = Math.max(maxHostLength, host.length);\n\t\t});\n\t\tconst url = prefix + \".json?icons=\";\n\t\tresult = config.maxURL - maxHostLength - config.path.length - url.length;\n\t}\n\treturn result;\n}\n/**\n* Should query be aborted, based on last HTTP status\n*/\nfunction shouldAbort(status) {\n\treturn status === 404;\n}\n/**\n* Prepare params\n*/\nconst prepare = (provider, prefix, icons) => {\n\tconst results = [];\n\tconst maxLength = calculateMaxLength(provider, prefix);\n\tconst type = \"icons\";\n\tlet item = {\n\t\ttype,\n\t\tprovider,\n\t\tprefix,\n\t\ticons: []\n\t};\n\tlet length = 0;\n\ticons.forEach((name, index) => {\n\t\tlength += name.length + 1;\n\t\tif (length >= maxLength && index > 0) {\n\t\t\tresults.push(item);\n\t\t\titem = {\n\t\t\t\ttype,\n\t\t\t\tprovider,\n\t\t\t\tprefix,\n\t\t\t\ticons: []\n\t\t\t};\n\t\t\tlength = name.length;\n\t\t}\n\t\titem.icons.push(name);\n\t});\n\tresults.push(item);\n\treturn results;\n};\n/**\n* Get path\n*/\nfunction getPath(provider) {\n\tif (typeof provider === \"string\") {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (config) return config.path;\n\t}\n\treturn \"/\";\n}\n/**\n* Load icons\n*/\nconst send = (host, params, callback) => {\n\tif (!fetchModule) {\n\t\tcallback(\"abort\", 424);\n\t\treturn;\n\t}\n\tlet path = getPath(params.provider);\n\tswitch (params.type) {\n\t\tcase \"icons\": {\n\t\t\tconst prefix = params.prefix;\n\t\t\tconst iconsList = params.icons.join(\",\");\n\t\t\tconst urlParams = new URLSearchParams({ icons: iconsList });\n\t\t\tpath += prefix + \".json?\" + urlParams.toString();\n\t\t\tbreak;\n\t\t}\n\t\tcase \"custom\": {\n\t\t\tconst uri = params.uri;\n\t\t\tpath += uri.slice(0, 1) === \"/\" ? uri.slice(1) : uri;\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tcallback(\"abort\", 400);\n\t\t\treturn;\n\t}\n\tlet defaultError = 503;\n\tfetchModule(host + path).then((response) => {\n\t\tconst status = response.status;\n\t\tif (status !== 200) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tcallback(shouldAbort(status) ? \"abort\" : \"next\", status);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdefaultError = 501;\n\t\treturn response.json();\n\t}).then((data) => {\n\t\tif (typeof data !== \"object\" || data === null) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (data === 404) callback(\"abort\", data);\n\t\t\t\telse callback(\"next\", defaultError);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tcallback(\"success\", data);\n\t\t});\n\t}).catch(() => {\n\t\tcallback(\"next\", defaultError);\n\t});\n};\n/**\n* Export module\n*/\nconst fetchAPIModule = {\n\tprepare,\n\tsend\n};\n\n/**\n* Set custom loader for multiple icons\n*/\nfunction setCustomIconsLoader$1(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcons = loader;\n}\n/**\n* Set custom loader for one icon\n*/\nfunction setCustomIconLoader$1(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcon = loader;\n}\n\n/**\n * Attribute to add\n */\nconst nodeAttr = 'data-style';\n/**\n * Custom style to add to each node\n */\nlet customStyle = '';\n/**\n * Set custom style to add to all components\n *\n * Affects only components rendered after function call\n */\nfunction appendCustomStyle(style) {\n customStyle = style;\n}\n/**\n * Add/update style node\n */\nfunction updateStyle(parent, inline) {\n // Get node, create if needed\n let styleNode = Array.from(parent.childNodes).find((node) => node.hasAttribute &&\n node.hasAttribute(nodeAttr));\n if (!styleNode) {\n styleNode = document.createElement('style');\n styleNode.setAttribute(nodeAttr, nodeAttr);\n parent.appendChild(styleNode);\n }\n // Update content\n styleNode.textContent =\n ':host{display:inline-block;vertical-align:' +\n (inline ? '-0.125em' : '0') +\n '}span,svg{display:block;margin:auto}' +\n customStyle;\n}\n\n// Core\n/**\n * Get functions and initialise stuff\n */\nfunction exportFunctions() {\n /**\n * Initialise stuff\n */\n // Set API module\n setAPIModule('', fetchAPIModule);\n // Allow simple icon names\n allowSimpleNames(true);\n let _window;\n try {\n _window = window;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n if (_window) {\n // Load icons from global \"IconifyPreload\"\n if (_window.IconifyPreload !== void 0) {\n const preload = _window.IconifyPreload;\n const err = 'Invalid IconifyPreload syntax.';\n if (typeof preload === 'object' && preload !== null) {\n (preload instanceof Array ? preload : [preload]).forEach((item) => {\n try {\n if (\n // Check if item is an object and not null/array\n typeof item !== 'object' ||\n item === null ||\n item instanceof Array ||\n // Check for 'icons' and 'prefix'\n typeof item.icons !== 'object' ||\n typeof item.prefix !== 'string' ||\n // Add icon set\n !addCollection$1(item)) {\n console.error(err);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (e) {\n console.error(err);\n }\n });\n }\n }\n // Set API from global \"IconifyProviders\"\n if (_window.IconifyProviders !== void 0) {\n const providers = _window.IconifyProviders;\n if (typeof providers === 'object' && providers !== null) {\n for (const key in providers) {\n const err = 'IconifyProviders[' + key + '] is invalid.';\n try {\n const value = providers[key];\n if (typeof value !== 'object' ||\n !value ||\n value.resources === void 0) {\n continue;\n }\n if (!addAPIProvider$1(key, value)) {\n console.error(err);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (e) {\n console.error(err);\n }\n }\n }\n }\n }\n const _api = {\n getAPIConfig,\n setAPIModule,\n sendAPIQuery,\n setFetch,\n getFetch,\n listAPIProviders,\n };\n return {\n iconLoaded: iconLoaded$1,\n getIcon: getIcon$1,\n listIcons: listIcons$1,\n addIcon: addIcon$1,\n addCollection: addCollection$1,\n calculateSize: calculateSize$1,\n buildIcon: iconToSVG,\n iconToHTML: iconToHTML$1,\n svgToURL: svgToURL$1,\n loadIcons: loadIcons$1,\n loadIcon: loadIcon$1,\n addAPIProvider: addAPIProvider$1,\n setCustomIconLoader: setCustomIconLoader$1,\n setCustomIconsLoader: setCustomIconsLoader$1,\n appendCustomStyle,\n _api,\n };\n}\n\n// List of properties to apply\nconst monotoneProps = {\n 'background-color': 'currentColor',\n};\nconst coloredProps = {\n 'background-color': 'transparent',\n};\n// Dynamically add common props to variables above\nconst propsToAdd = {\n image: 'var(--svg)',\n repeat: 'no-repeat',\n size: '100% 100%',\n};\nconst propsToAddTo = {\n '-webkit-mask': monotoneProps,\n 'mask': monotoneProps,\n 'background': coloredProps,\n};\nfor (const prefix in propsToAddTo) {\n const list = propsToAddTo[prefix];\n for (const prop in propsToAdd) {\n list[prefix + '-' + prop] = propsToAdd[prop];\n }\n}\n/**\n * Fix size: add 'px' to numbers\n */\nfunction fixSize(value) {\n return value ? value + (value.match(/^[-0-9.]+$/) ? 'px' : '') : 'inherit';\n}\n/**\n * Render node as <span>\n */\nfunction renderSPAN(data, icon, useMask) {\n const node = document.createElement('span');\n // Body\n let body = data.body;\n if (body.indexOf('<a') !== -1) {\n // Animated SVG: add something to fix timing bug\n body += '<!-- ' + Date.now() + ' -->';\n }\n // Generate SVG as URL\n const renderAttribs = data.attributes;\n const html = iconToHTML$1(body, {\n ...renderAttribs,\n width: icon.width + '',\n height: icon.height + '',\n });\n const url = svgToURL$1(html);\n // Generate style\n const svgStyle = node.style;\n const styles = {\n '--svg': url,\n 'width': fixSize(renderAttribs.width),\n 'height': fixSize(renderAttribs.height),\n ...(useMask ? monotoneProps : coloredProps),\n };\n // Apply style\n for (const prop in styles) {\n svgStyle.setProperty(prop, styles[prop]);\n }\n return node;\n}\n\nlet policy;\n/**\n* Attempt to create policy\n*/\nfunction createPolicy() {\n\ttry {\n\t\tpolicy = window.trustedTypes.createPolicy(\"iconify\", { createHTML: (s) => s });\n\t} catch (err) {\n\t\tpolicy = null;\n\t}\n}\n/**\n* Clean up value for innerHTML assignment\n*\n* This code doesn't actually clean up anything.\n* It is intended be used with Iconify icon data, which has already been validated\n*/\nfunction cleanUpInnerHTML(html) {\n\tif (policy === void 0) createPolicy();\n\treturn policy ? policy.createHTML(html) : html;\n}\n\n/**\n * Render node as <svg>\n */\nfunction renderSVG(data) {\n const node = document.createElement('span');\n // Add style if needed\n const attr = data.attributes;\n let style = '';\n if (!attr.width) {\n style = 'width: inherit;';\n }\n if (!attr.height) {\n style += 'height: inherit;';\n }\n if (style) {\n attr.style = style;\n }\n // Generate SVG\n const html = iconToHTML$1(data.body, attr);\n node.innerHTML = cleanUpInnerHTML(html);\n return node.firstChild;\n}\n\n/**\n * Find icon node\n */\nfunction findIconElement(parent) {\n return Array.from(parent.childNodes).find((node) => {\n const tag = node.tagName &&\n node.tagName.toUpperCase();\n return tag === 'SPAN' || tag === 'SVG';\n });\n}\n/**\n * Render icon\n */\nfunction renderIcon(parent, state) {\n const iconData = state.icon.data;\n const customisations = state.customisations;\n // Render icon\n const renderData = iconToSVG(iconData, customisations);\n if (customisations.preserveAspectRatio) {\n renderData.attributes['preserveAspectRatio'] =\n customisations.preserveAspectRatio;\n }\n const mode = state.renderedMode;\n let node;\n switch (mode) {\n case 'svg':\n node = renderSVG(renderData);\n break;\n default:\n node = renderSPAN(renderData, {\n ...defaultIconProps,\n ...iconData,\n }, mode === 'mask');\n }\n // Set element\n const oldNode = findIconElement(parent);\n if (oldNode) {\n // Replace old element\n if (node.tagName === 'SPAN' && oldNode.tagName === node.tagName) {\n // Swap style instead of whole node\n oldNode.setAttribute('style', node.getAttribute('style'));\n }\n else {\n parent.replaceChild(node, oldNode);\n }\n }\n else {\n // Add new element\n parent.appendChild(node);\n }\n}\n\n/**\n * Set state to PendingState\n */\nfunction setPendingState(icon, inline, lastState) {\n const lastRender = lastState &&\n (lastState.rendered\n ? lastState\n : lastState.lastRender);\n return {\n rendered: false,\n inline,\n icon,\n lastRender,\n };\n}\n\n/**\n * Register 'iconify-icon' component, if it does not exist\n */\nfunction defineIconifyIcon(name = 'iconify-icon') {\n // Check for custom elements registry and HTMLElement\n let customElements;\n let ParentClass;\n try {\n customElements = window.customElements;\n ParentClass = window.HTMLElement;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n return;\n }\n // Make sure registry and HTMLElement exist\n if (!customElements || !ParentClass) {\n return;\n }\n // Check for duplicate\n const ConflictingClass = customElements.get(name);\n if (ConflictingClass) {\n return ConflictingClass;\n }\n // All attributes\n const attributes = [\n // Icon\n 'icon',\n // Mode\n 'mode',\n 'inline',\n 'noobserver',\n // Customisations\n 'width',\n 'height',\n 'rotate',\n 'flip',\n ];\n /**\n * Component class\n */\n const IconifyIcon = class extends ParentClass {\n // Root\n _shadowRoot;\n // Initialised\n _initialised = false;\n // Icon state\n _state;\n // Attributes check queued\n _checkQueued = false;\n // Connected\n _connected = false;\n // Observer\n _observer = null;\n _visible = true;\n /**\n * Constructor\n */\n constructor() {\n super();\n // Attach shadow DOM\n const root = (this._shadowRoot = this.attachShadow({\n mode: 'open',\n }));\n // Add style\n const inline = this.hasAttribute('inline');\n updateStyle(root, inline);\n // Create empty state\n this._state = setPendingState({\n value: '',\n }, inline);\n // Queue icon render\n this._queueCheck();\n }\n /**\n * Connected to DOM\n */\n connectedCallback() {\n this._connected = true;\n this.startObserver();\n }\n /**\n * Disconnected from DOM\n */\n disconnectedCallback() {\n this._connected = false;\n this.stopObserver();\n }\n /**\n * Observed attributes\n */\n static get observedAttributes() {\n return attributes.slice(0);\n }\n /**\n * Observed properties that are different from attributes\n *\n * Experimental! Need to test with various frameworks that support it\n */\n /*\n static get properties() {\n return {\n inline: {\n type: Boolean,\n reflect: true,\n },\n // Not listing other attributes because they are strings or combination\n // of string and another type. Cannot have multiple types\n };\n }\n */\n /**\n * Attribute has changed\n */\n attributeChangedCallback(name) {\n switch (name) {\n case 'inline': {\n // Update immediately: not affected by other attributes\n const newInline = this.hasAttribute('inline');\n const state = this._state;\n if (newInline !== state.inline) {\n // Update style if inline mode changed\n state.inline = newInline;\n updateStyle(this._shadowRoot, newInline);\n }\n break;\n }\n case 'noobserver': {\n const value = this.hasAttribute('noobserver');\n if (value) {\n this.startObserver();\n }\n else {\n this.stopObserver();\n }\n break;\n }\n default:\n // Queue check for other attributes\n this._queueCheck();\n }\n }\n /**\n * Get/set icon\n */\n get icon() {\n const value = this.getAttribute('icon');\n if (value && value.slice(0, 1) === '{') {\n try {\n return JSON.parse(value);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n }\n return value;\n }\n set icon(value) {\n if (typeof value === 'object') {\n value = JSON.stringify(value);\n }\n this.setAttribute('icon', value);\n }\n /**\n * Get/set inline\n */\n get inline() {\n return this.hasAttribute('inline');\n }\n set inline(value) {\n if (value) {\n this.setAttribute('inline', 'true');\n }\n else {\n this.removeAttribute('inline');\n }\n }\n /**\n * Get/set observer\n */\n get observer() {\n return this.hasAttribute('observer');\n }\n set observer(value) {\n if (value) {\n this.setAttribute('observer', 'true');\n }\n else {\n this.removeAttribute('observer');\n }\n }\n /**\n * Restart animation\n */\n restartAnimation() {\n const state = this._state;\n if (state.rendered) {\n const root = this._shadowRoot;\n if (state.renderedMode === 'svg') {\n // Update root node\n try {\n root.lastChild.setCurrentTime(0);\n return;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n // Failed: setCurrentTime() is not supported\n }\n }\n renderIcon(root, state);\n }\n }\n /**\n * Get status\n */\n get status() {\n const state = this._state;\n return state.rendered\n ? 'rendered'\n : state.icon.data === null\n ? 'failed'\n : 'loading';\n }\n /**\n * Queue attributes re-check\n */\n _queueCheck() {\n if (!this._checkQueued) {\n this._checkQueued = true;\n setTimeout(() => {\n this._check();\n });\n }\n }\n /**\n * Check for changes\n */\n _check() {\n if (!this._checkQueued) {\n return;\n }\n this._checkQueued = false;\n const state = this._state;\n // Get icon\n const newIcon = this.getAttribute('icon');\n if (newIcon !== state.icon.value) {\n this._iconChanged(newIcon);\n return;\n }\n // Ignore other attributes if icon is not rendered\n if (!state.rendered || !this._visible) {\n return;\n }\n // Check for mode and attribute changes\n const mode = this.getAttribute('mode');\n const customisations = getCustomisations(this);\n if (state.attrMode !== mode ||\n haveCustomisationsChanged(state.customisations, customisations) ||\n !findIconElement(this._shadowRoot)) {\n this._renderIcon(state.icon, customisations, mode);\n }\n }\n /**\n * Icon value has changed\n */\n _iconChanged(newValue) {\n const icon = parseIconValue(newValue, (value, name, data) => {\n // Asynchronous callback: re-check values to make sure stuff wasn't changed\n const state = this._state;\n if (state.rendered || this.getAttribute('icon') !== value) {\n // Icon data is already available or icon attribute was changed\n return;\n }\n // Change icon\n const icon = {\n value,\n name,\n data,\n };\n if (icon.data) {\n // Render icon\n this._gotIconData(icon);\n }\n else {\n // Nothing to render: update icon in state\n state.icon = icon;\n }\n });\n if (icon.data) {\n // Icon is ready to render\n this._gotIconData(icon);\n }\n else {\n // Pending icon\n this._state = setPendingState(icon, this._state.inline, this._state);\n }\n }\n /**\n * Force render icon on state change\n */\n _forceRender() {\n if (!this._visible) {\n // Remove icon\n const node = findIconElement(this._shadowRoot);\n if (node) {\n this._shadowRoot.removeChild(node);\n }\n return;\n }\n // Re-render icon\n this._queueCheck();\n }\n /**\n * Got new icon data, icon is ready to (re)render\n */\n _gotIconData(icon) {\n this._checkQueued = false;\n this._renderIcon(icon, getCustomisations(this), this.getAttribute('mode'));\n }\n /**\n * Re-render based on icon data\n */\n _renderIcon(icon, customisations, attrMode) {\n // Get mode\n const renderedMode = getRenderMode(icon.data.body, attrMode);\n // Inline was not changed\n const inline = this._state.inline;\n // Set state and render\n renderIcon(this._shadowRoot, (this._state = {\n rendered: true,\n icon,\n inline,\n customisations,\n attrMode,\n renderedMode,\n }));\n }\n /**\n * Start observer\n */\n startObserver() {\n if (!this._observer && !this.hasAttribute('noobserver')) {\n try {\n this._observer = new IntersectionObserver((entries) => {\n const intersecting = entries.some((entry) => entry.isIntersecting);\n if (intersecting !== this._visible) {\n this._visible = intersecting;\n this._forceRender();\n }\n });\n this._observer.observe(this);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n // Something went wrong, possibly observer is not supported\n if (this._observer) {\n try {\n this._observer.disconnect();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n this._observer = null;\n }\n }\n }\n }\n /**\n * Stop observer\n */\n stopObserver() {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n this._visible = true;\n if (this._connected) {\n // Render icon\n this._forceRender();\n }\n }\n }\n };\n // Add getters and setters\n attributes.forEach((attr) => {\n if (!(attr in IconifyIcon.prototype)) {\n Object.defineProperty(IconifyIcon.prototype, attr, {\n get: function () {\n return this.getAttribute(attr);\n },\n set: function (value) {\n if (value !== null) {\n this.setAttribute(attr, value);\n }\n else {\n this.removeAttribute(attr);\n }\n },\n });\n }\n });\n // Add exported functions: both as static and instance methods\n const functions = exportFunctions();\n for (const key in functions) {\n IconifyIcon[key] = IconifyIcon.prototype[key] = functions[key];\n }\n // Define new component\n customElements.define(name, IconifyIcon);\n return IconifyIcon;\n}\n\n/**\n * Create exported data: either component instance or functions\n */\nconst IconifyIconComponent = defineIconifyIcon() || exportFunctions();\n/**\n * Export functions\n */\nconst { iconLoaded, getIcon, listIcons, addIcon, addCollection, calculateSize, buildIcon, iconToHTML, svgToURL, loadIcons, loadIcon, setCustomIconLoader, setCustomIconsLoader, addAPIProvider, _api, } = IconifyIconComponent;\n\nexport { IconifyIconComponent, _api, addAPIProvider, addCollection, addIcon, appendCustomStyle, buildIcon, calculateSize, getIcon, iconLoaded, iconToHTML, listIcons, loadIcon, loadIcons, setCustomIconLoader, setCustomIconsLoader, svgToURL };\n","@import \"~@govbr-ds/core/src/partial/scss/configs/icons\";\n\n:host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n\n iconify-icon {\n &:focus {\n @include focus;\n }\n }\n}\n\n:host([is-inline]) {\n display: inline;\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\nimport 'iconify-icon'\n\n/**\n * O componente `br-icon` fornece uma maneira flexível e dinâmica de incorporar ícones nas aplicações.\n * Utilizando a biblioteca Iconify, ele permite o uso de uma ampla variedade de ícones.\n *\n * Com opções para especificar a altura e largura, adicionar classes CSS personalizadas, e definir como o ícone\n * deve ser rotacionado ou espelhado, o `br-icon` oferece aos desenvolvedores as ferramentas necessárias para\n * integrar ícones de forma consistente com o estilo e design de suas aplicações, melhorando a experiência do usuário\n * e a clareza das interfaces.\n *\n * Para mais informações sobre quais ícones estão disponíveis, consulte a documentação do [Iconify](https://iconify.design/).\n */\n@Component({\n tag: 'br-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n})\nexport class Icon {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrIconElement\n\n /**\n * Nome do ícone a ser exibido, utilizando a biblioteca Iconify.\n * Este nome deve corresponder ao nome do ícone definido na biblioteca para que ele seja exibido corretamente.\n */\n @Prop({ reflect: true }) readonly iconName: string\n\n /**\n * Define a altura do ícone. Pode ser especificada em qualquer unidade CSS válida, como pixels (px), ems (em), rems (rem), etc.\n * O valor padrão é '16'.\n */\n @Prop({ reflect: true }) readonly height: string = '16'\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-icon-${iconId++}`\n\n /**\n * Define a largura do ícone. Pode ser especificada em qualquer unidade CSS válida, como pixels (px), ems (em), rems (rem), etc.\n * O valor padrão é '24'.\n */\n @Prop({ reflect: true }) readonly width: string = '24'\n\n /**\n * Permite adicionar classes CSS adicionais ao ícone.\n * Use esta propriedade para aplicar estilos personalizados ao ícone, além dos estilos padrão.\n */\n @Prop({ reflect: true }) readonly cssClasses?: string\n\n /**\n * Se definido como verdadeiro, o ícone será alinhado verticalmente ao texto ao seu redor.\n * Útil quando o ícone é usado em linha com texto para garantir que esteja alinhado corretamente com o texto.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) readonly isInline?: boolean = false\n\n /**\n * Define o ângulo de rotação do ícone.\n */\n @Prop({ reflect: true }) readonly rotate?: '90deg' | '180deg' | '270deg'\n\n /**\n * Define o tipo de espelhamento do ícone.\n */\n @Prop({ reflect: true }) readonly flip?: 'horizontal' | 'vertical'\n\n /**\n * Determina se o ícone pode receber foco.\n * Se definido como verdadeiro, o ícone pode ser navegado usando Tab.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) readonly isFocusable?: boolean = false\n\n /**\n * Controla o comportamento de carregamento do ícone através do observer interno do Iconify.\n *\n * Comportamento:\n * - Padrão (propriedade não definida): carregamento imediato aplicando `noobserver` para evitar problemas de layout shift\n * - `lazy={true}`: ativa o observer para carregamento lazy otimizado (útil em documentos longos com muitos ícones)\n * - `lazy={false}`: carregamento imediato aplicando `noobserver` (mesmo comportamento do padrão)\n *\n * **Nota**: O padrão foi alterado para carregamento imediato para resolver problemas de deslocamento de layout\n * que ocorriam quando ícones eram carregados depois do conteúdo inicial.\n */\n @Prop({ reflect: true }) readonly lazy?: boolean\n\n /**\n * Retorna o valor efetivo para o comportamento \"lazy\" do ícone.\n *\n * Explicação:\n * - Se o atributo 'lazy' estiver presente no elemento, o método retorna o valor da propriedade this.lazy (true ou false).\n * - Se o atributo 'lazy' NÃO estiver presente, assume-se o comportamento padrão, retornando false (ou seja, carregamento imediato ativado).\n *\n * Isso permite distinguir entre o caso em que o usuário explicitamente define lazy={true} (carregamento lazy)\n * e o caso em que o atributo não é informado (carregamento imediato por padrão).\n */\n private get effectiveLazy(): boolean {\n return this.el.hasAttribute('lazy') ? this.lazy === true : false\n }\n\n componentDidLoad() {\n const iconElement = this.el.shadowRoot.querySelector('iconify-icon')\n if (iconElement !== null) {\n if (this.isFocusable && !this.el.hasAttribute('aria-label')) {\n const formattedIconName = this.iconName\n .split(':')\n .pop()\n .replace(/-/g, ' ')\n .replace(/^[a-z]/, (match) => match.toUpperCase())\n\n this.el.setAttribute('aria-label', `Ícone: ${formattedIconName}`)\n }\n }\n }\n\n render() {\n return (\n <Host>\n <iconify-icon\n id={this.customId}\n flip={this.flip}\n width={this.width}\n class={this.cssClasses}\n icon={this.iconName}\n inline={this.isInline}\n height={this.height}\n rotate={this.rotate}\n role={this.isFocusable ? 'img' : null}\n tabindex={this.isFocusable ? 0 : '-1'}\n aria-hidden={this.isFocusable ? null : 'true'}\n focusable={this.isFocusable ? true : 'false'}\n {...(this.effectiveLazy === false ? { noobserver: true } : {})}\n ></iconify-icon>\n </Host>\n )\n }\n}\n\nlet iconId = 0\n"],"names":[],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"br-button.br-icon.entry.esm.js","sources":["../../packages/webcomponents/src/components/button/button.scss?tag=br-button&encapsulation=shadow","../../packages/webcomponents/src/components/button/button.tsx","../../node_modules/iconify-icon/dist/iconify-icon.mjs","../../packages/webcomponents/src/components/icon/icon.scss?tag=br-icon&encapsulation=shadow","../../packages/webcomponents/src/components/icon/icon.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/loading/loading\";\n\n:host {\n display: inline-block;\n}\n\n:host([shape=\"block\"]) {\n display: block;\n}\n\n::slotted(br-icon) {\n margin: 0 var(--spacing-scale-base);\n}\n\n::slotted(a:not(:disabled):hover) {\n background-image: none !important;\n}\n","import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/button?tab=designer).\n *\n * @slot default - Slot para o rótulo ou conteúdo do botão.\n * @part button - Parte para o elemento button interno, usada para estilos customizados via ::part(button).\n */\n@Component({\n tag: 'br-button',\n styleUrl: 'button.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Button {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrButtonElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define se o botão usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) readonly colorMode: 'dark'\n\n /**\n * Identificador único; gerado automaticamente quando omitido.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('br-button')\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o botão, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.\n */\n @Prop({ reflect: true }) readonly emphasis: 'primary' | 'secondary' | 'tertiary'\n\n /**\n * Indica se o botão está no estado ativo.\n * Se definido como verdadeiro, o botão será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Aplica o estado de \"progresso\" ao botão.\n * O botão exibirá um indicador de carregamento ou progresso.\n */\n @Prop({ reflect: true }) readonly isLoading: boolean = false\n\n /**\n * Define o formato do botão.\n */\n @Prop({ reflect: true }) readonly shape: 'circle' | 'block' | 'pill'\n\n /**\n * Define o tipo de botão, especificando seu comportamento padrão.\n */\n @Prop({ reflect: true }) readonly type: 'button' | 'reset' | 'submit'\n\n /**\n * Define o valor inicial do botão em um formulário.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /**\n * Define o índice de tabulação do botão.\n * Útil para remover o botão da sequência de tabulação (tabindex=\"-1\") quando ele é puramente decorativo ou o foco é gerenciado por um componente pai.\n */\n @Prop({ reflect: true }) readonly customTabIndex?: number\n\n /**\n * Define o rótulo acessível do botão.\n * Este rótulo é usado por tecnologias assistivas para descrever a função do botão.\n * É especialmente importante para botões com formato circular, onde o texto pode não ser visível.\n * Se o botão não tiver um rótulo acessível, uma mensagem de aviso será exibida no console.\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n /**\n * Define o estado de pressionado do botão.\n * Este atributo é usado para indicar se o botão está atualmente pressionado ou não.\n * É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado.\n * O valor deve ser 'true' ou 'false'.\n */\n @Prop({ reflect: true }) readonly ariaPressed: string\n\n private readonly handleClick = () => {\n if (this.type === 'submit') {\n const submitEvent = new SubmitEvent('submit', {\n submitter: this.elementInternals.form,\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n this.elementInternals.form.dispatchEvent(submitEvent)\n }\n\n if (this.type === 'reset') {\n this.elementInternals.form.reset()\n }\n }\n\n componentDidLoad() {\n if (this.shape === 'circle') {\n const ariaLabelValue = this.el.getAttribute('aria-label')\n if (ariaLabelValue === null || ariaLabelValue === undefined || ariaLabelValue.trim() === '') {\n console.warn('[br-button]: Botões circulares devem conter um aria-label.')\n }\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-button': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n active: this.isActive,\n loading: this.isLoading,\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <button\n part=\"button\"\n aria-label={this.shape === 'circle' ? this.ariaLabel : null}\n aria-pressed={this.ariaPressed}\n class={this.getCssClassMap()}\n type={this.type}\n id={this.customId}\n disabled={this.disabled}\n value={this.value}\n tabindex={this.customTabIndex}\n onClick={this.handleClick}\n >\n <slot></slot>\n </button>\n </Host>\n )\n }\n}\n","/**\n* (c) Iconify\n*\n* For the full copyright and license information, please view the license.txt\n* files at https://github.com/iconify/iconify\n*\n* Licensed under MIT.\n*\n* @license MIT\n* @version 3.0.2\n*/\n/** Default values for dimensions */\nconst defaultIconDimensions = Object.freeze({\n\tleft: 0,\n\ttop: 0,\n\twidth: 16,\n\theight: 16\n});\n/** Default values for transformations */\nconst defaultIconTransformations = Object.freeze({\n\trotate: 0,\n\tvFlip: false,\n\thFlip: false\n});\n/** Default values for all optional IconifyIcon properties */\nconst defaultIconProps = Object.freeze({\n\t...defaultIconDimensions,\n\t...defaultIconTransformations\n});\n/** Default values for all properties used in ExtendedIconifyIcon */\nconst defaultExtendedIconProps = Object.freeze({\n\t...defaultIconProps,\n\tbody: \"\",\n\thidden: false\n});\n\n/**\n* Default icon customisations values\n*/\nconst defaultIconSizeCustomisations = Object.freeze({\n\twidth: null,\n\theight: null\n});\nconst defaultIconCustomisations = Object.freeze({\n\t...defaultIconSizeCustomisations,\n\t...defaultIconTransformations\n});\n\n/**\n* Get rotation value\n*/\nfunction rotateFromString(value, defaultValue = 0) {\n\tconst units = value.replace(/^-?[0-9.]*/, \"\");\n\tfunction cleanup(value$1) {\n\t\twhile (value$1 < 0) value$1 += 4;\n\t\treturn value$1 % 4;\n\t}\n\tif (units === \"\") {\n\t\tconst num = parseInt(value);\n\t\treturn isNaN(num) ? 0 : cleanup(num);\n\t} else if (units !== value) {\n\t\tlet split = 0;\n\t\tswitch (units) {\n\t\t\tcase \"%\":\n\t\t\t\tsplit = 25;\n\t\t\t\tbreak;\n\t\t\tcase \"deg\": split = 90;\n\t\t}\n\t\tif (split) {\n\t\t\tlet num = parseFloat(value.slice(0, value.length - units.length));\n\t\t\tif (isNaN(num)) return 0;\n\t\t\tnum = num / split;\n\t\t\treturn num % 1 === 0 ? cleanup(num) : 0;\n\t\t}\n\t}\n\treturn defaultValue;\n}\n\nconst separator = /[\\s,]+/;\n/**\n* Apply \"flip\" string to icon customisations\n*/\nfunction flipFromString(custom, flip) {\n\tflip.split(separator).forEach((str) => {\n\t\tswitch (str.trim()) {\n\t\t\tcase \"horizontal\":\n\t\t\t\tcustom.hFlip = true;\n\t\t\t\tbreak;\n\t\t\tcase \"vertical\":\n\t\t\t\tcustom.vFlip = true;\n\t\t\t\tbreak;\n\t\t}\n\t});\n}\n\nconst defaultCustomisations = {\n ...defaultIconCustomisations,\n preserveAspectRatio: '',\n};\n/**\n * Get customisations\n */\nfunction getCustomisations(node) {\n const customisations = {\n ...defaultCustomisations,\n };\n const attr = (key, def) => node.getAttribute(key) || def;\n // Dimensions\n customisations.width = attr('width', null);\n customisations.height = attr('height', null);\n // Rotation\n customisations.rotate = rotateFromString(attr('rotate', ''));\n // Flip\n flipFromString(customisations, attr('flip', ''));\n // SVG attributes\n customisations.preserveAspectRatio = attr('preserveAspectRatio', attr('preserveaspectratio', ''));\n return customisations;\n}\n/**\n * Check if customisations have been updated\n */\nfunction haveCustomisationsChanged(value1, value2) {\n for (const key in defaultCustomisations) {\n if (value1[key] !== value2[key]) {\n return true;\n }\n }\n return false;\n}\n\n/**\n* Expression to test part of icon name.\n*\n* Used when loading icons from Iconify API due to project naming convension.\n* Ignored when using custom icon sets - convension does not apply.\n*/\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\n/**\n* Convert string icon name to IconifyIconName object.\n*/\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n\tconst colonSeparated = value.split(\":\");\n\tif (value.slice(0, 1) === \"@\") {\n\t\tif (colonSeparated.length < 2 || colonSeparated.length > 3) return null;\n\t\tprovider = colonSeparated.shift().slice(1);\n\t}\n\tif (colonSeparated.length > 3 || !colonSeparated.length) return null;\n\tif (colonSeparated.length > 1) {\n\t\tconst name$1 = colonSeparated.pop();\n\t\tconst prefix = colonSeparated.pop();\n\t\tconst result = {\n\t\t\tprovider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n\t\t\tprefix,\n\t\t\tname: name$1\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tconst name = colonSeparated[0];\n\tconst dashSeparated = name.split(\"-\");\n\tif (dashSeparated.length > 1) {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: dashSeparated.shift(),\n\t\t\tname: dashSeparated.join(\"-\")\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tif (allowSimpleName && provider === \"\") {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: \"\",\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result, allowSimpleName) ? null : result;\n\t}\n\treturn null;\n};\n/**\n* Check if icon is valid.\n*\n* This function is not part of stringToIcon because validation is not needed for most code.\n*/\nconst validateIconName = (icon, allowSimpleName) => {\n\tif (!icon) return false;\n\treturn !!((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\n/**\n* Resolve icon set icons\n*\n* Returns parent icon for each icon\n*/\nfunction getIconsTree(data, names) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tconst resolved = Object.create(null);\n\tfunction resolve(name) {\n\t\tif (icons[name]) return resolved[name] = [];\n\t\tif (!(name in resolved)) {\n\t\t\tresolved[name] = null;\n\t\t\tconst parent = aliases[name] && aliases[name].parent;\n\t\t\tconst value = parent && resolve(parent);\n\t\t\tif (value) resolved[name] = [parent].concat(value);\n\t\t}\n\t\treturn resolved[name];\n\t}\n\t(Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n\treturn resolved;\n}\n\n/**\n* Merge transformations\n*/\nfunction mergeIconTransformations(obj1, obj2) {\n\tconst result = {};\n\tif (!obj1.hFlip !== !obj2.hFlip) result.hFlip = true;\n\tif (!obj1.vFlip !== !obj2.vFlip) result.vFlip = true;\n\tconst rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n\tif (rotate) result.rotate = rotate;\n\treturn result;\n}\n\n/**\n* Merge icon and alias\n*\n* Can also be used to merge default values and icon\n*/\nfunction mergeIconData(parent, child) {\n\tconst result = mergeIconTransformations(parent, child);\n\tfor (const key in defaultExtendedIconProps) if (key in defaultIconTransformations) {\n\t\tif (key in parent && !(key in result)) result[key] = defaultIconTransformations[key];\n\t} else if (key in child) result[key] = child[key];\n\telse if (key in parent) result[key] = parent[key];\n\treturn result;\n}\n\n/**\n* Get icon data, using prepared aliases tree\n*/\nfunction internalGetIconData(data, name, tree) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tlet currentProps = {};\n\tfunction parse(name$1) {\n\t\tcurrentProps = mergeIconData(icons[name$1] || aliases[name$1], currentProps);\n\t}\n\tparse(name);\n\ttree.forEach(parse);\n\treturn mergeIconData(data, currentProps);\n}\n\n/**\n* Extract icons from an icon set\n*\n* Returns list of icons that were found in icon set\n*/\nfunction parseIconSet(data, callback) {\n\tconst names = [];\n\tif (typeof data !== \"object\" || typeof data.icons !== \"object\") return names;\n\tif (data.not_found instanceof Array) data.not_found.forEach((name) => {\n\t\tcallback(name, null);\n\t\tnames.push(name);\n\t});\n\tconst tree = getIconsTree(data);\n\tfor (const name in tree) {\n\t\tconst item = tree[name];\n\t\tif (item) {\n\t\t\tcallback(name, internalGetIconData(data, name, item));\n\t\t\tnames.push(name);\n\t\t}\n\t}\n\treturn names;\n}\n\n/**\n* Optional properties\n*/\nconst optionalPropertyDefaults = {\n\tprovider: \"\",\n\taliases: {},\n\tnot_found: {},\n\t...defaultIconDimensions\n};\n/**\n* Check props\n*/\nfunction checkOptionalProps(item, defaults) {\n\tfor (const prop in defaults) if (prop in item && typeof item[prop] !== typeof defaults[prop]) return false;\n\treturn true;\n}\n/**\n* Validate icon set, return it as IconifyJSON on success, null on failure\n*\n* Unlike validateIconSet(), this function is very basic.\n* It does not throw exceptions, it does not check metadata, it does not fix stuff.\n*/\nfunction quicklyValidateIconSet(obj) {\n\tif (typeof obj !== \"object\" || obj === null) return null;\n\tconst data = obj;\n\tif (typeof data.prefix !== \"string\" || !obj.icons || typeof obj.icons !== \"object\") return null;\n\tif (!checkOptionalProps(obj, optionalPropertyDefaults)) return null;\n\tconst icons = data.icons;\n\tfor (const name in icons) {\n\t\tconst icon = icons[name];\n\t\tif (!name || typeof icon.body !== \"string\" || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\tconst aliases = data.aliases || Object.create(null);\n\tfor (const name in aliases) {\n\t\tconst icon = aliases[name];\n\t\tconst parent = icon.parent;\n\t\tif (!name || typeof parent !== \"string\" || !icons[parent] && !aliases[parent] || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\treturn data;\n}\n\n/**\n* Storage by provider and prefix\n*/\nconst dataStorage = Object.create(null);\n/**\n* Create new storage\n*/\nfunction newStorage(provider, prefix) {\n\treturn {\n\t\tprovider,\n\t\tprefix,\n\t\ticons: Object.create(null),\n\t\tmissing: /* @__PURE__ */ new Set()\n\t};\n}\n/**\n* Get storage for provider and prefix\n*/\nfunction getStorage(provider, prefix) {\n\tconst providerStorage = dataStorage[provider] || (dataStorage[provider] = Object.create(null));\n\treturn providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix));\n}\n/**\n* Add icon set to storage\n*\n* Returns array of added icons\n*/\nfunction addIconSet(storage, data) {\n\tif (!quicklyValidateIconSet(data)) return [];\n\treturn parseIconSet(data, (name, icon) => {\n\t\tif (icon) storage.icons[name] = icon;\n\t\telse storage.missing.add(name);\n\t});\n}\n/**\n* Add icon to storage\n*/\nfunction addIconToStorage(storage, name, icon) {\n\ttry {\n\t\tif (typeof icon.body === \"string\") {\n\t\t\tstorage.icons[name] = { ...icon };\n\t\t\treturn true;\n\t\t}\n\t} catch (err) {}\n\treturn false;\n}\n/**\n* List available icons\n*/\nfunction listIcons$1(provider, prefix) {\n\tlet allIcons = [];\n\t(typeof provider === \"string\" ? [provider] : Object.keys(dataStorage)).forEach((provider$1) => {\n\t\t(typeof provider$1 === \"string\" && typeof prefix === \"string\" ? [prefix] : Object.keys(dataStorage[provider$1] || {})).forEach((prefix$1) => {\n\t\t\tconst storage = getStorage(provider$1, prefix$1);\n\t\t\tallIcons = allIcons.concat(Object.keys(storage.icons).map((name) => (provider$1 !== \"\" ? \"@\" + provider$1 + \":\" : \"\") + prefix$1 + \":\" + name));\n\t\t});\n\t});\n\treturn allIcons;\n}\n\n/**\n* Allow storing icons without provider or prefix, making it possible to store icons like \"home\"\n*/\nlet simpleNames = false;\nfunction allowSimpleNames(allow) {\n\tif (typeof allow === \"boolean\") simpleNames = allow;\n\treturn simpleNames;\n}\n/**\n* Get icon data\n*\n* Returns:\n* - IconifyIcon on success, object directly from storage so don't modify it\n* - null if icon is marked as missing (returned in `not_found` property from API, so don't bother sending API requests)\n* - undefined if icon is missing in storage\n*/\nfunction getIconData(name) {\n\tconst icon = typeof name === \"string\" ? stringToIcon(name, true, simpleNames) : name;\n\tif (icon) {\n\t\tconst storage = getStorage(icon.provider, icon.prefix);\n\t\tconst iconName = icon.name;\n\t\treturn storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0);\n\t}\n}\n/**\n* Add one icon\n*/\nfunction addIcon$1(name, data) {\n\tconst icon = stringToIcon(name, true, simpleNames);\n\tif (!icon) return false;\n\tconst storage = getStorage(icon.provider, icon.prefix);\n\tif (data) return addIconToStorage(storage, icon.name, data);\n\telse {\n\t\tstorage.missing.add(icon.name);\n\t\treturn true;\n\t}\n}\n/**\n* Add icon set\n*/\nfunction addCollection$1(data, provider) {\n\tif (typeof data !== \"object\") return false;\n\tif (typeof provider !== \"string\") provider = data.provider || \"\";\n\tif (simpleNames && !provider && !data.prefix) {\n\t\tlet added = false;\n\t\tif (quicklyValidateIconSet(data)) {\n\t\t\tdata.prefix = \"\";\n\t\t\tparseIconSet(data, (name, icon) => {\n\t\t\t\tif (addIcon$1(name, icon)) added = true;\n\t\t\t});\n\t\t}\n\t\treturn added;\n\t}\n\tconst prefix = data.prefix;\n\tif (!validateIconName({\n\t\tprefix,\n\t\tname: \"a\"\n\t})) return false;\n\treturn !!addIconSet(getStorage(provider, prefix), data);\n}\n/**\n* Check if icon data is available\n*/\nfunction iconLoaded$1(name) {\n\treturn !!getIconData(name);\n}\n/**\n* Get full icon\n*/\nfunction getIcon$1(name) {\n\tconst result = getIconData(name);\n\treturn result ? {\n\t\t...defaultIconProps,\n\t\t...result\n\t} : result;\n}\n\n/**\n* Remove callback\n*/\nfunction removeCallback(storages, id) {\n\tstorages.forEach((storage) => {\n\t\tconst items = storage.loaderCallbacks;\n\t\tif (items) storage.loaderCallbacks = items.filter((row) => row.id !== id);\n\t});\n}\n/**\n* Update all callbacks for provider and prefix\n*/\nfunction updateCallbacks(storage) {\n\tif (!storage.pendingCallbacksFlag) {\n\t\tstorage.pendingCallbacksFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.pendingCallbacksFlag = false;\n\t\t\tconst items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : [];\n\t\t\tif (!items.length) return;\n\t\t\tlet hasPending = false;\n\t\t\tconst provider = storage.provider;\n\t\t\tconst prefix = storage.prefix;\n\t\t\titems.forEach((item) => {\n\t\t\t\tconst icons = item.icons;\n\t\t\t\tconst oldLength = icons.pending.length;\n\t\t\t\ticons.pending = icons.pending.filter((icon) => {\n\t\t\t\t\tif (icon.prefix !== prefix) return true;\n\t\t\t\t\tconst name = icon.name;\n\t\t\t\t\tif (storage.icons[name]) icons.loaded.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse if (storage.missing.has(name)) icons.missing.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse {\n\t\t\t\t\t\thasPending = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t\tif (icons.pending.length !== oldLength) {\n\t\t\t\t\tif (!hasPending) removeCallback([storage], item.id);\n\t\t\t\t\titem.callback(icons.loaded.slice(0), icons.missing.slice(0), icons.pending.slice(0), item.abort);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Unique id counter for callbacks\n*/\nlet idCounter = 0;\n/**\n* Add callback\n*/\nfunction storeCallback(callback, icons, pendingSources) {\n\tconst id = idCounter++;\n\tconst abort = removeCallback.bind(null, pendingSources, id);\n\tif (!icons.pending.length) return abort;\n\tconst item = {\n\t\tid,\n\t\ticons,\n\t\tcallback,\n\t\tabort\n\t};\n\tpendingSources.forEach((storage) => {\n\t\t(storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item);\n\t});\n\treturn abort;\n}\n\n/**\n* Check if icons have been loaded\n*/\nfunction sortIcons(icons) {\n\tconst result = {\n\t\tloaded: [],\n\t\tmissing: [],\n\t\tpending: []\n\t};\n\tconst storage = Object.create(null);\n\ticons.sort((a, b) => {\n\t\tif (a.provider !== b.provider) return a.provider.localeCompare(b.provider);\n\t\tif (a.prefix !== b.prefix) return a.prefix.localeCompare(b.prefix);\n\t\treturn a.name.localeCompare(b.name);\n\t});\n\tlet lastIcon = {\n\t\tprovider: \"\",\n\t\tprefix: \"\",\n\t\tname: \"\"\n\t};\n\ticons.forEach((icon) => {\n\t\tif (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) return;\n\t\tlastIcon = icon;\n\t\tconst provider = icon.provider;\n\t\tconst prefix = icon.prefix;\n\t\tconst name = icon.name;\n\t\tconst providerStorage = storage[provider] || (storage[provider] = Object.create(null));\n\t\tconst localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix));\n\t\tlet list;\n\t\tif (name in localStorage.icons) list = result.loaded;\n\t\telse if (prefix === \"\" || localStorage.missing.has(name)) list = result.missing;\n\t\telse list = result.pending;\n\t\tconst item = {\n\t\t\tprovider,\n\t\t\tprefix,\n\t\t\tname\n\t\t};\n\t\tlist.push(item);\n\t});\n\treturn result;\n}\n\n/**\n* Local storate types and entries\n*/\nconst storage = Object.create(null);\n/**\n* Set API module\n*/\nfunction setAPIModule(provider, item) {\n\tstorage[provider] = item;\n}\n/**\n* Get API module\n*/\nfunction getAPIModule(provider) {\n\treturn storage[provider] || storage[\"\"];\n}\n\n/**\n* Convert icons list from string/icon mix to icons and validate them\n*/\nfunction listToIcons(list, validate = true, simpleNames = false) {\n\tconst result = [];\n\tlist.forEach((item) => {\n\t\tconst icon = typeof item === \"string\" ? stringToIcon(item, validate, simpleNames) : item;\n\t\tif (icon) result.push(icon);\n\t});\n\treturn result;\n}\n\n/**\n* Create full API configuration from partial data\n*/\nfunction createAPIConfig(source) {\n\tlet resources;\n\tif (typeof source.resources === \"string\") resources = [source.resources];\n\telse {\n\t\tresources = source.resources;\n\t\tif (!(resources instanceof Array) || !resources.length) return null;\n\t}\n\treturn {\n\t\tresources,\n\t\tpath: source.path || \"/\",\n\t\tmaxURL: source.maxURL || 500,\n\t\trotate: source.rotate || 750,\n\t\ttimeout: source.timeout || 5e3,\n\t\trandom: source.random === true,\n\t\tindex: source.index || 0,\n\t\tdataAfterTimeout: source.dataAfterTimeout !== false\n\t};\n}\n/**\n* Local storage\n*/\nconst configStorage = Object.create(null);\n/**\n* Redundancy for API servers.\n*\n* API should have very high uptime because of implemented redundancy at server level, but\n* sometimes bad things happen. On internet 100% uptime is not possible.\n*\n* There could be routing problems. Server might go down for whatever reason, but it takes\n* few minutes to detect that downtime, so during those few minutes API might not be accessible.\n*\n* This script has some redundancy to mitigate possible network issues.\n*\n* If one host cannot be reached in 'rotate' (750 by default) ms, script will try to retrieve\n* data from different host. Hosts have different configurations, pointing to different\n* API servers hosted at different providers.\n*/\nconst fallBackAPISources = [\"https://api.simplesvg.com\", \"https://api.unisvg.com\"];\nconst fallBackAPI = [];\nwhile (fallBackAPISources.length > 0) if (fallBackAPISources.length === 1) fallBackAPI.push(fallBackAPISources.shift());\nelse if (Math.random() > .5) fallBackAPI.push(fallBackAPISources.shift());\nelse fallBackAPI.push(fallBackAPISources.pop());\nconfigStorage[\"\"] = createAPIConfig({ resources: [\"https://api.iconify.design\"].concat(fallBackAPI) });\n/**\n* Add custom config for provider\n*/\nfunction addAPIProvider$1(provider, customConfig) {\n\tconst config = createAPIConfig(customConfig);\n\tif (config === null) return false;\n\tconfigStorage[provider] = config;\n\treturn true;\n}\n/**\n* Get API configuration\n*/\nfunction getAPIConfig(provider) {\n\treturn configStorage[provider];\n}\n/**\n* List API providers\n*/\nfunction listAPIProviders() {\n\treturn Object.keys(configStorage);\n}\n\n/**\n* Default RedundancyConfig for API calls\n*/\nconst defaultConfig = {\n\tresources: [],\n\tindex: 0,\n\ttimeout: 2e3,\n\trotate: 750,\n\trandom: false,\n\tdataAfterTimeout: false\n};\n\n/**\n* Send query\n*/\nfunction sendQuery(config, payload, query, done) {\n\tconst resourcesCount = config.resources.length;\n\tconst startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;\n\tlet resources;\n\tif (config.random) {\n\t\tlet list = config.resources.slice(0);\n\t\tresources = [];\n\t\twhile (list.length > 1) {\n\t\t\tconst nextIndex = Math.floor(Math.random() * list.length);\n\t\t\tresources.push(list[nextIndex]);\n\t\t\tlist = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));\n\t\t}\n\t\tresources = resources.concat(list);\n\t} else resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));\n\tconst startTime = Date.now();\n\tlet status = \"pending\";\n\tlet queriesSent = 0;\n\tlet lastError;\n\tlet timer = null;\n\tlet queue = [];\n\tlet doneCallbacks = [];\n\tif (typeof done === \"function\") doneCallbacks.push(done);\n\t/**\n\t* Reset timer\n\t*/\n\tfunction resetTimer() {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = null;\n\t\t}\n\t}\n\t/**\n\t* Abort everything\n\t*/\n\tfunction abort() {\n\t\tif (status === \"pending\") status = \"aborted\";\n\t\tresetTimer();\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Add / replace callback to call when execution is complete.\n\t* This can be used to abort pending query implementations when query is complete or aborted.\n\t*/\n\tfunction subscribe(callback, overwrite) {\n\t\tif (overwrite) doneCallbacks = [];\n\t\tif (typeof callback === \"function\") doneCallbacks.push(callback);\n\t}\n\t/**\n\t* Get query status\n\t*/\n\tfunction getQueryStatus() {\n\t\treturn {\n\t\t\tstartTime,\n\t\t\tpayload,\n\t\t\tstatus,\n\t\t\tqueriesSent,\n\t\t\tqueriesPending: queue.length,\n\t\t\tsubscribe,\n\t\t\tabort\n\t\t};\n\t}\n\t/**\n\t* Fail query\n\t*/\n\tfunction failQuery() {\n\t\tstatus = \"failed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(void 0, lastError);\n\t\t});\n\t}\n\t/**\n\t* Clear queue\n\t*/\n\tfunction clearQueue() {\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Got response from module\n\t*/\n\tfunction moduleResponse(item, response, data) {\n\t\tconst isError = response !== \"success\";\n\t\tqueue = queue.filter((queued) => queued !== item);\n\t\tswitch (status) {\n\t\t\tcase \"pending\": break;\n\t\t\tcase \"failed\":\n\t\t\t\tif (isError || !config.dataAfterTimeout) return;\n\t\t\t\tbreak;\n\t\t\tdefault: return;\n\t\t}\n\t\tif (response === \"abort\") {\n\t\t\tlastError = data;\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tif (isError) {\n\t\t\tlastError = data;\n\t\t\tif (!queue.length) if (!resources.length) failQuery();\n\t\t\telse execNext();\n\t\t\treturn;\n\t\t}\n\t\tresetTimer();\n\t\tclearQueue();\n\t\tif (!config.random) {\n\t\t\tconst index = config.resources.indexOf(item.resource);\n\t\t\tif (index !== -1 && index !== config.index) config.index = index;\n\t\t}\n\t\tstatus = \"completed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(data);\n\t\t});\n\t}\n\t/**\n\t* Execute next query\n\t*/\n\tfunction execNext() {\n\t\tif (status !== \"pending\") return;\n\t\tresetTimer();\n\t\tconst resource = resources.shift();\n\t\tif (resource === void 0) {\n\t\t\tif (queue.length) {\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tresetTimer();\n\t\t\t\t\tif (status === \"pending\") {\n\t\t\t\t\t\tclearQueue();\n\t\t\t\t\t\tfailQuery();\n\t\t\t\t\t}\n\t\t\t\t}, config.timeout);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tconst item = {\n\t\t\tstatus: \"pending\",\n\t\t\tresource,\n\t\t\tcallback: (status$1, data) => {\n\t\t\t\tmoduleResponse(item, status$1, data);\n\t\t\t}\n\t\t};\n\t\tqueue.push(item);\n\t\tqueriesSent++;\n\t\ttimer = setTimeout(execNext, config.rotate);\n\t\tquery(resource, payload, item.callback);\n\t}\n\tsetTimeout(execNext);\n\treturn getQueryStatus;\n}\n\n/**\n* Redundancy instance\n*/\nfunction initRedundancy(cfg) {\n\tconst config = {\n\t\t...defaultConfig,\n\t\t...cfg\n\t};\n\tlet queries = [];\n\t/**\n\t* Remove aborted and completed queries\n\t*/\n\tfunction cleanup() {\n\t\tqueries = queries.filter((item) => item().status === \"pending\");\n\t}\n\t/**\n\t* Send query\n\t*/\n\tfunction query(payload, queryCallback, doneCallback) {\n\t\tconst query$1 = sendQuery(config, payload, queryCallback, (data, error) => {\n\t\t\tcleanup();\n\t\t\tif (doneCallback) doneCallback(data, error);\n\t\t});\n\t\tqueries.push(query$1);\n\t\treturn query$1;\n\t}\n\t/**\n\t* Find instance\n\t*/\n\tfunction find(callback) {\n\t\treturn queries.find((value) => {\n\t\t\treturn callback(value);\n\t\t}) || null;\n\t}\n\treturn {\n\t\tquery,\n\t\tfind,\n\t\tsetIndex: (index) => {\n\t\t\tconfig.index = index;\n\t\t},\n\t\tgetIndex: () => config.index,\n\t\tcleanup\n\t};\n}\n\nfunction emptyCallback$1() {}\nconst redundancyCache = Object.create(null);\n/**\n* Get Redundancy instance for provider\n*/\nfunction getRedundancyCache(provider) {\n\tif (!redundancyCache[provider]) {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (!config) return;\n\t\tredundancyCache[provider] = {\n\t\t\tconfig,\n\t\t\tredundancy: initRedundancy(config)\n\t\t};\n\t}\n\treturn redundancyCache[provider];\n}\n/**\n* Send API query\n*/\nfunction sendAPIQuery(target, query, callback) {\n\tlet redundancy;\n\tlet send;\n\tif (typeof target === \"string\") {\n\t\tconst api = getAPIModule(target);\n\t\tif (!api) {\n\t\t\tcallback(void 0, 424);\n\t\t\treturn emptyCallback$1;\n\t\t}\n\t\tsend = api.send;\n\t\tconst cached = getRedundancyCache(target);\n\t\tif (cached) redundancy = cached.redundancy;\n\t} else {\n\t\tconst config = createAPIConfig(target);\n\t\tif (config) {\n\t\t\tredundancy = initRedundancy(config);\n\t\t\tconst api = getAPIModule(target.resources ? target.resources[0] : \"\");\n\t\t\tif (api) send = api.send;\n\t\t}\n\t}\n\tif (!redundancy || !send) {\n\t\tcallback(void 0, 424);\n\t\treturn emptyCallback$1;\n\t}\n\treturn redundancy.query(query, send, callback)().abort;\n}\n\nfunction emptyCallback() {}\n/**\n* Function called when new icons have been loaded\n*/\nfunction loadedNewIcons(storage) {\n\tif (!storage.iconsLoaderFlag) {\n\t\tstorage.iconsLoaderFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsLoaderFlag = false;\n\t\t\tupdateCallbacks(storage);\n\t\t});\n\t}\n}\n/**\n* Check icon names for API\n*/\nfunction checkIconNamesForAPI(icons) {\n\tconst valid = [];\n\tconst invalid = [];\n\ticons.forEach((name) => {\n\t\t(name.match(matchIconName) ? valid : invalid).push(name);\n\t});\n\treturn {\n\t\tvalid,\n\t\tinvalid\n\t};\n}\n/**\n* Parse loader response\n*/\nfunction parseLoaderResponse(storage, icons, data) {\n\tfunction checkMissing() {\n\t\tconst pending = storage.pendingIcons;\n\t\ticons.forEach((name) => {\n\t\t\tif (pending) pending.delete(name);\n\t\t\tif (!storage.icons[name]) storage.missing.add(name);\n\t\t});\n\t}\n\tif (data && typeof data === \"object\") try {\n\t\tif (!addIconSet(storage, data).length) {\n\t\t\tcheckMissing();\n\t\t\treturn;\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(err);\n\t}\n\tcheckMissing();\n\tloadedNewIcons(storage);\n}\n/**\n* Handle response that can be async\n*/\nfunction parsePossiblyAsyncResponse(response, callback) {\n\tif (response instanceof Promise) response.then((data) => {\n\t\tcallback(data);\n\t}).catch(() => {\n\t\tcallback(null);\n\t});\n\telse callback(response);\n}\n/**\n* Load icons\n*/\nfunction loadNewIcons(storage, icons) {\n\tif (!storage.iconsToLoad) storage.iconsToLoad = icons;\n\telse storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort();\n\tif (!storage.iconsQueueFlag) {\n\t\tstorage.iconsQueueFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsQueueFlag = false;\n\t\t\tconst { provider, prefix } = storage;\n\t\t\tconst icons$1 = storage.iconsToLoad;\n\t\t\tdelete storage.iconsToLoad;\n\t\t\tif (!icons$1 || !icons$1.length) return;\n\t\t\tconst customIconLoader = storage.loadIcon;\n\t\t\tif (storage.loadIcons && (icons$1.length > 1 || !customIconLoader)) {\n\t\t\t\tparsePossiblyAsyncResponse(storage.loadIcons(icons$1, prefix, provider), (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, icons$1, data);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (customIconLoader) {\n\t\t\t\ticons$1.forEach((name) => {\n\t\t\t\t\tparsePossiblyAsyncResponse(customIconLoader(name, prefix, provider), (data) => {\n\t\t\t\t\t\tparseLoaderResponse(storage, [name], data ? {\n\t\t\t\t\t\t\tprefix,\n\t\t\t\t\t\t\ticons: { [name]: data }\n\t\t\t\t\t\t} : null);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { valid, invalid } = checkIconNamesForAPI(icons$1);\n\t\t\tif (invalid.length) parseLoaderResponse(storage, invalid, null);\n\t\t\tif (!valid.length) return;\n\t\t\tconst api = prefix.match(matchIconName) ? getAPIModule(provider) : null;\n\t\t\tif (!api) {\n\t\t\t\tparseLoaderResponse(storage, valid, null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tapi.prepare(provider, prefix, valid).forEach((item) => {\n\t\t\t\tsendAPIQuery(provider, item, (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, item.icons, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Load icons\n*/\nconst loadIcons$1 = (icons, callback) => {\n\tconst sortedIcons = sortIcons(listToIcons(icons, true, allowSimpleNames()));\n\tif (!sortedIcons.pending.length) {\n\t\tlet callCallback = true;\n\t\tif (callback) setTimeout(() => {\n\t\t\tif (callCallback) callback(sortedIcons.loaded, sortedIcons.missing, sortedIcons.pending, emptyCallback);\n\t\t});\n\t\treturn () => {\n\t\t\tcallCallback = false;\n\t\t};\n\t}\n\tconst newIcons = Object.create(null);\n\tconst sources = [];\n\tlet lastProvider, lastPrefix;\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix } = icon;\n\t\tif (prefix === lastPrefix && provider === lastProvider) return;\n\t\tlastProvider = provider;\n\t\tlastPrefix = prefix;\n\t\tsources.push(getStorage(provider, prefix));\n\t\tconst providerNewIcons = newIcons[provider] || (newIcons[provider] = Object.create(null));\n\t\tif (!providerNewIcons[prefix]) providerNewIcons[prefix] = [];\n\t});\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix, name } = icon;\n\t\tconst storage = getStorage(provider, prefix);\n\t\tconst pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set());\n\t\tif (!pendingQueue.has(name)) {\n\t\t\tpendingQueue.add(name);\n\t\t\tnewIcons[provider][prefix].push(name);\n\t\t}\n\t});\n\tsources.forEach((storage) => {\n\t\tconst list = newIcons[storage.provider][storage.prefix];\n\t\tif (list.length) loadNewIcons(storage, list);\n\t});\n\treturn callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;\n};\n/**\n* Load one icon using Promise\n*/\nconst loadIcon$1 = (icon) => {\n\treturn new Promise((fulfill, reject) => {\n\t\tconst iconObj = typeof icon === \"string\" ? stringToIcon(icon, true) : icon;\n\t\tif (!iconObj) {\n\t\t\treject(icon);\n\t\t\treturn;\n\t\t}\n\t\tloadIcons$1([iconObj || icon], (loaded) => {\n\t\t\tif (loaded.length && iconObj) {\n\t\t\t\tconst data = getIconData(iconObj);\n\t\t\t\tif (data) {\n\t\t\t\t\tfulfill({\n\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t...data\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\treject(icon);\n\t\t});\n\t});\n};\n\n/**\n * Test icon string\n */\nfunction testIconObject(value) {\n try {\n const obj = typeof value === 'string' ? JSON.parse(value) : value;\n if (typeof obj.body === 'string') {\n return {\n ...obj,\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n}\n\n/**\n * Parse icon value, load if needed\n */\nfunction parseIconValue(value, onload) {\n if (typeof value === 'object') {\n const data = testIconObject(value);\n return {\n data,\n value,\n };\n }\n if (typeof value !== 'string') {\n // Invalid value\n return {\n value,\n };\n }\n // Check for JSON\n if (value.includes('{')) {\n const data = testIconObject(value);\n if (data) {\n return {\n data,\n value,\n };\n }\n }\n // Parse icon name\n const name = stringToIcon(value, true, true);\n if (!name) {\n return {\n value,\n };\n }\n // Valid icon name: check if data is available\n const data = getIconData(name);\n // Icon data exists or icon has no prefix. Do not load icon from API if icon has no prefix\n if (data !== undefined || !name.prefix) {\n return {\n value,\n name,\n data, // could be 'null' -> icon is missing\n };\n }\n // Load icon\n const loading = loadIcons$1([name], () => onload(value, name, getIconData(name)));\n return {\n value,\n name,\n loading,\n };\n}\n\n// Check for Safari\nlet isBuggedSafari = false;\ntry {\n isBuggedSafari = navigator.vendor.indexOf('Apple') === 0;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n}\ncatch (err) {\n //\n}\n/**\n * Get render mode\n */\nfunction getRenderMode(body, mode) {\n switch (mode) {\n // Force mode\n case 'svg':\n case 'bg':\n case 'mask':\n return mode;\n }\n // Check for animation, use 'style' for animated icons, unless browser is Safari\n // (only <a>, which should be ignored or animations start with '<a')\n if (mode !== 'style' &&\n (isBuggedSafari || body.indexOf('<a') === -1)) {\n // Render <svg>\n return 'svg';\n }\n // Use background or mask\n return body.indexOf('currentColor') === -1 ? 'bg' : 'mask';\n}\n\n/**\n* Regular expressions for calculating dimensions\n*/\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize$1(size, ratio, precision) {\n\tif (ratio === 1) return size;\n\tprecision = precision || 100;\n\tif (typeof size === \"number\") return Math.ceil(size * ratio * precision) / precision;\n\tif (typeof size !== \"string\") return size;\n\tconst oldParts = size.split(unitsSplit);\n\tif (oldParts === null || !oldParts.length) return size;\n\tconst newParts = [];\n\tlet code = oldParts.shift();\n\tlet isNumber = unitsTest.test(code);\n\twhile (true) {\n\t\tif (isNumber) {\n\t\t\tconst num = parseFloat(code);\n\t\t\tif (isNaN(num)) newParts.push(code);\n\t\t\telse newParts.push(Math.ceil(num * ratio * precision) / precision);\n\t\t} else newParts.push(code);\n\t\tcode = oldParts.shift();\n\t\tif (code === void 0) return newParts.join(\"\");\n\t\tisNumber = !isNumber;\n\t}\n}\n\nfunction splitSVGDefs(content, tag = \"defs\") {\n\tlet defs = \"\";\n\tconst index = content.indexOf(\"<\" + tag);\n\twhile (index >= 0) {\n\t\tconst start = content.indexOf(\">\", index);\n\t\tconst end = content.indexOf(\"</\" + tag);\n\t\tif (start === -1 || end === -1) break;\n\t\tconst endEnd = content.indexOf(\">\", end);\n\t\tif (endEnd === -1) break;\n\t\tdefs += content.slice(start + 1, end).trim();\n\t\tcontent = content.slice(0, index).trim() + content.slice(endEnd + 1);\n\t}\n\treturn {\n\t\tdefs,\n\t\tcontent\n\t};\n}\n/**\n* Merge defs and content\n*/\nfunction mergeDefsAndContent(defs, content) {\n\treturn defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\n/**\n* Wrap SVG content, without wrapping definitions\n*/\nfunction wrapSVGContent(body, start, end) {\n\tconst split = splitSVGDefs(body);\n\treturn mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\n/**\n* Check if value should be unset. Allows multiple keywords\n*/\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\n/**\n* Get SVG attributes and content from icon + customisations\n*\n* Does not generate style to make it compatible with frameworks that use objects for style, such as React.\n* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.\n*\n* Customisations should be normalised by platform specific parser.\n* Result should be converted to <svg> by platform specific parser.\n* Use replaceIDs to generate unique IDs for body.\n*/\nfunction iconToSVG(icon, customisations) {\n\tconst fullIcon = {\n\t\t...defaultIconProps,\n\t\t...icon\n\t};\n\tconst fullCustomisations = {\n\t\t...defaultIconCustomisations,\n\t\t...customisations\n\t};\n\tconst box = {\n\t\tleft: fullIcon.left,\n\t\ttop: fullIcon.top,\n\t\twidth: fullIcon.width,\n\t\theight: fullIcon.height\n\t};\n\tlet body = fullIcon.body;\n\t[fullIcon, fullCustomisations].forEach((props) => {\n\t\tconst transformations = [];\n\t\tconst hFlip = props.hFlip;\n\t\tconst vFlip = props.vFlip;\n\t\tlet rotation = props.rotate;\n\t\tif (hFlip) if (vFlip) rotation += 2;\n\t\telse {\n\t\t\ttransformations.push(\"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(-1 1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\telse if (vFlip) {\n\t\t\ttransformations.push(\"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(1 -1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\tlet tempValue;\n\t\tif (rotation < 0) rotation -= Math.floor(rotation / 4) * 4;\n\t\trotation = rotation % 4;\n\t\tswitch (rotation) {\n\t\t\tcase 1:\n\t\t\t\ttempValue = box.height / 2 + box.top;\n\t\t\t\ttransformations.unshift(\"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ttransformations.unshift(\"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\ttempValue = box.width / 2 + box.left;\n\t\t\t\ttransformations.unshift(\"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t}\n\t\tif (rotation % 2 === 1) {\n\t\t\tif (box.left !== box.top) {\n\t\t\t\ttempValue = box.left;\n\t\t\t\tbox.left = box.top;\n\t\t\t\tbox.top = tempValue;\n\t\t\t}\n\t\t\tif (box.width !== box.height) {\n\t\t\t\ttempValue = box.width;\n\t\t\t\tbox.width = box.height;\n\t\t\t\tbox.height = tempValue;\n\t\t\t}\n\t\t}\n\t\tif (transformations.length) body = wrapSVGContent(body, \"<g transform=\\\"\" + transformations.join(\" \") + \"\\\">\", \"</g>\");\n\t});\n\tconst customisationsWidth = fullCustomisations.width;\n\tconst customisationsHeight = fullCustomisations.height;\n\tconst boxWidth = box.width;\n\tconst boxHeight = box.height;\n\tlet width;\n\tlet height;\n\tif (customisationsWidth === null) {\n\t\theight = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t\twidth = calculateSize$1(height, boxWidth / boxHeight);\n\t} else {\n\t\twidth = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n\t\theight = customisationsHeight === null ? calculateSize$1(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t}\n\tconst attributes = {};\n\tconst setAttr = (prop, value) => {\n\t\tif (!isUnsetKeyword(value)) attributes[prop] = value.toString();\n\t};\n\tsetAttr(\"width\", width);\n\tsetAttr(\"height\", height);\n\tconst viewBox = [\n\t\tbox.left,\n\t\tbox.top,\n\t\tboxWidth,\n\t\tboxHeight\n\t];\n\tattributes.viewBox = viewBox.join(\" \");\n\treturn {\n\t\tattributes,\n\t\tviewBox,\n\t\tbody\n\t};\n}\n\n/**\n* Generate <svg>\n*/\nfunction iconToHTML$1(body, attributes) {\n\tlet renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : \" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\";\n\tfor (const attr in attributes) renderAttribsHTML += \" \" + attr + \"=\\\"\" + attributes[attr] + \"\\\"\";\n\treturn \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\" + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\n/**\n* Encode SVG for use in url()\n*\n* Short alternative to encodeURIComponent() that encodes only stuff used in SVG, generating\n* smaller code.\n*/\nfunction encodeSVGforURL(svg) {\n\treturn svg.replace(/\"/g, \"'\").replace(/%/g, \"%25\").replace(/#/g, \"%23\").replace(/</g, \"%3C\").replace(/>/g, \"%3E\").replace(/\\s+/g, \" \");\n}\n/**\n* Generate data: URL from SVG\n*/\nfunction svgToData(svg) {\n\treturn \"data:image/svg+xml,\" + encodeSVGforURL(svg);\n}\n/**\n* Generate url() from SVG\n*/\nfunction svgToURL$1(svg) {\n\treturn \"url(\\\"\" + svgToData(svg) + \"\\\")\";\n}\n\nconst detectFetch = () => {\n\tlet callback;\n\ttry {\n\t\tcallback = fetch;\n\t\tif (typeof callback === \"function\") return callback;\n\t} catch (err) {}\n};\n/**\n* Fetch function\n*/\nlet fetchModule = detectFetch();\n/**\n* Set custom fetch() function\n*/\nfunction setFetch(fetch$1) {\n\tfetchModule = fetch$1;\n}\n/**\n* Get fetch() function. Used by Icon Finder Core\n*/\nfunction getFetch() {\n\treturn fetchModule;\n}\n/**\n* Calculate maximum icons list length for prefix\n*/\nfunction calculateMaxLength(provider, prefix) {\n\tconst config = getAPIConfig(provider);\n\tif (!config) return 0;\n\tlet result;\n\tif (!config.maxURL) result = 0;\n\telse {\n\t\tlet maxHostLength = 0;\n\t\tconfig.resources.forEach((item) => {\n\t\t\tconst host = item;\n\t\t\tmaxHostLength = Math.max(maxHostLength, host.length);\n\t\t});\n\t\tconst url = prefix + \".json?icons=\";\n\t\tresult = config.maxURL - maxHostLength - config.path.length - url.length;\n\t}\n\treturn result;\n}\n/**\n* Should query be aborted, based on last HTTP status\n*/\nfunction shouldAbort(status) {\n\treturn status === 404;\n}\n/**\n* Prepare params\n*/\nconst prepare = (provider, prefix, icons) => {\n\tconst results = [];\n\tconst maxLength = calculateMaxLength(provider, prefix);\n\tconst type = \"icons\";\n\tlet item = {\n\t\ttype,\n\t\tprovider,\n\t\tprefix,\n\t\ticons: []\n\t};\n\tlet length = 0;\n\ticons.forEach((name, index) => {\n\t\tlength += name.length + 1;\n\t\tif (length >= maxLength && index > 0) {\n\t\t\tresults.push(item);\n\t\t\titem = {\n\t\t\t\ttype,\n\t\t\t\tprovider,\n\t\t\t\tprefix,\n\t\t\t\ticons: []\n\t\t\t};\n\t\t\tlength = name.length;\n\t\t}\n\t\titem.icons.push(name);\n\t});\n\tresults.push(item);\n\treturn results;\n};\n/**\n* Get path\n*/\nfunction getPath(provider) {\n\tif (typeof provider === \"string\") {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (config) return config.path;\n\t}\n\treturn \"/\";\n}\n/**\n* Load icons\n*/\nconst send = (host, params, callback) => {\n\tif (!fetchModule) {\n\t\tcallback(\"abort\", 424);\n\t\treturn;\n\t}\n\tlet path = getPath(params.provider);\n\tswitch (params.type) {\n\t\tcase \"icons\": {\n\t\t\tconst prefix = params.prefix;\n\t\t\tconst iconsList = params.icons.join(\",\");\n\t\t\tconst urlParams = new URLSearchParams({ icons: iconsList });\n\t\t\tpath += prefix + \".json?\" + urlParams.toString();\n\t\t\tbreak;\n\t\t}\n\t\tcase \"custom\": {\n\t\t\tconst uri = params.uri;\n\t\t\tpath += uri.slice(0, 1) === \"/\" ? uri.slice(1) : uri;\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tcallback(\"abort\", 400);\n\t\t\treturn;\n\t}\n\tlet defaultError = 503;\n\tfetchModule(host + path).then((response) => {\n\t\tconst status = response.status;\n\t\tif (status !== 200) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tcallback(shouldAbort(status) ? \"abort\" : \"next\", status);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdefaultError = 501;\n\t\treturn response.json();\n\t}).then((data) => {\n\t\tif (typeof data !== \"object\" || data === null) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (data === 404) callback(\"abort\", data);\n\t\t\t\telse callback(\"next\", defaultError);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tcallback(\"success\", data);\n\t\t});\n\t}).catch(() => {\n\t\tcallback(\"next\", defaultError);\n\t});\n};\n/**\n* Export module\n*/\nconst fetchAPIModule = {\n\tprepare,\n\tsend\n};\n\n/**\n* Set custom loader for multiple icons\n*/\nfunction setCustomIconsLoader$1(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcons = loader;\n}\n/**\n* Set custom loader for one icon\n*/\nfunction setCustomIconLoader$1(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcon = loader;\n}\n\n/**\n * Attribute to add\n */\nconst nodeAttr = 'data-style';\n/**\n * Custom style to add to each node\n */\nlet customStyle = '';\n/**\n * Set custom style to add to all components\n *\n * Affects only components rendered after function call\n */\nfunction appendCustomStyle(style) {\n customStyle = style;\n}\n/**\n * Add/update style node\n */\nfunction updateStyle(parent, inline) {\n // Get node, create if needed\n let styleNode = Array.from(parent.childNodes).find((node) => node.hasAttribute &&\n node.hasAttribute(nodeAttr));\n if (!styleNode) {\n styleNode = document.createElement('style');\n styleNode.setAttribute(nodeAttr, nodeAttr);\n parent.appendChild(styleNode);\n }\n // Update content\n styleNode.textContent =\n ':host{display:inline-block;vertical-align:' +\n (inline ? '-0.125em' : '0') +\n '}span,svg{display:block;margin:auto}' +\n customStyle;\n}\n\n// Core\n/**\n * Get functions and initialise stuff\n */\nfunction exportFunctions() {\n /**\n * Initialise stuff\n */\n // Set API module\n setAPIModule('', fetchAPIModule);\n // Allow simple icon names\n allowSimpleNames(true);\n let _window;\n try {\n _window = window;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n if (_window) {\n // Load icons from global \"IconifyPreload\"\n if (_window.IconifyPreload !== void 0) {\n const preload = _window.IconifyPreload;\n const err = 'Invalid IconifyPreload syntax.';\n if (typeof preload === 'object' && preload !== null) {\n (preload instanceof Array ? preload : [preload]).forEach((item) => {\n try {\n if (\n // Check if item is an object and not null/array\n typeof item !== 'object' ||\n item === null ||\n item instanceof Array ||\n // Check for 'icons' and 'prefix'\n typeof item.icons !== 'object' ||\n typeof item.prefix !== 'string' ||\n // Add icon set\n !addCollection$1(item)) {\n console.error(err);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (e) {\n console.error(err);\n }\n });\n }\n }\n // Set API from global \"IconifyProviders\"\n if (_window.IconifyProviders !== void 0) {\n const providers = _window.IconifyProviders;\n if (typeof providers === 'object' && providers !== null) {\n for (const key in providers) {\n const err = 'IconifyProviders[' + key + '] is invalid.';\n try {\n const value = providers[key];\n if (typeof value !== 'object' ||\n !value ||\n value.resources === void 0) {\n continue;\n }\n if (!addAPIProvider$1(key, value)) {\n console.error(err);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (e) {\n console.error(err);\n }\n }\n }\n }\n }\n const _api = {\n getAPIConfig,\n setAPIModule,\n sendAPIQuery,\n setFetch,\n getFetch,\n listAPIProviders,\n };\n return {\n iconLoaded: iconLoaded$1,\n getIcon: getIcon$1,\n listIcons: listIcons$1,\n addIcon: addIcon$1,\n addCollection: addCollection$1,\n calculateSize: calculateSize$1,\n buildIcon: iconToSVG,\n iconToHTML: iconToHTML$1,\n svgToURL: svgToURL$1,\n loadIcons: loadIcons$1,\n loadIcon: loadIcon$1,\n addAPIProvider: addAPIProvider$1,\n setCustomIconLoader: setCustomIconLoader$1,\n setCustomIconsLoader: setCustomIconsLoader$1,\n appendCustomStyle,\n _api,\n };\n}\n\n// List of properties to apply\nconst monotoneProps = {\n 'background-color': 'currentColor',\n};\nconst coloredProps = {\n 'background-color': 'transparent',\n};\n// Dynamically add common props to variables above\nconst propsToAdd = {\n image: 'var(--svg)',\n repeat: 'no-repeat',\n size: '100% 100%',\n};\nconst propsToAddTo = {\n '-webkit-mask': monotoneProps,\n 'mask': monotoneProps,\n 'background': coloredProps,\n};\nfor (const prefix in propsToAddTo) {\n const list = propsToAddTo[prefix];\n for (const prop in propsToAdd) {\n list[prefix + '-' + prop] = propsToAdd[prop];\n }\n}\n/**\n * Fix size: add 'px' to numbers\n */\nfunction fixSize(value) {\n return value ? value + (value.match(/^[-0-9.]+$/) ? 'px' : '') : 'inherit';\n}\n/**\n * Render node as <span>\n */\nfunction renderSPAN(data, icon, useMask) {\n const node = document.createElement('span');\n // Body\n let body = data.body;\n if (body.indexOf('<a') !== -1) {\n // Animated SVG: add something to fix timing bug\n body += '<!-- ' + Date.now() + ' -->';\n }\n // Generate SVG as URL\n const renderAttribs = data.attributes;\n const html = iconToHTML$1(body, {\n ...renderAttribs,\n width: icon.width + '',\n height: icon.height + '',\n });\n const url = svgToURL$1(html);\n // Generate style\n const svgStyle = node.style;\n const styles = {\n '--svg': url,\n 'width': fixSize(renderAttribs.width),\n 'height': fixSize(renderAttribs.height),\n ...(useMask ? monotoneProps : coloredProps),\n };\n // Apply style\n for (const prop in styles) {\n svgStyle.setProperty(prop, styles[prop]);\n }\n return node;\n}\n\nlet policy;\n/**\n* Attempt to create policy\n*/\nfunction createPolicy() {\n\ttry {\n\t\tpolicy = window.trustedTypes.createPolicy(\"iconify\", { createHTML: (s) => s });\n\t} catch (err) {\n\t\tpolicy = null;\n\t}\n}\n/**\n* Clean up value for innerHTML assignment\n*\n* This code doesn't actually clean up anything.\n* It is intended be used with Iconify icon data, which has already been validated\n*/\nfunction cleanUpInnerHTML(html) {\n\tif (policy === void 0) createPolicy();\n\treturn policy ? policy.createHTML(html) : html;\n}\n\n/**\n * Render node as <svg>\n */\nfunction renderSVG(data) {\n const node = document.createElement('span');\n // Add style if needed\n const attr = data.attributes;\n let style = '';\n if (!attr.width) {\n style = 'width: inherit;';\n }\n if (!attr.height) {\n style += 'height: inherit;';\n }\n if (style) {\n attr.style = style;\n }\n // Generate SVG\n const html = iconToHTML$1(data.body, attr);\n node.innerHTML = cleanUpInnerHTML(html);\n return node.firstChild;\n}\n\n/**\n * Find icon node\n */\nfunction findIconElement(parent) {\n return Array.from(parent.childNodes).find((node) => {\n const tag = node.tagName &&\n node.tagName.toUpperCase();\n return tag === 'SPAN' || tag === 'SVG';\n });\n}\n/**\n * Render icon\n */\nfunction renderIcon(parent, state) {\n const iconData = state.icon.data;\n const customisations = state.customisations;\n // Render icon\n const renderData = iconToSVG(iconData, customisations);\n if (customisations.preserveAspectRatio) {\n renderData.attributes['preserveAspectRatio'] =\n customisations.preserveAspectRatio;\n }\n const mode = state.renderedMode;\n let node;\n switch (mode) {\n case 'svg':\n node = renderSVG(renderData);\n break;\n default:\n node = renderSPAN(renderData, {\n ...defaultIconProps,\n ...iconData,\n }, mode === 'mask');\n }\n // Set element\n const oldNode = findIconElement(parent);\n if (oldNode) {\n // Replace old element\n if (node.tagName === 'SPAN' && oldNode.tagName === node.tagName) {\n // Swap style instead of whole node\n oldNode.setAttribute('style', node.getAttribute('style'));\n }\n else {\n parent.replaceChild(node, oldNode);\n }\n }\n else {\n // Add new element\n parent.appendChild(node);\n }\n}\n\n/**\n * Set state to PendingState\n */\nfunction setPendingState(icon, inline, lastState) {\n const lastRender = lastState &&\n (lastState.rendered\n ? lastState\n : lastState.lastRender);\n return {\n rendered: false,\n inline,\n icon,\n lastRender,\n };\n}\n\n/**\n * Register 'iconify-icon' component, if it does not exist\n */\nfunction defineIconifyIcon(name = 'iconify-icon') {\n // Check for custom elements registry and HTMLElement\n let customElements;\n let ParentClass;\n try {\n customElements = window.customElements;\n ParentClass = window.HTMLElement;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n return;\n }\n // Make sure registry and HTMLElement exist\n if (!customElements || !ParentClass) {\n return;\n }\n // Check for duplicate\n const ConflictingClass = customElements.get(name);\n if (ConflictingClass) {\n return ConflictingClass;\n }\n // All attributes\n const attributes = [\n // Icon\n 'icon',\n // Mode\n 'mode',\n 'inline',\n 'noobserver',\n // Customisations\n 'width',\n 'height',\n 'rotate',\n 'flip',\n ];\n /**\n * Component class\n */\n const IconifyIcon = class extends ParentClass {\n // Root\n _shadowRoot;\n // Initialised\n _initialised = false;\n // Icon state\n _state;\n // Attributes check queued\n _checkQueued = false;\n // Connected\n _connected = false;\n // Observer\n _observer = null;\n _visible = true;\n /**\n * Constructor\n */\n constructor() {\n super();\n // Attach shadow DOM\n const root = (this._shadowRoot = this.attachShadow({\n mode: 'open',\n }));\n // Add style\n const inline = this.hasAttribute('inline');\n updateStyle(root, inline);\n // Create empty state\n this._state = setPendingState({\n value: '',\n }, inline);\n // Queue icon render\n this._queueCheck();\n }\n /**\n * Connected to DOM\n */\n connectedCallback() {\n this._connected = true;\n this.startObserver();\n }\n /**\n * Disconnected from DOM\n */\n disconnectedCallback() {\n this._connected = false;\n this.stopObserver();\n }\n /**\n * Observed attributes\n */\n static get observedAttributes() {\n return attributes.slice(0);\n }\n /**\n * Observed properties that are different from attributes\n *\n * Experimental! Need to test with various frameworks that support it\n */\n /*\n static get properties() {\n return {\n inline: {\n type: Boolean,\n reflect: true,\n },\n // Not listing other attributes because they are strings or combination\n // of string and another type. Cannot have multiple types\n };\n }\n */\n /**\n * Attribute has changed\n */\n attributeChangedCallback(name) {\n switch (name) {\n case 'inline': {\n // Update immediately: not affected by other attributes\n const newInline = this.hasAttribute('inline');\n const state = this._state;\n if (newInline !== state.inline) {\n // Update style if inline mode changed\n state.inline = newInline;\n updateStyle(this._shadowRoot, newInline);\n }\n break;\n }\n case 'noobserver': {\n const value = this.hasAttribute('noobserver');\n if (value) {\n this.startObserver();\n }\n else {\n this.stopObserver();\n }\n break;\n }\n default:\n // Queue check for other attributes\n this._queueCheck();\n }\n }\n /**\n * Get/set icon\n */\n get icon() {\n const value = this.getAttribute('icon');\n if (value && value.slice(0, 1) === '{') {\n try {\n return JSON.parse(value);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n }\n return value;\n }\n set icon(value) {\n if (typeof value === 'object') {\n value = JSON.stringify(value);\n }\n this.setAttribute('icon', value);\n }\n /**\n * Get/set inline\n */\n get inline() {\n return this.hasAttribute('inline');\n }\n set inline(value) {\n if (value) {\n this.setAttribute('inline', 'true');\n }\n else {\n this.removeAttribute('inline');\n }\n }\n /**\n * Get/set observer\n */\n get observer() {\n return this.hasAttribute('observer');\n }\n set observer(value) {\n if (value) {\n this.setAttribute('observer', 'true');\n }\n else {\n this.removeAttribute('observer');\n }\n }\n /**\n * Restart animation\n */\n restartAnimation() {\n const state = this._state;\n if (state.rendered) {\n const root = this._shadowRoot;\n if (state.renderedMode === 'svg') {\n // Update root node\n try {\n root.lastChild.setCurrentTime(0);\n return;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n // Failed: setCurrentTime() is not supported\n }\n }\n renderIcon(root, state);\n }\n }\n /**\n * Get status\n */\n get status() {\n const state = this._state;\n return state.rendered\n ? 'rendered'\n : state.icon.data === null\n ? 'failed'\n : 'loading';\n }\n /**\n * Queue attributes re-check\n */\n _queueCheck() {\n if (!this._checkQueued) {\n this._checkQueued = true;\n setTimeout(() => {\n this._check();\n });\n }\n }\n /**\n * Check for changes\n */\n _check() {\n if (!this._checkQueued) {\n return;\n }\n this._checkQueued = false;\n const state = this._state;\n // Get icon\n const newIcon = this.getAttribute('icon');\n if (newIcon !== state.icon.value) {\n this._iconChanged(newIcon);\n return;\n }\n // Ignore other attributes if icon is not rendered\n if (!state.rendered || !this._visible) {\n return;\n }\n // Check for mode and attribute changes\n const mode = this.getAttribute('mode');\n const customisations = getCustomisations(this);\n if (state.attrMode !== mode ||\n haveCustomisationsChanged(state.customisations, customisations) ||\n !findIconElement(this._shadowRoot)) {\n this._renderIcon(state.icon, customisations, mode);\n }\n }\n /**\n * Icon value has changed\n */\n _iconChanged(newValue) {\n const icon = parseIconValue(newValue, (value, name, data) => {\n // Asynchronous callback: re-check values to make sure stuff wasn't changed\n const state = this._state;\n if (state.rendered || this.getAttribute('icon') !== value) {\n // Icon data is already available or icon attribute was changed\n return;\n }\n // Change icon\n const icon = {\n value,\n name,\n data,\n };\n if (icon.data) {\n // Render icon\n this._gotIconData(icon);\n }\n else {\n // Nothing to render: update icon in state\n state.icon = icon;\n }\n });\n if (icon.data) {\n // Icon is ready to render\n this._gotIconData(icon);\n }\n else {\n // Pending icon\n this._state = setPendingState(icon, this._state.inline, this._state);\n }\n }\n /**\n * Force render icon on state change\n */\n _forceRender() {\n if (!this._visible) {\n // Remove icon\n const node = findIconElement(this._shadowRoot);\n if (node) {\n this._shadowRoot.removeChild(node);\n }\n return;\n }\n // Re-render icon\n this._queueCheck();\n }\n /**\n * Got new icon data, icon is ready to (re)render\n */\n _gotIconData(icon) {\n this._checkQueued = false;\n this._renderIcon(icon, getCustomisations(this), this.getAttribute('mode'));\n }\n /**\n * Re-render based on icon data\n */\n _renderIcon(icon, customisations, attrMode) {\n // Get mode\n const renderedMode = getRenderMode(icon.data.body, attrMode);\n // Inline was not changed\n const inline = this._state.inline;\n // Set state and render\n renderIcon(this._shadowRoot, (this._state = {\n rendered: true,\n icon,\n inline,\n customisations,\n attrMode,\n renderedMode,\n }));\n }\n /**\n * Start observer\n */\n startObserver() {\n if (!this._observer && !this.hasAttribute('noobserver')) {\n try {\n this._observer = new IntersectionObserver((entries) => {\n const intersecting = entries.some((entry) => entry.isIntersecting);\n if (intersecting !== this._visible) {\n this._visible = intersecting;\n this._forceRender();\n }\n });\n this._observer.observe(this);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n // Something went wrong, possibly observer is not supported\n if (this._observer) {\n try {\n this._observer.disconnect();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n this._observer = null;\n }\n }\n }\n }\n /**\n * Stop observer\n */\n stopObserver() {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n this._visible = true;\n if (this._connected) {\n // Render icon\n this._forceRender();\n }\n }\n }\n };\n // Add getters and setters\n attributes.forEach((attr) => {\n if (!(attr in IconifyIcon.prototype)) {\n Object.defineProperty(IconifyIcon.prototype, attr, {\n get: function () {\n return this.getAttribute(attr);\n },\n set: function (value) {\n if (value !== null) {\n this.setAttribute(attr, value);\n }\n else {\n this.removeAttribute(attr);\n }\n },\n });\n }\n });\n // Add exported functions: both as static and instance methods\n const functions = exportFunctions();\n for (const key in functions) {\n IconifyIcon[key] = IconifyIcon.prototype[key] = functions[key];\n }\n // Define new component\n customElements.define(name, IconifyIcon);\n return IconifyIcon;\n}\n\n/**\n * Create exported data: either component instance or functions\n */\nconst IconifyIconComponent = defineIconifyIcon() || exportFunctions();\n/**\n * Export functions\n */\nconst { iconLoaded, getIcon, listIcons, addIcon, addCollection, calculateSize, buildIcon, iconToHTML, svgToURL, loadIcons, loadIcon, setCustomIconLoader, setCustomIconsLoader, addAPIProvider, _api, } = IconifyIconComponent;\n\nexport { IconifyIconComponent, _api, addAPIProvider, addCollection, addIcon, appendCustomStyle, buildIcon, calculateSize, getIcon, iconLoaded, iconToHTML, listIcons, loadIcon, loadIcons, setCustomIconLoader, setCustomIconsLoader, svgToURL };\n","@import \"~@govbr-ds/core/src/partial/scss/configs/icons\";\n\n:host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n\n iconify-icon {\n &:focus {\n @include focus;\n }\n }\n}\n\n:host([is-inline]) {\n display: inline;\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\nimport 'iconify-icon'\n\n/**\n * O componente `br-icon` fornece uma maneira flexível e dinâmica de incorporar ícones nas aplicações.\n * Utilizando a biblioteca Iconify, ele permite o uso de uma ampla variedade de ícones.\n *\n * Com opções para especificar a altura e largura, adicionar classes CSS personalizadas, e definir como o ícone\n * deve ser rotacionado ou espelhado, o `br-icon` oferece aos desenvolvedores as ferramentas necessárias para\n * integrar ícones de forma consistente com o estilo e design de suas aplicações, melhorando a experiência do usuário\n * e a clareza das interfaces.\n *\n * Para mais informações sobre quais ícones estão disponíveis, consulte a documentação do [Iconify](https://iconify.design/).\n */\n@Component({\n tag: 'br-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n})\nexport class Icon {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrIconElement\n\n /**\n * Nome do ícone a ser exibido, utilizando a biblioteca Iconify.\n * Este nome deve corresponder ao nome do ícone definido na biblioteca para que ele seja exibido corretamente.\n */\n @Prop({ reflect: true }) readonly iconName: string\n\n /**\n * Define a altura do ícone. Pode ser especificada em qualquer unidade CSS válida, como pixels (px), ems (em), rems (rem), etc.\n * O valor padrão é '16'.\n */\n @Prop({ reflect: true }) readonly height: string = '16'\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-icon-${iconId++}`\n\n /**\n * Define a largura do ícone. Pode ser especificada em qualquer unidade CSS válida, como pixels (px), ems (em), rems (rem), etc.\n * O valor padrão é '24'.\n */\n @Prop({ reflect: true }) readonly width: string = '24'\n\n /**\n * Permite adicionar classes CSS adicionais ao ícone.\n * Use esta propriedade para aplicar estilos personalizados ao ícone, além dos estilos padrão.\n */\n @Prop({ reflect: true }) readonly cssClasses?: string\n\n /**\n * Se definido como verdadeiro, o ícone será alinhado verticalmente ao texto ao seu redor.\n * Útil quando o ícone é usado em linha com texto para garantir que esteja alinhado corretamente com o texto.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) readonly isInline?: boolean = false\n\n /**\n * Define o ângulo de rotação do ícone.\n */\n @Prop({ reflect: true }) readonly rotate?: '90deg' | '180deg' | '270deg'\n\n /**\n * Define o tipo de espelhamento do ícone.\n */\n @Prop({ reflect: true }) readonly flip?: 'horizontal' | 'vertical'\n\n /**\n * Determina se o ícone pode receber foco.\n * Se definido como verdadeiro, o ícone pode ser navegado usando Tab.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) readonly isFocusable?: boolean = false\n\n /**\n * Controla o comportamento de carregamento do ícone através do observer interno do Iconify.\n *\n * Comportamento:\n * - Padrão (propriedade não definida): carregamento imediato aplicando `noobserver` para evitar problemas de layout shift\n * - `lazy={true}`: ativa o observer para carregamento lazy otimizado (útil em documentos longos com muitos ícones)\n * - `lazy={false}`: carregamento imediato aplicando `noobserver` (mesmo comportamento do padrão)\n *\n * **Nota**: O padrão foi alterado para carregamento imediato para resolver problemas de deslocamento de layout\n * que ocorriam quando ícones eram carregados depois do conteúdo inicial.\n */\n @Prop({ reflect: true }) readonly lazy?: boolean\n\n /**\n * Retorna o valor efetivo para o comportamento \"lazy\" do ícone.\n *\n * Explicação:\n * - Se o atributo 'lazy' estiver presente no elemento, o método retorna o valor da propriedade this.lazy (true ou false).\n * - Se o atributo 'lazy' NÃO estiver presente, assume-se o comportamento padrão, retornando false (ou seja, carregamento imediato ativado).\n *\n * Isso permite distinguir entre o caso em que o usuário explicitamente define lazy={true} (carregamento lazy)\n * e o caso em que o atributo não é informado (carregamento imediato por padrão).\n */\n private get effectiveLazy(): boolean {\n return this.el.hasAttribute('lazy') ? this.lazy === true : false\n }\n\n componentDidLoad() {\n const iconElement = this.el.shadowRoot.querySelector('iconify-icon')\n if (iconElement !== null) {\n if (this.isFocusable && !this.el.hasAttribute('aria-label')) {\n const formattedIconName = this.iconName\n .split(':')\n .pop()\n .replace(/-/g, ' ')\n .replace(/^[a-z]/, (match) => match.toUpperCase())\n\n this.el.setAttribute('aria-label', `Ícone: ${formattedIconName}`)\n }\n }\n }\n\n render() {\n return (\n <Host>\n <iconify-icon\n id={this.customId}\n flip={this.flip}\n width={this.width}\n class={this.cssClasses}\n icon={this.iconName}\n inline={this.isInline}\n height={this.height}\n rotate={this.rotate}\n role={this.isFocusable ? 'img' : null}\n tabindex={this.isFocusable ? 0 : '-1'}\n aria-hidden={this.isFocusable ? null : 'true'}\n focusable={this.isFocusable ? true : 'false'}\n {...(this.effectiveLazy === false ? { noobserver: true } : {})}\n ></iconify-icon>\n </Host>\n )\n }\n}\n\nlet iconId = 0\n"],"names":[],"mappings":"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","x_google_ignoreList":[2]}