bromcom-ui-next 0.1.8 → 0.1.10

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 (258) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  3. package/dist/bromcom-ui/{p-a1aae3ef.entry.js → p-09b53a8f.entry.js} +2 -2
  4. package/dist/bromcom-ui/{p-49b0e982.entry.js → p-1392a235.entry.js} +2 -2
  5. package/dist/bromcom-ui/{p-389f1976.entry.js → p-1867c3e6.entry.js} +2 -2
  6. package/dist/bromcom-ui/p-1d44a091.entry.js +2 -0
  7. package/dist/bromcom-ui/{p-cee68279.entry.js.map → p-1d44a091.entry.js.map} +1 -1
  8. package/dist/bromcom-ui/p-2820ad28.entry.js +2 -0
  9. package/dist/bromcom-ui/p-2820ad28.entry.js.map +1 -0
  10. package/dist/bromcom-ui/{p-58ee24a8.entry.js → p-2cb15e60.entry.js} +2 -2
  11. package/dist/bromcom-ui/p-3583888a.entry.js +2 -0
  12. package/dist/bromcom-ui/{p-9ab4d2be.entry.js.map → p-3583888a.entry.js.map} +1 -1
  13. package/dist/bromcom-ui/{p-cd271b49.entry.js → p-3d424afc.entry.js} +2 -2
  14. package/dist/bromcom-ui/p-3ed3885e.entry.js +2 -0
  15. package/dist/bromcom-ui/{p-a3dbbeaf.entry.js.map → p-3ed3885e.entry.js.map} +1 -1
  16. package/dist/bromcom-ui/{p-e89ab4a7.entry.js → p-3f153277.entry.js} +2 -2
  17. package/dist/bromcom-ui/{p-13784cd7.entry.js → p-4762d66b.entry.js} +2 -2
  18. package/dist/bromcom-ui/{p-bf69fc8a.entry.js → p-4bba4ab4.entry.js} +2 -2
  19. package/dist/bromcom-ui/{p-9594cebb.js → p-50133556.js} +2 -2
  20. package/dist/bromcom-ui/{p-d57587e5.entry.js → p-50713153.entry.js} +2 -2
  21. package/dist/bromcom-ui/{p-056c9348.entry.js → p-5541403c.entry.js} +2 -2
  22. package/dist/bromcom-ui/p-651a6761.entry.js +2 -0
  23. package/dist/bromcom-ui/p-651a6761.entry.js.map +1 -0
  24. package/dist/bromcom-ui/p-79082ca0.entry.js +2 -0
  25. package/dist/bromcom-ui/p-79082ca0.entry.js.map +1 -0
  26. package/dist/bromcom-ui/{p-bd0f7e78.entry.js → p-86704b91.entry.js} +2 -2
  27. package/dist/bromcom-ui/{p-55c4263c.entry.js → p-898d5cf6.entry.js} +2 -2
  28. package/dist/bromcom-ui/p-9bd6c84d.entry.js +2 -0
  29. package/dist/bromcom-ui/p-9bd6c84d.entry.js.map +1 -0
  30. package/dist/bromcom-ui/{p-0d0d6483.entry.js → p-c45d9e50.entry.js} +2 -2
  31. package/dist/bromcom-ui/{p-625bbd86.entry.js → p-c78b12c3.entry.js} +2 -2
  32. package/dist/bromcom-ui/{p-1bf71c9b.entry.js → p-d7b636bf.entry.js} +2 -2
  33. package/dist/bromcom-ui/p-ddf64315.js.map +1 -1
  34. package/dist/bromcom-ui/{p-c995a48c.entry.js → p-ea274e8b.entry.js} +2 -2
  35. package/dist/bromcom-ui/p-ea6cdc17.entry.js +2 -0
  36. package/dist/bromcom-ui/{p-0d273bac.entry.js.map → p-ea6cdc17.entry.js.map} +1 -1
  37. package/dist/bromcom-ui/p-edfa3b52.entry.js +2 -0
  38. package/dist/bromcom-ui/p-edfa3b52.entry.js.map +1 -0
  39. package/dist/cjs/app-globals-e0eef2e9.js.map +1 -1
  40. package/dist/cjs/bcm-accordion-group.cjs.entry.js +2 -2
  41. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +1 -1
  42. package/dist/cjs/bcm-accordion.cjs.entry.js +2 -2
  43. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  44. package/dist/cjs/bcm-avatar.cjs.entry.js +89 -0
  45. package/dist/cjs/bcm-avatar.cjs.entry.js.map +1 -0
  46. package/dist/cjs/bcm-badge.cjs.entry.js +123 -0
  47. package/dist/cjs/bcm-badge.cjs.entry.js.map +1 -0
  48. package/dist/cjs/bcm-basic-badge.cjs.entry.js +92 -0
  49. package/dist/cjs/bcm-basic-badge.cjs.entry.js.map +1 -0
  50. package/dist/cjs/bcm-button-group.cjs.entry.js +2 -2
  51. package/dist/cjs/bcm-button_5.cjs.entry.js +830 -0
  52. package/dist/cjs/bcm-button_5.cjs.entry.js.map +1 -0
  53. package/dist/cjs/bcm-checkbox.cjs.entry.js +1 -1
  54. package/dist/cjs/bcm-chip.cjs.entry.js +2 -2
  55. package/dist/cjs/bcm-chip.cjs.entry.js.map +1 -1
  56. package/dist/cjs/bcm-divider.cjs.entry.js +1 -1
  57. package/dist/cjs/bcm-input.cjs.entry.js +5 -3
  58. package/dist/cjs/bcm-input.cjs.entry.js.map +1 -1
  59. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +1 -1
  60. package/dist/cjs/bcm-popover.cjs.entry.js +1 -1
  61. package/dist/cjs/bcm-radio-group.cjs.entry.js +2 -2
  62. package/dist/cjs/bcm-radio.cjs.entry.js +2 -2
  63. package/dist/cjs/bcm-radio.cjs.entry.js.map +1 -1
  64. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +2 -2
  65. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +2 -2
  66. package/dist/cjs/bcm-switch.cjs.entry.js +2 -2
  67. package/dist/cjs/bcm-tabs-content.cjs.entry.js +1 -1
  68. package/dist/cjs/bcm-tabs-list.cjs.entry.js +1 -1
  69. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +1 -1
  70. package/dist/cjs/bcm-tabs.cjs.entry.js +1 -1
  71. package/dist/cjs/bcm-textarea.cjs.entry.js +3 -3
  72. package/dist/cjs/bcm-tooltip.cjs.entry.js +1 -1
  73. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  74. package/dist/cjs/loader.cjs.js +1 -1
  75. package/dist/collection/collection-manifest.json +1 -1
  76. package/dist/collection/components/accordion/accordion.component.js +2 -2
  77. package/dist/collection/components/accordion-group/accordion-group.component.js +1 -1
  78. package/dist/collection/components/accordion-group/accordion-group.css +1 -1
  79. package/dist/collection/components/alert/alert.component.js +1 -1
  80. package/dist/collection/components/badge/badge.component.js +2 -2
  81. package/dist/collection/components/badge/badge.css +1 -1
  82. package/dist/collection/components/basic-badge/basic-badge.component.js +2 -2
  83. package/dist/collection/components/basic-badge/basic-badge.css +1 -1
  84. package/dist/collection/components/button/button.component.js +2 -2
  85. package/dist/collection/components/button/button.css +1 -1
  86. package/dist/collection/components/button-group/button-group.component.js +2 -2
  87. package/dist/collection/components/checkbox/checkbox.component.js +1 -1
  88. package/dist/collection/components/chip/chip.component.js +1 -1
  89. package/dist/collection/components/chip/chip.css +1 -1
  90. package/dist/collection/components/divider/divider.component.js +1 -1
  91. package/dist/collection/components/dropdown/dropdown.component.js +2 -2
  92. package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
  93. package/dist/collection/components/dropdown/dropdown.css +1 -1
  94. package/dist/collection/components/dropdown-item/dropdown-item.component.js +2 -2
  95. package/dist/collection/components/input/input.component.js +4 -2
  96. package/dist/collection/components/input/input.component.js.map +1 -1
  97. package/dist/collection/components/input/input.css +1 -1
  98. package/dist/collection/components/linked/linked.component.js +610 -49
  99. package/dist/collection/components/linked/linked.component.js.map +1 -1
  100. package/dist/collection/components/linked/linked.css +1 -1
  101. package/dist/collection/components/pop-confirm/pop-confirm.component.js +1 -1
  102. package/dist/collection/components/popover/popover.component.js +1 -1
  103. package/dist/collection/components/radio/radio.component.js +1 -1
  104. package/dist/collection/components/radio/radio.css +1 -1
  105. package/dist/collection/components/radio-group/radio-group.component.js +2 -2
  106. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +2 -2
  107. package/dist/collection/components/segmented-picker/segmented-picker.component.js +2 -2
  108. package/dist/collection/components/switch/switch.component.js +2 -2
  109. package/dist/collection/components/tabs/tabs-content.component.js +1 -1
  110. package/dist/collection/components/tabs/tabs-list.component.js +1 -1
  111. package/dist/collection/components/tabs/tabs-trigger.component.js +1 -1
  112. package/dist/collection/components/tabs/tabs.component.js +1 -1
  113. package/dist/collection/components/text/text.component.js +28 -1
  114. package/dist/collection/components/text/text.component.js.map +1 -1
  115. package/dist/collection/components/text/text.css +1 -1
  116. package/dist/collection/components/textarea/textarea.component.js +3 -3
  117. package/dist/collection/components/tooltip/tooltip.component.js +1 -1
  118. package/dist/components/bcm-accordion-group.js +2 -2
  119. package/dist/components/bcm-accordion-group.js.map +1 -1
  120. package/dist/components/bcm-accordion.js +2 -2
  121. package/dist/components/bcm-alert.js +1 -1
  122. package/dist/components/bcm-avatar.js +1 -1
  123. package/dist/components/bcm-badge.js +1 -1
  124. package/dist/components/bcm-basic-badge.js +3 -3
  125. package/dist/components/bcm-basic-badge.js.map +1 -1
  126. package/dist/components/bcm-button-group.js +2 -2
  127. package/dist/components/bcm-button.js +1 -1
  128. package/dist/components/bcm-checkbox.js +1 -1
  129. package/dist/components/bcm-chip.js +2 -2
  130. package/dist/components/bcm-chip.js.map +1 -1
  131. package/dist/components/bcm-divider.js +1 -1
  132. package/dist/components/bcm-dropdown-item.js +2 -2
  133. package/dist/components/bcm-dropdown.js +5 -5
  134. package/dist/components/bcm-dropdown.js.map +1 -1
  135. package/dist/components/bcm-input.js +5 -3
  136. package/dist/components/bcm-input.js.map +1 -1
  137. package/dist/components/bcm-linked.js +1 -1
  138. package/dist/components/bcm-pop-confirm.js +3 -3
  139. package/dist/components/bcm-popover.js +2 -2
  140. package/dist/components/bcm-radio-group.js +2 -2
  141. package/dist/components/bcm-radio.js +2 -2
  142. package/dist/components/bcm-radio.js.map +1 -1
  143. package/dist/components/bcm-segmented-picker-option.js +2 -2
  144. package/dist/components/bcm-segmented-picker.js +2 -2
  145. package/dist/components/bcm-switch.js +2 -2
  146. package/dist/components/bcm-tabs-content.js +1 -1
  147. package/dist/components/bcm-tabs-list.js +1 -1
  148. package/dist/components/bcm-tabs-trigger.js +1 -1
  149. package/dist/components/bcm-tabs.js +1 -1
  150. package/dist/components/bcm-text.js +11 -3
  151. package/dist/components/bcm-text.js.map +1 -1
  152. package/dist/components/bcm-textarea.js +3 -3
  153. package/dist/components/bcm-tooltip.js +2 -2
  154. package/dist/components/{p-49f20ff7.js → p-2fe931c0.js} +4 -4
  155. package/dist/components/{p-49f20ff7.js.map → p-2fe931c0.js.map} +1 -1
  156. package/dist/components/{p-9594cebb.js → p-50133556.js} +2 -2
  157. package/dist/components/{p-9594cebb.js.map → p-50133556.js.map} +1 -1
  158. package/dist/components/p-9bf969b2.js +336 -0
  159. package/dist/components/p-9bf969b2.js.map +1 -0
  160. package/dist/components/{p-434bf03a.js → p-c978f1a7.js} +4 -4
  161. package/dist/components/{p-434bf03a.js.map → p-c978f1a7.js.map} +1 -1
  162. package/dist/esm/app-globals-f7994f55.js.map +1 -1
  163. package/dist/esm/bcm-accordion-group.entry.js +2 -2
  164. package/dist/esm/bcm-accordion-group.entry.js.map +1 -1
  165. package/dist/esm/bcm-accordion.entry.js +2 -2
  166. package/dist/esm/bcm-alert.entry.js +1 -1
  167. package/dist/esm/bcm-avatar.entry.js +85 -0
  168. package/dist/esm/bcm-avatar.entry.js.map +1 -0
  169. package/dist/esm/bcm-badge.entry.js +119 -0
  170. package/dist/esm/bcm-badge.entry.js.map +1 -0
  171. package/dist/esm/bcm-basic-badge.entry.js +88 -0
  172. package/dist/esm/bcm-basic-badge.entry.js.map +1 -0
  173. package/dist/esm/bcm-button-group.entry.js +2 -2
  174. package/dist/esm/bcm-button_5.entry.js +822 -0
  175. package/dist/esm/bcm-button_5.entry.js.map +1 -0
  176. package/dist/esm/bcm-checkbox.entry.js +1 -1
  177. package/dist/esm/bcm-chip.entry.js +2 -2
  178. package/dist/esm/bcm-chip.entry.js.map +1 -1
  179. package/dist/esm/bcm-divider.entry.js +1 -1
  180. package/dist/esm/bcm-input.entry.js +5 -3
  181. package/dist/esm/bcm-input.entry.js.map +1 -1
  182. package/dist/esm/bcm-pop-confirm.entry.js +2 -2
  183. package/dist/esm/bcm-popover.entry.js +2 -2
  184. package/dist/esm/bcm-radio-group.entry.js +2 -2
  185. package/dist/esm/bcm-radio.entry.js +2 -2
  186. package/dist/esm/bcm-radio.entry.js.map +1 -1
  187. package/dist/esm/bcm-segmented-picker-option.entry.js +2 -2
  188. package/dist/esm/bcm-segmented-picker.entry.js +2 -2
  189. package/dist/esm/bcm-switch.entry.js +2 -2
  190. package/dist/esm/bcm-tabs-content.entry.js +1 -1
  191. package/dist/esm/bcm-tabs-list.entry.js +1 -1
  192. package/dist/esm/bcm-tabs-trigger.entry.js +1 -1
  193. package/dist/esm/bcm-tabs.entry.js +1 -1
  194. package/dist/esm/bcm-textarea.entry.js +3 -3
  195. package/dist/esm/bcm-tooltip.entry.js +2 -2
  196. package/dist/esm/bromcom-ui.js +1 -1
  197. package/dist/esm/{floating-ui.dom.esm-480e0f15.js → floating-ui.dom.esm-b7749b71.js} +2 -2
  198. package/dist/esm/{floating-ui.dom.esm-480e0f15.js.map → floating-ui.dom.esm-b7749b71.js.map} +1 -1
  199. package/dist/esm/loader.js +1 -1
  200. package/dist/types/components/linked/linked.component.d.ts +47 -7
  201. package/dist/types/components/text/text.component.d.ts +3 -0
  202. package/dist/types/components.d.ts +57 -1
  203. package/package.json +2 -1
  204. package/dist/bromcom-ui/p-0d273bac.entry.js +0 -2
  205. package/dist/bromcom-ui/p-9ab4d2be.entry.js +0 -2
  206. package/dist/bromcom-ui/p-a3dbbeaf.entry.js +0 -2
  207. package/dist/bromcom-ui/p-b1b493ab.entry.js +0 -2
  208. package/dist/bromcom-ui/p-b1b493ab.entry.js.map +0 -1
  209. package/dist/bromcom-ui/p-c427ffee.entry.js +0 -2
  210. package/dist/bromcom-ui/p-c427ffee.entry.js.map +0 -1
  211. package/dist/bromcom-ui/p-c444235a.entry.js +0 -2
  212. package/dist/bromcom-ui/p-c444235a.entry.js.map +0 -1
  213. package/dist/bromcom-ui/p-cee68279.entry.js +0 -2
  214. package/dist/bromcom-ui/p-e7e8305f.entry.js +0 -2
  215. package/dist/bromcom-ui/p-e7e8305f.entry.js.map +0 -1
  216. package/dist/bromcom-ui/p-f4e8a47d.entry.js +0 -2
  217. package/dist/bromcom-ui/p-f4e8a47d.entry.js.map +0 -1
  218. package/dist/bromcom-ui/p-f7890098.entry.js +0 -2
  219. package/dist/bromcom-ui/p-f7890098.entry.js.map +0 -1
  220. package/dist/cjs/bcm-avatar_4.cjs.entry.js +0 -596
  221. package/dist/cjs/bcm-avatar_4.cjs.entry.js.map +0 -1
  222. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +0 -63
  223. package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
  224. package/dist/cjs/bcm-dropdown.cjs.entry.js +0 -56
  225. package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
  226. package/dist/cjs/bcm-linked.cjs.entry.js +0 -91
  227. package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
  228. package/dist/cjs/bcm-text.cjs.entry.js +0 -119
  229. package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
  230. package/dist/components/p-5f7a0d0d.js +0 -107
  231. package/dist/components/p-5f7a0d0d.js.map +0 -1
  232. package/dist/esm/bcm-avatar_4.entry.js +0 -589
  233. package/dist/esm/bcm-avatar_4.entry.js.map +0 -1
  234. package/dist/esm/bcm-dropdown-item.entry.js +0 -59
  235. package/dist/esm/bcm-dropdown-item.entry.js.map +0 -1
  236. package/dist/esm/bcm-dropdown.entry.js +0 -52
  237. package/dist/esm/bcm-dropdown.entry.js.map +0 -1
  238. package/dist/esm/bcm-linked.entry.js +0 -87
  239. package/dist/esm/bcm-linked.entry.js.map +0 -1
  240. package/dist/esm/bcm-text.entry.js +0 -115
  241. package/dist/esm/bcm-text.entry.js.map +0 -1
  242. /package/dist/bromcom-ui/{p-a1aae3ef.entry.js.map → p-09b53a8f.entry.js.map} +0 -0
  243. /package/dist/bromcom-ui/{p-49b0e982.entry.js.map → p-1392a235.entry.js.map} +0 -0
  244. /package/dist/bromcom-ui/{p-389f1976.entry.js.map → p-1867c3e6.entry.js.map} +0 -0
  245. /package/dist/bromcom-ui/{p-58ee24a8.entry.js.map → p-2cb15e60.entry.js.map} +0 -0
  246. /package/dist/bromcom-ui/{p-cd271b49.entry.js.map → p-3d424afc.entry.js.map} +0 -0
  247. /package/dist/bromcom-ui/{p-e89ab4a7.entry.js.map → p-3f153277.entry.js.map} +0 -0
  248. /package/dist/bromcom-ui/{p-13784cd7.entry.js.map → p-4762d66b.entry.js.map} +0 -0
  249. /package/dist/bromcom-ui/{p-bf69fc8a.entry.js.map → p-4bba4ab4.entry.js.map} +0 -0
  250. /package/dist/bromcom-ui/{p-9594cebb.js.map → p-50133556.js.map} +0 -0
  251. /package/dist/bromcom-ui/{p-d57587e5.entry.js.map → p-50713153.entry.js.map} +0 -0
  252. /package/dist/bromcom-ui/{p-056c9348.entry.js.map → p-5541403c.entry.js.map} +0 -0
  253. /package/dist/bromcom-ui/{p-bd0f7e78.entry.js.map → p-86704b91.entry.js.map} +0 -0
  254. /package/dist/bromcom-ui/{p-55c4263c.entry.js.map → p-898d5cf6.entry.js.map} +0 -0
  255. /package/dist/bromcom-ui/{p-0d0d6483.entry.js.map → p-c45d9e50.entry.js.map} +0 -0
  256. /package/dist/bromcom-ui/{p-625bbd86.entry.js.map → p-c78b12c3.entry.js.map} +0 -0
  257. /package/dist/bromcom-ui/{p-1bf71c9b.entry.js.map → p-d7b636bf.entry.js.map} +0 -0
  258. /package/dist/bromcom-ui/{p-c995a48c.entry.js.map → p-ea274e8b.entry.js.map} +0 -0
@@ -0,0 +1,822 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-8571fbf7.js';
2
+ import { c as ce } from './index-f3b17e60.js';
3
+ import { a as autoUpdate, o as offset, f as flip, s as shift, c as computePosition } from './floating-ui.dom.esm-b7749b71.js';
4
+ import { c as classNames } from './index-097075ad.js';
5
+
6
+ const variantOptions = {
7
+ save: {
8
+ text: 'Save',
9
+ status: 'success',
10
+ icon: 'far fa-save',
11
+ iconPosition: 'prefix',
12
+ kind: 'primary',
13
+ },
14
+ ok: {
15
+ text: 'Ok',
16
+ status: 'success',
17
+ icon: 'far fa-check',
18
+ iconPosition: 'prefix',
19
+ },
20
+ new: {
21
+ text: 'New',
22
+ status: 'success',
23
+ icon: 'far fa-plus',
24
+ iconPosition: 'prefix',
25
+ },
26
+ add: {
27
+ text: 'Add',
28
+ status: 'success',
29
+ icon: 'far fa-plus',
30
+ iconPosition: 'prefix',
31
+ },
32
+ create: {
33
+ text: 'Create',
34
+ status: 'success',
35
+ icon: 'far fa-plus',
36
+ iconPosition: 'prefix',
37
+ },
38
+ prev: {
39
+ text: 'Prev',
40
+ status: 'default',
41
+ icon: 'far fa-arrow-left',
42
+ iconPosition: 'prefix',
43
+ },
44
+ next: {
45
+ text: 'Next',
46
+ status: 'default',
47
+ icon: 'far fa-arrow-right',
48
+ iconPosition: 'suffix',
49
+ },
50
+ apply: {
51
+ text: 'Apply',
52
+ status: 'default',
53
+ icon: 'far fa-check-circle',
54
+ iconPosition: 'prefix',
55
+ },
56
+ submit: {
57
+ text: 'Submit',
58
+ status: 'default',
59
+ icon: 'far fa-save',
60
+ iconPosition: 'prefix',
61
+ },
62
+ send: {
63
+ text: 'Send',
64
+ status: 'success',
65
+ icon: 'far fa-paper-plane',
66
+ iconPosition: 'prefix',
67
+ },
68
+ delete: {
69
+ text: 'Delete',
70
+ status: 'error',
71
+ icon: 'far fa-trash',
72
+ iconPosition: 'prefix',
73
+ },
74
+ cancel: {
75
+ text: 'Cancel',
76
+ status: 'error',
77
+ icon: 'far fa-times',
78
+ iconPosition: 'prefix',
79
+ },
80
+ decline: {
81
+ text: 'Decline',
82
+ status: 'error',
83
+ icon: 'far fa-ban',
84
+ iconPosition: 'prefix',
85
+ },
86
+ close: {
87
+ text: 'Close',
88
+ status: 'error',
89
+ icon: 'far fa-times-circle',
90
+ iconPosition: 'prefix',
91
+ },
92
+ archive: {
93
+ text: 'Archive',
94
+ status: 'error',
95
+ icon: 'far fa-folder-open',
96
+ iconPosition: 'prefix',
97
+ },
98
+ remove: {
99
+ text: 'Remove',
100
+ status: 'error',
101
+ icon: 'far fa-minus-circle',
102
+ iconPosition: 'prefix',
103
+ },
104
+ edit: {
105
+ text: 'Edit',
106
+ status: 'default',
107
+ icon: 'far fa-edit',
108
+ iconPosition: 'prefix',
109
+ },
110
+ export: {
111
+ text: 'Export',
112
+ status: 'default',
113
+ icon: 'far fa-sign-out',
114
+ iconPosition: 'prefix',
115
+ },
116
+ import: {
117
+ text: 'Import',
118
+ status: 'default',
119
+ icon: 'far fa-sign-in',
120
+ iconPosition: 'prefix',
121
+ },
122
+ filter: {
123
+ text: 'Filter',
124
+ status: 'default',
125
+ icon: 'far fa-filter',
126
+ iconPosition: 'prefix',
127
+ },
128
+ update: {
129
+ text: 'Update',
130
+ status: 'default',
131
+ icon: 'far fa-sync',
132
+ iconPosition: 'prefix',
133
+ },
134
+ reset: {
135
+ text: 'Reset',
136
+ status: 'default',
137
+ icon: 'far fa-sync',
138
+ iconPosition: 'prefix',
139
+ },
140
+ download: {
141
+ text: 'Download',
142
+ status: 'default',
143
+ icon: 'far fa-download',
144
+ iconPosition: 'prefix',
145
+ },
146
+ };
147
+
148
+ const buttonCss = ".relative{position:relative}:host{display:inline-block;position:relative}:host([full-width]){width:100%}:host([position=first]) .bcm-button{border-bottom-right-radius:0;border-top-right-radius:0}:host([position=middle]) .bcm-button{border-radius:0}:host([position=last]) .bcm-button{border-bottom-left-radius:0;border-top-left-radius:0}:host([position=first].orientation-vertical) .bcm-button{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--bcm-ui-border-radius,4px);border-top-right-radius:var(--bcm-ui-border-radius,4px)}:host([position=middle].orientation-vertical) .bcm-button{border-radius:0}:host([position=last].orientation-vertical) .bcm-button{border-bottom-left-radius:var(--bcm-ui-border-radius,4px);border-bottom-right-radius:var(--bcm-ui-border-radius,4px);border-top-left-radius:0;border-top-right-radius:0}.static{position:static}.flex{display:flex}.max-h-64{max-height:16rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.outline{outline-style:solid}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.absolute{position:absolute}.z-\\[9999\\]{z-index:9999}.mx-auto{margin-left:auto;margin-right:auto}.hidden{display:none}.size-6{height:1.5rem;width:1.5rem}.h-2{height:.5rem}.w-4{width:1rem}.max-w-80{max-width:20rem}.max-w-96{max-width:24rem}.flex-1{flex:1 1 0%}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-pretty{text-wrap:pretty}.rounded-\\[--popover-radius\\]{border-radius:var(--popover-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--popover-bg\\]{background-color:var(--popover-bg)}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.font-sans{font-family:Inter,sans-serif}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.text-size-inherit{font-size:inherit;line-height:inherit}.font-semibold{font-weight:600}.\\!text-color-header{color:var(--bcm-ui-color-text-header)!important}.text-\\[--text-color\\]{color:var(--text-color)}.shadow,.shadow-2{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2{--tw-shadow:var(--bcm-ui-box-shadow-2);--tw-shadow-colored:var(--bcm-ui-box-shadow-2)}.hover\\:bg-gray-100:hover{background-color:oklch(.967 .003 264.542)}.inline-flex{display:inline-flex}.min-h-10{min-height:2.5rem}.min-h-6{min-height:1.5rem}.min-h-8{min-height:2rem}.cursor-not-allowed{cursor:not-allowed}.appearance-none{appearance:none}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-final-border-color\\]{border-color:var(--bcm-final-border-color)}.border-color-disabled{border-color:var(--bcm-ui-color-border-disabled)}.bg-\\[--bcm-final-bg-color\\]{background-color:var(--bcm-final-bg-color)}.bg-\\[--bcm-ui-color-background-disabled-default\\]{background-color:var(--bcm-ui-color-background-disabled-default)}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-px{padding-bottom:1px;padding-top:1px}.leading-none{line-height:1}.text-\\[--bcm-final-text-color\\]{color:var(--bcm-final-text-color)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.outline-0{outline-width:0}.hover\\:bg-\\[--bcm-final-hover-bg-color\\]:hover{background-color:var(--bcm-final-hover-bg-color)}.focus-visible\\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\\:bg-\\[--bcm-final-active-bg-color\\]:active{background-color:var(--bcm-final-active-bg-color)}";
149
+ const BcmButtonStyle0 = buttonCss;
150
+
151
+ const BcmButton = class {
152
+ constructor(hostRef) {
153
+ registerInstance(this, hostRef);
154
+ this.bcmClick = createEvent(this, "bcmClick", 1);
155
+ this.bcmFocus = createEvent(this, "bcmFocus", 1);
156
+ this.bcmBlur = createEvent(this, "bcmBlur", 1);
157
+ /** Defines the main visual style of the button */
158
+ this.kind = 'primary';
159
+ /** Controls the button size */
160
+ this.size = 'medium';
161
+ /** Defines the button's status/state color */
162
+ this.status = 'default';
163
+ /** Icon placement (prefix/suffix) */
164
+ this.iconPosition = 'prefix';
165
+ /** Icon-only button mode */
166
+ this.iconOnly = false;
167
+ /** Full width button */
168
+ this.fullWidth = false;
169
+ /** HTML button type */
170
+ this.type = 'button';
171
+ /** Loading state */
172
+ this.loading = false;
173
+ /** Disabled state */
174
+ this.disabled = false;
175
+ /** Active state */
176
+ this.active = false;
177
+ this.handleClick = (event) => {
178
+ if (!this.disabled && !this.loading) {
179
+ this.bcmClick.emit(event);
180
+ }
181
+ };
182
+ this.handleFocus = (event) => {
183
+ this.bcmFocus.emit(event);
184
+ };
185
+ this.handleBlur = (event) => {
186
+ this.bcmBlur.emit(event);
187
+ };
188
+ this.buttonClass = ce({
189
+ base: 'bcm-button appearance-none inline-flex items-center justify-center border border-solid rounded outline-0',
190
+ variants: {
191
+ size: {
192
+ small: 'text-size-4 py-px px-2 min-h-6',
193
+ medium: 'text-size-5 py-0.5 px-3 min-h-8',
194
+ large: 'text-size-6 py-1 px-3 min-h-10',
195
+ },
196
+ kind: {
197
+ primary: 'kind-primary',
198
+ ghost: 'kind-ghost',
199
+ text: 'kind-text',
200
+ outline: 'kind-outline',
201
+ },
202
+ fullWidth: {
203
+ true: 'full-width w-full',
204
+ },
205
+ disabled: {
206
+ true: 'disabled cursor-not-allowed bg-[--bcm-ui-color-background-disabled-default] text-color-disabled border-color-disabled',
207
+ false: [
208
+ 'cursor-pointer',
209
+ 'bg-[--bcm-final-bg-color] text-[--bcm-final-text-color] border-[--bcm-final-border-color]',
210
+ 'hover:bg-[--bcm-final-hover-bg-color]',
211
+ 'active:bg-[--bcm-final-active-bg-color]',
212
+ 'focus-visible:ring',
213
+ ],
214
+ },
215
+ loading: {
216
+ true: '',
217
+ },
218
+ position: {
219
+ first: 'position-first',
220
+ middle: 'position-middle',
221
+ last: 'position-last',
222
+ },
223
+ },
224
+ defaultVariants: {
225
+ size: 'medium',
226
+ kind: 'primary',
227
+ fullWidth: false,
228
+ disabled: false,
229
+ loading: false,
230
+ },
231
+ }, {
232
+ twMerge: false,
233
+ });
234
+ }
235
+ get buttonText() {
236
+ return this.text || (this.variant ? variantOptions[this.variant].text : '');
237
+ }
238
+ get buttonIcon() {
239
+ if (this.variant && variantOptions[this.variant].icon) {
240
+ return {
241
+ icon: variantOptions[this.variant].icon,
242
+ position: variantOptions[this.variant].iconPosition || 'prefix',
243
+ };
244
+ }
245
+ return {
246
+ icon: this.icon,
247
+ position: this.iconPosition,
248
+ };
249
+ }
250
+ get buttonStatus() {
251
+ return this.variant ? variantOptions[this.variant].status : this.status;
252
+ }
253
+ get buttonStyles() {
254
+ const status = this.buttonStatus === 'default' ? 'primary' : this.buttonStatus;
255
+ // These are the internal default styles based on component props (kind, status)
256
+ const kindStyleMap = {
257
+ primary: {
258
+ '--bcm-button-bg': `var(--bcm-ui-color-background-${status}-default)`,
259
+ '--bcm-button-bg-hover': `var(--bcm-ui-color-background-${status}-hover)`,
260
+ '--bcm-button-bg-active': `var(--bcm-ui-color-background-${status}-active)`,
261
+ '--bcm-button-border': 'transparent',
262
+ '--bcm-button-text': 'var(--bcm-ui-color-text-base)',
263
+ },
264
+ outline: {
265
+ '--bcm-button-bg': 'var(--bcm-ui-color-background-default-default)',
266
+ '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
267
+ '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
268
+ '--bcm-button-border': `var(--bcm-ui-color-border-${this.buttonStatus})`,
269
+ '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,
270
+ },
271
+ ghost: {
272
+ '--bcm-button-bg': 'transparent',
273
+ '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
274
+ '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
275
+ '--bcm-button-border': 'transparent',
276
+ '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,
277
+ },
278
+ text: {
279
+ '--bcm-button-bg': 'transparent',
280
+ '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
281
+ '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
282
+ '--bcm-button-border': 'transparent',
283
+ '--bcm-button-text': `var(--bcm-ui-color-text-${status})`,
284
+ },
285
+ };
286
+ const internalDefaultStyles = kindStyleMap[this.kind];
287
+ // These are the "final" CSS custom properties used by the component's styling.
288
+ // They use the "--bcm-button-custom-..." token if provided by the user,
289
+ // otherwise, they fall back to the internal "--bcm-button-..." style defined above.
290
+ const finalEffectiveStyles = {
291
+ '--bcm-final-text-color': `var(--bcm-button-custom-text-color, ${internalDefaultStyles['--bcm-button-text']})`,
292
+ '--bcm-final-border-color': `var(--bcm-button-custom-border-color, ${internalDefaultStyles['--bcm-button-border']})`,
293
+ '--bcm-final-bg-color': `var(--bcm-button-custom-bg-color, ${internalDefaultStyles['--bcm-button-bg']})`,
294
+ '--bcm-final-hover-bg-color': `var(--bcm-button-custom-hover-bg-color, ${internalDefaultStyles['--bcm-button-bg-hover']})`,
295
+ '--bcm-final-active-bg-color': `var(--bcm-button-custom-active-bg-color, ${internalDefaultStyles['--bcm-button-bg-active']})`,
296
+ };
297
+ // return kindStyleMap[this.kind];
298
+ return Object.assign(Object.assign({}, internalDefaultStyles), finalEffectiveStyles);
299
+ }
300
+ render() {
301
+ const { icon, position } = this.buttonIcon;
302
+ return (h(Host, { key: '914c4285f46931841225bb3ec03374424bebf005' }, h("button", { key: '56b3364b113a4fd6f97c9a6e6b3e3e14fc814de0', type: this.type, disabled: this.disabled || this.loading, "aria-label": this.label, "aria-expanded": this.expanded, "aria-controls": this.controls, "aria-disabled": this.disabled, onClick: this.handleClick, onFocus: this.handleFocus, onBlur: this.handleBlur, style: this.buttonStyles, class: this.buttonClass({
303
+ size: this.size,
304
+ kind: this.kind,
305
+ fullWidth: this.fullWidth,
306
+ disabled: this.disabled,
307
+ loading: this.loading,
308
+ position: this.position,
309
+ }) }, this.loading && h("slot", { key: '0f8c5c99e3489bf49ae66f7b6803f4b46b9b6684', name: "loading" }), h("span", { key: '6ecbe1b1eb0c4b7fe389dc923e22df21dc33cad3' }, h("slot", { key: 'ac5ccada947a49b0995e149082b15a5aeb885a85', name: "prefix" }, position === 'prefix' && icon && h("i", { key: '32f1363e0300fbaa20789b9b5259f5b36f5fe86a', class: ' leading-none ' + icon }))), h("slot", { key: 'acfc12c837c3be3025a2c4a9be3de02a116bdfa3' }, this.buttonText), h("span", { key: 'e7ff604974e2489bc791d9e853d476e88334c75b' }, h("slot", { key: '2a8e9d5db9e907f710da9728ac8cc85c53d8864a', name: "suffix" }, position === 'suffix' && icon && h("i", { key: 'a7d25eb005aef8ed4aa807004bb79fc55c45d3de', class: ' leading-none ' + icon }))))));
310
+ }
311
+ };
312
+ BcmButton.style = BcmButtonStyle0;
313
+
314
+ const dropdownCss = ".visible{visibility:visible}.hidden{display:none}.static{position:static}.flex{display:flex}.max-h-64{max-height:16rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.outline{outline-style:solid}";
315
+ const BcmDropdownStyle0 = dropdownCss;
316
+
317
+ const Dropdown = class {
318
+ constructor(hostRef) {
319
+ registerInstance(this, hostRef);
320
+ this.bcmDropdownChange = createEvent(this, "bcmDropdownChange", 1);
321
+ this.isReady = false;
322
+ this.dropdownItems = [];
323
+ this.dropdownClass = ce({
324
+ base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',
325
+ });
326
+ this.handleSlotChange = () => {
327
+ this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));
328
+ if (this.dropdownItems.length === 0) {
329
+ console.warn('No dropdown items found in dropdown component');
330
+ }
331
+ };
332
+ }
333
+ componentDidLoad() {
334
+ const button = this.host.shadowRoot.querySelector('bcm-button');
335
+ if (button) {
336
+ this.buttonRef = button;
337
+ this.isReady = true;
338
+ }
339
+ }
340
+ handleDropdownItemChange(event) {
341
+ var _a;
342
+ const { element, selected } = event === null || event === void 0 ? void 0 : event.detail;
343
+ (_a = this.dropdownItems) === null || _a === void 0 ? void 0 : _a.forEach(item => {
344
+ if (item != element) {
345
+ item.selected = false;
346
+ }
347
+ });
348
+ this.bcmDropdownChange.emit({
349
+ element: element,
350
+ selected,
351
+ });
352
+ }
353
+ render() {
354
+ return (h(Host, { key: 'bbbe833906ad9261f0e186a73c38838895b4163a' }, h("bcm-button", { key: 'bc658a949cd8d65b92ec8458d6f7fc310a72ef4f', kind: "outline" }, h("span", { key: '3ff8e4e6765ea6bc1c8b41094ea7b7d928027d49', part: "text" }, this.text)), this.isReady && (h("bcm-linked", { key: 'c625fa0a88c0e88d8ee4b8a9e76e04d2feabb34c', targetElement: this.buttonRef }, h("div", { key: 'e45943e172eef094f9009123c8267b74641d5087', part: "dropdown-container", class: this.dropdownClass() }, h("slot", { key: 'd6b7558138785231877ab570b3e345b3deae008b', onSlotchange: this.handleSlotChange }))))));
355
+ }
356
+ get host() { return getElement(this); }
357
+ };
358
+ Dropdown.style = BcmDropdownStyle0;
359
+
360
+ const dropdownItemCss = ".flex{display:flex}:host{display:inline-block;width:100%}::slotted([slot=left-content]){align-items:center;display:flex;flex-direction:row;gap:8px}::slotted([slot=right-content]){align-items:center;display:flex;flex-direction:row;gap:8px}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.w-full{width:100%}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.gap-2{gap:.5rem}.text-pretty{text-wrap:pretty}.bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]{background-color:var(--bcm-ui-color-background-base-active)}.bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]{background-color:var(--bcm-ui-color-background-palette-red-default)}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-active)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-hover\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-hover)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]:hover{background-color:var(--bcm-ui-color-background-palette-red-default)}";
361
+ const BcmDropdownItemStyle0 = dropdownItemCss;
362
+
363
+ const DropdownItem = class {
364
+ constructor(hostRef) {
365
+ registerInstance(this, hostRef);
366
+ this.bcmDropDownItemChange = createEvent(this, "bcmDropDownItemChange", 1);
367
+ this.selected = false;
368
+ this.error = false;
369
+ this.disabled = false;
370
+ this.dropdownItemClass = ce({
371
+ base: 'dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color',
372
+ variants: {
373
+ selected: {
374
+ true: 'bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]',
375
+ false: 'hover:bg-[var(--bcm-ui-color-background-base-hover)]',
376
+ },
377
+ error: {
378
+ true: 'bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]',
379
+ false: '',
380
+ },
381
+ disabled: {
382
+ true: '', // should be discuss with ux team
383
+ false: '',
384
+ },
385
+ },
386
+ defaultVariants: {
387
+ selected: false,
388
+ error: false,
389
+ disabled: false,
390
+ },
391
+ }, {
392
+ twMerge: false,
393
+ });
394
+ }
395
+ handleClick() {
396
+ this.selected = true;
397
+ this.bcmDropDownItemChange.emit({
398
+ element: this.host,
399
+ selected: this.selected,
400
+ });
401
+ }
402
+ render() {
403
+ var _a;
404
+ return (h("div", { key: 'dab286a93e70df2389820986b12dbb099686a949', "aria-checked": this.selected, class: this.dropdownItemClass({
405
+ selected: this.selected,
406
+ error: this.error,
407
+ }), onClick: () => this.handleClick() }, h("slot", { key: 'd8b3f85acfa5f9744cdcd7aac41cce576123ff2b', name: "left-content" }, this.icon && h("bcm-icon", { key: '4a8908b05d48832b5758fa430f8d188b2bcb2caf', "icon-name": this.icon })), h("div", { key: '233863671bd28de9c5bc45f7221398f04297dcaa', class: "flex flex-row text-pretty w-full" }, h("slot", { key: 'b2cf533aff90f2bff5328d26b964f00664d42473' }, this.text)), h("slot", { key: '3f423b125ba32fe7d593a0cb5d000b7a6db8f172', name: "right-content" }, (_a = this.rightIcons) === null || _a === void 0 ? void 0 : _a.map(icon => (h("bcm-icon", { "icon-name": icon }))))));
408
+ }
409
+ get host() { return getElement(this); }
410
+ };
411
+ DropdownItem.style = BcmDropdownItemStyle0;
412
+
413
+ const linkedCss = ".absolute{position:absolute}.relative{position:relative}.block{display:block}.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))}.border{border-width:1px}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}:host{display:block;position:relative}.floating-content{min-width:-moz-max-content;min-width:max-content;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;will-change:transform,opacity}.floating-visible{animation:fadeInScale .2s ease-out}.floating-hidden{pointer-events:none}.floating-wrapper{position:relative;z-index:1}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-arrow{z-index:-1}.floating-arrow,.floating-arrow:before{height:10px;position:absolute;width:10px}.floating-arrow:before{background:#fff;border:1px solid #e2e8f0;content:\"\";transform:rotate(45deg)}.arrow-top{bottom:-5px}.arrow-bottom,.arrow-top{left:50%;transform:translateX(-50%)}.arrow-bottom{top:-5px}.arrow-left{right:-5px}.arrow-left,.arrow-right{top:50%;transform:translateY(-50%)}.arrow-right{left:-5px}.arrow-top:before{border-bottom:0;border-right:0}.arrow-bottom:before{border-left:0;border-top:0}.arrow-left:before{border-right:0;border-top:0}.arrow-right:before{border-bottom:0;border-left:0}@media (max-width:768px){.floating-content{max-height:calc(100vh - 32px);max-width:calc(100vw - 32px)}}.static{position:static}.flex{display:flex}.max-h-64{max-height:16rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.outline{outline-style:solid}.visible{visibility:visible}.fixed{position:fixed}.hidden{display:none}.resize{resize:both}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}";
414
+ const BcmLinkedStyle0 = linkedCss;
415
+
416
+ const BcmLinked = class {
417
+ constructor(hostRef) {
418
+ registerInstance(this, hostRef);
419
+ this.bcmShow = createEvent(this, "bcmShow", 7);
420
+ this.bcmHide = createEvent(this, "bcmHide", 7);
421
+ this.bcmShown = createEvent(this, "bcmShown", 7);
422
+ this.bcmHidden = createEvent(this, "bcmHidden", 7);
423
+ // Trigger configuration
424
+ this.trigger = 'click';
425
+ this.placement = 'bottom-start';
426
+ // Timing configuration
427
+ this.showDelay = 0;
428
+ this.hideDelay = 0;
429
+ // Positioning configuration
430
+ this.offset = 8;
431
+ this.arrow = false;
432
+ this.disabled = false;
433
+ // Style configuration
434
+ this.zIndex = 1000;
435
+ this.appendToBody = false;
436
+ this.destroyOnHide = false;
437
+ // State
438
+ this.isVisible = false;
439
+ this.isReady = false;
440
+ this.handleMouseEnter = () => {
441
+ this.clearTimeouts();
442
+ if (this.showDelay > 0) {
443
+ this.showTimeout = setTimeout(() => this.show(), this.showDelay);
444
+ }
445
+ else {
446
+ this.show();
447
+ }
448
+ };
449
+ this.handleMouseLeave = () => {
450
+ this.clearTimeouts();
451
+ if (this.hideDelay > 0) {
452
+ this.hideTimeout = setTimeout(() => this.hide(), this.hideDelay);
453
+ }
454
+ else {
455
+ this.hide();
456
+ }
457
+ };
458
+ this.handleFloatingMouseEnter = () => {
459
+ this.clearTimeouts();
460
+ };
461
+ this.handleFloatingMouseLeave = () => {
462
+ this.clearTimeouts();
463
+ if (this.hideDelay > 0) {
464
+ this.hideTimeout = setTimeout(() => this.hide(), this.hideDelay);
465
+ }
466
+ else {
467
+ this.hide();
468
+ }
469
+ };
470
+ this.handleClick = (e) => {
471
+ e.stopPropagation();
472
+ this.toggle();
473
+ };
474
+ this.handleFocus = () => {
475
+ this.show();
476
+ };
477
+ this.handleBlur = () => {
478
+ this.hide();
479
+ };
480
+ }
481
+ // Watch for changes
482
+ setupTarget() {
483
+ this.disconnectTarget();
484
+ this.connectTarget();
485
+ }
486
+ onVisibilityChange(newValue) {
487
+ if (newValue) {
488
+ this.updatePosition();
489
+ this.bcmShown.emit();
490
+ }
491
+ else {
492
+ this.bcmHidden.emit();
493
+ }
494
+ }
495
+ componentDidLoad() {
496
+ requestAnimationFrame(() => {
497
+ this.floatingEl = this.host.shadowRoot.querySelector('.floating-content');
498
+ this.isReady = true;
499
+ this.connectTarget();
500
+ });
501
+ }
502
+ disconnectedCallback() {
503
+ var _a, _b;
504
+ this.disconnectTarget();
505
+ this.clearTimeouts();
506
+ (_a = this.cleanup) === null || _a === void 0 ? void 0 : _a.call(this);
507
+ (_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
508
+ }
509
+ connectTarget() {
510
+ if (!this.isReady)
511
+ return;
512
+ // Find target element
513
+ this.targetEl =
514
+ this.targetElement || (this.targetId ? document.getElementById(this.targetId) : null) || this.host.previousElementSibling || this.host.parentElement;
515
+ if (!this.targetEl) {
516
+ console.warn('bcm-linked: No target element found');
517
+ return;
518
+ }
519
+ // Setup event listeners based on trigger type
520
+ this.setupEventListeners();
521
+ // Setup auto-update for position
522
+ if (this.targetEl && this.floatingEl) {
523
+ this.cleanup = autoUpdate(this.targetEl, this.floatingEl, () => {
524
+ if (this.isVisible) {
525
+ this.updatePosition();
526
+ }
527
+ });
528
+ }
529
+ // Setup resize observer for responsive positioning
530
+ this.resizeObserver = new ResizeObserver(() => {
531
+ if (this.isVisible) {
532
+ this.updatePosition();
533
+ }
534
+ });
535
+ this.resizeObserver.observe(this.floatingEl);
536
+ }
537
+ disconnectTarget() {
538
+ var _a, _b;
539
+ if (this.targetEl) {
540
+ this.removeEventListeners();
541
+ }
542
+ (_a = this.cleanup) === null || _a === void 0 ? void 0 : _a.call(this);
543
+ (_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
544
+ }
545
+ setupEventListeners() {
546
+ var _a, _b;
547
+ if (!this.targetEl || this.disabled)
548
+ return;
549
+ switch (this.trigger) {
550
+ case 'hover':
551
+ this.targetEl.addEventListener('mouseenter', this.handleMouseEnter);
552
+ this.targetEl.addEventListener('mouseleave', this.handleMouseLeave);
553
+ (_a = this.floatingEl) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', this.handleFloatingMouseEnter);
554
+ (_b = this.floatingEl) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', this.handleFloatingMouseLeave);
555
+ break;
556
+ case 'click':
557
+ this.targetEl.addEventListener('click', this.handleClick);
558
+ this.setupClickOutside();
559
+ break;
560
+ case 'focus':
561
+ this.targetEl.addEventListener('focus', this.handleFocus);
562
+ this.targetEl.addEventListener('blur', this.handleBlur);
563
+ break;
564
+ }
565
+ }
566
+ removeEventListeners() {
567
+ var _a, _b;
568
+ if (!this.targetEl)
569
+ return;
570
+ this.targetEl.removeEventListener('mouseenter', this.handleMouseEnter);
571
+ this.targetEl.removeEventListener('mouseleave', this.handleMouseLeave);
572
+ this.targetEl.removeEventListener('click', this.handleClick);
573
+ this.targetEl.removeEventListener('focus', this.handleFocus);
574
+ this.targetEl.removeEventListener('blur', this.handleBlur);
575
+ (_a = this.floatingEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseenter', this.handleFloatingMouseEnter);
576
+ (_b = this.floatingEl) === null || _b === void 0 ? void 0 : _b.removeEventListener('mouseleave', this.handleFloatingMouseLeave);
577
+ this.removeClickOutside();
578
+ }
579
+ setupClickOutside() {
580
+ this.clickOutsideHandler = (e) => {
581
+ var _a, _b;
582
+ const target = e.target;
583
+ if (!((_a = this.floatingEl) === null || _a === void 0 ? void 0 : _a.contains(target)) && !((_b = this.targetEl) === null || _b === void 0 ? void 0 : _b.contains(target)) && !this.host.contains(target)) {
584
+ this.hide();
585
+ }
586
+ };
587
+ document.addEventListener('click', this.clickOutsideHandler, true);
588
+ }
589
+ removeClickOutside() {
590
+ if (this.clickOutsideHandler) {
591
+ document.removeEventListener('click', this.clickOutsideHandler, true);
592
+ this.clickOutsideHandler = undefined;
593
+ }
594
+ }
595
+ clearTimeouts() {
596
+ if (this.showTimeout) {
597
+ clearTimeout(this.showTimeout);
598
+ this.showTimeout = undefined;
599
+ }
600
+ if (this.hideTimeout) {
601
+ clearTimeout(this.hideTimeout);
602
+ this.hideTimeout = undefined;
603
+ }
604
+ }
605
+ async updatePosition() {
606
+ if (!this.targetEl || !this.floatingEl || !this.isVisible)
607
+ return;
608
+ const middleware = [
609
+ offset(this.offset),
610
+ flip({
611
+ fallbackPlacements: ['top-start', 'bottom-start', 'right-start', 'left-start'],
612
+ }),
613
+ shift({ padding: 8 }),
614
+ ];
615
+ const { x, y, placement } = await computePosition(this.targetEl, this.floatingEl, {
616
+ placement: this.placement,
617
+ middleware,
618
+ strategy: 'fixed',
619
+ });
620
+ Object.assign(this.floatingEl.style, {
621
+ left: `${x}px`,
622
+ top: `${y}px`,
623
+ zIndex: this.zIndex.toString(),
624
+ });
625
+ // Update arrow if enabled
626
+ if (this.arrow) {
627
+ this.updateArrow(placement);
628
+ }
629
+ }
630
+ updateArrow(placement) {
631
+ var _a;
632
+ const arrow = (_a = this.floatingEl) === null || _a === void 0 ? void 0 : _a.querySelector('.floating-arrow');
633
+ if (!arrow)
634
+ return;
635
+ // Remove all arrow classes
636
+ arrow.className = 'floating-arrow';
637
+ // Add placement-specific class
638
+ const side = placement.split('-')[0];
639
+ arrow.classList.add(`arrow-${side}`);
640
+ }
641
+ async show() {
642
+ if (this.disabled || this.isVisible)
643
+ return;
644
+ this.bcmShow.emit();
645
+ this.isVisible = true;
646
+ // Don't move to body in StencilJS, keep in shadow DOM
647
+ // if (this.appendToBody && this.floatingEl) {
648
+ // document.body.appendChild(this.floatingEl);
649
+ // }
650
+ await this.updatePosition();
651
+ }
652
+ async hide() {
653
+ if (!this.isVisible)
654
+ return;
655
+ this.bcmHide.emit();
656
+ this.isVisible = false;
657
+ if (this.destroyOnHide && this.floatingEl && this.floatingEl.parentNode) {
658
+ this.floatingEl.parentNode.removeChild(this.floatingEl);
659
+ }
660
+ }
661
+ async toggle() {
662
+ if (this.isVisible) {
663
+ await this.hide();
664
+ }
665
+ else {
666
+ await this.show();
667
+ }
668
+ }
669
+ async updatePositioning() {
670
+ await this.updatePosition();
671
+ }
672
+ render() {
673
+ const floatingClasses = {
674
+ 'floating-content': true,
675
+ 'floating-visible': this.isVisible,
676
+ 'floating-hidden': !this.isVisible,
677
+ 'floating-with-arrow': this.arrow,
678
+ 'floating-destroy-on-hide': this.destroyOnHide,
679
+ };
680
+ return [
681
+ // Portal div to body for positioning, but keep slot in shadow DOM
682
+ h("div", { key: 'b6af79e7bb9a025d39686d02416175ace281a19a', class: floatingClasses, style: {
683
+ position: 'fixed',
684
+ top: '0px',
685
+ left: '0px',
686
+ zIndex: this.zIndex.toString(),
687
+ visibility: this.isVisible ? 'visible' : 'hidden',
688
+ opacity: this.isVisible ? '1' : '0',
689
+ pointerEvents: this.isVisible ? 'auto' : 'none',
690
+ } }, this.arrow && h("div", { key: 'ec25846caa6c8c3ee71ca01e802f714a01491a67', class: "floating-arrow" }), h("div", { key: '7a855e6caaee49c17c1f57d8283af789e7bb458f', class: "floating-wrapper" }, h("slot", { key: 'ba15b2faf8a0c7e6fa14441aa366deaa582aa419' }))),
691
+ // Hidden content holder for slot fallback
692
+ h("div", { key: 'e1542255d3d34e5c3d2d3b3e5d752848dc706ed5', style: { display: 'none' } }, h("slot", { key: 'aa62f7a2a3f109160082fb6ef798bd7b61760fb2', name: "fallback" })),
693
+ ];
694
+ }
695
+ get host() { return getElement(this); }
696
+ static get watchers() { return {
697
+ "targetId": ["setupTarget"],
698
+ "targetElement": ["setupTarget"],
699
+ "isVisible": ["onVisibilityChange"]
700
+ }; }
701
+ };
702
+ BcmLinked.style = BcmLinkedStyle0;
703
+
704
+ const variantTagMap = {
705
+ display: 'h1',
706
+ heading1: 'h2',
707
+ heading2: 'h3',
708
+ title1: 'h4',
709
+ title2: 'h5',
710
+ title3: 'h6',
711
+ body: 'p',
712
+ bodyAccent: 'p',
713
+ helper: 'p',
714
+ caption: 'p',
715
+ label: 'label',
716
+ placeholder: 'p',
717
+ link: 'a',
718
+ info: 'p',
719
+ infoAccent: 'p',
720
+ };
721
+
722
+ const textCss = ".static{position:static}.m-0{margin:0}.appearance-none{appearance:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-0{padding:0}.text-size-12{font-size:var(--bcm-ui-font-size-12,60px);line-height:var(--bcm-ui-line-height-12,72px)}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-color-caption{color:var(--bcm-ui-color-text-caption)}.text-color-default{color:var(--bcm-ui-color-text-default)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-header{color:var(--bcm-ui-color-text-header)}.text-color-helper{color:var(--bcm-ui-color-text-helper)}.text-color-label{color:var(--bcm-ui-color-text-label)}.text-color-placeholder{color:var(--bcm-ui-color-text-placeholder)}.text-color-primary{color:var(--bcm-ui-color-text-primary)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";
723
+ const BcmTextStyle0 = textCss;
724
+
725
+ const BcmText = class {
726
+ constructor(hostRef) {
727
+ registerInstance(this, hostRef);
728
+ /** Text variant */
729
+ this.variant = 'body';
730
+ /** Text size */
731
+ this.size = 'medium';
732
+ /** Text overflow behavior */
733
+ this.overflow = false;
734
+ this.variantClassMap = {
735
+ display: 'font-semibold text-size-12 text-color-header',
736
+ heading1: 'font-semibold text-size-7 text-color-header',
737
+ heading2: 'font-semibold text-size-6 text-color-header',
738
+ title1: {
739
+ small: 'font-semibold text-size-5 text-color-header',
740
+ medium: 'font-semibold text-size-6 text-color-header',
741
+ large: 'font-semibold text-size-7 text-color-header',
742
+ },
743
+ title2: {
744
+ small: 'font-semibold text-size-4 text-color-default',
745
+ medium: 'font-semibold text-size-5 text-color-default',
746
+ large: 'font-semibold text-size-6 text-color-default',
747
+ },
748
+ title3: {
749
+ small: 'font-semibold text-size-3 text-color-disabled',
750
+ medium: 'font-semibold text-size-4 text-color-disabled',
751
+ large: 'font-semibold text-size-5 text-color-disabled',
752
+ },
753
+ body: {
754
+ small: 'font-regular text-size-4 text-color-default',
755
+ medium: 'font-regular text-size-5 text-color-default',
756
+ large: 'font-regular text-size-6 text-color-default',
757
+ },
758
+ bodyAccent: {
759
+ small: 'font-medium text-size-4 text-color-default',
760
+ medium: 'font-medium text-size-5 text-color-default',
761
+ large: 'font-medium text-size-6 text-color-default',
762
+ },
763
+ helper: {
764
+ small: 'font-regular text-size-4 text-color-helper',
765
+ medium: 'font-regular text-size-5 text-color-helper',
766
+ large: 'font-regular text-size-6 text-color-helper',
767
+ },
768
+ caption: {
769
+ small: 'font-regular text-size-3 text-color-caption',
770
+ medium: 'font-regular text-size-4 text-color-caption',
771
+ large: 'font-regular text-size-5 text-color-caption',
772
+ },
773
+ link: {
774
+ small: 'font-medium text-size-4 underline text-color-primary',
775
+ medium: 'font-medium text-size-5 underline text-color-primary',
776
+ large: 'font-medium text-size-6 underline text-color-primary',
777
+ },
778
+ label: {
779
+ small: 'font-medium text-size-3 text-color-label',
780
+ medium: 'font-medium text-size-4 text-color-label',
781
+ large: 'font-medium text-size-5 text-color-label',
782
+ },
783
+ placeholder: {
784
+ small: 'font-regular text-size-4 text-color-placeholder',
785
+ medium: 'font-regular text-size-5 text-color-placeholder',
786
+ large: 'font-regular text-size-6 text-color-placeholder',
787
+ },
788
+ info: {
789
+ small: 'font-regular text-size-3 text-color-default',
790
+ medium: 'font-regular text-size-4 text-color-default',
791
+ large: 'font-regular text-size-5 text-color-default',
792
+ },
793
+ infoAccent: {
794
+ small: 'font-medium text-size-3 text-color-header',
795
+ medium: 'font-medium text-size-4 text-color-header',
796
+ large: 'font-medium text-size-5 text-color-header',
797
+ },
798
+ };
799
+ this.getTextClass = (variant, size) => {
800
+ const variantClasses = this.variantClassMap[variant];
801
+ if (typeof variantClasses === 'string') {
802
+ return variantClasses;
803
+ }
804
+ return variantClasses[size];
805
+ };
806
+ this.getOverflowClass = (overflow) => {
807
+ return overflow ? 'truncate' : '';
808
+ };
809
+ }
810
+ render() {
811
+ var _a;
812
+ const Tag = variantTagMap[this.variant];
813
+ const variantClass = this.getTextClass(this.variant, this.size);
814
+ const overflowClass = this.getOverflowClass((_a = this.overflow) !== null && _a !== void 0 ? _a : false);
815
+ return (h(Tag, { key: '0c9e834dbe47309b7ec41c7c79bf07bf7d825f26', class: classNames('bcm-text appearance-none m-0 p-0', variantClass, overflowClass), part: "text" }, h("slot", { key: 'c947db45b7b7147c0780bbb3294802cd0f1be268' }, this.text)));
816
+ }
817
+ };
818
+ BcmText.style = BcmTextStyle0;
819
+
820
+ export { BcmButton as bcm_button, Dropdown as bcm_dropdown, DropdownItem as bcm_dropdown_item, BcmLinked as bcm_linked, BcmText as bcm_text };
821
+
822
+ //# sourceMappingURL=bcm-button_5.entry.js.map