@beeq/core 1.8.0-beta.3 → 1.8.0-beta.5

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 (644) hide show
  1. package/dist/beeq/beeq.css +1 -1
  2. package/dist/beeq/beeq.esm.js +43 -1
  3. package/dist/beeq/beeq.esm.js.map +1 -1
  4. package/dist/beeq/index.esm.js +64 -1
  5. package/dist/beeq/index.esm.js.map +1 -1
  6. package/dist/beeq/p-01df4baa.js +1826 -0
  7. package/dist/beeq/p-01df4baa.js.map +1 -0
  8. package/dist/beeq/p-01fe8efb.entry.js +182 -0
  9. package/dist/beeq/p-01fe8efb.entry.js.map +1 -0
  10. package/dist/beeq/p-03373320.entry.js +318 -0
  11. package/dist/beeq/p-03373320.entry.js.map +1 -0
  12. package/dist/beeq/{p-b7f02fb6.entry.js → p-03c586df.entry.js} +288 -2
  13. package/dist/beeq/p-03c586df.entry.js.map +1 -0
  14. package/dist/beeq/{p-b994054a.entry.js → p-0a981080.entry.js} +150 -2
  15. package/dist/beeq/{p-6823479d.entry.js.map → p-0a981080.entry.js.map} +1 -1
  16. package/dist/beeq/{p-010fb578.entry.js → p-0ce76c54.entry.js} +99 -2
  17. package/dist/beeq/{p-45b7b5cf.entry.js.map → p-0ce76c54.entry.js.map} +1 -1
  18. package/dist/beeq/p-115ed5b2.js +25 -1
  19. package/dist/beeq/p-115ed5b2.js.map +1 -1
  20. package/dist/beeq/p-1c8b6eb4.js +12 -1
  21. package/dist/beeq/p-1c8b6eb4.js.map +1 -1
  22. package/dist/beeq/p-1defeea3.js +69 -0
  23. package/dist/beeq/{p-951ba558.js.map → p-1defeea3.js.map} +1 -1
  24. package/dist/beeq/p-1f3a4359.js +11 -1
  25. package/dist/beeq/p-1f3a4359.js.map +1 -1
  26. package/dist/beeq/p-2bb049ae.entry.js +334 -0
  27. package/dist/beeq/p-2bb049ae.entry.js.map +1 -0
  28. package/dist/beeq/p-3043c826.entry.js +133 -0
  29. package/dist/beeq/p-3043c826.entry.js.map +1 -0
  30. package/dist/beeq/p-38e70f78.entry.js +133 -0
  31. package/dist/beeq/p-38e70f78.entry.js.map +1 -0
  32. package/dist/beeq/p-398bfb48.entry.js +242 -0
  33. package/dist/beeq/{p-7871f3f0.entry.js.map → p-398bfb48.entry.js.map} +1 -1
  34. package/dist/beeq/p-3f9a348a.entry.js +272 -0
  35. package/dist/beeq/{p-2e61db84.entry.js.map → p-3f9a348a.entry.js.map} +1 -1
  36. package/dist/beeq/p-3fd0d92d.js +1228 -1
  37. package/dist/beeq/p-3fd0d92d.js.map +1 -1
  38. package/dist/beeq/p-41ac1d84.entry.js +195 -0
  39. package/dist/beeq/p-41ac1d84.entry.js.map +1 -0
  40. package/dist/beeq/p-4eabcd51.entry.js +82 -0
  41. package/dist/beeq/{p-d5992d3d.entry.js.map → p-4eabcd51.entry.js.map} +1 -1
  42. package/dist/beeq/p-544deac1.entry.js +528 -0
  43. package/dist/beeq/p-544deac1.entry.js.map +1 -0
  44. package/dist/beeq/p-57621be1.js +9 -1
  45. package/dist/beeq/p-57621be1.js.map +1 -1
  46. package/dist/beeq/p-5ff6621d.entry.js +134 -0
  47. package/dist/beeq/p-5ff6621d.entry.js.map +1 -0
  48. package/dist/beeq/p-60cbc966.entry.js +85 -0
  49. package/dist/beeq/{p-95d0abdc.entry.js.map → p-60cbc966.entry.js.map} +1 -1
  50. package/dist/beeq/p-687da041.js +20 -1
  51. package/dist/beeq/p-687da041.js.map +1 -1
  52. package/dist/beeq/p-68ff188d.entry.js +144 -0
  53. package/dist/beeq/p-68ff188d.entry.js.map +1 -0
  54. package/dist/beeq/p-69c766a3.entry.js +213 -0
  55. package/dist/beeq/p-69c766a3.entry.js.map +1 -0
  56. package/dist/beeq/p-76486949.entry.js +347 -0
  57. package/dist/beeq/p-76486949.entry.js.map +1 -0
  58. package/dist/beeq/p-83d6d9ad.js +14 -0
  59. package/dist/beeq/{p-513bab02.js.map → p-83d6d9ad.js.map} +1 -1
  60. package/dist/beeq/p-8b16f130.entry.js +210 -0
  61. package/dist/beeq/{p-010fb578.entry.js.map → p-8b16f130.entry.js.map} +1 -1
  62. package/dist/beeq/p-8e1c6978.entry.js +443 -0
  63. package/dist/beeq/p-8e1c6978.entry.js.map +1 -0
  64. package/dist/beeq/p-8f1c68c0.js +71 -0
  65. package/dist/beeq/p-8f1c68c0.js.map +1 -0
  66. package/dist/beeq/p-99829fc7.js +8 -1
  67. package/dist/beeq/p-99829fc7.js.map +1 -1
  68. package/dist/beeq/p-9cab14ee.entry.js +119 -0
  69. package/dist/beeq/{p-f7a0a316.entry.js.map → p-9cab14ee.entry.js.map} +1 -1
  70. package/dist/beeq/p-a23b23c4.entry.js +213 -0
  71. package/dist/beeq/p-a23b23c4.entry.js.map +1 -0
  72. package/dist/beeq/p-a5dc1c94.js +118 -1
  73. package/dist/beeq/p-a5dc1c94.js.map +1 -1
  74. package/dist/beeq/p-a608a4fb.entry.js +112 -0
  75. package/dist/beeq/{p-9da0e8d7.entry.js.map → p-a608a4fb.entry.js.map} +1 -1
  76. package/dist/beeq/p-a8cad5ab.js +5 -1
  77. package/dist/beeq/p-a8cad5ab.js.map +1 -1
  78. package/dist/beeq/p-aacaaa35.entry.js +209 -0
  79. package/dist/beeq/{p-ded1aed2.entry.js.map → p-aacaaa35.entry.js.map} +1 -1
  80. package/dist/beeq/p-af062402.js +7 -1
  81. package/dist/beeq/p-af062402.js.map +1 -1
  82. package/dist/beeq/p-b2df1479.entry.js +270 -0
  83. package/dist/beeq/p-b2df1479.entry.js.map +1 -0
  84. package/dist/beeq/p-b77b52f2.entry.js +188 -0
  85. package/dist/beeq/{p-0cbec77b.entry.js.map → p-b77b52f2.entry.js.map} +1 -1
  86. package/dist/beeq/p-c78ae3c2.js +1983 -0
  87. package/dist/beeq/p-c78ae3c2.js.map +1 -0
  88. package/dist/beeq/p-c83bc7fd.entry.js +157 -0
  89. package/dist/beeq/p-c83bc7fd.entry.js.map +1 -0
  90. package/dist/beeq/p-cb2b0014.entry.js +363 -0
  91. package/dist/beeq/p-cb2b0014.entry.js.map +1 -0
  92. package/dist/beeq/p-cb917e68.entry.js +177 -0
  93. package/dist/beeq/p-cb917e68.entry.js.map +1 -0
  94. package/dist/beeq/p-cfb8829b.entry.js +100 -0
  95. package/dist/beeq/{p-b2acd8f3.entry.js.map → p-cfb8829b.entry.js.map} +1 -1
  96. package/dist/beeq/p-d7067dae.entry.js +151 -0
  97. package/dist/beeq/{p-1202161d.entry.js.map → p-d7067dae.entry.js.map} +1 -1
  98. package/dist/beeq/p-d7ce7165.js +91 -0
  99. package/dist/beeq/p-d7ce7165.js.map +1 -0
  100. package/dist/beeq/p-d7dc7086.entry.js +267 -0
  101. package/dist/beeq/p-d7dc7086.entry.js.map +1 -0
  102. package/dist/beeq/p-ecd27cf2.js +11 -1
  103. package/dist/beeq/p-ecd27cf2.js.map +1 -1
  104. package/dist/beeq/p-edfd9767.js +31 -0
  105. package/dist/beeq/p-edfd9767.js.map +1 -0
  106. package/dist/beeq/p-f11a3beb.entry.js +90 -0
  107. package/dist/beeq/{p-fbf6b04b.entry.js.map → p-f11a3beb.entry.js.map} +1 -1
  108. package/dist/beeq/p-f1d6a960.entry.js +271 -0
  109. package/dist/beeq/p-f1d6a960.entry.js.map +1 -0
  110. package/dist/beeq/p-f350516b.entry.js +154 -0
  111. package/dist/beeq/p-f350516b.entry.js.map +1 -0
  112. package/dist/beeq/p-f979d79a.entry.js +120 -0
  113. package/dist/beeq/{p-83207939.entry.js.map → p-f979d79a.entry.js.map} +1 -1
  114. package/dist/beeq/{p-d5992d3d.entry.js → p-faa3be41.entry.js} +155 -2
  115. package/dist/beeq/{p-e7ede06e.entry.js.map → p-faa3be41.entry.js.map} +1 -1
  116. package/dist/beeq/p-fb20c6eb.entry.js +458 -0
  117. package/dist/beeq/p-fb20c6eb.entry.js.map +1 -0
  118. package/dist/beeq/p-fe278ecc.entry.js +267 -0
  119. package/dist/beeq/p-fe278ecc.entry.js.map +1 -0
  120. package/dist/cjs/assetsPath-8bd8d221.js +77 -0
  121. package/dist/cjs/assetsPath-8bd8d221.js.map +1 -0
  122. package/dist/cjs/beeq.cjs.js +3 -3
  123. package/dist/cjs/beeq.cjs.js.map +1 -1
  124. package/dist/cjs/bq-accordion-group.cjs.entry.js +3 -4
  125. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  126. package/dist/cjs/bq-accordion.cjs.entry.js +83 -48
  127. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  128. package/dist/cjs/bq-alert.cjs.entry.js +57 -43
  129. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  130. package/dist/cjs/bq-avatar.cjs.entry.js +40 -40
  131. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  132. package/dist/cjs/bq-badge.cjs.entry.js +42 -42
  133. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  134. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +39 -29
  135. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  136. package/dist/cjs/bq-breadcrumb.cjs.entry.js +45 -30
  137. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  138. package/dist/cjs/bq-button_2.cjs.entry.js +138 -90
  139. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  140. package/dist/cjs/bq-card.cjs.entry.js +3 -4
  141. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  142. package/dist/cjs/bq-checkbox.cjs.entry.js +63 -54
  143. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  144. package/dist/cjs/bq-date-picker.cjs.entry.js +160 -140
  145. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  146. package/dist/cjs/bq-dialog.cjs.entry.js +71 -50
  147. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  148. package/dist/cjs/bq-divider.cjs.entry.js +23 -21
  149. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  150. package/dist/cjs/bq-drawer.cjs.entry.js +48 -34
  151. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  152. package/dist/cjs/bq-dropdown_2.cjs.entry.js +44 -34
  153. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  154. package/dist/cjs/bq-empty-state.cjs.entry.js +25 -22
  155. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  156. package/dist/cjs/bq-input.cjs.entry.js +116 -90
  157. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  158. package/dist/cjs/bq-notification.cjs.entry.js +63 -49
  159. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  160. package/dist/cjs/bq-option-group.cjs.entry.js +3 -3
  161. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  162. package/dist/cjs/bq-option-list_2.cjs.entry.js +73 -54
  163. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  164. package/dist/cjs/bq-option.cjs.entry.js +61 -45
  165. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  166. package/dist/cjs/bq-page-title.cjs.entry.js +36 -32
  167. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  168. package/dist/cjs/bq-progress.cjs.entry.js +3 -4
  169. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  170. package/dist/cjs/bq-radio-group.cjs.entry.js +12 -7
  171. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  172. package/dist/cjs/bq-radio.cjs.entry.js +43 -37
  173. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  174. package/dist/cjs/bq-select.cjs.entry.js +185 -168
  175. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  176. package/dist/cjs/bq-side-menu-item.cjs.entry.js +68 -55
  177. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  178. package/dist/cjs/bq-side-menu.cjs.entry.js +47 -32
  179. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  180. package/dist/cjs/bq-slider.cjs.entry.js +160 -145
  181. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  182. package/dist/cjs/bq-spinner.cjs.entry.js +52 -51
  183. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  184. package/dist/cjs/bq-status.cjs.entry.js +3 -4
  185. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  186. package/dist/cjs/bq-step-item.cjs.entry.js +15 -11
  187. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  188. package/dist/cjs/bq-steps.cjs.entry.js +12 -10
  189. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  190. package/dist/cjs/bq-switch.cjs.entry.js +43 -32
  191. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  192. package/dist/cjs/bq-tab-group.cjs.entry.js +64 -57
  193. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  194. package/dist/cjs/bq-tab.cjs.entry.js +43 -33
  195. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  196. package/dist/cjs/bq-textarea.cjs.entry.js +80 -58
  197. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  198. package/dist/cjs/bq-toast.cjs.entry.js +44 -38
  199. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  200. package/dist/cjs/bq-tooltip.cjs.entry.js +46 -42
  201. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  202. package/dist/cjs/{cssVariables-a0e1e906.js → cssVariables-dd190bc2.js} +2 -2
  203. package/dist/cjs/cssVariables-dd190bc2.js.map +1 -0
  204. package/dist/cjs/{debounce-f94a239b.js → debounce-1f7e1176.js} +3 -3
  205. package/dist/cjs/debounce-1f7e1176.js.map +1 -0
  206. package/dist/cjs/{index-e6d59dbb.js → index-34edf639.js} +48 -15
  207. package/dist/cjs/index-34edf639.js.map +1 -0
  208. package/dist/cjs/{index-e4c116b6.js → index-fc7876d6.js} +63 -19
  209. package/dist/cjs/index-fc7876d6.js.map +1 -0
  210. package/dist/cjs/index.cjs.js +5 -5
  211. package/dist/cjs/{isDefined-a9dd6d5b.js → isDefined-f3968296.js} +1 -2
  212. package/dist/cjs/isDefined-f3968296.js.map +1 -0
  213. package/dist/cjs/loader.cjs.js +2 -2
  214. package/dist/cjs/{slot-dd6f7db9.js → slot-2fee189a.js} +3 -4
  215. package/dist/{beeq/p-d7a88b16.js.map → cjs/slot-2fee189a.js.map} +1 -1
  216. package/dist/collection/_storybook/foundation/helper/index.js +3 -3
  217. package/dist/collection/_storybook/foundation/helper/index.js.map +1 -1
  218. package/dist/collection/collection-manifest.json +2 -2
  219. package/dist/collection/components/accordion/bq-accordion.js +72 -39
  220. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  221. package/dist/collection/components/accordion/helper/index.js +10 -4
  222. package/dist/collection/components/accordion/helper/index.js.map +1 -1
  223. package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
  224. package/dist/collection/components/accordion-group/bq-accordion-group.js +5 -0
  225. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  226. package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
  227. package/dist/collection/components/alert/bq-alert.js +55 -37
  228. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  229. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  230. package/dist/collection/components/avatar/bq-avatar.js +40 -36
  231. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  232. package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
  233. package/dist/collection/components/badge/bq-badge.js +40 -36
  234. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  235. package/dist/collection/components/badge/scss/bq-badge.css +1 -1
  236. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +45 -26
  237. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  238. package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
  239. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +40 -24
  240. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  241. package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
  242. package/dist/collection/components/button/bq-button.js +84 -43
  243. package/dist/collection/components/button/bq-button.js.map +1 -1
  244. package/dist/collection/components/button/scss/bq-button.css +1 -1
  245. package/dist/collection/components/card/bq-card.js +5 -0
  246. package/dist/collection/components/card/bq-card.js.map +1 -1
  247. package/dist/collection/components/card/scss/bq-card.css +1 -1
  248. package/dist/collection/components/checkbox/bq-checkbox.js +63 -50
  249. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  250. package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
  251. package/dist/collection/components/date-picker/bq-date-picker.js +158 -134
  252. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  253. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  254. package/dist/collection/components/dialog/bq-dialog.js +70 -45
  255. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  256. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  257. package/dist/collection/components/divider/bq-divider.js +21 -15
  258. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  259. package/dist/collection/components/divider/scss/bq-divider.css +1 -1
  260. package/dist/collection/components/drawer/bq-drawer.js +47 -29
  261. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  262. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  263. package/dist/collection/components/dropdown/bq-dropdown.js +34 -23
  264. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  265. package/dist/collection/components/empty-state/bq-empty-state.js +25 -18
  266. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  267. package/dist/collection/components/icon/bq-icon.js +41 -37
  268. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  269. package/dist/collection/components/icon/helper/request.js +2 -2
  270. package/dist/collection/components/icon/helper/request.js.map +1 -1
  271. package/dist/collection/components/icon/scss/bq-icon.css +1 -1
  272. package/dist/collection/components/input/bq-input.js +113 -83
  273. package/dist/collection/components/input/bq-input.js.map +1 -1
  274. package/dist/collection/components/input/scss/bq-input.css +1 -1
  275. package/dist/collection/components/notification/bq-notification.js +61 -43
  276. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  277. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  278. package/dist/collection/components/option/bq-option.js +60 -40
  279. package/dist/collection/components/option/bq-option.js.map +1 -1
  280. package/dist/collection/components/option/scss/bq-option.css +1 -1
  281. package/dist/collection/components/option-group/bq-option-group.js +5 -0
  282. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  283. package/dist/collection/components/option-group/scss/bq-option-group.css +1 -1
  284. package/dist/collection/components/option-list/bq-option-list.js +10 -0
  285. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  286. package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
  287. package/dist/collection/components/page-title/bq-page-title.js +35 -27
  288. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  289. package/dist/collection/components/page-title/scss/bq-page-title.css +1 -1
  290. package/dist/collection/components/panel/bq-panel.js +11 -6
  291. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  292. package/dist/collection/components/panel/scss/bq-panel.css +1 -1
  293. package/dist/collection/components/progress/bq-progress.js +5 -0
  294. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  295. package/dist/collection/components/progress/scss/bq-progress.css +1 -1
  296. package/dist/collection/components/radio/bq-radio.js +43 -34
  297. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  298. package/dist/collection/components/radio/scss/bq-radio.css +1 -1
  299. package/dist/collection/components/radio-group/bq-radio-group.js +12 -3
  300. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  301. package/dist/collection/components/select/bq-select.js +182 -161
  302. package/dist/collection/components/select/bq-select.js.map +1 -1
  303. package/dist/collection/components/select/scss/bq-select.css +1 -1
  304. package/dist/collection/components/side-menu/bq-side-menu.js +50 -29
  305. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  306. package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
  307. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +68 -51
  308. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  309. package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
  310. package/dist/collection/components/slider/bq-slider.js +159 -140
  311. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  312. package/dist/collection/components/slider/scss/bq-slider.css +1 -1
  313. package/dist/collection/components/spinner/bq-spinner.js +51 -46
  314. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  315. package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
  316. package/dist/collection/components/status/bq-status.js +5 -0
  317. package/dist/collection/components/status/bq-status.js.map +1 -1
  318. package/dist/collection/components/status/scss/bq-status.css +1 -1
  319. package/dist/collection/components/step-item/bq-step-item.js +17 -7
  320. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  321. package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
  322. package/dist/collection/components/steps/bq-steps.js +12 -6
  323. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  324. package/dist/collection/components/steps/scss/bq-steps.css +1 -1
  325. package/dist/collection/components/switch/bq-switch.js +42 -27
  326. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  327. package/dist/collection/components/switch/scss/bq-switch.css +1 -1
  328. package/dist/collection/components/tab/bq-tab.js +42 -28
  329. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  330. package/dist/collection/components/tab/scss/bq-tab.css +1 -1
  331. package/dist/collection/components/tab-group/bq-tab-group.js +64 -53
  332. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  333. package/dist/collection/components/tag/bq-tag.js +64 -46
  334. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  335. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  336. package/dist/collection/components/textarea/bq-textarea.js +78 -52
  337. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  338. package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
  339. package/dist/collection/components/toast/bq-toast.js +43 -33
  340. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  341. package/dist/collection/components/toast/scss/bq-toast.css +1 -1
  342. package/dist/collection/components/tooltip/bq-tooltip.js +45 -38
  343. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  344. package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
  345. package/dist/collection/index.js +0 -1
  346. package/dist/collection/index.js.map +1 -1
  347. package/dist/collection/services/libraries/floating-ui/index.js +4 -0
  348. package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
  349. package/dist/collection/shared/utils/assetsPath.js +45 -57
  350. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  351. package/dist/collection/shared/utils/cssVariables.js +1 -1
  352. package/dist/collection/shared/utils/cssVariables.js.map +1 -1
  353. package/dist/collection/shared/utils/debounce.js +2 -2
  354. package/dist/collection/shared/utils/debounce.js.map +1 -1
  355. package/dist/collection/shared/utils/slot.js +2 -3
  356. package/dist/collection/shared/utils/slot.js.map +1 -1
  357. package/dist/components/bq-accordion-group.js +2 -3
  358. package/dist/components/bq-accordion-group.js.map +1 -1
  359. package/dist/components/bq-accordion.js +81 -46
  360. package/dist/components/bq-accordion.js.map +1 -1
  361. package/dist/components/bq-alert.js +54 -40
  362. package/dist/components/bq-alert.js.map +1 -1
  363. package/dist/components/bq-avatar.js +39 -39
  364. package/dist/components/bq-avatar.js.map +1 -1
  365. package/dist/components/bq-badge2.js +39 -39
  366. package/dist/components/bq-badge2.js.map +1 -1
  367. package/dist/components/bq-breadcrumb-item.js +37 -27
  368. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  369. package/dist/components/bq-breadcrumb.js +44 -29
  370. package/dist/components/bq-breadcrumb.js.map +1 -1
  371. package/dist/components/bq-button2.js +84 -47
  372. package/dist/components/bq-button2.js.map +1 -1
  373. package/dist/components/bq-card.js +2 -3
  374. package/dist/components/bq-card.js.map +1 -1
  375. package/dist/components/bq-checkbox.js +62 -53
  376. package/dist/components/bq-checkbox.js.map +1 -1
  377. package/dist/components/bq-date-picker.js +157 -137
  378. package/dist/components/bq-date-picker.js.map +1 -1
  379. package/dist/components/bq-dialog.js +69 -48
  380. package/dist/components/bq-dialog.js.map +1 -1
  381. package/dist/components/bq-divider2.js +20 -18
  382. package/dist/components/bq-divider2.js.map +1 -1
  383. package/dist/components/bq-drawer.js +46 -32
  384. package/dist/components/bq-drawer.js.map +1 -1
  385. package/dist/components/bq-dropdown2.js +32 -24
  386. package/dist/components/bq-dropdown2.js.map +1 -1
  387. package/dist/components/bq-empty-state.js +23 -20
  388. package/dist/components/bq-empty-state.js.map +1 -1
  389. package/dist/components/bq-icon2.js +112 -42
  390. package/dist/components/bq-icon2.js.map +1 -1
  391. package/dist/components/bq-input.js +112 -86
  392. package/dist/components/bq-input.js.map +1 -1
  393. package/dist/components/bq-notification.js +60 -46
  394. package/dist/components/bq-notification.js.map +1 -1
  395. package/dist/components/bq-option-group.js +2 -2
  396. package/dist/components/bq-option-group.js.map +1 -1
  397. package/dist/components/bq-option-list2.js +7 -3
  398. package/dist/components/bq-option-list2.js.map +1 -1
  399. package/dist/components/bq-option.js +59 -43
  400. package/dist/components/bq-option.js.map +1 -1
  401. package/dist/components/bq-page-title.js +34 -30
  402. package/dist/components/bq-page-title.js.map +1 -1
  403. package/dist/components/bq-panel2.js +10 -8
  404. package/dist/components/bq-panel2.js.map +1 -1
  405. package/dist/components/bq-progress.js +2 -3
  406. package/dist/components/bq-progress.js.map +1 -1
  407. package/dist/components/bq-radio-group.js +10 -5
  408. package/dist/components/bq-radio-group.js.map +1 -1
  409. package/dist/components/bq-radio.js +43 -37
  410. package/dist/components/bq-radio.js.map +1 -1
  411. package/dist/components/bq-select.js +181 -164
  412. package/dist/components/bq-select.js.map +1 -1
  413. package/dist/components/bq-side-menu-item.js +67 -54
  414. package/dist/components/bq-side-menu-item.js.map +1 -1
  415. package/dist/components/bq-side-menu.js +47 -31
  416. package/dist/components/bq-side-menu.js.map +1 -1
  417. package/dist/components/bq-slider.js +158 -143
  418. package/dist/components/bq-slider.js.map +1 -1
  419. package/dist/components/bq-spinner.js +49 -48
  420. package/dist/components/bq-spinner.js.map +1 -1
  421. package/dist/components/bq-status.js +2 -3
  422. package/dist/components/bq-status.js.map +1 -1
  423. package/dist/components/bq-step-item.js +14 -10
  424. package/dist/components/bq-step-item.js.map +1 -1
  425. package/dist/components/bq-steps.js +11 -9
  426. package/dist/components/bq-steps.js.map +1 -1
  427. package/dist/components/bq-switch.js +41 -30
  428. package/dist/components/bq-switch.js.map +1 -1
  429. package/dist/components/bq-tab-group.js +62 -55
  430. package/dist/components/bq-tab-group.js.map +1 -1
  431. package/dist/components/bq-tab.js +41 -31
  432. package/dist/components/bq-tab.js.map +1 -1
  433. package/dist/components/bq-tag2.js +63 -49
  434. package/dist/components/bq-tag2.js.map +1 -1
  435. package/dist/components/bq-textarea.js +77 -55
  436. package/dist/components/bq-textarea.js.map +1 -1
  437. package/dist/components/bq-toast.js +42 -36
  438. package/dist/components/bq-toast.js.map +1 -1
  439. package/dist/components/bq-tooltip2.js +44 -40
  440. package/dist/components/bq-tooltip2.js.map +1 -1
  441. package/dist/components/cssVariables.js +1 -1
  442. package/dist/components/cssVariables.js.map +1 -1
  443. package/dist/components/debounce.js +2 -2
  444. package/dist/components/debounce.js.map +1 -1
  445. package/dist/components/index.js +1 -1
  446. package/dist/components/index2.js +62 -18
  447. package/dist/components/index2.js.map +1 -1
  448. package/dist/components/isDefined.js +0 -1
  449. package/dist/components/isDefined.js.map +1 -1
  450. package/dist/components/slot.js +2 -3
  451. package/dist/components/slot.js.map +1 -1
  452. package/dist/esm/assetsPath-beeee241.js +74 -0
  453. package/dist/esm/assetsPath-beeee241.js.map +1 -0
  454. package/dist/esm/beeq.js +4 -4
  455. package/dist/esm/beeq.js.map +1 -1
  456. package/dist/esm/bq-accordion-group.entry.js +3 -4
  457. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  458. package/dist/esm/bq-accordion.entry.js +83 -48
  459. package/dist/esm/bq-accordion.entry.js.map +1 -1
  460. package/dist/esm/bq-alert.entry.js +57 -43
  461. package/dist/esm/bq-alert.entry.js.map +1 -1
  462. package/dist/esm/bq-avatar.entry.js +40 -40
  463. package/dist/esm/bq-avatar.entry.js.map +1 -1
  464. package/dist/esm/bq-badge.entry.js +42 -42
  465. package/dist/esm/bq-badge.entry.js.map +1 -1
  466. package/dist/esm/bq-breadcrumb-item.entry.js +39 -29
  467. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  468. package/dist/esm/bq-breadcrumb.entry.js +45 -30
  469. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  470. package/dist/esm/bq-button_2.entry.js +138 -90
  471. package/dist/esm/bq-button_2.entry.js.map +1 -1
  472. package/dist/esm/bq-card.entry.js +3 -4
  473. package/dist/esm/bq-card.entry.js.map +1 -1
  474. package/dist/esm/bq-checkbox.entry.js +63 -54
  475. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  476. package/dist/esm/bq-date-picker.entry.js +160 -140
  477. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  478. package/dist/esm/bq-dialog.entry.js +71 -50
  479. package/dist/esm/bq-dialog.entry.js.map +1 -1
  480. package/dist/esm/bq-divider.entry.js +23 -21
  481. package/dist/esm/bq-divider.entry.js.map +1 -1
  482. package/dist/esm/bq-drawer.entry.js +48 -34
  483. package/dist/esm/bq-drawer.entry.js.map +1 -1
  484. package/dist/esm/bq-dropdown_2.entry.js +44 -34
  485. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  486. package/dist/esm/bq-empty-state.entry.js +25 -22
  487. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  488. package/dist/esm/bq-input.entry.js +116 -90
  489. package/dist/esm/bq-input.entry.js.map +1 -1
  490. package/dist/esm/bq-notification.entry.js +63 -49
  491. package/dist/esm/bq-notification.entry.js.map +1 -1
  492. package/dist/esm/bq-option-group.entry.js +3 -3
  493. package/dist/esm/bq-option-group.entry.js.map +1 -1
  494. package/dist/esm/bq-option-list_2.entry.js +73 -54
  495. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  496. package/dist/esm/bq-option.entry.js +61 -45
  497. package/dist/esm/bq-option.entry.js.map +1 -1
  498. package/dist/esm/bq-page-title.entry.js +36 -32
  499. package/dist/esm/bq-page-title.entry.js.map +1 -1
  500. package/dist/esm/bq-progress.entry.js +3 -4
  501. package/dist/esm/bq-progress.entry.js.map +1 -1
  502. package/dist/esm/bq-radio-group.entry.js +12 -7
  503. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  504. package/dist/esm/bq-radio.entry.js +43 -37
  505. package/dist/esm/bq-radio.entry.js.map +1 -1
  506. package/dist/esm/bq-select.entry.js +185 -168
  507. package/dist/esm/bq-select.entry.js.map +1 -1
  508. package/dist/esm/bq-side-menu-item.entry.js +68 -55
  509. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  510. package/dist/esm/bq-side-menu.entry.js +47 -32
  511. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  512. package/dist/esm/bq-slider.entry.js +160 -145
  513. package/dist/esm/bq-slider.entry.js.map +1 -1
  514. package/dist/esm/bq-spinner.entry.js +52 -51
  515. package/dist/esm/bq-spinner.entry.js.map +1 -1
  516. package/dist/esm/bq-status.entry.js +3 -4
  517. package/dist/esm/bq-status.entry.js.map +1 -1
  518. package/dist/esm/bq-step-item.entry.js +15 -11
  519. package/dist/esm/bq-step-item.entry.js.map +1 -1
  520. package/dist/esm/bq-steps.entry.js +12 -10
  521. package/dist/esm/bq-steps.entry.js.map +1 -1
  522. package/dist/esm/bq-switch.entry.js +43 -32
  523. package/dist/esm/bq-switch.entry.js.map +1 -1
  524. package/dist/esm/bq-tab-group.entry.js +64 -57
  525. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  526. package/dist/esm/bq-tab.entry.js +43 -33
  527. package/dist/esm/bq-tab.entry.js.map +1 -1
  528. package/dist/esm/bq-textarea.entry.js +80 -58
  529. package/dist/esm/bq-textarea.entry.js.map +1 -1
  530. package/dist/esm/bq-toast.entry.js +44 -38
  531. package/dist/esm/bq-toast.entry.js.map +1 -1
  532. package/dist/esm/bq-tooltip.entry.js +46 -42
  533. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  534. package/dist/esm/{cssVariables-23e3ca0d.js → cssVariables-000c23ad.js} +2 -2
  535. package/dist/esm/cssVariables-000c23ad.js.map +1 -0
  536. package/dist/esm/{debounce-c82e3da1.js → debounce-3e72f418.js} +3 -3
  537. package/dist/esm/debounce-3e72f418.js.map +1 -0
  538. package/dist/esm/{index-efc1c2ef.js → index-033f1efb.js} +48 -16
  539. package/dist/esm/index-033f1efb.js.map +1 -0
  540. package/dist/esm/{index-136429a6.js → index-1618c78b.js} +63 -19
  541. package/dist/esm/index-1618c78b.js.map +1 -0
  542. package/dist/esm/index.js +6 -6
  543. package/dist/esm/{isDefined-1e676215.js → isDefined-0cb07ee6.js} +1 -2
  544. package/dist/esm/isDefined-0cb07ee6.js.map +1 -0
  545. package/dist/esm/loader.js +3 -3
  546. package/dist/esm/{slot-179d109d.js → slot-58bfedb5.js} +3 -4
  547. package/dist/esm/slot-58bfedb5.js.map +1 -0
  548. package/dist/hydrate/index.d.ts +10 -4
  549. package/dist/hydrate/index.js +3857 -1984
  550. package/dist/hydrate/index.mjs +3857 -1984
  551. package/dist/types/_storybook/foundation/helper/index.d.ts +1 -3
  552. package/dist/types/components/button/bq-button.d.ts +5 -0
  553. package/dist/types/components/radio/bq-radio.d.ts +0 -5
  554. package/dist/types/index.d.ts +1 -1
  555. package/dist/types/shared/utils/assetsPath.d.ts +6 -19
  556. package/dist/types/stencil-public-runtime.d.ts +4 -0
  557. package/package.json +4 -4
  558. package/dist/beeq/p-05b44bb7.entry.js +0 -6
  559. package/dist/beeq/p-05b44bb7.entry.js.map +0 -1
  560. package/dist/beeq/p-0cbec77b.entry.js +0 -6
  561. package/dist/beeq/p-1202161d.entry.js +0 -6
  562. package/dist/beeq/p-17b341dd.entry.js +0 -6
  563. package/dist/beeq/p-17b341dd.entry.js.map +0 -1
  564. package/dist/beeq/p-1d81f9e5.entry.js +0 -6
  565. package/dist/beeq/p-1d81f9e5.entry.js.map +0 -1
  566. package/dist/beeq/p-2714ce21.entry.js +0 -6
  567. package/dist/beeq/p-2714ce21.entry.js.map +0 -1
  568. package/dist/beeq/p-2e61db84.entry.js +0 -6
  569. package/dist/beeq/p-32f74048.entry.js +0 -6
  570. package/dist/beeq/p-32f74048.entry.js.map +0 -1
  571. package/dist/beeq/p-339d14c8.entry.js +0 -6
  572. package/dist/beeq/p-339d14c8.entry.js.map +0 -1
  573. package/dist/beeq/p-35ec6cac.entry.js +0 -6
  574. package/dist/beeq/p-35ec6cac.entry.js.map +0 -1
  575. package/dist/beeq/p-38d4bd8a.js +0 -6
  576. package/dist/beeq/p-38d4bd8a.js.map +0 -1
  577. package/dist/beeq/p-3ea228d3.entry.js +0 -6
  578. package/dist/beeq/p-3ea228d3.entry.js.map +0 -1
  579. package/dist/beeq/p-45b7b5cf.entry.js +0 -6
  580. package/dist/beeq/p-45e674b4.entry.js +0 -6
  581. package/dist/beeq/p-45e674b4.entry.js.map +0 -1
  582. package/dist/beeq/p-4954154f.entry.js +0 -6
  583. package/dist/beeq/p-4954154f.entry.js.map +0 -1
  584. package/dist/beeq/p-513bab02.js +0 -6
  585. package/dist/beeq/p-5a9a73a0.js +0 -6
  586. package/dist/beeq/p-5a9a73a0.js.map +0 -1
  587. package/dist/beeq/p-5f3ce05a.entry.js +0 -6
  588. package/dist/beeq/p-5f3ce05a.entry.js.map +0 -1
  589. package/dist/beeq/p-6823479d.entry.js +0 -6
  590. package/dist/beeq/p-76e714c6.js +0 -7
  591. package/dist/beeq/p-76e714c6.js.map +0 -1
  592. package/dist/beeq/p-7871f3f0.entry.js +0 -6
  593. package/dist/beeq/p-7a049750.entry.js +0 -6
  594. package/dist/beeq/p-7a049750.entry.js.map +0 -1
  595. package/dist/beeq/p-83207939.entry.js +0 -6
  596. package/dist/beeq/p-8d8993ba.entry.js +0 -6
  597. package/dist/beeq/p-8d8993ba.entry.js.map +0 -1
  598. package/dist/beeq/p-9406afc0.entry.js +0 -6
  599. package/dist/beeq/p-9406afc0.entry.js.map +0 -1
  600. package/dist/beeq/p-94899104.entry.js +0 -6
  601. package/dist/beeq/p-94899104.entry.js.map +0 -1
  602. package/dist/beeq/p-951ba558.js +0 -6
  603. package/dist/beeq/p-95d0abdc.entry.js +0 -6
  604. package/dist/beeq/p-9da0e8d7.entry.js +0 -6
  605. package/dist/beeq/p-a535a72f.entry.js +0 -6
  606. package/dist/beeq/p-a535a72f.entry.js.map +0 -1
  607. package/dist/beeq/p-a5a17e6e.entry.js +0 -6
  608. package/dist/beeq/p-a5a17e6e.entry.js.map +0 -1
  609. package/dist/beeq/p-b2acd8f3.entry.js +0 -6
  610. package/dist/beeq/p-b7f02fb6.entry.js.map +0 -1
  611. package/dist/beeq/p-b994054a.entry.js.map +0 -1
  612. package/dist/beeq/p-be4941d0.entry.js +0 -6
  613. package/dist/beeq/p-be4941d0.entry.js.map +0 -1
  614. package/dist/beeq/p-d7a88b16.js +0 -6
  615. package/dist/beeq/p-dd206dba.entry.js +0 -6
  616. package/dist/beeq/p-dd206dba.entry.js.map +0 -1
  617. package/dist/beeq/p-ded1aed2.entry.js +0 -6
  618. package/dist/beeq/p-e08d9b52.entry.js +0 -6
  619. package/dist/beeq/p-e08d9b52.entry.js.map +0 -1
  620. package/dist/beeq/p-e572b038.entry.js +0 -6
  621. package/dist/beeq/p-e572b038.entry.js.map +0 -1
  622. package/dist/beeq/p-e5afdf8c.js +0 -6
  623. package/dist/beeq/p-e5afdf8c.js.map +0 -1
  624. package/dist/beeq/p-e7ede06e.entry.js +0 -6
  625. package/dist/beeq/p-f7a0a316.entry.js +0 -6
  626. package/dist/beeq/p-fbf6b04b.entry.js +0 -6
  627. package/dist/cjs/assetsPath-7ead23b7.js +0 -89
  628. package/dist/cjs/assetsPath-7ead23b7.js.map +0 -1
  629. package/dist/cjs/cssVariables-a0e1e906.js.map +0 -1
  630. package/dist/cjs/debounce-f94a239b.js.map +0 -1
  631. package/dist/cjs/index-e4c116b6.js.map +0 -1
  632. package/dist/cjs/index-e6d59dbb.js.map +0 -1
  633. package/dist/cjs/isDefined-a9dd6d5b.js.map +0 -1
  634. package/dist/cjs/slot-dd6f7db9.js.map +0 -1
  635. package/dist/components/assetsPath.js +0 -86
  636. package/dist/components/assetsPath.js.map +0 -1
  637. package/dist/esm/assetsPath-c02b0e16.js +0 -86
  638. package/dist/esm/assetsPath-c02b0e16.js.map +0 -1
  639. package/dist/esm/cssVariables-23e3ca0d.js.map +0 -1
  640. package/dist/esm/debounce-c82e3da1.js.map +0 -1
  641. package/dist/esm/index-136429a6.js.map +0 -1
  642. package/dist/esm/index-efc1c2ef.js.map +0 -1
  643. package/dist/esm/isDefined-1e676215.js.map +0 -1
  644. package/dist/esm/slot-179d109d.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"bq-icon2.js","mappings":";;;;;;;;;;AAAA;AAMA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;AAErD,MAAM,QAAQ,GAAG,OAAO,GAAW,EAAE,QAAiB;IACpD,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAE5E,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEhD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzB,OAAO;SACR;QAED,IAAI,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAE/C,IAAI,UAAU,IAAI,QAAQ,KAAK,KAAK;YAAE,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAE/E,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;KAClC;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;KAC1B;AACH,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE9C,MAAM,aAAa,GAAG,OAAO,GAAW,EAAE,QAAiB;IAChE,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;IAG5B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;QACd,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACxB;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,UAAkB;IAChD,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAE/C,MAAM,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,YAAY,GAAG,cAAc,CAAC;IACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACnD,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;YACvD,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACpC;KACF;;IAGD,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACrC,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;;QAEtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,gBAAgB,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;;QAE3E,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;QAGpC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;;;;QAKhC,IAAI,OAAO,CAAC,MAAqB,CAAC;YAAE,OAAO,GAAG,CAAC,SAAS,CAAC;KAC1D;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,OAAO,GAAG,CAAC,GAAgB;IACtC,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;QACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE1D,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAClD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC3D,OAAO,KAAK,CAAC;aACd;SACF;QAED,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAkB,EAAE;YACjE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;SACvC;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;;ACjGD,MAAM,SAAS,GAAG,u3mBAAu3mB,CAAC;AAC14mB,qBAAe,SAAS;;MCiBX,MAAM;;;;;;;;;;;;;;;;;;QAuGT,uBAAkB,GAAG;YAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAEzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACpD,CAAC;QAEM,kBAAa,GAAG,CAAC,IAAY;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,OAAO;;YAEpC,IAAI,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC;YAE9B,MAAM,aAAa,GAAG,MAAM,CAAC;YAC7B,MAAM,YAAY,GAAG,GAAG,IAAI,GAAG,aAAa,EAAE,CAAC;YAE/C,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;SAClC,CAAC;QAEM,aAAQ,GAAG,CAAC,IAAY;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACrC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;gBAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACvC,CAAC,CAAC;SACJ,CAAC;;;;;oBApGgD,EAAE;;sBAMJ,SAAS;;;;IAQzD,iBAAiB;QACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;;;;;IAOD,kBAAkB;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO;QAE5C,OAAO,CAAC,IAAI,CACV;sHACgH,CACjH,CAAC;;;QAGF,MAAM,OAAO,GAAG,SAAS,CAAC;QAC1B,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;;;QAGtE,MAAM,YAAY,GAAG,cAAc,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;;;QAG7D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACzB;;;;IAaD,iBAAiB;QACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,iBAAiB;QACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;;;;IA8CD,MAAM;;QACJ,MAAM,MAAM,GAAG;YACb,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;SAC1D,CAAC;QAEF,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,MAAM,IACjB,0EACc,MAAA,IAAI,CAAC,KAAK,mCAAI,GAAG,IAAI,CAAC,IAAI,OAAO,EAC7C,KAAK,EAAC,8EAA8E,EACpF,SAAS,EAAE,IAAI,CAAC,WAAW,EAC3B,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,KAAK,GACV,CACG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["../../packages/beeq/src/components/icon/helper/request.ts","../../packages/beeq/src/components/icon/scss/bq-icon.scss?tag=bq-icon&encapsulation=shadow","../../packages/beeq/src/components/icon/bq-icon.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Icon request helper */\n/* -------------------------------------------------------------------------- */\n\nimport { isNil, isString } from '../../../shared/utils';\n\nconst requests = new Map<string, Promise<unknown>>();\n\nconst fetchSvg = async (url: string, sanitize: boolean): Promise<unknown> => {\n if (typeof fetch === 'undefined' || typeof document === 'undefined') return;\n\n if (requests.has(url)) return requests.get(url);\n\n try {\n const response = await fetch(url);\n\n if (!response.ok) {\n iconContent.set(url, '');\n return;\n }\n\n let svgContent = (await response.text()) || '';\n\n if (svgContent && sanitize !== false) svgContent = validateContent(svgContent);\n\n iconContent.set(url, svgContent);\n } catch (error) {\n console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);\n iconContent.set(url, '');\n }\n};\n\nexport const iconContent = new Map<string, string>();\n\nexport const getSvgContent = async (url: string, sanitize: boolean) => {\n let req = requests.get(url);\n\n // NOTE: if the request does not exists we will cache it\n if (isNil(req)) {\n req = fetchSvg(url, sanitize);\n requests.set(url, req);\n }\n return req;\n};\n\nexport const validateContent = (svgContent: string): string => {\n if (typeof document === 'undefined') return '';\n\n const svgTag = 'svg';\n const iconCssClass = 'bq-icon__svg';\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== svgTag) {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === svgTag) {\n // keep other CSS classes (if there's any) and add the `bq-icon__svg` CSS class\n const othersCssClasses = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', `${othersCssClasses} ${iconCssClass}`.trim());\n // set the shadow DOM part for the SVG element\n svgElm.setAttribute('part', svgTag);\n\n // remove height and width attribute, if for some reason they are still present in the SVG tag\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm as HTMLElement)) return div.innerHTML;\n }\n\n return '';\n};\n\nexport const isValid = (elm: HTMLElement): boolean => {\n if (elm.nodeType === Node.ELEMENT_NODE) {\n if (elm.nodeName.toLowerCase() === 'script') return false;\n\n for (const attribute of Array.from(elm.attributes)) {\n const value = attribute.value;\n if (isString(value) && value.toLowerCase().startsWith('on')) {\n return false;\n }\n }\n\n for (const childNode of Array.from(elm.children) as HTMLElement[]) {\n if (!isValid(childNode)) return false;\n }\n }\n return true;\n};\n","/* -------------------------------------------------------------------------- */\n/* Icon styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-icon.variables';\n\n:host {\n @apply inline-block;\n}\n\n/**\n * This class is added on packages/beeq/src/components/icon/helper/request.ts\n * See lines 42 and 58 for details.\n */\n.bq-icon__svg {\n @apply scale-x-[--bq-icon--direction];\n}\n","import { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { TIconWeight } from './bq-icon.types';\nimport { getSvgContent, iconContent } from './helper/request';\nimport { getBasePath, getColorCSSVariable, isNil } from '../../shared/utils';\n\n/**\n * Icons are simplified images that graphically explain the meaning of an object on the screen.\n *\n * @part base - The component's internal wrapper that holds the icon SVG content.\n * @part svg - The `<svg>` tag element inside the component.\n */\n@Component({\n assetsDirs: ['svg'],\n tag: 'bq-icon',\n styleUrl: './scss/bq-icon.scss',\n shadow: true,\n})\nexport class BqIcon {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private _svgContent: string;\n\n // Public Property API\n // ========================\n\n /** Label for the icon, used for accessibility */\n @Prop({ reflect: true }) label?: string;\n\n /** Set the stroke color of the SVG. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) color?: string;\n\n /** Icon name to load. Please check all available icons [here](https://phosphoricons.com/) */\n @Prop({ reflect: true }) name?: string;\n\n /** Set the size of the SVG */\n @Prop({ reflect: true }) size?: string | number = 24;\n\n /** Set the source of the SVG. If the source is set, the name property will be ignored */\n @Prop({ reflect: true }) src?: string;\n\n /** @deprecated It set the icon weight/style */\n @Prop({ reflect: true }) weight?: TIconWeight = undefined;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('color')\n @Watch('name')\n @Watch('size')\n handlePropsChange() {\n this.loadIcon(this.name);\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `weight` property is removed\n * We need to maintain retro-compatibility until the next major release\n */\n @Watch('weight')\n handleWeightChange() {\n if (this.name.includes(this.weight)) return;\n\n console.warn(\n `❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\\n\n For example, '<bq-icon name=\"bell-fill\"></bq-icon>' instead of '<bq-icon name=\"bell\" weight=\"fill\"></bq-icon>'`,\n );\n // Check if the icon is weighted. An icon is considered weighted if its weight is not 'regular' and ENV_SVG_PATH is not set.\n // Eg: if the weight is 'bold' and ENV_SVG_PATH is not set, isWeightedIcon will be true.\n const REGULAR = 'regular';\n const isWeightedIcon = !isNil(this.weight) && this.weight !== REGULAR;\n // If the icon is weighted, append the weight to the icon name. Otherwise, append nothing.\n // Eg: if isWeightedIcon is true and the weight is 'bold', weightSuffix will be '-bold'.\n const weightSuffix = isWeightedIcon ? `-${this.weight}` : '';\n // Construct the icon name by appending the weight suffix (if any) and the file extension.\n // Eg: if the name is 'my-icon' and weightSuffix is '-bold', iconName will be 'my-icon-bold.svg'.\n const iconName = `${this.name}${weightSuffix}`;\n this.loadIcon(iconName);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the SVG has loaded */\n @Event() svgLoaded: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.setupIconComponent();\n }\n\n componentWillLoad() {\n this.setupIconComponent();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private setupIconComponent = () => {\n this.loadIcon(this.name);\n // !TO BE REMOVED: Delete this once the deprecated `weight` property is removed\n if (!isNil(this.weight)) this.handleWeightChange();\n };\n\n private getIconSource = (name: string) => {\n if (!this.name && !this.src) return;\n // Return the src if it is set\n if (this.src) return this.src;\n\n const SVG_EXTENSION = '.svg';\n const iconFileName = `${name}${SVG_EXTENSION}`;\n\n return getBasePath(iconFileName);\n };\n\n private loadIcon = (name: string) => {\n const url = this.getIconSource(name);\n getSvgContent(url, true).then(() => {\n this._svgContent = iconContent.get(url);\n this.svgLoaded.emit(this._svgContent);\n });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.color && { '--bq-icon--color': getColorCSSVariable(this.color) }),\n ...(this.size && { '--bq-icon--size': `${this.size}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n aria-label={this.label ?? `${this.name} icon`}\n class=\"flex text-[color:--bq-icon--color] bs-[--bq-icon--size] is-[--bq-icon--size]\"\n innerHTML={this._svgContent}\n part=\"base\"\n role=\"img\"\n />\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"bq-icon2.js","mappings":"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","names":[],"sources":["../../packages/beeq/src/shared/utils/assetsPath.ts","../../packages/beeq/src/components/icon/helper/request.ts","../../packages/beeq/src/components/icon/scss/bq-icon.scss?tag=bq-icon&encapsulation=shadow","../../packages/beeq/src/components/icon/bq-icon.tsx"],"sourcesContent":["/**\n * Inspired by Shoelace's `getBasePath` and `setBasePath` functions.\n * https://github.com/shoelace-style/shoelace/blob/next/src/utilities/base-path.ts\n */\n\nlet basePath: string | undefined;\nconst DATA_BEEQ_ATTRIBUTE = 'data-beeq';\nconst DEFAULT_SVG_PATH = 'svg';\n\n/**\n * Sets the base path for the assets.\n * @param {string} path - The base path to set.\n */\nexport const setBasePath = (path: string): void => {\n basePath = path;\n};\n\n/**\n * Gets the base path for the assets.\n * @param {string} subpath - An optional subpath to append to the base path.\n * @returns {string} The base path of the assets.\n */\nexport const getBasePath = (subpath: string = ''): string => {\n if (!basePath) {\n const configScript = findConfigScript();\n const fallbackScript = configScript ? null : findFallbackScript();\n\n const script = configScript || fallbackScript;\n if (script) {\n const path = configScript ? script.getAttribute(DATA_BEEQ_ATTRIBUTE) : getScriptPath(script);\n setBasePath(`${path}/${DEFAULT_SVG_PATH}`);\n } else {\n // Fallback: use an environment variable (if set) or the default path\n setBasePath(process.env.ASSETS_BASE_PATH || `./${DEFAULT_SVG_PATH}`);\n }\n }\n\n // Return the base path without a trailing slash. If one exists, append the subpath separated by a slash.\n const formattedSubpath = subpath ? `/${subpath.replace(/^\\//, '')}` : '';\n return basePath.replace(/\\/$/, '') + formattedSubpath;\n};\n\n/**\n * Finds the configuration script element.\n * @returns The configuration script element or null if not found.\n */\nconst findConfigScript = (): HTMLScriptElement | null => {\n if (typeof window === 'undefined') return null;\n\n return document.querySelector(`script[${DATA_BEEQ_ATTRIBUTE}]`);\n};\n\n/**\n * Finds the fallback script element.\n * @returns The fallback script element or null if not found.\n */\nconst findFallbackScript = (): HTMLScriptElement | null => {\n if (typeof window === 'undefined') return null;\n\n return document.querySelector(`script[src*=\"beeq\"]`);\n};\n\n/**\n * Gets the path of a script element.\n * @param {HTMLScriptElement} script - The script element.\n * @returns The path of the script element.\n */\nconst getScriptPath = (script: HTMLScriptElement): string => {\n if (typeof window === 'undefined') return '';\n\n const src = script.getAttribute('src');\n return src ? src.substring(0, src.lastIndexOf('/')) : '';\n};\n","/* -------------------------------------------------------------------------- */\n/* Icon request helper */\n/* -------------------------------------------------------------------------- */\n\nimport { isNil, isString } from '../../../shared/utils';\n\nconst requests = new Map<string, Promise<unknown>>();\n\nconst fetchSvg = async (url: string, sanitize: boolean): Promise<unknown> => {\n if (typeof fetch === 'undefined' || typeof window === 'undefined') return;\n\n if (requests.has(url)) return requests.get(url);\n\n try {\n const response = await fetch(url);\n\n if (!response.ok) {\n iconContent.set(url, '');\n return;\n }\n\n let svgContent = (await response.text()) || '';\n\n if (svgContent && sanitize !== false) svgContent = validateContent(svgContent);\n\n iconContent.set(url, svgContent);\n } catch (error) {\n console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);\n iconContent.set(url, '');\n }\n};\n\nexport const iconContent = new Map<string, string>();\n\nexport const getSvgContent = async (url: string, sanitize: boolean) => {\n let req = requests.get(url);\n\n // NOTE: if the request does not exists we will cache it\n if (isNil(req)) {\n req = fetchSvg(url, sanitize);\n requests.set(url, req);\n }\n return req;\n};\n\nexport const validateContent = (svgContent: string): string => {\n if (typeof window === 'undefined') return '';\n\n const svgTag = 'svg';\n const iconCssClass = 'bq-icon__svg';\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== svgTag) {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === svgTag) {\n // keep other CSS classes (if there's any) and add the `bq-icon__svg` CSS class\n const othersCssClasses = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', `${othersCssClasses} ${iconCssClass}`.trim());\n // set the shadow DOM part for the SVG element\n svgElm.setAttribute('part', svgTag);\n\n // remove height and width attribute, if for some reason they are still present in the SVG tag\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm as HTMLElement)) return div.innerHTML;\n }\n\n return '';\n};\n\nexport const isValid = (elm: HTMLElement): boolean => {\n if (elm.nodeType === Node.ELEMENT_NODE) {\n if (elm.nodeName.toLowerCase() === 'script') return false;\n\n for (const attribute of Array.from(elm.attributes)) {\n const value = attribute.value;\n if (isString(value) && value.toLowerCase().startsWith('on')) {\n return false;\n }\n }\n\n for (const childNode of Array.from(elm.children) as HTMLElement[]) {\n if (!isValid(childNode)) return false;\n }\n }\n return true;\n};\n","/* -------------------------------------------------------------------------- */\n/* Icon styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-icon.variables';\n\n:host {\n @apply inline-block;\n}\n\n/**\n * This class is added on packages/beeq/src/components/icon/helper/request.ts\n * See lines 42 and 58 for details.\n */\n.bq-icon__svg {\n @apply scale-x-[--bq-icon--direction];\n}\n","import { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { TIconWeight } from './bq-icon.types';\nimport { getSvgContent, iconContent } from './helper/request';\nimport { getBasePath, getColorCSSVariable, isNil } from '../../shared/utils';\n\n/**\n * Icons are simplified images that graphically explain the meaning of an object on the screen.\n *\n * @part base - The component's internal wrapper that holds the icon SVG content.\n * @part svg - The `<svg>` tag element inside the component.\n */\n@Component({\n assetsDirs: ['svg'],\n tag: 'bq-icon',\n styleUrl: './scss/bq-icon.scss',\n shadow: true,\n})\nexport class BqIcon {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private _svgContent: string;\n\n // Public Property API\n // ========================\n\n /** Label for the icon, used for accessibility */\n @Prop({ reflect: true }) label?: string;\n\n /** Set the stroke color of the SVG. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) color?: string;\n\n /** Icon name to load. Please check all available icons [here](https://phosphoricons.com/) */\n @Prop({ reflect: true }) name?: string;\n\n /** Set the size of the SVG */\n @Prop({ reflect: true }) size?: string | number = 24;\n\n /** Set the source of the SVG. If the source is set, the name property will be ignored */\n @Prop({ reflect: true }) src?: string;\n\n /** @deprecated It set the icon weight/style */\n @Prop({ reflect: true }) weight?: TIconWeight = undefined;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('color')\n @Watch('name')\n @Watch('size')\n handlePropsChange() {\n this.loadIcon(this.name);\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `weight` property is removed\n * We need to maintain retro-compatibility until the next major release\n */\n @Watch('weight')\n handleWeightChange() {\n if (this.name.includes(this.weight)) return;\n\n console.warn(\n `❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\\n\n For example, '<bq-icon name=\"bell-fill\"></bq-icon>' instead of '<bq-icon name=\"bell\" weight=\"fill\"></bq-icon>'`,\n );\n // Check if the icon is weighted. An icon is considered weighted if its weight is not 'regular' and ENV_SVG_PATH is not set.\n // Eg: if the weight is 'bold' and ENV_SVG_PATH is not set, isWeightedIcon will be true.\n const REGULAR = 'regular';\n const isWeightedIcon = !isNil(this.weight) && this.weight !== REGULAR;\n // If the icon is weighted, append the weight to the icon name. Otherwise, append nothing.\n // Eg: if isWeightedIcon is true and the weight is 'bold', weightSuffix will be '-bold'.\n const weightSuffix = isWeightedIcon ? `-${this.weight}` : '';\n // Construct the icon name by appending the weight suffix (if any) and the file extension.\n // Eg: if the name is 'my-icon' and weightSuffix is '-bold', iconName will be 'my-icon-bold.svg'.\n const iconName = `${this.name}${weightSuffix}`;\n this.loadIcon(iconName);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the SVG has loaded */\n @Event() svgLoaded: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.setupIconComponent();\n }\n\n componentWillLoad() {\n this.setupIconComponent();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private setupIconComponent = () => {\n this.loadIcon(this.name);\n // !TO BE REMOVED: Delete this once the deprecated `weight` property is removed\n if (!isNil(this.weight)) this.handleWeightChange();\n };\n\n private getIconSource = (name: string) => {\n if (!this.name && !this.src) return;\n // Return the src if it is set\n if (this.src) return this.src;\n\n const SVG_EXTENSION = '.svg';\n const iconFileName = `${name}${SVG_EXTENSION}`;\n\n return getBasePath(iconFileName);\n };\n\n private loadIcon = (name: string) => {\n const url = this.getIconSource(name);\n getSvgContent(url, true).then(() => {\n this._svgContent = iconContent.get(url);\n this.svgLoaded.emit(this._svgContent);\n });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.color && { '--bq-icon--color': getColorCSSVariable(this.color) }),\n ...(this.size && { '--bq-icon--size': `${this.size}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n aria-label={this.label ?? `${this.name} icon`}\n class=\"flex text-[color:--bq-icon--color] bs-[--bq-icon--size] is-[--bq-icon--size]\"\n innerHTML={this._svgContent}\n part=\"base\"\n role=\"img\"\n />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -3,7 +3,6 @@
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
5
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
6
- import './assetsPath.js';
7
6
  import { d as debounce } from './debounce.js';
8
7
  import { i as isDefined } from './isDefined.js';
9
8
  import { i as isHTMLElement } from './isHTMLElement.js';
@@ -12,7 +11,7 @@ import { b as hasSlotContent } from './slot.js';
12
11
  import { d as defineCustomElement$3 } from './bq-button2.js';
13
12
  import { d as defineCustomElement$2 } from './bq-icon2.js';
14
13
 
15
- const bqInputCss = "::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:\"Outfit\",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:\"Poppins\",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.pointer-events-none{pointer-events:none}.me-\\[--bq-input--gap\\]{margin-inline-end:var(--bq-input--gap)}.ms-\\[--bq-input--gap\\]{margin-inline-start:var(--bq-input--gap)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.flex-auto{flex:1 1 auto}.flex-grow{flex-grow:1}.cursor-\\[inherit\\]{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.appearance-none{appearance:none}.items-center{align-items:center}.rounded-\\[--bq-input--border-radius\\]{border-radius:var(--bq-input--border-radius)}.rounded-xs{border-radius:var(--bq-radius--xs)}.border-\\[length\\:--bq-input--border-width\\]{border-width:var(--bq-input--border-width)}.border-none{border-style:none}.border-\\[color\\:--bq-input--border-color-focus\\]{border-color:var(--bq-input--border-color-focus)}.border-\\[color\\:--bq-input--border-color\\]{border-color:var(--bq-input--border-color)}.border-stroke-danger{border-color:var(--bq-stroke--danger)}.border-stroke-success{border-color:var(--bq-stroke--success)}.border-stroke-warning{border-color:var(--bq-stroke--warning)}.bg-\\[inherit\\]{background-color:inherit}.pe-\\[--bq-input--padding-end\\]{padding-inline-end:var(--bq-input--padding-end)}.ps-\\[--bq-input--padding-start\\]{padding-inline-start:var(--bq-input--padding-start)}.font-\\[inherit\\]{font-family:inherit}.text-\\[length\\:--bq-input--helper-text-size\\]{font-size:var(--bq-input--helper-text-size)}.text-\\[length\\:--bq-input--label-text-size\\]{font-size:var(--bq-input--label-text-size)}.text-\\[length\\:--bq-input--text-size\\]{font-size:var(--bq-input--text-size)}.text-\\[length\\:inherit\\]{font-size:inherit}.text-\\[color\\:--bq-input--helper-text-color\\]{color:var(--bq-input--helper-text-color)}.text-\\[color\\:--bq-input--label-text-color\\]{color:var(--bq-input--label-text-color)}.text-\\[color\\:--bq-input--text-color\\]{color:var(--bq-input--text-color)}.text-\\[color\\:inherit\\]{color:inherit}.text-text-danger{color:var(--bq-text--danger)}.text-text-success{color:var(--bq-text--success)}.text-text-warning{color:var(--bq-text--warning)}.opacity-60{opacity:.6}.transition-\\[border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.border-active-stroke-danger{border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.border-active-stroke-success{border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.border-active-stroke-warning{border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.bs-auto{block-size:auto}.is-full{inline-size:100%}.min-bs-\\[--bq-input--icon-size\\]{min-block-size:var(--bq-input--icon-size)}.min-is-0{min-inline-size:0}.p-b-0{padding-block:0}.p-b-\\[--bq-input--paddingY\\]{padding-block:var(--bq-input--paddingY)}.p-i-0{padding-inline:0}.m-b-0{margin-block:0}.m-be-\\[--bq-input--label-margin-bottom\\]{margin-block-end:var(--bq-input--label-margin-bottom)}.m-bs-\\[--bq-input--helper-margin-top\\]{margin-block-start:var(--bq-input--helper-margin-top)}.m-i-0{margin-inline:0}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-input--background-color:var(--bq-ui--primary);--bq-input--border-color:var(--bq-stroke--tertiary);--bq-input--border-color-focus:var(--bq-stroke--brand);--bq-input--border-radius:var(--bq-radius--s);--bq-input--border-width:var(--bq-stroke-s);--bq-input--border-style:solid;--bq-input--gap:var(--bq-spacing-xs);--bq-input--helper-margin-top:var(--bq-spacing-xs);--bq-input--helper-text-size:var(--bq-font-size--s);--bq-input--helper-text-color:var(--bq-text--primary);--bq-input--icon-size:24px;--bq-input--label-margin-bottom:var(--bq-spacing-xs);--bq-input--label-text-size:var(--bq-font-size--s);--bq-input--label-text-color:var(--bq-text--primary);--bq-input--padding-start:var(--bq-spacing-m);--bq-input--padding-end:var(--bq-spacing-m);--bq-input--paddingY:var(--bq-spacing-s);--bq-input--text-color:var(--bq-text--primary);--bq-input--text-size:var(--bq-font-size--m);--bq-input--text-placeholder-color:var(--bq-text--secondary);display:block;inline-size:100%}.bq-input--label{align-items:center;color:var(--bq-input--label-text-color);display:flex;flex-grow:1;font-size:var(--bq-input--label-text-size);margin-block-end:var(--bq-input--label-margin-bottom)}.bq-input--helper-text{color:var(--bq-input--helper-text-color);font-size:var(--bq-input--helper-text-size);margin-block-start:var(--bq-input--helper-margin-top)}.bq-input--helper-text.validation-error{color:var(--bq-text--danger)}.bq-input--helper-text.validation-success{color:var(--bq-text--success)}.bq-input--helper-text.validation-warning{color:var(--bq-text--warning)}.bq-input--control{align-items:center;border-color:var(--bq-input--border-color);border-radius:var(--bq-input--border-radius);border-style:var(--bq-input--border-style);border-width:var(--bq-input--border-width);color:var(--bq-input--text-color);display:flex;font-size:var(--bq-input--text-size);inline-size:100%;padding-block:var(--bq-input--paddingY);padding-inline-end:var(--bq-input--padding-end);padding-inline-start:var(--bq-input--padding-start);transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-input--control::placeholder{color:var(--bq-input--text-placeholder-color)}.bq-input--control:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.bq-input--control:not(.disabled):focus-within{--bq-ring-width:1px;--bq-ring-offset-width:0;--bq-ring-color-focus:var(--bq-input--border-color-focus);border-color:var(--bq-input--border-color-focus);outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-input--control:not(.disabled):focus-within .bq-input--control__clear,.bq-input--control:not(.disabled):hover .bq-input--control__clear{display:inline-block}.bq-input--control.disabled{cursor:not-allowed;opacity:.6}.bq-input--control.validation-error{border-color:var(--bq-stroke--danger)}.bq-input--control.validation-error:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-hover) 20%)}.bq-input--control.validation-error:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--danger);border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.bq-input--control.validation-success{border-color:var(--bq-stroke--success)}.bq-input--control.validation-success:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-hover) 20%)}.bq-input--control.validation-success:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--success);border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.bq-input--control.validation-warning{border-color:var(--bq-stroke--warning)}.bq-input--control.validation-warning:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-hover) 20%)}.bq-input--control.validation-warning:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--warning);border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.bq-input--control__input{appearance:none;background-color:inherit;border-style:none;-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:inherit;flex:1 1 auto;font-family:inherit;font-size:inherit;font-weight:inherit;margin-block:0;margin-inline:0;min-block-size:var(--bq-input--icon-size);min-inline-size:0;padding-block:0;padding-inline:0}.bq-input--control__input:focus{outline:2px solid transparent;outline-offset:2px}.bq-input--control__input:focus-visible{outline:2px solid transparent;outline-offset:2px}.bq-input--control__clear::part(button){--bq-ring-width:initial;--bq-ring-offset-width:initial;--bq-ring-color-focus:initial;block-size:auto;border-radius:var(--bq-radius--xs);border-style:none;padding-block:0;padding-inline:0}.bq-input--control__prefix,.bq-input--control__suffix{align-items:center;color:var(--bq-input--text-color);display:flex;pointer-events:none}.bq-input--control__prefix{margin-inline-end:var(--bq-input--gap)}.bq-input--control__suffix{margin-inline-start:var(--bq-input--gap)}::slotted(bq-icon),bq-icon{--bq-icon--size:var(--bq-input--icon-size)!important}.bq-input--control__input::-moz-search-cancel{appearance:none;display:none}.bq-input--control__input::-webkit-search-cancel-button,.bq-input--control__input::-webkit-search-decoration,.bq-input--control__input::-webkit-search-results-button,.bq-input--control__input::-webkit-search-results-decoration{appearance:none;display:none}.bq-input--control__input::-webkit-datetime-edit,.bq-input--control__input::-webkit-datetime-edit-day-field,.bq-input--control__input::-webkit-datetime-edit-fields-wrapper,.bq-input--control__input::-webkit-datetime-edit-hour-field,.bq-input--control__input::-webkit-datetime-edit-meridiem-field,.bq-input--control__input::-webkit-datetime-edit-millisecond-field,.bq-input--control__input::-webkit-datetime-edit-minute-field,.bq-input--control__input::-webkit-datetime-edit-month-field,.bq-input--control__input::-webkit-datetime-edit-second-field,.bq-input--control__input::-webkit-datetime-edit-year-field{padding-block:0;padding-inline:0}.placeholder\\:text-\\[color\\:--bq-input--text-placeholder-color\\]::placeholder{color:var(--bq-input--text-placeholder-color)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.visible{visibility:visible}.static{position:static}.\\!hidden{display:none!important}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.text-\\[color\\:--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}";
14
+ const bqInputCss = ".transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:\"Outfit\",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:\"Poppins\",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.pointer-events-none{pointer-events:none}.me-\\[--bq-input--gap\\]{margin-inline-end:var(--bq-input--gap)}.ms-\\[--bq-input--gap\\]{margin-inline-start:var(--bq-input--gap)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.flex-auto{flex:1 1 auto}.flex-grow{flex-grow:1}.cursor-\\[inherit\\]{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.appearance-none{appearance:none}.items-center{align-items:center}.rounded-\\[--bq-input--border-radius\\]{border-radius:var(--bq-input--border-radius)}.rounded-xs{border-radius:var(--bq-radius--xs)}.border-\\[length\\:--bq-input--border-width\\]{border-width:var(--bq-input--border-width)}.border-none{border-style:none}.border-\\[color\\:--bq-input--border-color-focus\\]{border-color:var(--bq-input--border-color-focus)}.border-\\[color\\:--bq-input--border-color\\]{border-color:var(--bq-input--border-color)}.border-stroke-danger{border-color:var(--bq-stroke--danger)}.border-stroke-success{border-color:var(--bq-stroke--success)}.border-stroke-warning{border-color:var(--bq-stroke--warning)}.bg-\\[inherit\\]{background-color:inherit}.pe-\\[--bq-input--padding-end\\]{padding-inline-end:var(--bq-input--padding-end)}.ps-\\[--bq-input--padding-start\\]{padding-inline-start:var(--bq-input--padding-start)}.font-\\[inherit\\]{font-family:inherit}.text-\\[length\\:--bq-input--helper-text-size\\]{font-size:var(--bq-input--helper-text-size)}.text-\\[length\\:--bq-input--label-text-size\\]{font-size:var(--bq-input--label-text-size)}.text-\\[length\\:--bq-input--text-size\\]{font-size:var(--bq-input--text-size)}.text-\\[length\\:inherit\\]{font-size:inherit}.text-\\[color\\:--bq-input--helper-text-color\\]{color:var(--bq-input--helper-text-color)}.text-\\[color\\:--bq-input--label-text-color\\]{color:var(--bq-input--label-text-color)}.text-\\[color\\:--bq-input--text-color\\]{color:var(--bq-input--text-color)}.text-\\[color\\:inherit\\]{color:inherit}.text-text-danger{color:var(--bq-text--danger)}.text-text-success{color:var(--bq-text--success)}.text-text-warning{color:var(--bq-text--warning)}.opacity-60{opacity:.6}.transition-\\[border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.border-active-stroke-danger{border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.border-active-stroke-success{border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.border-active-stroke-warning{border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.bs-auto{block-size:auto}.is-full{inline-size:100%}.min-bs-\\[--bq-input--icon-size\\]{min-block-size:var(--bq-input--icon-size)}.min-is-0{min-inline-size:0}.p-b-0{padding-block:0}.p-b-\\[--bq-input--paddingY\\]{padding-block:var(--bq-input--paddingY)}.p-i-0{padding-inline:0}.m-b-0{margin-block:0}.m-be-\\[--bq-input--label-margin-bottom\\]{margin-block-end:var(--bq-input--label-margin-bottom)}.m-bs-\\[--bq-input--helper-margin-top\\]{margin-block-start:var(--bq-input--helper-margin-top)}.m-i-0{margin-inline:0}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-input--background-color:var(--bq-ui--primary);--bq-input--border-color:var(--bq-stroke--tertiary);--bq-input--border-color-focus:var(--bq-stroke--brand);--bq-input--border-radius:var(--bq-radius--s);--bq-input--border-width:var(--bq-stroke-s);--bq-input--border-style:solid;--bq-input--gap:var(--bq-spacing-xs);--bq-input--helper-margin-top:var(--bq-spacing-xs);--bq-input--helper-text-size:var(--bq-font-size--s);--bq-input--helper-text-color:var(--bq-text--primary);--bq-input--icon-size:24px;--bq-input--label-margin-bottom:var(--bq-spacing-xs);--bq-input--label-text-size:var(--bq-font-size--s);--bq-input--label-text-color:var(--bq-text--primary);--bq-input--padding-start:var(--bq-spacing-m);--bq-input--padding-end:var(--bq-spacing-m);--bq-input--paddingY:var(--bq-spacing-s);--bq-input--text-color:var(--bq-text--primary);--bq-input--text-size:var(--bq-font-size--m);--bq-input--text-placeholder-color:var(--bq-text--secondary);display:block;inline-size:100%}.bq-input--label{align-items:center;color:var(--bq-input--label-text-color);display:flex;flex-grow:1;font-size:var(--bq-input--label-text-size);margin-block-end:var(--bq-input--label-margin-bottom)}.bq-input--helper-text{color:var(--bq-input--helper-text-color);font-size:var(--bq-input--helper-text-size);margin-block-start:var(--bq-input--helper-margin-top)}.bq-input--helper-text.validation-error{color:var(--bq-text--danger)}.bq-input--helper-text.validation-success{color:var(--bq-text--success)}.bq-input--helper-text.validation-warning{color:var(--bq-text--warning)}.bq-input--control{align-items:center;border-color:var(--bq-input--border-color);border-radius:var(--bq-input--border-radius);border-style:var(--bq-input--border-style);border-width:var(--bq-input--border-width);color:var(--bq-input--text-color);display:flex;font-size:var(--bq-input--text-size);inline-size:100%;padding-block:var(--bq-input--paddingY);padding-inline-end:var(--bq-input--padding-end);padding-inline-start:var(--bq-input--padding-start);transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-input--control::placeholder{color:var(--bq-input--text-placeholder-color)}.bq-input--control:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.bq-input--control:not(.disabled):focus-within{--bq-ring-width:1px;--bq-ring-offset-width:0;--bq-ring-color-focus:var(--bq-input--border-color-focus);border-color:var(--bq-input--border-color-focus);outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-input--control:not(.disabled):focus-within .bq-input--control__clear,.bq-input--control:not(.disabled):hover .bq-input--control__clear{display:inline-block}.bq-input--control.disabled{cursor:not-allowed;opacity:.6}.bq-input--control.validation-error{border-color:var(--bq-stroke--danger)}.bq-input--control.validation-error:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-hover) 20%)}.bq-input--control.validation-error:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--danger);border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.bq-input--control.validation-success{border-color:var(--bq-stroke--success)}.bq-input--control.validation-success:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-hover) 20%)}.bq-input--control.validation-success:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--success);border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.bq-input--control.validation-warning{border-color:var(--bq-stroke--warning)}.bq-input--control.validation-warning:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-hover) 20%)}.bq-input--control.validation-warning:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--warning);border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.bq-input--control__input{appearance:none;background-color:inherit;border-style:none;-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:inherit;flex:1 1 auto;font-family:inherit;font-size:inherit;font-weight:inherit;margin-block:0;margin-inline:0;min-block-size:var(--bq-input--icon-size);min-inline-size:0;padding-block:0;padding-inline:0}.bq-input--control__input:focus{outline:2px solid transparent;outline-offset:2px}.bq-input--control__input:focus-visible{outline:2px solid transparent;outline-offset:2px}.bq-input--control__clear::part(button){--bq-ring-width:initial;--bq-ring-offset-width:initial;--bq-ring-color-focus:initial;block-size:auto;border-radius:var(--bq-radius--xs);border-style:none;padding-block:0;padding-inline:0}.bq-input--control__prefix,.bq-input--control__suffix{align-items:center;color:var(--bq-input--text-color);display:flex;pointer-events:none}.bq-input--control__prefix{margin-inline-end:var(--bq-input--gap)}.bq-input--control__suffix{margin-inline-start:var(--bq-input--gap)}::slotted(bq-icon),bq-icon{--bq-icon--size:var(--bq-input--icon-size)!important}.bq-input--control__input::-moz-search-cancel{appearance:none;display:none}.bq-input--control__input::-webkit-search-cancel-button,.bq-input--control__input::-webkit-search-decoration,.bq-input--control__input::-webkit-search-results-button,.bq-input--control__input::-webkit-search-results-decoration{appearance:none;display:none}.bq-input--control__input::-webkit-datetime-edit,.bq-input--control__input::-webkit-datetime-edit-day-field,.bq-input--control__input::-webkit-datetime-edit-fields-wrapper,.bq-input--control__input::-webkit-datetime-edit-hour-field,.bq-input--control__input::-webkit-datetime-edit-meridiem-field,.bq-input--control__input::-webkit-datetime-edit-millisecond-field,.bq-input--control__input::-webkit-datetime-edit-minute-field,.bq-input--control__input::-webkit-datetime-edit-month-field,.bq-input--control__input::-webkit-datetime-edit-second-field,.bq-input--control__input::-webkit-datetime-edit-year-field{padding-block:0;padding-inline:0}.placeholder\\:text-\\[color\\:--bq-input--text-placeholder-color\\]::placeholder{color:var(--bq-input--text-placeholder-color)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.visible{visibility:visible}.static{position:static}.\\!hidden{display:none!important}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.text-\\[color\\:--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}";
16
15
  const BqInputStyle0 = bqInputCss;
17
16
 
18
17
  const BqInput$1 = /*@__PURE__*/ proxyCustomElement(class BqInput extends HTMLElement {
@@ -26,85 +25,6 @@ const BqInput$1 = /*@__PURE__*/ proxyCustomElement(class BqInput extends HTMLEle
26
25
  this.bqFocus = createEvent(this, "bqFocus", 7);
27
26
  this.bqInput = createEvent(this, "bqInput", 7);
28
27
  this.internals = this.attachInternals();
29
- this.fallbackInputId = 'input';
30
- // Listeners
31
- // ==============
32
- // Public methods API
33
- // These methods are exposed on the host element.
34
- // Always use two lines.
35
- // Public Methods must be async.
36
- // Requires JSDocs for public API documentation.
37
- // ===============================================
38
- // Local methods
39
- // Internal business logic.
40
- // These methods cannot be called from the host element.
41
- // =======================================================
42
- this.handleBlur = () => {
43
- if (this.disabled)
44
- return;
45
- this.bqBlur.emit(this.el);
46
- };
47
- this.handleFocus = () => {
48
- if (this.disabled)
49
- return;
50
- this.bqFocus.emit(this.el);
51
- };
52
- this.handleInput = (ev) => {
53
- var _a;
54
- if (this.disabled)
55
- return;
56
- (_a = this.debounceBqInput) === null || _a === void 0 ? void 0 : _a.cancel();
57
- if (!isHTMLElement(ev.target, 'input'))
58
- return;
59
- this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;
60
- this.internals.setFormValue(`${this.value}`);
61
- this.debounceBqInput = debounce(() => {
62
- this.bqInput.emit({ value: this.value, el: this.el });
63
- }, this.debounceTime);
64
- this.debounceBqInput();
65
- };
66
- this.handleChange = (ev) => {
67
- if (this.disabled)
68
- return;
69
- if (!isHTMLElement(ev.target, 'input'))
70
- return;
71
- this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;
72
- this.internals.setFormValue(`${this.value}`);
73
- this.bqChange.emit({ value: this.value, el: this.el });
74
- };
75
- this.handleClear = () => {
76
- if (this.disabled)
77
- return;
78
- const { inputElem, internals } = this;
79
- // Clear input element value
80
- inputElem.value = '';
81
- this.value = inputElem.value;
82
- // Update associated form control value
83
- internals.setFormValue(undefined);
84
- };
85
- this.handleClearClick = (ev) => {
86
- ev.stopPropagation();
87
- this.handleClear();
88
- const { bqClear, bqChange, bqInput, el, inputElem } = this;
89
- // Emit events
90
- bqClear.emit(el);
91
- bqInput.emit({ value: this.value, el });
92
- bqChange.emit({ value: this.value, el });
93
- // Refocus input element
94
- inputElem.focus();
95
- };
96
- this.handleLabelSlotChange = () => {
97
- this.hasLabel = hasSlotContent(this.labelElem);
98
- };
99
- this.handlePrefixSlotChange = () => {
100
- this.hasPrefix = hasSlotContent(this.prefixElem);
101
- };
102
- this.handleSuffixSlotChange = () => {
103
- this.hasSuffix = hasSlotContent(this.suffixElem);
104
- };
105
- this.handleHelperTextSlotChange = () => {
106
- this.hasHelperText = hasSlotContent(this.helperTextElem);
107
- };
108
28
  this.hasHelperText = false;
109
29
  this.hasLabel = false;
110
30
  this.hasPrefix = false;
@@ -134,6 +54,17 @@ const BqInput$1 = /*@__PURE__*/ proxyCustomElement(class BqInput extends HTMLEle
134
54
  this.validationStatus = 'none';
135
55
  this.value = undefined;
136
56
  }
57
+ // Own Properties
58
+ // ====================
59
+ helperTextElem;
60
+ inputElem;
61
+ labelElem;
62
+ prefixElem;
63
+ suffixElem;
64
+ debounceBqInput;
65
+ fallbackInputId = 'input';
66
+ get el() { return this; }
67
+ internals;
137
68
  // Prop lifecycle events
138
69
  // =======================
139
70
  handleValueChange() {
@@ -145,6 +76,25 @@ const BqInput$1 = /*@__PURE__*/ proxyCustomElement(class BqInput extends HTMLEle
145
76
  this.hasValue = isDefined(this.value);
146
77
  this.internals.setFormValue(`${this.value}`);
147
78
  }
79
+ // Events section
80
+ // Requires JSDocs for public API documentation
81
+ // ==============================================
82
+ /** Callback handler emitted when the input loses focus */
83
+ bqBlur;
84
+ /**
85
+ * Callback handler emitted when the input value has changed and the input loses focus.
86
+ * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.
87
+ */
88
+ bqChange;
89
+ /** Callback handler emitted when the input value has been cleared */
90
+ bqClear;
91
+ /** Callback handler emitted when the input has received focus */
92
+ bqFocus;
93
+ /**
94
+ * Callback handler emitted when the input value changes.
95
+ * This handler is called whenever the user types or pastes text into the input field.
96
+ */
97
+ bqInput;
148
98
  // Component lifecycle events
149
99
  // Ordered by their natural call order
150
100
  // =====================================
@@ -156,27 +106,103 @@ const BqInput$1 = /*@__PURE__*/ proxyCustomElement(class BqInput extends HTMLEle
156
106
  return;
157
107
  this.handleClear();
158
108
  }
109
+ // Listeners
110
+ // ==============
111
+ // Public methods API
112
+ // These methods are exposed on the host element.
113
+ // Always use two lines.
114
+ // Public Methods must be async.
115
+ // Requires JSDocs for public API documentation.
116
+ // ===============================================
117
+ // Local methods
118
+ // Internal business logic.
119
+ // These methods cannot be called from the host element.
120
+ // =======================================================
121
+ handleBlur = () => {
122
+ if (this.disabled)
123
+ return;
124
+ this.bqBlur.emit(this.el);
125
+ };
126
+ handleFocus = () => {
127
+ if (this.disabled)
128
+ return;
129
+ this.bqFocus.emit(this.el);
130
+ };
131
+ handleInput = (ev) => {
132
+ if (this.disabled)
133
+ return;
134
+ this.debounceBqInput?.cancel();
135
+ if (!isHTMLElement(ev.target, 'input'))
136
+ return;
137
+ this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;
138
+ this.internals.setFormValue(`${this.value}`);
139
+ this.debounceBqInput = debounce(() => {
140
+ this.bqInput.emit({ value: this.value, el: this.el });
141
+ }, this.debounceTime);
142
+ this.debounceBqInput();
143
+ };
144
+ handleChange = (ev) => {
145
+ if (this.disabled)
146
+ return;
147
+ if (!isHTMLElement(ev.target, 'input'))
148
+ return;
149
+ this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;
150
+ this.internals.setFormValue(`${this.value}`);
151
+ this.bqChange.emit({ value: this.value, el: this.el });
152
+ };
153
+ handleClear = () => {
154
+ if (this.disabled)
155
+ return;
156
+ const { inputElem, internals } = this;
157
+ // Clear input element value
158
+ inputElem.value = '';
159
+ this.value = inputElem.value;
160
+ // Update associated form control value
161
+ internals.setFormValue(undefined);
162
+ };
163
+ handleClearClick = (ev) => {
164
+ ev.stopPropagation();
165
+ this.handleClear();
166
+ const { bqClear, bqChange, bqInput, el, inputElem } = this;
167
+ // Emit events
168
+ bqClear.emit(el);
169
+ bqInput.emit({ value: this.value, el });
170
+ bqChange.emit({ value: this.value, el });
171
+ // Refocus input element
172
+ inputElem.focus();
173
+ };
174
+ handleLabelSlotChange = () => {
175
+ this.hasLabel = hasSlotContent(this.labelElem);
176
+ };
177
+ handlePrefixSlotChange = () => {
178
+ this.hasPrefix = hasSlotContent(this.prefixElem);
179
+ };
180
+ handleSuffixSlotChange = () => {
181
+ this.hasSuffix = hasSlotContent(this.suffixElem);
182
+ };
183
+ handleHelperTextSlotChange = () => {
184
+ this.hasHelperText = hasSlotContent(this.helperTextElem);
185
+ };
159
186
  // render() function
160
187
  // Always the last one in the class.
161
188
  // ===================================
162
189
  render() {
163
- return (h("div", { key: '6456eb631d27ddd492c0d91d0b694f51694f2c76', class: "bq-input", part: "base" }, h("label", { key: '5c095c3f025473c6956c83875fb9a7b016ee1066', class: { 'bq-input--label': true, '!hidden': !this.hasLabel }, htmlFor: this.name || this.fallbackInputId, ref: (labelElem) => (this.labelElem = labelElem), part: "label" }, h("slot", { key: 'b407395cb6be17281329181390e1eaaecfb424c1', name: "label", onSlotchange: this.handleLabelSlotChange })), h("div", { key: 'f9935a3468bf0804556454c8179a05e1e787abdd', class: {
190
+ return (h("div", { key: '6456eb631d27ddd492c0d91d0b694f51694f2c76', class: "bq-input", part: "base" }, h("label", { key: '99261b13e0b8e16bb43d94b216e90668adb6ac06', class: { 'bq-input--label': true, '!hidden': !this.hasLabel }, "aria-label": this.name || this.fallbackInputId, htmlFor: this.name || this.fallbackInputId, ref: (labelElem) => (this.labelElem = labelElem), part: "label" }, h("slot", { key: '3723c9a8f0aecbf621a4f198f7d4f738b35c3384', name: "label", onSlotchange: this.handleLabelSlotChange })), h("div", { key: '3fe4343a4e09f1fcdd70b6af6ff2e2eebe112534', class: {
164
191
  'bq-input--control': true,
165
192
  [`validation-${this.validationStatus}`]: true,
166
193
  disabled: this.disabled,
167
- }, part: "control" }, h("span", { key: '2c25f0a47ff0493846eb633882bc1150c32c80d4', class: { 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }, ref: (spanElem) => (this.prefixElem = spanElem), part: "prefix" }, h("slot", { key: 'b14fca287d3f7d42b8ce610d2f1c53ac70afb061', name: "prefix", onSlotchange: this.handlePrefixSlotChange })), h("input", { key: 'a16c8d2d02da63455bca853e6176fc0071dec1ab', id: this.name || this.fallbackInputId, class: "bq-input--control__input", "aria-disabled": this.disabled ? 'true' : 'false', autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, disabled: this.disabled, form: this.form, inputMode: this.inputmode, max: this.max, maxLength: this.maxlength, min: this.min, minLength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, ref: (inputElem) => (this.inputElem = inputElem), readOnly: this.readonly, required: this.required, step: this.step, type: this.type, value: this.value, part: "input",
194
+ }, part: "control" }, h("span", { key: '4e64970f78b42b4bcf44f6de7073db2324d38765', class: { 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }, ref: (spanElem) => (this.prefixElem = spanElem), part: "prefix" }, h("slot", { key: 'fc2e6bb67df93c3a87fe6dad685820232d7246ec', name: "prefix", onSlotchange: this.handlePrefixSlotChange })), h("input", { key: 'aa0c14e4ca2e93cde4b7f230b12f7db0b5bf2230', id: this.name || this.fallbackInputId, class: "bq-input--control__input", "aria-disabled": this.disabled ? 'true' : 'false', autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, disabled: this.disabled, form: this.form, inputMode: this.inputmode, max: this.max, maxLength: this.maxlength, min: this.min, minLength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, ref: (inputElem) => (this.inputElem = inputElem), readOnly: this.readonly, required: this.required, step: this.step, type: this.type, value: this.value, part: "input",
168
195
  // Events
169
196
  onBlur: this.handleBlur, onChange: this.handleChange, onFocus: this.handleFocus, onInput: this.handleInput }), this.hasValue && !this.disabled && !this.disableClear && (
170
197
  // The clear button will be visible as long as the input has a value
171
198
  // and the parent group is hovered or has focus-within
172
- h("bq-button", { key: '4fdde3ef16fc5b31900240733ab0c822441503b6', class: "bq-input--control__clear ms-[--bq-input--gap] hidden", appearance: "text", "aria-label": this.clearButtonLabel, size: "small", onBqClick: this.handleClearClick, part: "clear-btn", exportparts: "button" }, h("slot", { key: 'e8ad23d8fd3c486a55c17a4baf53238c088885ea', name: "clear-icon" }, h("bq-icon", { key: '3402512e92cee84751d578503abd987063c0ee8e', name: "x-circle", class: "flex" })))), h("span", { key: 'f2d5f18b7522cb2f6af172b9f9584602604913c5', class: { 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }, ref: (spanElem) => (this.suffixElem = spanElem), part: "suffix" }, h("slot", { key: 'cc5a7c6a0af31fc4758fc5f15da24a40d0d629c5', name: "suffix", onSlotchange: this.handleSuffixSlotChange }))), h("div", { key: 'eff9af8467d1473657417a391de9b6c035c8558a', class: {
199
+ h("bq-button", { key: '438ee180851fbe11732c1408a751fb010b6b58cd', class: "bq-input--control__clear ms-[--bq-input--gap] hidden", appearance: "text", "aria-label": this.clearButtonLabel, size: "small", onBqClick: this.handleClearClick, part: "clear-btn", exportparts: "button" }, h("slot", { key: '009efda0f6ae4ded256254418595ec3563af5784', name: "clear-icon" }, h("bq-icon", { key: '9cdd1ec62e9affa29840f0c0981f962df1aa7827', name: "x-circle", class: "flex" })))), h("span", { key: '263c324984728cf8b4877eebf2256024afab618e', class: { 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }, ref: (spanElem) => (this.suffixElem = spanElem), part: "suffix" }, h("slot", { key: 'b35dde7b503e64d6e30847c47cbfadbeb52d591a', name: "suffix", onSlotchange: this.handleSuffixSlotChange }))), h("div", { key: '6e7ea829ab13d136fe457382b2d8d153de1b0d27', class: {
173
200
  [`bq-input--helper-text validation-${this.validationStatus}`]: true,
174
201
  '!hidden': !this.hasHelperText,
175
- }, ref: (divElem) => (this.helperTextElem = divElem), part: "helper-text" }, h("slot", { key: '0682443b71ba03cfc586399c379cf14ee1f58c4e', name: "helper-text", onSlotchange: this.handleHelperTextSlotChange }))));
202
+ }, ref: (divElem) => (this.helperTextElem = divElem), part: "helper-text" }, h("slot", { key: 'aefb690ab249d44658abbdd2b4e17bc578d76088', name: "helper-text", onSlotchange: this.handleHelperTextSlotChange }))));
176
203
  }
177
204
  static get delegatesFocus() { return true; }
178
205
  static get formAssociated() { return true; }
179
- get el() { return this; }
180
206
  static get watchers() { return {
181
207
  "value": ["handleValueChange"]
182
208
  }; }
@@ -1 +1 @@
1
- {"file":"bq-input.js","mappings":"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","names":["BqInput"],"sources":["../../packages/beeq/src/components/input/scss/bq-input.scss?tag=bq-input&encapsulation=shadow","../../packages/beeq/src/components/input/bq-input.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Input styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-input.variables';\n\n:host {\n @apply block is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label and Helper text */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--label {\n @apply flex flex-grow items-center m-be-[--bq-input--label-margin-bottom];\n @apply text-[length:--bq-input--label-text-size] text-[color:--bq-input--label-text-color];\n}\n\n.bq-input--helper-text {\n @apply text-[length:--bq-input--helper-text-size] text-[color:--bq-input--helper-text-color] m-bs-[--bq-input--helper-margin-top];\n}\n\n.bq-input--helper-text.validation-error {\n @apply text-text-danger;\n}\n\n.bq-input--helper-text.validation-success {\n @apply text-text-success;\n}\n\n.bq-input--helper-text.validation-warning {\n @apply text-text-warning;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Input group control */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--control {\n @apply flex items-center transition-[border-color,box-shadow] is-full;\n // Border\n @apply rounded-[--bq-input--border-radius] border-[length:--bq-input--border-width] border-[color:--bq-input--border-color];\n // Padding\n @apply pe-[--bq-input--padding-end] ps-[--bq-input--padding-start] p-b-[--bq-input--paddingY];\n // Text\n @apply text-[length:--bq-input--text-size] text-[color:--bq-input--text-color] placeholder:text-[color:--bq-input--text-placeholder-color];\n // Hover\n @apply [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-brand;\n\n border-style: var(--bq-input--border-style);\n\n // Focus\n &:not(.disabled):focus-within {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n --bq-ring-color-focus: var(--bq-input--border-color-focus);\n\n @apply focus border-[color:--bq-input--border-color-focus];\n }\n\n // Enable clear button whenever the input group control is hovered or has focus\n &:not(.disabled):hover,\n &:not(.disabled):focus-within {\n .bq-input--control__clear {\n @apply inline-block;\n }\n }\n}\n\n.bq-input--control.disabled {\n @apply cursor-not-allowed opacity-60;\n}\n\n/* ------------------------------- Validation ------------------------------- */\n\n.bq-input--control.validation-error {\n @apply border-stroke-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.danger);\n\n @apply border-active-stroke-danger;\n }\n}\n\n.bq-input--control.validation-success {\n @apply border-stroke-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.success);\n\n @apply border-active-stroke-success;\n }\n}\n\n.bq-input--control.validation-warning {\n @apply border-stroke-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.warning);\n\n @apply border-active-stroke-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Input */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--control__input {\n @apply flex-auto cursor-[inherit] appearance-none bg-[inherit] font-[inherit] text-[length:inherit] text-[color:inherit];\n @apply border-none min-bs-[--bq-input--icon-size] min-is-0 m-b-0 m-i-0 p-b-0 p-i-0 focus:outline-none focus-visible:outline-none;\n\n box-shadow: none;\n font-weight: inherit;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Clear button */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--control__clear::part(button) {\n // Since the clear button is inside the input group control,\n // we need to reset the focus ring styles\n --bq-ring-width: initial;\n --bq-ring-offset-width: initial;\n --bq-ring-color-focus: initial;\n\n @apply rounded-xs border-none bs-auto p-b-0 p-i-0;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and suffix */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--control__prefix,\n.bq-input--control__suffix {\n @apply pointer-events-none flex items-center text-[color:--bq-input--text-color];\n}\n\n.bq-input--control__prefix {\n @apply me-[--bq-input--gap];\n}\n\n.bq-input--control__suffix {\n @apply ms-[--bq-input--gap];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Slotted and internal icons */\n/* -------------------------------------------------------------------------- */\n\nbq-icon,\n::slotted(bq-icon) {\n --bq-icon--size: var(--bq-input--icon-size) !important;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Hide webkit clear button */\n/* -------------------------------------------------------------------------- */\n\n/* Remove clear controls from search input */\n\n.bq-input--control__input::-moz-search-cancel {\n @apply hidden appearance-none;\n}\n\n.bq-input--control__input::-webkit-search-decoration,\n.bq-input--control__input::-webkit-search-cancel-button,\n.bq-input--control__input::-webkit-search-results-button,\n.bq-input--control__input::-webkit-search-results-decoration {\n @apply hidden appearance-none;\n}\n\n/* Remove native control extra padding from input date and datetime */\n\n.bq-input--control__input::-webkit-datetime-edit-fields-wrapper,\n.bq-input--control__input::-webkit-datetime-edit,\n.bq-input--control__input::-webkit-datetime-edit-year-field,\n.bq-input--control__input::-webkit-datetime-edit-month-field,\n.bq-input--control__input::-webkit-datetime-edit-day-field,\n.bq-input--control__input::-webkit-datetime-edit-hour-field,\n.bq-input--control__input::-webkit-datetime-edit-minute-field,\n.bq-input--control__input::-webkit-datetime-edit-second-field,\n.bq-input--control__input::-webkit-datetime-edit-millisecond-field,\n.bq-input--control__input::-webkit-datetime-edit-meridiem-field {\n @apply p-b-0 p-i-0;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\n\nimport { TInputType, TInputValidation, TInputValue } from './bq-input.types';\nimport { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, TDebounce } from '../../shared/utils';\n\n/**\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part helper-text - The helper text slot container.\n * @part label - The label slot container.\n * @part input - The native HTML input element used under the hood.\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n */\n@Component({\n tag: 'bq-input',\n styleUrl: './scss/bq-input.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqInput {\n // Own Properties\n // ====================\n\n private helperTextElem?: HTMLElement;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private debounceBqInput: TDebounce<void>;\n private fallbackInputId = 'input';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqInputElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasHelperText = false;\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /**\n * Controls whether or not the input field should be capitalized and how.\n * Possible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize\n */\n @Prop({ reflect: true }) autocapitalize: string = 'off';\n\n /**\n * Specifies whether or not the input field should have autocomplete enabled.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\n */\n @Prop({ reflect: true }) autocomplete: string = 'off';\n\n /**\n * Controls whether or not the input field should have autocorrect enabled.\n * Possible values are 'on' and 'off'.\n */\n @Prop({ reflect: true }) autocorrect: 'on' | 'off' = 'off';\n\n /** If true, the input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /**\n * Indicates whether the input is disabled or not.\n * If `true`, the input is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** If true, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /** The ID of the form that the input field belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /**\n * The inputmode attribute specifies what kind of input mechanism would be most helpful for users entering content into the input field.\n * This allows a browser to display an appropriate virtual keyboard while editing.\n * Possible values are 'none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url', and 'date'.\n */\n @Prop() inputmode?: string;\n\n /**\n * The maximum value that the input field can accept.\n * Only applies to date and number input types.\n */\n @Prop({ reflect: true }) max?: number | string;\n\n /** The maximum number of characters that the input field can accept. */\n @Prop({ reflect: true }) maxlength: number;\n\n /**\n * The minimum value that the input field can accept.\n * Only applies to date and number input types.\n */\n @Prop({ reflect: true }) min?: number | string;\n\n /** The minimum number of characters that the input field can accept. */\n @Prop({ reflect: true }) minlength: number;\n\n /** The input field name. */\n @Prop({ reflect: true }) name!: string;\n\n /**\n * Specifies a regular expression the form control's value should match.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern\n */\n @Prop({ reflect: true }) pattern?: string;\n\n /** The input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** If true, the input field cannot be modified. */\n @Prop({ reflect: true }) readonly?: boolean;\n\n /** Indicates whether or not the input field is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /**\n * A number that specifies the granularity that the value must adhere to.\n * Valid for date, month, week, time, datetime-local, number, and range.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step\n */\n @Prop({ reflect: true }) step: number | 'any';\n\n /**\n * The type attribute specifies the type of input field to display.\n * Possible values are 'text', 'password', 'email', 'number', 'tel', 'search', 'url', and more.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\n */\n @Prop({ reflect: true }) type: TInputType = 'text';\n\n /**\n * The validation status of the input.\n *\n * @remarks\n * This property is used to indicate the validation status of the input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The input value, it can be used to reset the input to a previous value */\n @Prop({ reflect: true, mutable: true }) value: TInputValue;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (Array.isArray(this.value)) {\n this.hasValue = this.value.some((val) => val.length > 0);\n this.internals.setFormValue(this.value.join(','));\n return;\n }\n\n this.hasValue = isDefined(this.value);\n this.internals.setFormValue(`${this.value}`);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqInputElement>;\n\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n @Event() bqChange!: EventEmitter<{ value: string | number | string[]; el: HTMLBqInputElement }>;\n\n /** Callback handler emitted when the input value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqInputElement>;\n\n /** Callback handler emitted when the input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqInputElement>;\n\n /**\n * Callback handler emitted when the input value changes.\n * This handler is called whenever the user types or pastes text into the input field.\n */\n @Event() bqInput!: EventEmitter<{ value: string | number | string[]; el: HTMLBqInputElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handleValueChange();\n }\n\n formResetCallback() {\n if (isNil(this.value)) return;\n\n this.handleClear();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleInput = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceBqInput?.cancel();\n\n if (!isHTMLElement(ev.target, 'input')) return;\n this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;\n this.internals.setFormValue(`${this.value}`);\n\n this.debounceBqInput = debounce(() => {\n this.bqInput.emit({ value: this.value, el: this.el });\n }, this.debounceTime);\n this.debounceBqInput();\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'input')) return;\n this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;\n this.internals.setFormValue(`${this.value}`);\n\n this.bqChange.emit({ value: this.value, el: this.el });\n };\n\n private handleClear = () => {\n if (this.disabled) return;\n\n const { inputElem, internals } = this;\n\n // Clear input element value\n inputElem.value = '';\n this.value = inputElem.value;\n\n // Update associated form control value\n internals.setFormValue(undefined);\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n ev.stopPropagation();\n this.handleClear();\n\n const { bqClear, bqChange, bqInput, el, inputElem } = this;\n // Emit events\n bqClear.emit(el);\n bqInput.emit({ value: this.value, el });\n bqChange.emit({ value: this.value, el });\n // Refocus input element\n inputElem.focus();\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private handleHelperTextSlotChange = () => {\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-input\" part=\"base\">\n {/* Label */}\n <label\n class={{ 'bq-input--label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Input control group */}\n <div\n class={{\n 'bq-input--control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-input--control__input\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n autoCapitalize={this.autocapitalize}\n autoComplete={this.autocomplete}\n autoCorrect={this.autocorrect}\n autoFocus={this.autofocus}\n disabled={this.disabled}\n form={this.form}\n inputMode={this.inputmode}\n max={this.max}\n maxLength={this.maxlength}\n min={this.min}\n minLength={this.minlength}\n name={this.name}\n pattern={this.pattern}\n placeholder={this.placeholder}\n ref={(inputElem) => (this.inputElem = inputElem)}\n readOnly={this.readonly}\n required={this.required}\n step={this.step}\n type={this.type}\n value={this.value}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onInput={this.handleInput}\n />\n {/* Clear Button */}\n {this.hasValue && !this.disabled && !this.disableClear && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-input--control__clear ms-[--bq-input--gap] hidden\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n >\n <slot name=\"clear-icon\">\n <bq-icon name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class={{ 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }}\n ref={(spanElem) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange} />\n </span>\n </div>\n {/* Helper text */}\n <div\n class={{\n [`bq-input--helper-text validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText,\n }}\n ref={(divElem) => (this.helperTextElem = divElem)}\n part=\"helper-text\"\n >\n <slot name=\"helper-text\" onSlotchange={this.handleHelperTextSlotChange} />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"bq-input.js","mappings":"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","names":["BqInput"],"sources":["../../packages/beeq/src/components/input/scss/bq-input.scss?tag=bq-input&encapsulation=shadow","../../packages/beeq/src/components/input/bq-input.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Input styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-input.variables';\n\n:host {\n @apply block is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label and Helper text */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--label {\n @apply flex flex-grow items-center m-be-[--bq-input--label-margin-bottom];\n @apply text-[length:--bq-input--label-text-size] text-[color:--bq-input--label-text-color];\n}\n\n.bq-input--helper-text {\n @apply text-[length:--bq-input--helper-text-size] text-[color:--bq-input--helper-text-color] m-bs-[--bq-input--helper-margin-top];\n}\n\n.bq-input--helper-text.validation-error {\n @apply text-text-danger;\n}\n\n.bq-input--helper-text.validation-success {\n @apply text-text-success;\n}\n\n.bq-input--helper-text.validation-warning {\n @apply text-text-warning;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Input group control */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--control {\n @apply flex items-center transition-[border-color,box-shadow] is-full;\n // Border\n @apply rounded-[--bq-input--border-radius] border-[length:--bq-input--border-width] border-[color:--bq-input--border-color];\n // Padding\n @apply pe-[--bq-input--padding-end] ps-[--bq-input--padding-start] p-b-[--bq-input--paddingY];\n // Text\n @apply text-[length:--bq-input--text-size] text-[color:--bq-input--text-color] placeholder:text-[color:--bq-input--text-placeholder-color];\n // Hover\n @apply [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-brand;\n\n border-style: var(--bq-input--border-style);\n\n // Focus\n &:not(.disabled):focus-within {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n --bq-ring-color-focus: var(--bq-input--border-color-focus);\n\n @apply focus border-[color:--bq-input--border-color-focus];\n }\n\n // Enable clear button whenever the input group control is hovered or has focus\n &:not(.disabled):hover,\n &:not(.disabled):focus-within {\n .bq-input--control__clear {\n @apply inline-block;\n }\n }\n}\n\n.bq-input--control.disabled {\n @apply cursor-not-allowed opacity-60;\n}\n\n/* ------------------------------- Validation ------------------------------- */\n\n.bq-input--control.validation-error {\n @apply border-stroke-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.danger);\n\n @apply border-active-stroke-danger;\n }\n}\n\n.bq-input--control.validation-success {\n @apply border-stroke-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.success);\n\n @apply border-active-stroke-success;\n }\n}\n\n.bq-input--control.validation-warning {\n @apply border-stroke-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.warning);\n\n @apply border-active-stroke-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Input */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--control__input {\n @apply flex-auto cursor-[inherit] appearance-none bg-[inherit] font-[inherit] text-[length:inherit] text-[color:inherit];\n @apply border-none min-bs-[--bq-input--icon-size] min-is-0 m-b-0 m-i-0 p-b-0 p-i-0 focus:outline-none focus-visible:outline-none;\n\n box-shadow: none;\n font-weight: inherit;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Clear button */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--control__clear::part(button) {\n // Since the clear button is inside the input group control,\n // we need to reset the focus ring styles\n --bq-ring-width: initial;\n --bq-ring-offset-width: initial;\n --bq-ring-color-focus: initial;\n\n @apply rounded-xs border-none bs-auto p-b-0 p-i-0;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and suffix */\n/* -------------------------------------------------------------------------- */\n\n.bq-input--control__prefix,\n.bq-input--control__suffix {\n @apply pointer-events-none flex items-center text-[color:--bq-input--text-color];\n}\n\n.bq-input--control__prefix {\n @apply me-[--bq-input--gap];\n}\n\n.bq-input--control__suffix {\n @apply ms-[--bq-input--gap];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Slotted and internal icons */\n/* -------------------------------------------------------------------------- */\n\nbq-icon,\n::slotted(bq-icon) {\n --bq-icon--size: var(--bq-input--icon-size) !important;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Hide webkit clear button */\n/* -------------------------------------------------------------------------- */\n\n/* Remove clear controls from search input */\n\n.bq-input--control__input::-moz-search-cancel {\n @apply hidden appearance-none;\n}\n\n.bq-input--control__input::-webkit-search-decoration,\n.bq-input--control__input::-webkit-search-cancel-button,\n.bq-input--control__input::-webkit-search-results-button,\n.bq-input--control__input::-webkit-search-results-decoration {\n @apply hidden appearance-none;\n}\n\n/* Remove native control extra padding from input date and datetime */\n\n.bq-input--control__input::-webkit-datetime-edit-fields-wrapper,\n.bq-input--control__input::-webkit-datetime-edit,\n.bq-input--control__input::-webkit-datetime-edit-year-field,\n.bq-input--control__input::-webkit-datetime-edit-month-field,\n.bq-input--control__input::-webkit-datetime-edit-day-field,\n.bq-input--control__input::-webkit-datetime-edit-hour-field,\n.bq-input--control__input::-webkit-datetime-edit-minute-field,\n.bq-input--control__input::-webkit-datetime-edit-second-field,\n.bq-input--control__input::-webkit-datetime-edit-millisecond-field,\n.bq-input--control__input::-webkit-datetime-edit-meridiem-field {\n @apply p-b-0 p-i-0;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\n\nimport { TInputType, TInputValidation, TInputValue } from './bq-input.types';\nimport { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, TDebounce } from '../../shared/utils';\n\n/**\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part helper-text - The helper text slot container.\n * @part label - The label slot container.\n * @part input - The native HTML input element used under the hood.\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n */\n@Component({\n tag: 'bq-input',\n styleUrl: './scss/bq-input.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqInput {\n // Own Properties\n // ====================\n\n private helperTextElem?: HTMLElement;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private debounceBqInput: TDebounce<void>;\n private fallbackInputId = 'input';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqInputElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasHelperText = false;\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /**\n * Controls whether or not the input field should be capitalized and how.\n * Possible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize\n */\n @Prop({ reflect: true }) autocapitalize: string = 'off';\n\n /**\n * Specifies whether or not the input field should have autocomplete enabled.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\n */\n @Prop({ reflect: true }) autocomplete: string = 'off';\n\n /**\n * Controls whether or not the input field should have autocorrect enabled.\n * Possible values are 'on' and 'off'.\n */\n @Prop({ reflect: true }) autocorrect: 'on' | 'off' = 'off';\n\n /** If true, the input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /**\n * Indicates whether the input is disabled or not.\n * If `true`, the input is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** If true, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /** The ID of the form that the input field belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /**\n * The inputmode attribute specifies what kind of input mechanism would be most helpful for users entering content into the input field.\n * This allows a browser to display an appropriate virtual keyboard while editing.\n * Possible values are 'none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url', and 'date'.\n */\n @Prop() inputmode?: string;\n\n /**\n * The maximum value that the input field can accept.\n * Only applies to date and number input types.\n */\n @Prop({ reflect: true }) max?: number | string;\n\n /** The maximum number of characters that the input field can accept. */\n @Prop({ reflect: true }) maxlength: number;\n\n /**\n * The minimum value that the input field can accept.\n * Only applies to date and number input types.\n */\n @Prop({ reflect: true }) min?: number | string;\n\n /** The minimum number of characters that the input field can accept. */\n @Prop({ reflect: true }) minlength: number;\n\n /** The input field name. */\n @Prop({ reflect: true }) name!: string;\n\n /**\n * Specifies a regular expression the form control's value should match.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern\n */\n @Prop({ reflect: true }) pattern?: string;\n\n /** The input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** If true, the input field cannot be modified. */\n @Prop({ reflect: true }) readonly?: boolean;\n\n /** Indicates whether or not the input field is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /**\n * A number that specifies the granularity that the value must adhere to.\n * Valid for date, month, week, time, datetime-local, number, and range.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step\n */\n @Prop({ reflect: true }) step: number | 'any';\n\n /**\n * The type attribute specifies the type of input field to display.\n * Possible values are 'text', 'password', 'email', 'number', 'tel', 'search', 'url', and more.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\n */\n @Prop({ reflect: true }) type: TInputType = 'text';\n\n /**\n * The validation status of the input.\n *\n * @remarks\n * This property is used to indicate the validation status of the input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The input value, it can be used to reset the input to a previous value */\n @Prop({ reflect: true, mutable: true }) value: TInputValue;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (Array.isArray(this.value)) {\n this.hasValue = this.value.some((val) => val.length > 0);\n this.internals.setFormValue(this.value.join(','));\n return;\n }\n\n this.hasValue = isDefined(this.value);\n this.internals.setFormValue(`${this.value}`);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqInputElement>;\n\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n @Event() bqChange!: EventEmitter<{ value: string | number | string[]; el: HTMLBqInputElement }>;\n\n /** Callback handler emitted when the input value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqInputElement>;\n\n /** Callback handler emitted when the input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqInputElement>;\n\n /**\n * Callback handler emitted when the input value changes.\n * This handler is called whenever the user types or pastes text into the input field.\n */\n @Event() bqInput!: EventEmitter<{ value: string | number | string[]; el: HTMLBqInputElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handleValueChange();\n }\n\n formResetCallback() {\n if (isNil(this.value)) return;\n\n this.handleClear();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleInput = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceBqInput?.cancel();\n\n if (!isHTMLElement(ev.target, 'input')) return;\n this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;\n this.internals.setFormValue(`${this.value}`);\n\n this.debounceBqInput = debounce(() => {\n this.bqInput.emit({ value: this.value, el: this.el });\n }, this.debounceTime);\n this.debounceBqInput();\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'input')) return;\n this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;\n this.internals.setFormValue(`${this.value}`);\n\n this.bqChange.emit({ value: this.value, el: this.el });\n };\n\n private handleClear = () => {\n if (this.disabled) return;\n\n const { inputElem, internals } = this;\n\n // Clear input element value\n inputElem.value = '';\n this.value = inputElem.value;\n\n // Update associated form control value\n internals.setFormValue(undefined);\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n ev.stopPropagation();\n this.handleClear();\n\n const { bqClear, bqChange, bqInput, el, inputElem } = this;\n // Emit events\n bqClear.emit(el);\n bqInput.emit({ value: this.value, el });\n bqChange.emit({ value: this.value, el });\n // Refocus input element\n inputElem.focus();\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private handleHelperTextSlotChange = () => {\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-input\" part=\"base\">\n {/* Label */}\n <label\n class={{ 'bq-input--label': true, '!hidden': !this.hasLabel }}\n aria-label={this.name || this.fallbackInputId}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Input control group */}\n <div\n class={{\n 'bq-input--control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-input--control__input\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n autoCapitalize={this.autocapitalize}\n autoComplete={this.autocomplete}\n autoCorrect={this.autocorrect}\n disabled={this.disabled}\n form={this.form}\n inputMode={this.inputmode}\n max={this.max}\n maxLength={this.maxlength}\n min={this.min}\n minLength={this.minlength}\n name={this.name}\n pattern={this.pattern}\n placeholder={this.placeholder}\n ref={(inputElem) => (this.inputElem = inputElem)}\n readOnly={this.readonly}\n required={this.required}\n step={this.step}\n type={this.type}\n value={this.value}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onInput={this.handleInput}\n />\n {/* Clear Button */}\n {this.hasValue && !this.disabled && !this.disableClear && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-input--control__clear ms-[--bq-input--gap] hidden\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n >\n <slot name=\"clear-icon\">\n <bq-icon name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class={{ 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }}\n ref={(spanElem) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange} />\n </span>\n </div>\n {/* Helper text */}\n <div\n class={{\n [`bq-input--helper-text validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText,\n }}\n ref={(divElem) => (this.helperTextElem = divElem)}\n part=\"helper-text\"\n >\n <slot name=\"helper-text\" onSlotchange={this.handleHelperTextSlotChange} />\n </div>\n </div>\n );\n }\n}\n"],"version":3}