@beeq/core 1.8.0-beta.1 → 1.8.0-beta.11

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 (676) hide show
  1. package/README.md +5 -3
  2. package/dist/beeq/beeq.css +1 -1
  3. package/dist/beeq/beeq.esm.js +1 -43
  4. package/dist/beeq/beeq.esm.js.map +1 -1
  5. package/dist/beeq/index.esm.js +1 -64
  6. package/dist/beeq/index.esm.js.map +1 -1
  7. package/dist/beeq/p-0f32aa9d.entry.js +6 -0
  8. package/dist/beeq/p-0f32aa9d.entry.js.map +1 -0
  9. package/dist/beeq/p-1075f955.entry.js +6 -0
  10. package/dist/beeq/{p-14b44a4b.entry.js.map → p-1075f955.entry.js.map} +1 -1
  11. package/dist/beeq/p-115ed5b2.js +1 -25
  12. package/dist/beeq/p-115ed5b2.js.map +1 -1
  13. package/dist/beeq/p-12582165.entry.js +6 -0
  14. package/dist/beeq/p-12582165.entry.js.map +1 -0
  15. package/dist/beeq/p-16340dba.js +7 -0
  16. package/dist/beeq/p-16340dba.js.map +1 -0
  17. package/dist/beeq/p-1c75d84d.entry.js +6 -0
  18. package/dist/beeq/{p-5e11b866.entry.js.map → p-1c75d84d.entry.js.map} +1 -1
  19. package/dist/beeq/p-1c8b6eb4.js +1 -12
  20. package/dist/beeq/p-1c8b6eb4.js.map +1 -1
  21. package/dist/beeq/p-1defeea3.js +6 -0
  22. package/dist/beeq/{p-951ba558.js.map → p-1defeea3.js.map} +1 -1
  23. package/dist/beeq/p-1f3a4359.js +1 -11
  24. package/dist/beeq/p-1f3a4359.js.map +1 -1
  25. package/dist/beeq/p-2189fea5.entry.js +6 -0
  26. package/dist/beeq/p-2189fea5.entry.js.map +1 -0
  27. package/dist/beeq/p-27c3db16.entry.js +6 -0
  28. package/dist/beeq/{p-49249dda.entry.js.map → p-27c3db16.entry.js.map} +1 -1
  29. package/dist/beeq/p-28203a0f.entry.js +6 -0
  30. package/dist/beeq/p-28203a0f.entry.js.map +1 -0
  31. package/dist/beeq/p-327cc47e.entry.js +6 -0
  32. package/dist/beeq/p-327cc47e.entry.js.map +1 -0
  33. package/dist/beeq/p-335bb9bd.entry.js +6 -0
  34. package/dist/beeq/p-335bb9bd.entry.js.map +1 -0
  35. package/dist/beeq/p-3431c29f.entry.js +6 -0
  36. package/dist/beeq/{p-39d77ba6.entry.js.map → p-3431c29f.entry.js.map} +1 -1
  37. package/dist/beeq/p-3b23e4cb.entry.js +6 -0
  38. package/dist/beeq/{p-ffddc425.entry.js.map → p-3b23e4cb.entry.js.map} +1 -1
  39. package/dist/beeq/p-3fd0d92d.js +1 -1228
  40. package/dist/beeq/p-3fd0d92d.js.map +1 -1
  41. package/dist/beeq/p-42fd96c3.entry.js +6 -0
  42. package/dist/beeq/p-42fd96c3.entry.js.map +1 -0
  43. package/dist/beeq/p-4620b9c9.entry.js +6 -0
  44. package/dist/beeq/p-4620b9c9.entry.js.map +1 -0
  45. package/dist/beeq/p-57621be1.js +1 -9
  46. package/dist/beeq/p-57621be1.js.map +1 -1
  47. package/dist/beeq/p-6148b8ae.entry.js +6 -0
  48. package/dist/beeq/p-6148b8ae.entry.js.map +1 -0
  49. package/dist/beeq/p-6285254c.entry.js +6 -0
  50. package/dist/beeq/p-6285254c.entry.js.map +1 -0
  51. package/dist/beeq/p-63619085.entry.js +6 -0
  52. package/dist/beeq/p-63619085.entry.js.map +1 -0
  53. package/dist/beeq/p-687da041.js +1 -20
  54. package/dist/beeq/p-687da041.js.map +1 -1
  55. package/dist/beeq/p-6cd0f30d.entry.js +6 -0
  56. package/dist/beeq/p-6cd0f30d.entry.js.map +1 -0
  57. package/dist/beeq/p-73ccb90d.entry.js +6 -0
  58. package/dist/beeq/p-73ccb90d.entry.js.map +1 -0
  59. package/dist/beeq/p-75f42cfa.entry.js +6 -0
  60. package/dist/beeq/{p-36652891.entry.js.map → p-75f42cfa.entry.js.map} +1 -1
  61. package/dist/beeq/p-7bc123c9.entry.js +6 -0
  62. package/dist/beeq/p-7bc123c9.entry.js.map +1 -0
  63. package/dist/beeq/p-7ea20358.entry.js +6 -0
  64. package/dist/beeq/p-7ea20358.entry.js.map +1 -0
  65. package/dist/beeq/p-806b189f.entry.js +6 -0
  66. package/dist/beeq/p-806b189f.entry.js.map +1 -0
  67. package/dist/beeq/p-82fe8d58.entry.js +6 -0
  68. package/dist/beeq/p-82fe8d58.entry.js.map +1 -0
  69. package/dist/beeq/p-899502c0.entry.js +6 -0
  70. package/dist/beeq/p-899502c0.entry.js.map +1 -0
  71. package/dist/beeq/p-90077071.entry.js +6 -0
  72. package/dist/beeq/p-90077071.entry.js.map +1 -0
  73. package/dist/beeq/p-906cc99d.js +6 -0
  74. package/dist/beeq/p-906cc99d.js.map +1 -0
  75. package/dist/beeq/p-99829fc7.js +1 -8
  76. package/dist/beeq/p-99829fc7.js.map +1 -1
  77. package/dist/beeq/p-9c4a9790.entry.js +6 -0
  78. package/dist/beeq/{p-e301647a.entry.js.map → p-9c4a9790.entry.js.map} +1 -1
  79. package/dist/beeq/p-9cab220d.entry.js +6 -0
  80. package/dist/beeq/p-9cab220d.entry.js.map +1 -0
  81. package/dist/beeq/p-9dbbf366.entry.js +6 -0
  82. package/dist/beeq/p-9dbbf366.entry.js.map +1 -0
  83. package/dist/beeq/p-9f7a1527.entry.js +6 -0
  84. package/dist/beeq/{p-0f48adcc.entry.js.map → p-9f7a1527.entry.js.map} +1 -1
  85. package/dist/beeq/p-a5dc1c94.js +1 -118
  86. package/dist/beeq/p-a5dc1c94.js.map +1 -1
  87. package/dist/beeq/p-a8cad5ab.js +1 -5
  88. package/dist/beeq/p-a8cad5ab.js.map +1 -1
  89. package/dist/beeq/p-af062402.js +1 -7
  90. package/dist/beeq/p-af062402.js.map +1 -1
  91. package/dist/beeq/p-b71d2d9a.entry.js +6 -0
  92. package/dist/beeq/p-b71d2d9a.entry.js.map +1 -0
  93. package/dist/beeq/p-b8416ead.entry.js +6 -0
  94. package/dist/beeq/{p-548b45b7.entry.js.map → p-b8416ead.entry.js.map} +1 -1
  95. package/dist/beeq/p-bb21df71.entry.js +6 -0
  96. package/dist/beeq/p-bb21df71.entry.js.map +1 -0
  97. package/dist/beeq/p-bdbc5548.entry.js +6 -0
  98. package/dist/beeq/p-bdbc5548.entry.js.map +1 -0
  99. package/dist/beeq/p-c62189e6.entry.js +6 -0
  100. package/dist/beeq/p-c62189e6.entry.js.map +1 -0
  101. package/dist/beeq/p-c78ae3c2.js +6 -0
  102. package/dist/beeq/p-c78ae3c2.js.map +1 -0
  103. package/dist/beeq/p-d4397119.entry.js +6 -0
  104. package/dist/beeq/p-d4397119.entry.js.map +1 -0
  105. package/dist/beeq/p-d7ce7165.js +6 -0
  106. package/dist/beeq/p-d7ce7165.js.map +1 -0
  107. package/dist/beeq/p-dc5086d8.entry.js +6 -0
  108. package/dist/beeq/p-dc5086d8.entry.js.map +1 -0
  109. package/dist/beeq/p-e8410587.entry.js +6 -0
  110. package/dist/beeq/p-e8410587.entry.js.map +1 -0
  111. package/dist/beeq/p-ecd27cf2.js +1 -11
  112. package/dist/beeq/p-ecd27cf2.js.map +1 -1
  113. package/dist/beeq/p-edfd9767.js +6 -0
  114. package/dist/beeq/p-edfd9767.js.map +1 -0
  115. package/dist/beeq/p-f09cd30c.entry.js +6 -0
  116. package/dist/beeq/p-f09cd30c.entry.js.map +1 -0
  117. package/dist/beeq/p-f2ede993.entry.js +6 -0
  118. package/dist/beeq/p-f2ede993.entry.js.map +1 -0
  119. package/dist/beeq/p-fe8d5dea.js +6 -0
  120. package/dist/beeq/{p-4688e046.js.map → p-fe8d5dea.js.map} +1 -1
  121. package/dist/cjs/app-globals-b11284b9.js.map +1 -1
  122. package/dist/cjs/assetsPath-56bdb114.js +79 -0
  123. package/dist/cjs/assetsPath-56bdb114.js.map +1 -0
  124. package/dist/cjs/beeq.cjs.js +3 -3
  125. package/dist/cjs/beeq.cjs.js.map +1 -1
  126. package/dist/cjs/bq-accordion-group.cjs.entry.js +3 -4
  127. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  128. package/dist/cjs/bq-accordion.cjs.entry.js +83 -48
  129. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  130. package/dist/cjs/bq-alert.cjs.entry.js +72 -64
  131. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  132. package/dist/cjs/bq-avatar.cjs.entry.js +42 -42
  133. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  134. package/dist/cjs/bq-badge.cjs.entry.js +44 -44
  135. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  136. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +42 -32
  137. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  138. package/dist/cjs/bq-breadcrumb.cjs.entry.js +45 -30
  139. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  140. package/dist/cjs/bq-button_2.cjs.entry.js +189 -117
  141. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  142. package/dist/cjs/bq-card.cjs.entry.js +5 -6
  143. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  144. package/dist/cjs/bq-checkbox.cjs.entry.js +63 -54
  145. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  146. package/dist/cjs/bq-date-picker.cjs.entry.js +163 -140
  147. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  148. package/dist/cjs/bq-dialog.cjs.entry.js +71 -50
  149. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  150. package/dist/cjs/bq-divider.cjs.entry.js +30 -25
  151. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  152. package/dist/cjs/bq-drawer.cjs.entry.js +52 -38
  153. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  154. package/dist/cjs/bq-dropdown_2.cjs.entry.js +45 -35
  155. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  156. package/dist/cjs/bq-empty-state.cjs.entry.js +31 -28
  157. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  158. package/dist/cjs/bq-input.cjs.entry.js +116 -90
  159. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  160. package/dist/cjs/bq-notification.cjs.entry.js +80 -59
  161. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  162. package/dist/cjs/bq-option-group.cjs.entry.js +4 -4
  163. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  164. package/dist/cjs/bq-option-list_2.cjs.entry.js +77 -58
  165. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  166. package/dist/cjs/bq-option.cjs.entry.js +65 -49
  167. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  168. package/dist/cjs/bq-page-title.cjs.entry.js +38 -34
  169. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  170. package/dist/cjs/bq-progress.cjs.entry.js +10 -10
  171. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  172. package/dist/cjs/bq-radio-group.cjs.entry.js +13 -8
  173. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  174. package/dist/cjs/bq-radio.cjs.entry.js +43 -37
  175. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  176. package/dist/cjs/bq-select.cjs.entry.js +189 -166
  177. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  178. package/dist/cjs/bq-side-menu-item.cjs.entry.js +68 -55
  179. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  180. package/dist/cjs/bq-side-menu.cjs.entry.js +47 -32
  181. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  182. package/dist/cjs/bq-slider.cjs.entry.js +165 -144
  183. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  184. package/dist/cjs/bq-spinner.cjs.entry.js +57 -56
  185. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  186. package/dist/cjs/bq-status.cjs.entry.js +4 -5
  187. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  188. package/dist/cjs/bq-step-item.cjs.entry.js +24 -17
  189. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  190. package/dist/cjs/bq-steps.cjs.entry.js +13 -11
  191. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  192. package/dist/cjs/bq-switch.cjs.entry.js +46 -35
  193. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  194. package/dist/cjs/bq-tab-group.cjs.entry.js +68 -61
  195. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  196. package/dist/cjs/bq-tab.cjs.entry.js +47 -37
  197. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  198. package/dist/cjs/bq-textarea.cjs.entry.js +80 -58
  199. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  200. package/dist/cjs/bq-toast.cjs.entry.js +61 -57
  201. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  202. package/dist/cjs/bq-tooltip.cjs.entry.js +47 -43
  203. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  204. package/dist/cjs/{cssVariables-7139f0c6.js → cssVariables-dd190bc2.js} +3 -1
  205. package/dist/cjs/cssVariables-dd190bc2.js.map +1 -0
  206. package/dist/cjs/{debounce-f94a239b.js → debounce-1f7e1176.js} +3 -3
  207. package/dist/cjs/debounce-1f7e1176.js.map +1 -0
  208. package/dist/cjs/{index-1d3aac65.js → index-a38a0b5b.js} +30 -33
  209. package/dist/cjs/index-a38a0b5b.js.map +1 -0
  210. package/dist/cjs/{index-e4c116b6.js → index-fc7876d6.js} +63 -19
  211. package/dist/cjs/index-fc7876d6.js.map +1 -0
  212. package/dist/cjs/index.cjs.js +6 -5
  213. package/dist/cjs/index.cjs.js.map +1 -1
  214. package/dist/cjs/{isDefined-750bffc4.js → isDefined-30812dd7.js} +2 -2
  215. package/dist/cjs/{isDefined-750bffc4.js.map → isDefined-30812dd7.js.map} +1 -1
  216. package/dist/cjs/loader.cjs.js +2 -2
  217. package/dist/cjs/{slot-dd6f7db9.js → slot-2fee189a.js} +3 -4
  218. package/dist/{beeq/p-d7a88b16.js.map → cjs/slot-2fee189a.js.map} +1 -1
  219. package/dist/collection/_storybook/foundation/helper/index.js +3 -3
  220. package/dist/collection/_storybook/foundation/helper/index.js.map +1 -1
  221. package/dist/collection/collection-manifest.json +2 -2
  222. package/dist/collection/components/accordion/bq-accordion.js +72 -39
  223. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  224. package/dist/collection/components/accordion/helper/index.js +10 -4
  225. package/dist/collection/components/accordion/helper/index.js.map +1 -1
  226. package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
  227. package/dist/collection/components/accordion-group/bq-accordion-group.js +5 -0
  228. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  229. package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
  230. package/dist/collection/components/alert/bq-alert.js +80 -62
  231. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  232. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  233. package/dist/collection/components/avatar/bq-avatar.js +42 -38
  234. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  235. package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
  236. package/dist/collection/components/badge/bq-badge.js +42 -38
  237. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  238. package/dist/collection/components/badge/scss/bq-badge.css +1 -1
  239. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +45 -26
  240. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  241. package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
  242. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +43 -27
  243. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  244. package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
  245. package/dist/collection/components/button/bq-button.js +84 -43
  246. package/dist/collection/components/button/bq-button.js.map +1 -1
  247. package/dist/collection/components/button/scss/bq-button.css +1 -1
  248. package/dist/collection/components/card/bq-card.js +7 -2
  249. package/dist/collection/components/card/bq-card.js.map +1 -1
  250. package/dist/collection/components/card/scss/bq-card.css +1 -1
  251. package/dist/collection/components/checkbox/bq-checkbox.js +63 -50
  252. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  253. package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
  254. package/dist/collection/components/date-picker/bq-date-picker.js +161 -134
  255. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  256. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  257. package/dist/collection/components/dialog/bq-dialog.js +70 -45
  258. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  259. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  260. package/dist/collection/components/divider/bq-divider.js +28 -19
  261. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  262. package/dist/collection/components/divider/scss/bq-divider.css +1 -1
  263. package/dist/collection/components/drawer/bq-drawer.js +51 -33
  264. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  265. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  266. package/dist/collection/components/dropdown/bq-dropdown.js +34 -23
  267. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  268. package/dist/collection/components/empty-state/bq-empty-state.js +30 -23
  269. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  270. package/dist/collection/components/empty-state/scss/bq-empty-state.css +1 -1
  271. package/dist/collection/components/icon/bq-icon.js +45 -35
  272. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  273. package/dist/collection/components/icon/helper/request.js +51 -33
  274. package/dist/collection/components/icon/helper/request.js.map +1 -1
  275. package/dist/collection/components/icon/scss/bq-icon.css +1 -1
  276. package/dist/collection/components/input/bq-input.js +113 -83
  277. package/dist/collection/components/input/bq-input.js.map +1 -1
  278. package/dist/collection/components/input/scss/bq-input.css +1 -1
  279. package/dist/collection/components/notification/bq-notification.js +86 -54
  280. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  281. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  282. package/dist/collection/components/option/bq-option.js +64 -44
  283. package/dist/collection/components/option/bq-option.js.map +1 -1
  284. package/dist/collection/components/option/scss/bq-option.css +1 -1
  285. package/dist/collection/components/option-group/bq-option-group.js +6 -1
  286. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  287. package/dist/collection/components/option-group/scss/bq-option-group.css +1 -1
  288. package/dist/collection/components/option-list/bq-option-list.js +11 -1
  289. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  290. package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
  291. package/dist/collection/components/page-title/bq-page-title.js +37 -29
  292. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  293. package/dist/collection/components/page-title/scss/bq-page-title.css +1 -1
  294. package/dist/collection/components/panel/bq-panel.js +12 -7
  295. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  296. package/dist/collection/components/panel/scss/bq-panel.css +1 -1
  297. package/dist/collection/components/progress/bq-progress.js +12 -6
  298. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  299. package/dist/collection/components/progress/scss/bq-progress.css +1 -1
  300. package/dist/collection/components/radio/bq-radio.js +43 -34
  301. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  302. package/dist/collection/components/radio/scss/bq-radio.css +1 -1
  303. package/dist/collection/components/radio-group/bq-radio-group.js +13 -4
  304. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  305. package/dist/collection/components/select/bq-select.js +187 -160
  306. package/dist/collection/components/select/bq-select.js.map +1 -1
  307. package/dist/collection/components/select/scss/bq-select.css +1 -1
  308. package/dist/collection/components/side-menu/bq-side-menu.js +50 -29
  309. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  310. package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
  311. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +68 -51
  312. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  313. package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
  314. package/dist/collection/components/slider/bq-slider.js +164 -139
  315. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  316. package/dist/collection/components/slider/scss/bq-slider.css +1 -1
  317. package/dist/collection/components/spinner/bq-spinner.js +56 -51
  318. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  319. package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
  320. package/dist/collection/components/status/bq-status.js +6 -1
  321. package/dist/collection/components/status/bq-status.js.map +1 -1
  322. package/dist/collection/components/status/scss/bq-status.css +1 -1
  323. package/dist/collection/components/step-item/bq-step-item.js +26 -13
  324. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  325. package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
  326. package/dist/collection/components/steps/bq-steps.js +13 -7
  327. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  328. package/dist/collection/components/steps/scss/bq-steps.css +1 -1
  329. package/dist/collection/components/switch/bq-switch.js +45 -30
  330. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  331. package/dist/collection/components/switch/scss/bq-switch.css +1 -1
  332. package/dist/collection/components/tab/bq-tab.js +46 -32
  333. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  334. package/dist/collection/components/tab/scss/bq-tab.css +1 -1
  335. package/dist/collection/components/tab-group/bq-tab-group.js +67 -56
  336. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  337. package/dist/collection/components/tab-group/scss/bq-tab-group.css +1 -1
  338. package/dist/collection/components/tag/bq-tag.js +67 -49
  339. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  340. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  341. package/dist/collection/components/textarea/bq-textarea.js +78 -52
  342. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  343. package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
  344. package/dist/collection/components/toast/bq-toast.js +68 -52
  345. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  346. package/dist/collection/components/toast/scss/bq-toast.css +1 -1
  347. package/dist/collection/components/tooltip/bq-tooltip.js +46 -39
  348. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  349. package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
  350. package/dist/collection/global/scripts/global.js.map +1 -1
  351. package/dist/collection/index.js.map +1 -1
  352. package/dist/collection/services/libraries/floating-ui/index.js +4 -0
  353. package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
  354. package/dist/collection/shared/utils/assetsPath.js +46 -46
  355. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  356. package/dist/collection/shared/utils/cssVariables.js +2 -0
  357. package/dist/collection/shared/utils/cssVariables.js.map +1 -1
  358. package/dist/collection/shared/utils/debounce.js +2 -2
  359. package/dist/collection/shared/utils/debounce.js.map +1 -1
  360. package/dist/collection/shared/utils/slot.js +2 -3
  361. package/dist/collection/shared/utils/slot.js.map +1 -1
  362. package/dist/components/bq-accordion-group.js +2 -3
  363. package/dist/components/bq-accordion-group.js.map +1 -1
  364. package/dist/components/bq-accordion.js +81 -46
  365. package/dist/components/bq-accordion.js.map +1 -1
  366. package/dist/components/bq-alert.js +69 -61
  367. package/dist/components/bq-alert.js.map +1 -1
  368. package/dist/components/bq-avatar.js +41 -41
  369. package/dist/components/bq-avatar.js.map +1 -1
  370. package/dist/components/bq-badge2.js +41 -41
  371. package/dist/components/bq-badge2.js.map +1 -1
  372. package/dist/components/bq-breadcrumb-item.js +40 -30
  373. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  374. package/dist/components/bq-breadcrumb.js +44 -29
  375. package/dist/components/bq-breadcrumb.js.map +1 -1
  376. package/dist/components/bq-button2.js +84 -47
  377. package/dist/components/bq-button2.js.map +1 -1
  378. package/dist/components/bq-card.js +4 -5
  379. package/dist/components/bq-card.js.map +1 -1
  380. package/dist/components/bq-checkbox.js +62 -53
  381. package/dist/components/bq-checkbox.js.map +1 -1
  382. package/dist/components/bq-date-picker.js +160 -137
  383. package/dist/components/bq-date-picker.js.map +1 -1
  384. package/dist/components/bq-dialog.js +69 -48
  385. package/dist/components/bq-dialog.js.map +1 -1
  386. package/dist/components/bq-divider2.js +27 -22
  387. package/dist/components/bq-divider2.js.map +1 -1
  388. package/dist/components/bq-drawer.js +50 -36
  389. package/dist/components/bq-drawer.js.map +1 -1
  390. package/dist/components/bq-dropdown2.js +32 -24
  391. package/dist/components/bq-dropdown2.js.map +1 -1
  392. package/dist/components/bq-empty-state.js +29 -26
  393. package/dist/components/bq-empty-state.js.map +1 -1
  394. package/dist/components/bq-icon2.js +164 -70
  395. package/dist/components/bq-icon2.js.map +1 -1
  396. package/dist/components/bq-input.js +112 -86
  397. package/dist/components/bq-input.js.map +1 -1
  398. package/dist/components/bq-notification.js +78 -56
  399. package/dist/components/bq-notification.js.map +1 -1
  400. package/dist/components/bq-option-group.js +3 -3
  401. package/dist/components/bq-option-group.js.map +1 -1
  402. package/dist/components/bq-option-list2.js +8 -4
  403. package/dist/components/bq-option-list2.js.map +1 -1
  404. package/dist/components/bq-option.js +63 -47
  405. package/dist/components/bq-option.js.map +1 -1
  406. package/dist/components/bq-page-title.js +36 -32
  407. package/dist/components/bq-page-title.js.map +1 -1
  408. package/dist/components/bq-panel2.js +11 -9
  409. package/dist/components/bq-panel2.js.map +1 -1
  410. package/dist/components/bq-progress.js +9 -9
  411. package/dist/components/bq-progress.js.map +1 -1
  412. package/dist/components/bq-radio-group.js +11 -6
  413. package/dist/components/bq-radio-group.js.map +1 -1
  414. package/dist/components/bq-radio.js +43 -37
  415. package/dist/components/bq-radio.js.map +1 -1
  416. package/dist/components/bq-select.js +185 -162
  417. package/dist/components/bq-select.js.map +1 -1
  418. package/dist/components/bq-side-menu-item.js +67 -54
  419. package/dist/components/bq-side-menu-item.js.map +1 -1
  420. package/dist/components/bq-side-menu.js +47 -31
  421. package/dist/components/bq-side-menu.js.map +1 -1
  422. package/dist/components/bq-slider.js +163 -142
  423. package/dist/components/bq-slider.js.map +1 -1
  424. package/dist/components/bq-spinner.js +54 -53
  425. package/dist/components/bq-spinner.js.map +1 -1
  426. package/dist/components/bq-status.js +3 -4
  427. package/dist/components/bq-status.js.map +1 -1
  428. package/dist/components/bq-step-item.js +23 -16
  429. package/dist/components/bq-step-item.js.map +1 -1
  430. package/dist/components/bq-steps.js +12 -10
  431. package/dist/components/bq-steps.js.map +1 -1
  432. package/dist/components/bq-switch.js +44 -33
  433. package/dist/components/bq-switch.js.map +1 -1
  434. package/dist/components/bq-tab-group.js +66 -59
  435. package/dist/components/bq-tab-group.js.map +1 -1
  436. package/dist/components/bq-tab.js +45 -35
  437. package/dist/components/bq-tab.js.map +1 -1
  438. package/dist/components/bq-tag2.js +66 -52
  439. package/dist/components/bq-tag2.js.map +1 -1
  440. package/dist/components/bq-textarea.js +77 -55
  441. package/dist/components/bq-textarea.js.map +1 -1
  442. package/dist/components/bq-toast.js +60 -55
  443. package/dist/components/bq-toast.js.map +1 -1
  444. package/dist/components/bq-tooltip2.js +45 -41
  445. package/dist/components/bq-tooltip2.js.map +1 -1
  446. package/dist/components/cssVariables.js +2 -0
  447. package/dist/components/cssVariables.js.map +1 -1
  448. package/dist/components/debounce.js +2 -2
  449. package/dist/components/debounce.js.map +1 -1
  450. package/dist/components/index.js +1 -1
  451. package/dist/components/index2.js +62 -18
  452. package/dist/components/index2.js.map +1 -1
  453. package/dist/components/isDefined.js +1 -1
  454. package/dist/components/slot.js +2 -3
  455. package/dist/components/slot.js.map +1 -1
  456. package/dist/esm/app-globals-de5a646b.js.map +1 -1
  457. package/dist/esm/assetsPath-653f7ee2.js +76 -0
  458. package/dist/esm/assetsPath-653f7ee2.js.map +1 -0
  459. package/dist/esm/beeq.js +4 -4
  460. package/dist/esm/beeq.js.map +1 -1
  461. package/dist/esm/bq-accordion-group.entry.js +3 -4
  462. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  463. package/dist/esm/bq-accordion.entry.js +83 -48
  464. package/dist/esm/bq-accordion.entry.js.map +1 -1
  465. package/dist/esm/bq-alert.entry.js +72 -64
  466. package/dist/esm/bq-alert.entry.js.map +1 -1
  467. package/dist/esm/bq-avatar.entry.js +42 -42
  468. package/dist/esm/bq-avatar.entry.js.map +1 -1
  469. package/dist/esm/bq-badge.entry.js +44 -44
  470. package/dist/esm/bq-badge.entry.js.map +1 -1
  471. package/dist/esm/bq-breadcrumb-item.entry.js +42 -32
  472. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  473. package/dist/esm/bq-breadcrumb.entry.js +45 -30
  474. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  475. package/dist/esm/bq-button_2.entry.js +189 -117
  476. package/dist/esm/bq-button_2.entry.js.map +1 -1
  477. package/dist/esm/bq-card.entry.js +5 -6
  478. package/dist/esm/bq-card.entry.js.map +1 -1
  479. package/dist/esm/bq-checkbox.entry.js +63 -54
  480. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  481. package/dist/esm/bq-date-picker.entry.js +163 -140
  482. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  483. package/dist/esm/bq-dialog.entry.js +71 -50
  484. package/dist/esm/bq-dialog.entry.js.map +1 -1
  485. package/dist/esm/bq-divider.entry.js +30 -25
  486. package/dist/esm/bq-divider.entry.js.map +1 -1
  487. package/dist/esm/bq-drawer.entry.js +52 -38
  488. package/dist/esm/bq-drawer.entry.js.map +1 -1
  489. package/dist/esm/bq-dropdown_2.entry.js +45 -35
  490. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  491. package/dist/esm/bq-empty-state.entry.js +31 -28
  492. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  493. package/dist/esm/bq-input.entry.js +116 -90
  494. package/dist/esm/bq-input.entry.js.map +1 -1
  495. package/dist/esm/bq-notification.entry.js +80 -59
  496. package/dist/esm/bq-notification.entry.js.map +1 -1
  497. package/dist/esm/bq-option-group.entry.js +4 -4
  498. package/dist/esm/bq-option-group.entry.js.map +1 -1
  499. package/dist/esm/bq-option-list_2.entry.js +77 -58
  500. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  501. package/dist/esm/bq-option.entry.js +65 -49
  502. package/dist/esm/bq-option.entry.js.map +1 -1
  503. package/dist/esm/bq-page-title.entry.js +38 -34
  504. package/dist/esm/bq-page-title.entry.js.map +1 -1
  505. package/dist/esm/bq-progress.entry.js +10 -10
  506. package/dist/esm/bq-progress.entry.js.map +1 -1
  507. package/dist/esm/bq-radio-group.entry.js +13 -8
  508. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  509. package/dist/esm/bq-radio.entry.js +43 -37
  510. package/dist/esm/bq-radio.entry.js.map +1 -1
  511. package/dist/esm/bq-select.entry.js +189 -166
  512. package/dist/esm/bq-select.entry.js.map +1 -1
  513. package/dist/esm/bq-side-menu-item.entry.js +68 -55
  514. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  515. package/dist/esm/bq-side-menu.entry.js +47 -32
  516. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  517. package/dist/esm/bq-slider.entry.js +165 -144
  518. package/dist/esm/bq-slider.entry.js.map +1 -1
  519. package/dist/esm/bq-spinner.entry.js +57 -56
  520. package/dist/esm/bq-spinner.entry.js.map +1 -1
  521. package/dist/esm/bq-status.entry.js +4 -5
  522. package/dist/esm/bq-status.entry.js.map +1 -1
  523. package/dist/esm/bq-step-item.entry.js +24 -17
  524. package/dist/esm/bq-step-item.entry.js.map +1 -1
  525. package/dist/esm/bq-steps.entry.js +13 -11
  526. package/dist/esm/bq-steps.entry.js.map +1 -1
  527. package/dist/esm/bq-switch.entry.js +46 -35
  528. package/dist/esm/bq-switch.entry.js.map +1 -1
  529. package/dist/esm/bq-tab-group.entry.js +68 -61
  530. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  531. package/dist/esm/bq-tab.entry.js +47 -37
  532. package/dist/esm/bq-tab.entry.js.map +1 -1
  533. package/dist/esm/bq-textarea.entry.js +80 -58
  534. package/dist/esm/bq-textarea.entry.js.map +1 -1
  535. package/dist/esm/bq-toast.entry.js +61 -57
  536. package/dist/esm/bq-toast.entry.js.map +1 -1
  537. package/dist/esm/bq-tooltip.entry.js +47 -43
  538. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  539. package/dist/esm/{cssVariables-5ffccc29.js → cssVariables-000c23ad.js} +3 -1
  540. package/dist/esm/cssVariables-000c23ad.js.map +1 -0
  541. package/dist/esm/{debounce-c82e3da1.js → debounce-3e72f418.js} +3 -3
  542. package/dist/esm/debounce-3e72f418.js.map +1 -0
  543. package/dist/esm/{index-136429a6.js → index-1618c78b.js} +63 -19
  544. package/dist/esm/index-1618c78b.js.map +1 -0
  545. package/dist/esm/{index-f69556fe.js → index-9dfdd050.js} +30 -34
  546. package/dist/esm/index-9dfdd050.js.map +1 -0
  547. package/dist/esm/index.js +7 -6
  548. package/dist/esm/index.js.map +1 -1
  549. package/dist/esm/{isDefined-170f3095.js → isDefined-e92041ac.js} +2 -2
  550. package/dist/esm/{isDefined-170f3095.js.map → isDefined-e92041ac.js.map} +1 -1
  551. package/dist/esm/loader.js +3 -3
  552. package/dist/esm/{slot-179d109d.js → slot-58bfedb5.js} +3 -4
  553. package/dist/esm/slot-58bfedb5.js.map +1 -0
  554. package/dist/hydrate/index.d.ts +10 -4
  555. package/dist/hydrate/index.js +4055 -2107
  556. package/dist/hydrate/index.mjs +4055 -2107
  557. package/dist/stencil.config.js +11 -4
  558. package/dist/stencil.config.js.map +1 -1
  559. package/dist/types/Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System/packages/beeq/.stencil/packages/beeq/stencil.config.d.ts +2 -0
  560. package/dist/types/{home/workflows/workspace → Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System}/packages/beeq/.stencil/tailwind.config.d.ts +104 -78
  561. package/dist/types/_storybook/foundation/helper/index.d.ts +1 -3
  562. package/dist/types/components/alert/bq-alert.d.ts +10 -4
  563. package/dist/types/components/button/bq-button.d.ts +5 -0
  564. package/dist/types/components/date-picker/bq-date-picker.d.ts +1 -0
  565. package/dist/types/components/divider/bq-divider.d.ts +1 -0
  566. package/dist/types/components/icon/bq-icon.d.ts +3 -1
  567. package/dist/types/components/icon/helper/request.d.ts +17 -1
  568. package/dist/types/components/notification/bq-notification.d.ts +8 -0
  569. package/dist/types/components/radio/bq-radio.d.ts +0 -5
  570. package/dist/types/components/select/bq-select.d.ts +2 -0
  571. package/dist/types/components/slider/bq-slider.d.ts +2 -0
  572. package/dist/types/components/step-item/bq-step-item.d.ts +1 -0
  573. package/dist/types/components/toast/bq-toast.d.ts +5 -0
  574. package/dist/types/components.d.ts +8 -8
  575. package/dist/types/global/scripts/global.d.ts +4 -0
  576. package/dist/types/shared/utils/assetsPath.d.ts +5 -22
  577. package/dist/types/shared/utils/cssVariables.d.ts +1 -1
  578. package/dist/types/stencil-public-runtime.d.ts +4 -0
  579. package/package.json +2 -2
  580. package/dist/beeq/p-063a3968.entry.js +0 -388
  581. package/dist/beeq/p-063a3968.entry.js.map +0 -1
  582. package/dist/beeq/p-0979fdfd.entry.js +0 -297
  583. package/dist/beeq/p-0979fdfd.entry.js.map +0 -1
  584. package/dist/beeq/p-0ab0b58d.js +0 -30
  585. package/dist/beeq/p-0ab0b58d.js.map +0 -1
  586. package/dist/beeq/p-0c42c08a.js +0 -1811
  587. package/dist/beeq/p-0c42c08a.js.map +0 -1
  588. package/dist/beeq/p-0f48adcc.entry.js +0 -117
  589. package/dist/beeq/p-14b44a4b.entry.js +0 -205
  590. package/dist/beeq/p-1715ac80.entry.js +0 -274
  591. package/dist/beeq/p-1715ac80.entry.js.map +0 -1
  592. package/dist/beeq/p-242ac28a.entry.js +0 -145
  593. package/dist/beeq/p-242ac28a.entry.js.map +0 -1
  594. package/dist/beeq/p-297fb76b.entry.js +0 -220
  595. package/dist/beeq/p-297fb76b.entry.js.map +0 -1
  596. package/dist/beeq/p-2bb65f53.entry.js +0 -204
  597. package/dist/beeq/p-2bb65f53.entry.js.map +0 -1
  598. package/dist/beeq/p-2e66fc4f.entry.js +0 -434
  599. package/dist/beeq/p-2e66fc4f.entry.js.map +0 -1
  600. package/dist/beeq/p-36652891.entry.js +0 -102
  601. package/dist/beeq/p-38d4bd8a.js +0 -1939
  602. package/dist/beeq/p-38d4bd8a.js.map +0 -1
  603. package/dist/beeq/p-39b7c578.entry.js +0 -84
  604. package/dist/beeq/p-39b7c578.entry.js.map +0 -1
  605. package/dist/beeq/p-39d77ba6.entry.js +0 -90
  606. package/dist/beeq/p-4688e046.js +0 -16
  607. package/dist/beeq/p-49249dda.entry.js +0 -156
  608. package/dist/beeq/p-548b45b7.entry.js +0 -104
  609. package/dist/beeq/p-57a55ac5.entry.js +0 -261
  610. package/dist/beeq/p-57a55ac5.entry.js.map +0 -1
  611. package/dist/beeq/p-5e11b866.entry.js +0 -102
  612. package/dist/beeq/p-6a4e104b.entry.js +0 -263
  613. package/dist/beeq/p-6a4e104b.entry.js.map +0 -1
  614. package/dist/beeq/p-6a5a79a3.entry.js +0 -184
  615. package/dist/beeq/p-6a5a79a3.entry.js.map +0 -1
  616. package/dist/beeq/p-7f301da8.entry.js +0 -508
  617. package/dist/beeq/p-7f301da8.entry.js.map +0 -1
  618. package/dist/beeq/p-81f1c3ba.entry.js +0 -121
  619. package/dist/beeq/p-81f1c3ba.entry.js.map +0 -1
  620. package/dist/beeq/p-822773ae.entry.js +0 -195
  621. package/dist/beeq/p-822773ae.entry.js.map +0 -1
  622. package/dist/beeq/p-951ba558.js +0 -69
  623. package/dist/beeq/p-9990889d.entry.js +0 -222
  624. package/dist/beeq/p-9990889d.entry.js.map +0 -1
  625. package/dist/beeq/p-a1b43de6.entry.js +0 -248
  626. package/dist/beeq/p-a1b43de6.entry.js.map +0 -1
  627. package/dist/beeq/p-a6489187.entry.js +0 -103
  628. package/dist/beeq/p-a6489187.entry.js.map +0 -1
  629. package/dist/beeq/p-ac969486.entry.js +0 -330
  630. package/dist/beeq/p-ac969486.entry.js.map +0 -1
  631. package/dist/beeq/p-afc9fd80.entry.js +0 -144
  632. package/dist/beeq/p-afc9fd80.entry.js.map +0 -1
  633. package/dist/beeq/p-bef53750.js +0 -79
  634. package/dist/beeq/p-bef53750.js.map +0 -1
  635. package/dist/beeq/p-bf2320dd.entry.js +0 -329
  636. package/dist/beeq/p-bf2320dd.entry.js.map +0 -1
  637. package/dist/beeq/p-c34e292e.entry.js +0 -127
  638. package/dist/beeq/p-c34e292e.entry.js.map +0 -1
  639. package/dist/beeq/p-d7a88b16.js +0 -92
  640. package/dist/beeq/p-db18eba1.entry.js +0 -173
  641. package/dist/beeq/p-db18eba1.entry.js.map +0 -1
  642. package/dist/beeq/p-dd950c12.entry.js +0 -309
  643. package/dist/beeq/p-dd950c12.entry.js.map +0 -1
  644. package/dist/beeq/p-e301647a.entry.js +0 -87
  645. package/dist/beeq/p-e3aa2886.entry.js +0 -203
  646. package/dist/beeq/p-e3aa2886.entry.js.map +0 -1
  647. package/dist/beeq/p-e41f07ae.entry.js +0 -173
  648. package/dist/beeq/p-e41f07ae.entry.js.map +0 -1
  649. package/dist/beeq/p-e88257a8.entry.js +0 -259
  650. package/dist/beeq/p-e88257a8.entry.js.map +0 -1
  651. package/dist/beeq/p-e9a54b49.entry.js +0 -145
  652. package/dist/beeq/p-e9a54b49.entry.js.map +0 -1
  653. package/dist/beeq/p-f77d9b8b.entry.js +0 -144
  654. package/dist/beeq/p-f77d9b8b.entry.js.map +0 -1
  655. package/dist/beeq/p-fd658de1.entry.js +0 -135
  656. package/dist/beeq/p-fd658de1.entry.js.map +0 -1
  657. package/dist/beeq/p-ffb48c40.entry.js +0 -258
  658. package/dist/beeq/p-ffb48c40.entry.js.map +0 -1
  659. package/dist/beeq/p-ffddc425.entry.js +0 -149
  660. package/dist/cjs/assetsPath-3938a05d.js +0 -78
  661. package/dist/cjs/assetsPath-3938a05d.js.map +0 -1
  662. package/dist/cjs/cssVariables-7139f0c6.js.map +0 -1
  663. package/dist/cjs/debounce-f94a239b.js.map +0 -1
  664. package/dist/cjs/index-1d3aac65.js.map +0 -1
  665. package/dist/cjs/index-e4c116b6.js.map +0 -1
  666. package/dist/cjs/slot-dd6f7db9.js.map +0 -1
  667. package/dist/components/assetsPath.js +0 -75
  668. package/dist/components/assetsPath.js.map +0 -1
  669. package/dist/esm/assetsPath-a1b58980.js +0 -75
  670. package/dist/esm/assetsPath-a1b58980.js.map +0 -1
  671. package/dist/esm/cssVariables-5ffccc29.js.map +0 -1
  672. package/dist/esm/debounce-c82e3da1.js.map +0 -1
  673. package/dist/esm/index-136429a6.js.map +0 -1
  674. package/dist/esm/index-f69556fe.js.map +0 -1
  675. package/dist/esm/slot-179d109d.js.map +0 -1
  676. package/dist/types/home/workflows/workspace/packages/beeq/.stencil/packages/beeq/stencil.config.d.ts +0 -2
@@ -7,9 +7,17 @@
7
7
  /* -------------------------------------------------------------------------- */
8
8
  import { isNil, isString } from "../../../shared/utils";
9
9
  const requests = new Map();
10
+ export const iconContent = new Map();
11
+ /**
12
+ * Fetches SVG content from a given URL and optionally sanitizes it.
13
+ * @param {string} url - The URL to fetch the SVG from.
14
+ * @param {boolean} sanitize - Whether to sanitize the SVG content.
15
+ * @returns {Promise<unknown>} - A promise that resolves to the SVG content.
16
+ */
10
17
  const fetchSvg = async (url, sanitize) => {
11
- if (typeof fetch === 'undefined' || typeof document === 'undefined')
18
+ if (isNil(url) || typeof fetch === 'undefined' || typeof window === 'undefined') {
12
19
  return;
20
+ }
13
21
  if (requests.has(url))
14
22
  return requests.get(url);
15
23
  try {
@@ -18,70 +26,80 @@ const fetchSvg = async (url, sanitize) => {
18
26
  iconContent.set(url, '');
19
27
  return;
20
28
  }
21
- let svgContent = (await response.text()) || '';
22
- if (svgContent && sanitize !== false)
29
+ let svgContent = await response.text();
30
+ if (sanitize !== false) {
23
31
  svgContent = validateContent(svgContent);
32
+ }
24
33
  iconContent.set(url, svgContent);
34
+ return svgContent;
25
35
  }
26
36
  catch (error) {
27
37
  console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);
28
38
  iconContent.set(url, '');
29
39
  }
30
40
  };
31
- export const iconContent = new Map();
41
+ /**
42
+ * Retrieves the SVG content for a given URL, fetching and caching it if necessary.
43
+ * @param {string} url - The URL to fetch the SVG from.
44
+ * @param {boolean} sanitize - Whether to sanitize the SVG content.
45
+ * @returns {Promise<unknown>} - A promise that resolves to the SVG content.
46
+ */
32
47
  export const getSvgContent = async (url, sanitize) => {
48
+ if (isNil(url))
49
+ return;
33
50
  let req = requests.get(url);
34
- // NOTE: if the request does not exists we will cache it
35
51
  if (isNil(req)) {
36
52
  req = fetchSvg(url, sanitize);
37
53
  requests.set(url, req);
38
54
  }
39
55
  return req;
40
56
  };
57
+ /**
58
+ * Validates and sanitizes the SVG content.
59
+ * @param {string} svgContent - The SVG content to validate.
60
+ * @returns {string} - The sanitized SVG content.
61
+ */
41
62
  export const validateContent = (svgContent) => {
63
+ if (typeof window === 'undefined' || isNil(svgContent))
64
+ return '';
42
65
  const svgTag = 'svg';
43
66
  const iconCssClass = 'bq-icon__svg';
44
67
  const div = document.createElement('div');
45
68
  div.innerHTML = svgContent;
46
- for (let i = div.childNodes.length - 1; i >= 0; i--) {
47
- if (div.childNodes[i].nodeName.toLowerCase() !== svgTag) {
48
- div.removeChild(div.childNodes[i]);
49
- }
50
- }
51
- // must only have 1 root element
52
- const svgElm = div.firstElementChild;
53
- if (svgElm && svgElm.nodeName.toLowerCase() === svgTag) {
54
- // keep other CSS classes (if there's any) and add the `bq-icon__svg` CSS class
55
- const othersCssClasses = svgElm.getAttribute('class') || '';
56
- svgElm.setAttribute('class', `${othersCssClasses} ${iconCssClass}`.trim());
57
- // set the shadow DOM part for the SVG element
69
+ const svgElm = div.querySelector(svgTag);
70
+ if (svgElm) {
71
+ const existingClasses = svgElm.getAttribute('class') || '';
72
+ svgElm.setAttribute('class', `${existingClasses} ${iconCssClass}`.trim());
58
73
  svgElm.setAttribute('part', svgTag);
59
- // remove height and width attribute, if for some reason they are still present in the SVG tag
60
74
  svgElm.removeAttribute('height');
61
75
  svgElm.removeAttribute('width');
62
- // root element must be an svg
63
- // lets double check we've got valid elements
64
- // do not allow scripts
65
- if (isValid(svgElm))
76
+ if (isValid(svgElm)) {
66
77
  return div.innerHTML;
78
+ }
67
79
  }
68
80
  return '';
69
81
  };
82
+ /**
83
+ * Checks if an HTML element is valid (i.e., does not contain scripts or event handlers).
84
+ * @param {HTMLElement} elm - The element to check.
85
+ * @returns {boolean} - True if the element is valid, false otherwise.
86
+ */
70
87
  export const isValid = (elm) => {
71
- if (elm.nodeType === Node.ELEMENT_NODE) {
72
- if (elm.nodeName.toLowerCase() === 'script')
88
+ if (!elm)
89
+ return false;
90
+ if (elm.nodeType !== Node.ELEMENT_NODE)
91
+ return false;
92
+ if (elm.nodeName.toLowerCase() === 'script')
93
+ return false;
94
+ for (const attribute of Array.from(elm.attributes)) {
95
+ if (isString(attribute.value) && attribute.value.toLowerCase().startsWith('on')) {
73
96
  return false;
74
- for (const attribute of Array.from(elm.attributes)) {
75
- const value = attribute.value;
76
- if (isString(value) && value.toLowerCase().startsWith('on')) {
77
- return false;
78
- }
79
- }
80
- for (const childNode of Array.from(elm.children)) {
81
- if (!isValid(childNode))
82
- return false;
83
97
  }
84
98
  }
99
+ for (const childNode of Array.from(elm.children)) {
100
+ if (!isValid(childNode))
101
+ return false;
102
+ }
85
103
  return true;
86
104
  };
87
105
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../../../../src/components/icon/helper/request.ts"],"names":[],"mappings":"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","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 const svgTag = 'svg';\n const iconCssClass = 'bq-icon__svg';\n\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"]}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../../../../src/components/icon/helper/request.ts"],"names":[],"mappings":"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","sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Icon request helper */\n/* -------------------------------------------------------------------------- */\n\nimport { isNil, isString } from '../../../shared/utils';\n\nconst requests = new Map<string, Promise<unknown>>();\nexport const iconContent = new Map<string, string>();\n\n/**\n * Fetches SVG content from a given URL and optionally sanitizes it.\n * @param {string} url - The URL to fetch the SVG from.\n * @param {boolean} sanitize - Whether to sanitize the SVG content.\n * @returns {Promise<unknown>} - A promise that resolves to the SVG content.\n */\nconst fetchSvg = async (url: string, sanitize: boolean): Promise<unknown> => {\n if (isNil(url) || typeof fetch === 'undefined' || typeof window === 'undefined') {\n return;\n }\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 (sanitize !== false) {\n svgContent = validateContent(svgContent);\n }\n\n iconContent.set(url, svgContent);\n return svgContent;\n } catch (error) {\n console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);\n iconContent.set(url, '');\n }\n};\n\n/**\n * Retrieves the SVG content for a given URL, fetching and caching it if necessary.\n * @param {string} url - The URL to fetch the SVG from.\n * @param {boolean} sanitize - Whether to sanitize the SVG content.\n * @returns {Promise<unknown>} - A promise that resolves to the SVG content.\n */\nexport const getSvgContent = async (url: string, sanitize: boolean): Promise<unknown> => {\n if (isNil(url)) return;\n\n let req = requests.get(url);\n\n if (isNil(req)) {\n req = fetchSvg(url, sanitize);\n requests.set(url, req);\n }\n return req;\n};\n\n/**\n * Validates and sanitizes the SVG content.\n * @param {string} svgContent - The SVG content to validate.\n * @returns {string} - The sanitized SVG content.\n */\nexport const validateContent = (svgContent: string): string => {\n if (typeof window === 'undefined' || isNil(svgContent)) return '';\n\n const svgTag = 'svg';\n const iconCssClass = 'bq-icon__svg';\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n const svgElm = div.querySelector(svgTag);\n\n if (svgElm) {\n const existingClasses = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', `${existingClasses} ${iconCssClass}`.trim());\n svgElm.setAttribute('part', svgTag);\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n if (isValid(svgElm)) {\n return div.innerHTML;\n }\n }\n\n return '';\n};\n\n/**\n * Checks if an HTML element is valid (i.e., does not contain scripts or event handlers).\n * @param {HTMLElement} elm - The element to check.\n * @returns {boolean} - True if the element is valid, false otherwise.\n */\nexport const isValid = (elm: Element): boolean => {\n if (!elm) return false;\n if (elm.nodeType !== Node.ELEMENT_NODE) return false;\n if (elm.nodeName.toLowerCase() === 'script') return false;\n\n for (const attribute of Array.from(elm.attributes)) {\n if (isString(attribute.value) && attribute.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"]}
@@ -1 +1 @@
1
- ::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}.bq-icon__svg,.scale-x-\[--bq-icon--direction\],.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}.inline-block{display:inline-block}.scale-x-\[--bq-icon--direction\]{--tw-scale-x:var(--bq-icon--direction)}.scale-x-\[--bq-icon--direction\],.transform{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))}@-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-icon--color:inherit;--bq-icon--size:24px;display:inline-block}.bq-icon__svg{--tw-scale-x:var(--bq-icon--direction);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))}.static{position:static}.flex{display:flex}.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)}
1
+ .bq-icon__svg,.scale-x-\[--bq-icon--direction\],.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}::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}.inline-block{display:inline-block}.scale-x-\[--bq-icon--direction\]{--tw-scale-x:var(--bq-icon--direction)}.scale-x-\[--bq-icon--direction\],.transform{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))}@-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-icon--color:inherit;--bq-icon--size:24px;display:inline-block}.bq-icon__svg{--tw-scale-x:var(--bq-icon--direction);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))}.static{position:static}.flex{display:flex}.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)}
@@ -17,85 +17,6 @@ import { debounce, hasSlotContent, isDefined, isHTMLElement, isNil } from "../..
17
17
  */
18
18
  export class BqInput {
19
19
  constructor() {
20
- this.fallbackInputId = 'input';
21
- // Listeners
22
- // ==============
23
- // Public methods API
24
- // These methods are exposed on the host element.
25
- // Always use two lines.
26
- // Public Methods must be async.
27
- // Requires JSDocs for public API documentation.
28
- // ===============================================
29
- // Local methods
30
- // Internal business logic.
31
- // These methods cannot be called from the host element.
32
- // =======================================================
33
- this.handleBlur = () => {
34
- if (this.disabled)
35
- return;
36
- this.bqBlur.emit(this.el);
37
- };
38
- this.handleFocus = () => {
39
- if (this.disabled)
40
- return;
41
- this.bqFocus.emit(this.el);
42
- };
43
- this.handleInput = (ev) => {
44
- var _a;
45
- if (this.disabled)
46
- return;
47
- (_a = this.debounceBqInput) === null || _a === void 0 ? void 0 : _a.cancel();
48
- if (!isHTMLElement(ev.target, 'input'))
49
- return;
50
- this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;
51
- this.internals.setFormValue(`${this.value}`);
52
- this.debounceBqInput = debounce(() => {
53
- this.bqInput.emit({ value: this.value, el: this.el });
54
- }, this.debounceTime);
55
- this.debounceBqInput();
56
- };
57
- this.handleChange = (ev) => {
58
- if (this.disabled)
59
- return;
60
- if (!isHTMLElement(ev.target, 'input'))
61
- return;
62
- this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;
63
- this.internals.setFormValue(`${this.value}`);
64
- this.bqChange.emit({ value: this.value, el: this.el });
65
- };
66
- this.handleClear = () => {
67
- if (this.disabled)
68
- return;
69
- const { inputElem, internals } = this;
70
- // Clear input element value
71
- inputElem.value = '';
72
- this.value = inputElem.value;
73
- // Update associated form control value
74
- internals.setFormValue(undefined);
75
- };
76
- this.handleClearClick = (ev) => {
77
- ev.stopPropagation();
78
- this.handleClear();
79
- const { bqClear, bqChange, bqInput, el, inputElem } = this;
80
- // Emit events
81
- bqClear.emit(el);
82
- bqInput.emit({ value: this.value, el });
83
- bqChange.emit({ value: this.value, el });
84
- // Refocus input element
85
- inputElem.focus();
86
- };
87
- this.handleLabelSlotChange = () => {
88
- this.hasLabel = hasSlotContent(this.labelElem);
89
- };
90
- this.handlePrefixSlotChange = () => {
91
- this.hasPrefix = hasSlotContent(this.prefixElem);
92
- };
93
- this.handleSuffixSlotChange = () => {
94
- this.hasSuffix = hasSlotContent(this.suffixElem);
95
- };
96
- this.handleHelperTextSlotChange = () => {
97
- this.hasHelperText = hasSlotContent(this.helperTextElem);
98
- };
99
20
  this.hasHelperText = false;
100
21
  this.hasLabel = false;
101
22
  this.hasPrefix = false;
@@ -125,6 +46,19 @@ export class BqInput {
125
46
  this.validationStatus = 'none';
126
47
  this.value = undefined;
127
48
  }
49
+ // Own Properties
50
+ // ====================
51
+ helperTextElem;
52
+ inputElem;
53
+ labelElem;
54
+ prefixElem;
55
+ suffixElem;
56
+ debounceBqInput;
57
+ fallbackInputId = 'input';
58
+ // Reference to host HTML element
59
+ // ===================================
60
+ el;
61
+ internals;
128
62
  // Prop lifecycle events
129
63
  // =======================
130
64
  handleValueChange() {
@@ -136,6 +70,25 @@ export class BqInput {
136
70
  this.hasValue = isDefined(this.value);
137
71
  this.internals.setFormValue(`${this.value}`);
138
72
  }
73
+ // Events section
74
+ // Requires JSDocs for public API documentation
75
+ // ==============================================
76
+ /** Callback handler emitted when the input loses focus */
77
+ bqBlur;
78
+ /**
79
+ * Callback handler emitted when the input value has changed and the input loses focus.
80
+ * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.
81
+ */
82
+ bqChange;
83
+ /** Callback handler emitted when the input value has been cleared */
84
+ bqClear;
85
+ /** Callback handler emitted when the input has received focus */
86
+ bqFocus;
87
+ /**
88
+ * Callback handler emitted when the input value changes.
89
+ * This handler is called whenever the user types or pastes text into the input field.
90
+ */
91
+ bqInput;
139
92
  // Component lifecycle events
140
93
  // Ordered by their natural call order
141
94
  // =====================================
@@ -147,23 +100,100 @@ export class BqInput {
147
100
  return;
148
101
  this.handleClear();
149
102
  }
103
+ // Listeners
104
+ // ==============
105
+ // Public methods API
106
+ // These methods are exposed on the host element.
107
+ // Always use two lines.
108
+ // Public Methods must be async.
109
+ // Requires JSDocs for public API documentation.
110
+ // ===============================================
111
+ // Local methods
112
+ // Internal business logic.
113
+ // These methods cannot be called from the host element.
114
+ // =======================================================
115
+ handleBlur = () => {
116
+ if (this.disabled)
117
+ return;
118
+ this.bqBlur.emit(this.el);
119
+ };
120
+ handleFocus = () => {
121
+ if (this.disabled)
122
+ return;
123
+ this.bqFocus.emit(this.el);
124
+ };
125
+ handleInput = (ev) => {
126
+ if (this.disabled)
127
+ return;
128
+ this.debounceBqInput?.cancel();
129
+ if (!isHTMLElement(ev.target, 'input'))
130
+ return;
131
+ this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;
132
+ this.internals.setFormValue(`${this.value}`);
133
+ this.debounceBqInput = debounce(() => {
134
+ this.bqInput.emit({ value: this.value, el: this.el });
135
+ }, this.debounceTime);
136
+ this.debounceBqInput();
137
+ };
138
+ handleChange = (ev) => {
139
+ if (this.disabled)
140
+ return;
141
+ if (!isHTMLElement(ev.target, 'input'))
142
+ return;
143
+ this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;
144
+ this.internals.setFormValue(`${this.value}`);
145
+ this.bqChange.emit({ value: this.value, el: this.el });
146
+ };
147
+ handleClear = () => {
148
+ if (this.disabled)
149
+ return;
150
+ const { inputElem, internals } = this;
151
+ // Clear input element value
152
+ inputElem.value = '';
153
+ this.value = inputElem.value;
154
+ // Update associated form control value
155
+ internals.setFormValue(undefined);
156
+ };
157
+ handleClearClick = (ev) => {
158
+ ev.stopPropagation();
159
+ this.handleClear();
160
+ const { bqClear, bqChange, bqInput, el, inputElem } = this;
161
+ // Emit events
162
+ bqClear.emit(el);
163
+ bqInput.emit({ value: this.value, el });
164
+ bqChange.emit({ value: this.value, el });
165
+ // Refocus input element
166
+ inputElem.focus();
167
+ };
168
+ handleLabelSlotChange = () => {
169
+ this.hasLabel = hasSlotContent(this.labelElem);
170
+ };
171
+ handlePrefixSlotChange = () => {
172
+ this.hasPrefix = hasSlotContent(this.prefixElem);
173
+ };
174
+ handleSuffixSlotChange = () => {
175
+ this.hasSuffix = hasSlotContent(this.suffixElem);
176
+ };
177
+ handleHelperTextSlotChange = () => {
178
+ this.hasHelperText = hasSlotContent(this.helperTextElem);
179
+ };
150
180
  // render() function
151
181
  // Always the last one in the class.
152
182
  // ===================================
153
183
  render() {
154
- return (h("div", { key: 'c9d184b8abfbaebda3478f7b8892c7d2bf024fdc', class: "bq-input", part: "base" }, h("label", { key: 'a938804cb78f78b65c1c2139d90fd98e5edecb52', class: { 'bq-input--label': true, '!hidden': !this.hasLabel }, htmlFor: this.name || this.fallbackInputId, ref: (labelElem) => (this.labelElem = labelElem), part: "label" }, h("slot", { key: '37c407ab1b0399be8371629431d839f138f751df', name: "label", onSlotchange: this.handleLabelSlotChange })), h("div", { key: '130305745ed36bbe2d1012508f3ae2653b6794b2', class: {
184
+ 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: {
155
185
  'bq-input--control': true,
156
186
  [`validation-${this.validationStatus}`]: true,
157
187
  disabled: this.disabled,
158
- }, part: "control" }, h("span", { key: '59c8d5f28373cae3741f4420da1fbc4744869806', class: { 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }, ref: (spanElem) => (this.prefixElem = spanElem), part: "prefix" }, h("slot", { key: '4f6a705b9a4e7deb46e334c11c6b242b091afec6', name: "prefix", onSlotchange: this.handlePrefixSlotChange })), h("input", { key: '6c238b5c2329d3f77dd4cb8a0aac9ffbfc937aad', 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",
188
+ }, 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",
159
189
  // Events
160
190
  onBlur: this.handleBlur, onChange: this.handleChange, onFocus: this.handleFocus, onInput: this.handleInput }), this.hasValue && !this.disabled && !this.disableClear && (
161
191
  // The clear button will be visible as long as the input has a value
162
192
  // and the parent group is hovered or has focus-within
163
- h("bq-button", { key: 'bae89f316a8c7cfb04d1bcff8df6e418c93fa838', 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: 'd00287e78d20d2fdcbac8aa89a3bb30c40c6b8f1', name: "clear-icon" }, h("bq-icon", { key: '9be1f57ece6cea670a5c7adc76fb70feb66663c5', name: "x-circle", class: "flex" })))), h("span", { key: '93421c6d1e061e2a19315d1d8aadbcc2a01f19c3', class: { 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }, ref: (spanElem) => (this.suffixElem = spanElem), part: "suffix" }, h("slot", { key: 'ccb589bdc3b227467885d728c82f3fcedacb1695', name: "suffix", onSlotchange: this.handleSuffixSlotChange }))), h("div", { key: 'b0374c936b4e3839ed936ade23ad59aa3c69cf9a', class: {
193
+ 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: {
164
194
  [`bq-input--helper-text validation-${this.validationStatus}`]: true,
165
195
  '!hidden': !this.hasHelperText,
166
- }, ref: (divElem) => (this.helperTextElem = divElem), part: "helper-text" }, h("slot", { key: 'a0a8c8d546efa959d6126e96ddf97a702263026f', name: "helper-text", onSlotchange: this.handleHelperTextSlotChange }))));
196
+ }, ref: (divElem) => (this.helperTextElem = divElem), part: "helper-text" }, h("slot", { key: 'aefb690ab249d44658abbdd2b4e17bc578d76088', name: "helper-text", onSlotchange: this.handleHelperTextSlotChange }))));
167
197
  }
168
198
  static get is() { return "bq-input"; }
169
199
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-input.js","sourceRoot":"","sources":["../../../../../../src/components/input/bq-input.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"bq-input.js","sourceRoot":"","sources":["../../../../../../src/components/input/bq-input.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}