bromcom-ui 2.8.0-rc.3 → 2.8.0-rc.4

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 (247) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/p-0bcc14f8.entry.js +5 -0
  3. package/dist/bromcom-ui/p-0cb89561.entry.js +5 -0
  4. package/dist/bromcom-ui/p-136aeeea.entry.js +5 -0
  5. package/dist/bromcom-ui/p-1ca72216.entry.js +5 -0
  6. package/dist/bromcom-ui/p-1cd1623f.entry.js +5 -0
  7. package/dist/bromcom-ui/p-21636df0.entry.js +5 -0
  8. package/dist/bromcom-ui/p-21ac8544.entry.js +5 -0
  9. package/dist/bromcom-ui/{p-ef8b37a2.js → p-2d7300b3.js} +1 -1
  10. package/dist/bromcom-ui/p-352b9ae6.entry.js +5 -0
  11. package/dist/bromcom-ui/p-3a75047e.entry.js +5 -0
  12. package/dist/bromcom-ui/p-3b31b8c4.entry.js +5 -0
  13. package/dist/bromcom-ui/p-3beac7a6.entry.js +5 -0
  14. package/dist/bromcom-ui/{p-3f7625ff.js → p-4167e51c.js} +1 -1
  15. package/dist/bromcom-ui/p-43c5f3c3.entry.js +5 -0
  16. package/dist/bromcom-ui/p-4a172a33.entry.js +5 -0
  17. package/dist/bromcom-ui/{p-eb945ceb.js → p-4a4562f5.js} +1 -1
  18. package/dist/bromcom-ui/p-4b23f132.entry.js +5 -0
  19. package/dist/bromcom-ui/p-4cc4f6cd.entry.js +5 -0
  20. package/dist/bromcom-ui/p-56a9ce0a.js +5 -0
  21. package/dist/bromcom-ui/{p-c34638dc.js → p-56bb19ef.js} +1 -1
  22. package/dist/bromcom-ui/p-597be152.entry.js +5 -0
  23. package/dist/bromcom-ui/p-59ee0928.js +5 -0
  24. package/dist/bromcom-ui/p-5c6f941e.entry.js +5 -0
  25. package/dist/bromcom-ui/p-5ff9d4f6.entry.js +5 -0
  26. package/dist/bromcom-ui/p-64c7173a.entry.js +5 -0
  27. package/dist/bromcom-ui/p-65ab8436.entry.js +5 -0
  28. package/dist/bromcom-ui/p-66a9de7c.entry.js +5 -0
  29. package/dist/bromcom-ui/p-6708a234.entry.js +5 -0
  30. package/dist/bromcom-ui/{p-e01fb694.entry.js → p-6808ca09.entry.js} +1 -1
  31. package/dist/bromcom-ui/p-6b1bbd46.entry.js +5 -0
  32. package/dist/bromcom-ui/p-6cc1927f.entry.js +5 -0
  33. package/dist/bromcom-ui/p-71930900.js +5 -0
  34. package/dist/bromcom-ui/p-7c510c8f.entry.js +5 -0
  35. package/dist/bromcom-ui/p-7d0fb564.entry.js +5 -0
  36. package/dist/bromcom-ui/p-7f5409c2.entry.js +5 -0
  37. package/dist/bromcom-ui/p-81cfc9bf.entry.js +5 -0
  38. package/dist/bromcom-ui/p-87cc3b5a.js +5 -0
  39. package/dist/bromcom-ui/{p-9ae9706d.entry.js → p-88f62d13.entry.js} +1 -1
  40. package/dist/bromcom-ui/p-8dbcd26b.entry.js +5 -0
  41. package/dist/bromcom-ui/p-9c970a65.entry.js +5 -0
  42. package/dist/bromcom-ui/p-9e41c7f1.entry.js +5 -0
  43. package/dist/bromcom-ui/p-a46f0626.entry.js +5 -0
  44. package/dist/bromcom-ui/p-a4c5cbd8.entry.js +5 -0
  45. package/dist/bromcom-ui/p-ab830de6.entry.js +5 -0
  46. package/dist/bromcom-ui/p-ab8bc270.entry.js +5 -0
  47. package/dist/bromcom-ui/p-ae1107ad.js +5 -0
  48. package/dist/bromcom-ui/p-b81a4068.entry.js +5 -0
  49. package/dist/bromcom-ui/p-b8d849a2.entry.js +5 -0
  50. package/dist/bromcom-ui/p-c3dcd469.entry.js +5 -0
  51. package/dist/bromcom-ui/p-c793cfcd.entry.js +5 -0
  52. package/dist/bromcom-ui/p-c7f33aa3.entry.js +5 -0
  53. package/dist/bromcom-ui/p-cd1cd1e5.entry.js +5 -0
  54. package/dist/bromcom-ui/p-d723d8e8.entry.js +5 -0
  55. package/dist/bromcom-ui/p-dbeb843a.entry.js +5 -0
  56. package/dist/bromcom-ui/p-dc584fdd.entry.js +5 -0
  57. package/dist/bromcom-ui/p-ddb38da3.entry.js +5 -0
  58. package/dist/bromcom-ui/p-e099ae93.entry.js +5 -0
  59. package/dist/bromcom-ui/p-e23bb883.entry.js +5 -0
  60. package/dist/bromcom-ui/p-e4bff61b.entry.js +5 -0
  61. package/dist/bromcom-ui/p-ebc810e1.entry.js +5 -0
  62. package/dist/bromcom-ui/p-f75d23b0.entry.js +5 -0
  63. package/dist/bromcom-ui/p-f75f481a.entry.js +5 -0
  64. package/dist/bromcom-ui/p-fe684e3c.entry.js +10 -0
  65. package/dist/cjs/bcm-accordion.cjs.entry.js +2 -1
  66. package/dist/cjs/bcm-alert.cjs.entry.js +2 -1
  67. package/dist/cjs/bcm-attendance.cjs.entry.js +2 -1
  68. package/dist/cjs/bcm-avatar_2.cjs.entry.js +5 -4
  69. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +2 -1
  70. package/dist/cjs/bcm-button-group.cjs.entry.js +2 -1
  71. package/dist/cjs/bcm-button.cjs.entry.js +385 -0
  72. package/dist/cjs/bcm-card.cjs.entry.js +3 -2
  73. package/dist/cjs/bcm-checkbox-group.cjs.entry.js +18 -17
  74. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +2 -1
  75. package/dist/cjs/bcm-checkbox_2.cjs.entry.js +3 -2
  76. package/dist/cjs/bcm-chip.cjs.entry.js +3 -2
  77. package/dist/cjs/bcm-collapse.cjs.entry.js +2 -1
  78. package/dist/cjs/bcm-color-input.cjs.entry.js +5 -4
  79. package/dist/cjs/{bcm-button_13.cjs.entry.js → bcm-colorful_2.cjs.entry.js} +138 -3897
  80. package/dist/cjs/bcm-date-picker.cjs.entry.js +2 -1
  81. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +2 -1
  82. package/dist/cjs/bcm-default.cjs.entry.js +2 -1
  83. package/dist/cjs/bcm-drawer.cjs.entry.js +5 -4
  84. package/dist/cjs/bcm-dropdown.cjs.entry.js +3 -2
  85. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +3 -2
  86. package/dist/cjs/bcm-form-2.cjs.entry.js +2 -1
  87. package/dist/cjs/bcm-form.cjs.entry.js +487 -0
  88. package/dist/cjs/bcm-icon.cjs.entry.js +41 -0
  89. package/dist/cjs/bcm-input-custom.cjs.entry.js +2 -1
  90. package/dist/cjs/bcm-input.cjs.entry.js +369 -0
  91. package/dist/cjs/bcm-item.cjs.entry.js +3 -2
  92. package/dist/cjs/bcm-items.cjs.entry.js +2 -1
  93. package/dist/cjs/bcm-label_2.cjs.entry.js +149 -0
  94. package/dist/cjs/bcm-list.cjs.entry.js +1793 -0
  95. package/dist/cjs/bcm-menu.cjs.entry.js +6 -5
  96. package/dist/cjs/bcm-modal.cjs.entry.js +2 -1
  97. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +3 -2
  98. package/dist/cjs/bcm-popconfirm.cjs.entry.js +2 -1
  99. package/dist/cjs/bcm-popover.cjs.entry.js +6 -5
  100. package/dist/cjs/bcm-progress.cjs.entry.js +3 -2
  101. package/dist/cjs/bcm-radio-group.cjs.entry.js +5 -4
  102. package/dist/cjs/bcm-radio.cjs.entry.js +5 -4
  103. package/dist/cjs/bcm-range.cjs.entry.js +2 -1
  104. package/dist/cjs/bcm-search.cjs.entry.js +259 -0
  105. package/dist/cjs/bcm-skeleton.cjs.entry.js +2 -1
  106. package/dist/cjs/bcm-step.cjs.entry.js +102 -0
  107. package/dist/cjs/bcm-stepper.cjs.entry.js +247 -0
  108. package/dist/cjs/bcm-switch.cjs.entry.js +2 -1
  109. package/dist/cjs/bcm-tab-group.cjs.entry.js +5 -4
  110. package/dist/cjs/bcm-tab-item-header.cjs.entry.js +5 -4
  111. package/dist/cjs/bcm-tab-item.cjs.entry.js +5 -4
  112. package/dist/cjs/bcm-tag.cjs.entry.js +3 -2
  113. package/dist/cjs/bcm-text.cjs.entry.js +63 -0
  114. package/dist/cjs/bcm-textarea.cjs.entry.js +3 -2
  115. package/dist/cjs/bcm-time-picker.cjs.entry.js +2 -1
  116. package/dist/cjs/bcm-toast.cjs.entry.js +2 -1
  117. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  118. package/dist/cjs/{color-helper-ff22257f.js → color-helper-09aa652d.js} +8 -8
  119. package/dist/cjs/{generate-7b71e00a.js → colors-7cc2aee2.js} +0 -297
  120. package/dist/cjs/generate-44bb438e.js +305 -0
  121. package/dist/cjs/{input-template-98c29bbb.js → input-template-6b354df9.js} +1 -1
  122. package/dist/cjs/{json-parse-decarator-79e20ff3.js → json-parse-decarator-22ab54f7.js} +1 -1
  123. package/dist/cjs/loader.cjs.js +1 -1
  124. package/dist/cjs/{number-helper-9869878b.js → number-helper-72b20785.js} +1 -1
  125. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +3 -2
  126. package/dist/cjs/old-bcm-popover.cjs.entry.js +2 -1
  127. package/dist/cjs/stepper-states-6892694b.js +85 -0
  128. package/dist/cjs/{tooltip-helper-27421198.js → tooltip-helper-6d6407d1.js} +4 -4
  129. package/dist/cjs/{validators-261e5c81.js → validators-cce37534.js} +1 -1
  130. package/dist/collection/components/molecules/popover/popover.js +1 -1
  131. package/dist/collection/components/molecules/tooltip/tooltip.js +1 -1
  132. package/dist/components/bcm-popover.js +1 -1
  133. package/dist/components/generate.js +1 -1
  134. package/dist/components/tooltip.js +1 -1
  135. package/dist/esm/bcm-accordion.entry.js +2 -1
  136. package/dist/esm/bcm-alert.entry.js +2 -1
  137. package/dist/esm/bcm-attendance.entry.js +2 -1
  138. package/dist/esm/bcm-avatar_2.entry.js +5 -4
  139. package/dist/esm/bcm-breadcrumb.entry.js +2 -1
  140. package/dist/esm/bcm-button-group.entry.js +2 -1
  141. package/dist/esm/bcm-button.entry.js +381 -0
  142. package/dist/esm/bcm-card.entry.js +3 -2
  143. package/dist/esm/bcm-checkbox-group.entry.js +8 -7
  144. package/dist/esm/bcm-checkbox-lite_9.entry.js +2 -1
  145. package/dist/esm/bcm-checkbox_2.entry.js +3 -2
  146. package/dist/esm/bcm-chip.entry.js +3 -2
  147. package/dist/esm/bcm-collapse.entry.js +2 -1
  148. package/dist/esm/bcm-color-input.entry.js +5 -4
  149. package/dist/esm/{bcm-button_13.entry.js → bcm-colorful_2.entry.js} +134 -3882
  150. package/dist/esm/bcm-date-picker.entry.js +2 -1
  151. package/dist/esm/bcm-datetime-picker.entry.js +2 -1
  152. package/dist/esm/bcm-default.entry.js +2 -1
  153. package/dist/esm/bcm-drawer.entry.js +5 -4
  154. package/dist/esm/bcm-dropdown.entry.js +3 -2
  155. package/dist/esm/bcm-expansion-panel.entry.js +3 -2
  156. package/dist/esm/bcm-form-2.entry.js +2 -1
  157. package/dist/esm/bcm-form.entry.js +483 -0
  158. package/dist/esm/bcm-icon.entry.js +37 -0
  159. package/dist/esm/bcm-input-custom.entry.js +2 -1
  160. package/dist/esm/bcm-input.entry.js +365 -0
  161. package/dist/esm/bcm-item.entry.js +3 -2
  162. package/dist/esm/bcm-items.entry.js +2 -1
  163. package/dist/esm/bcm-label_2.entry.js +144 -0
  164. package/dist/esm/bcm-list.entry.js +1789 -0
  165. package/dist/esm/bcm-menu.entry.js +6 -5
  166. package/dist/esm/bcm-modal.entry.js +2 -1
  167. package/dist/esm/bcm-popconfirm-box.entry.js +3 -2
  168. package/dist/esm/bcm-popconfirm.entry.js +2 -1
  169. package/dist/esm/bcm-popover.entry.js +6 -5
  170. package/dist/esm/bcm-progress.entry.js +3 -2
  171. package/dist/esm/bcm-radio-group.entry.js +5 -4
  172. package/dist/esm/bcm-radio.entry.js +5 -4
  173. package/dist/esm/bcm-range.entry.js +2 -1
  174. package/dist/esm/bcm-search.entry.js +255 -0
  175. package/dist/esm/bcm-skeleton.entry.js +2 -1
  176. package/dist/esm/bcm-step.entry.js +98 -0
  177. package/dist/esm/bcm-stepper.entry.js +243 -0
  178. package/dist/esm/bcm-switch.entry.js +2 -1
  179. package/dist/esm/bcm-tab-group.entry.js +5 -4
  180. package/dist/esm/bcm-tab-item-header.entry.js +5 -4
  181. package/dist/esm/bcm-tab-item.entry.js +5 -4
  182. package/dist/esm/bcm-tag.entry.js +3 -2
  183. package/dist/esm/bcm-text.entry.js +59 -0
  184. package/dist/esm/bcm-textarea.entry.js +3 -2
  185. package/dist/esm/bcm-time-picker.entry.js +2 -1
  186. package/dist/esm/bcm-toast.entry.js +2 -1
  187. package/dist/esm/bromcom-ui.js +1 -1
  188. package/dist/esm/{color-helper-362cd7b6.js → color-helper-2b6697b6.js} +1 -1
  189. package/dist/esm/{generate-6c5030c9.js → colors-39b87f63.js} +1 -296
  190. package/dist/esm/generate-42365155.js +302 -0
  191. package/dist/esm/{input-template-21cb9810.js → input-template-c035bb51.js} +1 -1
  192. package/dist/esm/{json-parse-decarator-b3d10607.js → json-parse-decarator-bfc50c70.js} +1 -1
  193. package/dist/esm/loader.js +1 -1
  194. package/dist/esm/{number-helper-0ab0676b.js → number-helper-6a09d08c.js} +1 -1
  195. package/dist/esm/old-bcm-popover-box.entry.js +3 -2
  196. package/dist/esm/old-bcm-popover.entry.js +2 -1
  197. package/dist/esm/stepper-states-a0b074ca.js +83 -0
  198. package/dist/esm/{tooltip-helper-6b6cee19.js → tooltip-helper-f4f3e26c.js} +4 -4
  199. package/dist/esm/{validators-87201c22.js → validators-e2f24be7.js} +1 -1
  200. package/dist/types/components/molecules/popover/popover.d.ts +1 -1
  201. package/dist/types/components/molecules/tooltip/tooltip.d.ts +1 -1
  202. package/package.json +1 -1
  203. package/dist/bromcom-ui/p-01e2c310.entry.js +0 -5
  204. package/dist/bromcom-ui/p-025fa461.entry.js +0 -5
  205. package/dist/bromcom-ui/p-02d89883.entry.js +0 -5
  206. package/dist/bromcom-ui/p-090ed544.entry.js +0 -5
  207. package/dist/bromcom-ui/p-09733614.entry.js +0 -5
  208. package/dist/bromcom-ui/p-0f07e69b.js +0 -5
  209. package/dist/bromcom-ui/p-23f4991b.entry.js +0 -5
  210. package/dist/bromcom-ui/p-323973e5.entry.js +0 -5
  211. package/dist/bromcom-ui/p-37194223.entry.js +0 -5
  212. package/dist/bromcom-ui/p-479f0bd5.entry.js +0 -5
  213. package/dist/bromcom-ui/p-4836d1cd.entry.js +0 -5
  214. package/dist/bromcom-ui/p-59e2af89.entry.js +0 -5
  215. package/dist/bromcom-ui/p-5a68e6e7.entry.js +0 -5
  216. package/dist/bromcom-ui/p-65ab887f.entry.js +0 -5
  217. package/dist/bromcom-ui/p-677195de.entry.js +0 -5
  218. package/dist/bromcom-ui/p-6c78072c.entry.js +0 -5
  219. package/dist/bromcom-ui/p-6cb33e93.entry.js +0 -5
  220. package/dist/bromcom-ui/p-6d0e6802.entry.js +0 -5
  221. package/dist/bromcom-ui/p-6d4f10e3.entry.js +0 -5
  222. package/dist/bromcom-ui/p-71663e53.entry.js +0 -5
  223. package/dist/bromcom-ui/p-761f7e8c.entry.js +0 -5
  224. package/dist/bromcom-ui/p-762aeb4a.entry.js +0 -5
  225. package/dist/bromcom-ui/p-7b0bfeb2.entry.js +0 -5
  226. package/dist/bromcom-ui/p-84919c9d.entry.js +0 -5
  227. package/dist/bromcom-ui/p-8811d071.entry.js +0 -5
  228. package/dist/bromcom-ui/p-911776d7.entry.js +0 -5
  229. package/dist/bromcom-ui/p-92f6ca0f.entry.js +0 -5
  230. package/dist/bromcom-ui/p-9763ed2d.js +0 -5
  231. package/dist/bromcom-ui/p-a051b68c.entry.js +0 -5
  232. package/dist/bromcom-ui/p-a0807939.js +0 -5
  233. package/dist/bromcom-ui/p-accf5f6c.entry.js +0 -11
  234. package/dist/bromcom-ui/p-afac7571.entry.js +0 -5
  235. package/dist/bromcom-ui/p-b280f61e.entry.js +0 -5
  236. package/dist/bromcom-ui/p-b295dc77.entry.js +0 -5
  237. package/dist/bromcom-ui/p-bf383f52.entry.js +0 -5
  238. package/dist/bromcom-ui/p-c08cee8b.entry.js +0 -5
  239. package/dist/bromcom-ui/p-c7dc70b8.entry.js +0 -5
  240. package/dist/bromcom-ui/p-c865c604.entry.js +0 -5
  241. package/dist/bromcom-ui/p-cc67f4a8.entry.js +0 -5
  242. package/dist/bromcom-ui/p-d353ce68.entry.js +0 -5
  243. package/dist/bromcom-ui/p-d3dd1bcb.entry.js +0 -5
  244. package/dist/bromcom-ui/p-d3ff6b31.entry.js +0 -5
  245. package/dist/bromcom-ui/p-d9668e00.entry.js +0 -5
  246. package/dist/bromcom-ui/p-e320352d.entry.js +0 -5
  247. package/dist/bromcom-ui/p-fa3291a8.entry.js +0 -5
@@ -0,0 +1,1793 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ 'use strict';
6
+
7
+ Object.defineProperty(exports, '__esModule', { value: true });
8
+
9
+ const index$1 = require('./index-7e2a5376.js');
10
+ const isLoadDecorator = require('./is-load-decorator-faac117d.js');
11
+ const jsonParseDecarator = require('./json-parse-decarator-22ab54f7.js');
12
+ require('./color-helper-09aa652d.js');
13
+ require('./datetime-helper-eaf4fadb.js');
14
+ const generate = require('./generate-44bb438e.js');
15
+ const numberHelper = require('./number-helper-72b20785.js');
16
+ const stringHelper = require('./string-helper-71b10c53.js');
17
+ const validators = require('./validators-cce37534.js');
18
+ require('./element-dragger-a8562f82.js');
19
+ const popoverPlacement = require('./popover-placement-69d37a5f.js');
20
+ const utils = require('./utils-fc077139.js');
21
+ const bcm = require('./bcm-634604e3.js');
22
+ const captionTemplate = require('./caption-template-de4a0064.js');
23
+ const index = require('./index-a2b50e51.js');
24
+ require('./types-cc4adee7.js');
25
+ const labelTemplate = require('./label-template-098a30a4.js');
26
+ require('./types-6eb7e028.js');
27
+ const index$2 = require('./index-56628fe5.js');
28
+ const tooltipHelper = require('./tooltip-helper-6d6407d1.js');
29
+ require('./colors-56282b00.js');
30
+ require('./colors-7cc2aee2.js');
31
+ require('./_commonjsHelpers-bd20f4c0.js');
32
+ require('./slot-template-7a07f865.js');
33
+ require('./floating-ui-c23acc6c.js');
34
+
35
+ const CheckboxTemplate = ({ disabled, checked, readonly, required, indeterminate, hidden, captionType, _id }) => {
36
+ // if ( indeterminate ) {
37
+ // checked = indeterminate == 'determinate' ? true : false
38
+ // }
39
+ const hostClasses = index.classnames('bcm-checkbox', 'bcm-checkbox__type-default', `bcm-checkbox-size-medium`, {
40
+ // 'size-2': size === Bcm.Size.small || size === Bcm.Size.medium,
41
+ // 'size-3': optionType === 'button' && size === Bcm.Size.large,
42
+ 'error': captionType == bcm.Bcm.Status.error,
43
+ hidden,
44
+ checked,
45
+ disabled,
46
+ required,
47
+ readonly,
48
+ });
49
+ const bcmCheckboxIconClass = index.classnames('bcm-checkbox__label-icon', 'bcm-checkbox__label-icon-lite', 'bcm-checkbox__label-icon-' + indeterminate, {
50
+ 'bcm-checkbox__label-icon-checked': checked,
51
+ });
52
+ const bcmCheckboxLabelClass = index.classnames('bcm-checkbox__label');
53
+ return (index$1.h("div", { class: hostClasses },
54
+ index$1.h("input", { tabindex: "-1", id: _id, type: "checkbox", checked: checked, disabled: disabled, required: required, readonly: readonly }),
55
+ index$1.h("label", { class: bcmCheckboxLabelClass, htmlFor: _id },
56
+ index$1.h("span", { class: bcmCheckboxIconClass },
57
+ index$1.h("bcm-icon", { icon: "far fa-check" })))));
58
+ };
59
+
60
+ const InfoFooterTemplate = ({ selected, total, found, multiple, variableText }) => {
61
+ total = total || 0;
62
+ variableText = variableText ? utils.pluralize(variableText, total) : 'items';
63
+ return (index$1.h("footer", { class: "bcm-info-footer" },
64
+ index$1.h("bcm-text", { scale: "size-1", color: "grey-8" },
65
+ (multiple && selected > 0) && ` ( ${selected} selected ) `,
66
+ ` Total ${total} `,
67
+ found != null && ` / ${found} `,
68
+ ` ${variableText} found. `)));
69
+ };
70
+
71
+ const ListItemTemplate = ({ item, treeview, highlight, checkboxes, size, selectedItem, openGroup, checkedItem, focusItem, searchIsOnlyChilds }) => {
72
+ const isHaveChildren = item.items && item.items.length > 0;
73
+ var text = stringHelper.StringHelper.htmlEntities(item.text);
74
+ let intersection = [];
75
+ if (highlight && stringHelper.StringHelper.slugify(text).includes(stringHelper.StringHelper.slugify(highlight))) {
76
+ if (!searchIsOnlyChilds || (searchIsOnlyChilds && (!isHaveChildren || (!treeview && item.type != "group")))) {
77
+ text = stringHelper.StringHelper.highlight(text, highlight);
78
+ }
79
+ }
80
+ if (item.type != 'group' && item.template) {
81
+ const match = item.template
82
+ .replace(/\s/g, '')
83
+ .match(/\{{[^}}]+\}/g)
84
+ .map(x => x.replace(/[{}]/g, ''));
85
+ const keys = Object.keys(item.itemObject);
86
+ intersection = match.filter(x => keys.includes(x));
87
+ }
88
+ text = item.isHtmlContent ? item.isHtmlContent : item.template && intersection.length > 0 ? stringHelper.StringHelper.templateParser(item.template, Object.assign(Object.assign({}, item.itemObject), { text })) : text;
89
+ const unClickable = !treeview && item.type == "group" && !item.clickable;
90
+ const disabled = item.disabled;
91
+ const readonly = item.readonly;
92
+ const itemClick = (event) => {
93
+ let path = event.path || event.composedPath();
94
+ if (path.filter(x => x.attributes && x.attributes.getNamedItem("unlinked"))[0]) {
95
+ return;
96
+ }
97
+ if (readonly) {
98
+ collapseClick();
99
+ }
100
+ !unClickable && !disabled && !readonly && (checkboxes ? checkedItem(item.id) : selectedItem(item.id));
101
+ };
102
+ const collapseClick = () => {
103
+ item.open = item.isSearching;
104
+ openGroup(item.id);
105
+ };
106
+ return (index$1.h("div", { id: item.id, hidden: item.hidden, "on-focus": e => !unClickable && !disabled && focusItem(e), class: index.classnames('bcm-list__item',
107
+ // size === 'large' ? 'size-3' : 'size-2',
108
+ 'bcm-list__item-' + size, {
109
+ 'bcm-list__item--group': !treeview && item.type == 'group',
110
+ 'bcm-list__item--readonly': readonly,
111
+ }) },
112
+ index$1.h("div", { class: index.classnames('bcm-list__item-content', !checkboxes && item.selected && 'selected', { disabled: disabled }) },
113
+ treeview && (index$1.h("div", { class: "bcm-list__item-content-collapse-icon", onClick: () => collapseClick() }, isHaveChildren && index$1.h("bcm-icon", { icon: index.classnames('fas fa-caret-' + (item.isSearching || item.open ? 'down' : 'right')) }))),
114
+ index$1.h("div", { class: index.classnames('bcm-list__item-content-text', { treeview }), onClick: (e) => itemClick(e) },
115
+ checkboxes && (treeview || (!treeview && item.type != 'group')) && (index$1.h("div", { class: "bcm-list__item-content-text-checkbox" },
116
+ index$1.h(CheckboxTemplate, { indeterminate: item.indeterminate, checked: item.checked, disabled: item.disabled }))),
117
+ index$1.h("span", Object.assign({ class: "bcm-list__item-content-text-inner" }, (item.title && { "title": item.title }), { innerHTML: text })))),
118
+ (treeview || !treeview && item.type == "group") && isHaveChildren && (index$1.h("div", { class: "bcm-list__item-childs" }, (item.isSearching || item.open || (!treeview && item.type == "group")) &&
119
+ item.items.map((item) => (index$1.h(ListItemTemplate, { highlight: highlight, item: item, searchIsOnlyChilds: searchIsOnlyChilds, treeview: treeview, checkboxes: checkboxes, size: size, selectedItem: selectedItem, checkedItem: checkedItem, openGroup: parentId => openGroup(parentId), focusItem: itemId => focusItem(itemId) })))))));
120
+ };
121
+
122
+ const ListTemplate = ({ highlight, selectAllItem, bcmListContainer, treeview, checkboxes, checkAll, infoFooter, value, totalData, searchFound, variableText, _id, data, width, height, size, searchPlaceholder, minSearchLength, selectedItem, openGroup, checkedItem, onScrollEvent, focusItem, items, searchable, searchIsOnlyChilds, emptyText, emptyIcon, }) => {
123
+ const showSelectAll = !(treeview && searchFound > 0) && !(searchFound > 0);
124
+ const setScrollHeight = () => {
125
+ const itemHeight = size === 'small' ? 28 : size === 'medium' ? 36 : 48;
126
+ const itemCount = searchFound >= 0 || (treeview ? items.length : totalData);
127
+ let scrollHeight = itemCount * itemHeight || 0;
128
+ return {
129
+ 'min-height': `${scrollHeight}px`,
130
+ 'overscroll-behavior': 'none',
131
+ 'height': '100%',
132
+ 'display': 'flex',
133
+ 'flex-direction': 'column',
134
+ };
135
+ };
136
+ return (index$1.h("div", { id: `bcm-list-${_id}`, class: bcmListContainer, style: { '--height': height, '--width': width } },
137
+ data && searchable && (index$1.h("section", { class: "bcm-list__container-search" },
138
+ index$1.h("bcm-search", { size: size, id: `bcm-list-${_id}-search`, data: data, clearable: true, placeholder: searchPlaceholder, "min-search-length": minSearchLength, searchIsOnlyChilds: searchIsOnlyChilds }))),
139
+ index$1.h("main", { onScroll: e => onScrollEvent(e), class: "scrolling", style: { 'overscroll-behavior': 'none' } },
140
+ index$1.h("div", { style: setScrollHeight() },
141
+ checkAll && searchFound != 0 && items && items.length > 0 && checkboxes && showSelectAll && (index$1.h("section", { class: "bcm-list__container-select-all" },
142
+ index$1.h(ListItemTemplate, { size: size, item: selectAllItem, treeview: false, checkboxes: true, selectedItem: itemId => selectedItem(itemId), checkedItem: itemId => checkedItem(itemId), openGroup: parentId => openGroup(parentId), focusItem: itemId => focusItem(itemId) }))),
143
+ items.map((item) => (index$1.h(ListItemTemplate, { highlight: highlight, size: size, item: item, searchIsOnlyChilds: searchIsOnlyChilds, treeview: treeview, checkboxes: checkboxes, selectedItem: itemId => selectedItem(itemId), checkedItem: itemId => checkedItem(itemId), openGroup: parentId => openGroup(parentId), focusItem: itemId => focusItem(itemId) }))),
144
+ (!items || items.length === 0) && searchFound != 0 && (index$1.h("section", { class: "bcm-list__container-no-data" },
145
+ index$1.h("bcm-empty", { style: { height: 'auto' }, icon: emptyIcon },
146
+ index$1.h("span", { innerHTML: emptyText || 'No data' })))),
147
+ searchFound == 0 && (index$1.h("section", { class: "bcm-list__container-no-data" },
148
+ index$1.h("bcm-empty", { style: { height: 'auto' }, icon: emptyIcon },
149
+ index$1.h("span", { innerHTML: emptyText || 'No Data Found' })))))),
150
+ infoFooter && data && data.length > 0 && (index$1.h(InfoFooterTemplate, { selected: value === null || value === void 0 ? void 0 : value.length, total: totalData, found: searchFound, multiple: checkboxes, variableText: variableText }))));
151
+ };
152
+
153
+ const { state } = index$2.createStore({
154
+ value: new Map(),
155
+ });
156
+ const setValue = val => {
157
+ const { id, dataSource, options } = val;
158
+ const { type, treeview, checkboxes, searchable, value, name, label, size, disabled, readonly, highlight, required, hidden, fullWidth, height, maxHeight, minHeight, width, infoFooter, variableText, template, allOpen, keyControl, checkAll, linkedComponent, placeholder, searchPlaceholder, searchIsOnlyChilds, clearable, caption, noCaption, captionType, captionError, placement, } = options;
159
+ const itemOptions = { size, checkboxes, template, allOpen, highlight, treeview };
160
+ const data = {
161
+ id: generate.snq(() => id, generate.Generate.UID),
162
+ dataSource: dataSource && dataSource.length > 0 && recursive(dataSource, itemOptions),
163
+ options: {
164
+ type,
165
+ treeview,
166
+ checkboxes,
167
+ searchable,
168
+ value,
169
+ name,
170
+ label,
171
+ size,
172
+ disabled,
173
+ readonly,
174
+ highlight,
175
+ required,
176
+ hidden,
177
+ fullWidth,
178
+ height,
179
+ maxHeight,
180
+ minHeight,
181
+ width,
182
+ infoFooter,
183
+ variableText,
184
+ template,
185
+ allOpen,
186
+ keyControl,
187
+ checkAll,
188
+ linkedComponent,
189
+ placeholder,
190
+ searchPlaceholder,
191
+ searchIsOnlyChilds,
192
+ clearable,
193
+ caption,
194
+ noCaption,
195
+ captionType,
196
+ captionError,
197
+ placement,
198
+ },
199
+ totalItems: (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) > 0 && calculateTotalItems(dataSource, options.treeview),
200
+ totalRoots: dataSource === null || dataSource === void 0 ? void 0 : dataSource.length,
201
+ };
202
+ state.value.set(data.id, data);
203
+ };
204
+ const recursive = (data, options, parentId) => {
205
+ let recData = [];
206
+ if (data && data.length > 0) {
207
+ recData = data.map(item => (Object.assign(Object.assign(Object.assign(Object.assign({ itemObject: item }, item), options), { parentId: generate.snq(() => parentId, null), open: options.allOpen || item.open || false }), ((options.treeview || (!options.treeview && item.type == 'group')) && item.items && item.items.length > 0
208
+ ? { items: generate.snq(() => recursive(item.items, options, item.id), []) }
209
+ : { items: [] }))));
210
+ }
211
+ return recData;
212
+ };
213
+ const removeValue = _id => {
214
+ state.value.delete(_id);
215
+ };
216
+ const getValue = id => generate.snq(() => state.value.get(id), {});
217
+ const calculateTotalItems = (dataSource, treeview) => {
218
+ let total = 0;
219
+ dataSource.forEach(item => {
220
+ if (treeview || (!treeview && item.type != 'group')) {
221
+ total += 1;
222
+ }
223
+ if ((treeview || (!treeview && item.type == 'group')) && item.items) {
224
+ total += calculateTotalItems(item.items, treeview);
225
+ }
226
+ });
227
+ return total;
228
+ };
229
+ const getData = id => {
230
+ let data = [];
231
+ const value = getValue(id);
232
+ if (value) {
233
+ const { dataSource } = value;
234
+ data = dataSource;
235
+ }
236
+ return data;
237
+ };
238
+ const getDataPagination = (id, limit = 3, ids) => {
239
+ let data = [];
240
+ const value = getValue(id);
241
+ if (value) {
242
+ const { dataSource } = value;
243
+ data = !ids ? dataSource.slice(0, limit) : dataSource.filter(item => ids.indexOf(item.id) > -1).slice(0, limit);
244
+ }
245
+ return data;
246
+ };
247
+ const openGroup = (id, groupId, items, status) => {
248
+ let dataSource;
249
+ if (items) {
250
+ dataSource = items;
251
+ }
252
+ else {
253
+ const value = getValue(id);
254
+ dataSource = value.dataSource;
255
+ }
256
+ if (dataSource) {
257
+ dataSource.forEach(item => {
258
+ if (status != undefined) {
259
+ item.open = status;
260
+ }
261
+ else if (item.id == groupId) {
262
+ item.open = !item.open;
263
+ item.isSearching = item.open;
264
+ if (!item.open && item.items) {
265
+ openGroup(id, groupId, item.items, false);
266
+ }
267
+ }
268
+ else if (item.items) {
269
+ openGroup(id, groupId, item.items);
270
+ }
271
+ });
272
+ }
273
+ };
274
+ const removeOtherTags = (id, ids, items) => {
275
+ ids = Array.isArray(ids) ? ids : [ids];
276
+ let dataSource;
277
+ if (items) {
278
+ dataSource = items;
279
+ }
280
+ else {
281
+ const value = getValue(id);
282
+ dataSource = value.dataSource;
283
+ }
284
+ if (dataSource) {
285
+ ids.forEach(otherTagIds => {
286
+ dataSource.forEach(child => {
287
+ if (child.id == otherTagIds) {
288
+ child.checked = false;
289
+ child.itemObject.checked = false;
290
+ }
291
+ else if (child.items) {
292
+ onRemoveItems(id, otherTagIds, child.items);
293
+ }
294
+ });
295
+ });
296
+ }
297
+ };
298
+ const onRemoveItems = (id, itemId, items) => {
299
+ if (items) {
300
+ items.forEach(item => {
301
+ if (item.id == itemId) {
302
+ item.checked = false;
303
+ item.itemObject.checked = false;
304
+ indeterminateStatus(id, item.parentId);
305
+ }
306
+ else if (item.items) {
307
+ onRemoveItems(id, itemId, item.items);
308
+ }
309
+ });
310
+ }
311
+ };
312
+ const addChecked = (id, ids) => {
313
+ const value = getValue(id);
314
+ if (value) {
315
+ ids.forEach(item => {
316
+ checkedItem(id, item);
317
+ });
318
+ }
319
+ };
320
+ const checkedItem = (id, itemId) => {
321
+ findItem(id, itemId);
322
+ };
323
+ const findItem = (id, itemId, items) => {
324
+ itemId = Array.isArray(itemId) ? itemId : [itemId];
325
+ let dataSource;
326
+ if (items) {
327
+ dataSource = items;
328
+ }
329
+ else {
330
+ const value = getValue(id);
331
+ dataSource = value.dataSource;
332
+ }
333
+ if (dataSource) {
334
+ dataSource.forEach(item => {
335
+ if (itemId.includes(item.id)) {
336
+ checkedProcess(id, item);
337
+ if (item.parentId) {
338
+ indeterminateStatus(id, item.parentId);
339
+ }
340
+ }
341
+ else if (item.items) {
342
+ findItem(id, itemId, item.items);
343
+ }
344
+ });
345
+ }
346
+ };
347
+ const checkedProcess = (id, item, status) => {
348
+ const value = getValue(id);
349
+ if (value) {
350
+ const treeview = value.options.treeview;
351
+ if (item) {
352
+ // && !item.hidden => select all bastığımızda hidden olanları seçmemesi içindi
353
+ if (treeview || (!treeview && item.type != 'group')) {
354
+ if (!item.disabled) {
355
+ if (status != undefined) {
356
+ item.checked = status;
357
+ }
358
+ else {
359
+ item.checked = !item.checked;
360
+ }
361
+ item.itemObject.checked = item.checked;
362
+ item.indeterminate = item.checked ? 'determinate' : 'uncheck';
363
+ }
364
+ }
365
+ if (item.items) {
366
+ item.items.forEach(child => {
367
+ checkedProcess(id, child, status == undefined ? item.checked : status);
368
+ });
369
+ }
370
+ }
371
+ }
372
+ };
373
+ const indeterminateStatus = (id, itemId, items) => {
374
+ let dataSource;
375
+ if (items) {
376
+ dataSource = items;
377
+ }
378
+ else {
379
+ const value = getValue(id);
380
+ dataSource = value.dataSource;
381
+ }
382
+ if (dataSource) {
383
+ dataSource.forEach(item => {
384
+ if (item.id == itemId) {
385
+ let allChecked = true;
386
+ let allUnchecked = true;
387
+ if (item.items) {
388
+ item.items.map(child => {
389
+ (child.checked || child.indeterminate === 'indeterminate') && (allUnchecked = false);
390
+ !child.checked && (allChecked = false);
391
+ });
392
+ }
393
+ const indeterminateState = !allChecked && !allUnchecked ? 'indeterminate' : allChecked ? 'determinate' : 'uncheck';
394
+ item.indeterminate = indeterminateState;
395
+ item.checked = indeterminateState == 'determinate' ? true : false;
396
+ item.itemObject.checked = item.checked;
397
+ if (item.parentId) {
398
+ indeterminateStatus(id, item.parentId);
399
+ }
400
+ }
401
+ else if (item.items) {
402
+ indeterminateStatus(id, itemId, item.items);
403
+ }
404
+ });
405
+ }
406
+ };
407
+ const filterData = (id, ids, items, searchOtherTag) => {
408
+ let checkeds = [];
409
+ let visibled = [];
410
+ getValue(id).isSearchOtherTag = searchOtherTag;
411
+ let dataSource;
412
+ if (items) {
413
+ dataSource = items;
414
+ }
415
+ else {
416
+ const value = getValue(id);
417
+ dataSource = value.dataSource;
418
+ }
419
+ if (dataSource) {
420
+ dataSource.forEach(item => {
421
+ if (ids) {
422
+ item.hidden = true;
423
+ // const filter = ids.find((find) => find.id === item.id)
424
+ var filter;
425
+ for (let index = 0; index < ids.length; index++) {
426
+ if (ids[index].id === item.id) {
427
+ filter = ids[index];
428
+ break;
429
+ }
430
+ }
431
+ if (filter) {
432
+ item.hidden = false;
433
+ if (!getValue(id).isSearchOtherTag) {
434
+ item.isSearching = true;
435
+ }
436
+ visibled.push(item);
437
+ if (item.checked) {
438
+ checkeds.push(item);
439
+ }
440
+ if (filter.items) {
441
+ const { checkedItems, visibledItems } = filterData(id, filter.items, item.items, searchOtherTag);
442
+ if (checkedItems) {
443
+ checkeds = [...new Set([...checkeds, ...checkedItems])];
444
+ }
445
+ if (visibledItems) {
446
+ visibled = [...new Set([...visibled, ...visibledItems])];
447
+ }
448
+ }
449
+ }
450
+ }
451
+ else {
452
+ item.hidden = false;
453
+ if (item.items) {
454
+ filterData(id, null, item.items);
455
+ }
456
+ visibled.push(item);
457
+ item.isSearching = false;
458
+ }
459
+ });
460
+ }
461
+ return { checkedItems: checkeds !== null && checkeds !== void 0 ? checkeds : [], visibledItems: visibled !== null && visibled !== void 0 ? visibled : [] };
462
+ };
463
+ const getSelected = (id, items) => {
464
+ let dataSource;
465
+ let selected = null;
466
+ if (items) {
467
+ dataSource = items;
468
+ }
469
+ else {
470
+ const value = getValue(id);
471
+ dataSource = value.dataSource;
472
+ }
473
+ if (dataSource) {
474
+ dataSource.forEach(item => {
475
+ if (item.selected) {
476
+ selected = item.itemObject;
477
+ }
478
+ else if (item.items) {
479
+ const found = getSelected(id, item.items);
480
+ if (found) {
481
+ selected = found;
482
+ }
483
+ }
484
+ });
485
+ }
486
+ return selected;
487
+ };
488
+ const getCheckedList = (id, items) => {
489
+ let dataSource;
490
+ let checkedList = [];
491
+ let nestedResult = [];
492
+ if (items) {
493
+ dataSource = items;
494
+ }
495
+ else {
496
+ const value = getValue(id);
497
+ dataSource = value.dataSource;
498
+ }
499
+ if (dataSource) {
500
+ dataSource.forEach(item => {
501
+ var _a;
502
+ let foundChild = [];
503
+ let foundItem = [];
504
+ if (item.checked) {
505
+ checkedList.push(item.itemObject);
506
+ foundItem.push(Object.assign(Object.assign({}, item.itemObject), { items: [] }));
507
+ }
508
+ if (item.items) {
509
+ const found = getCheckedList(id, item.items);
510
+ if (((_a = found === null || found === void 0 ? void 0 : found.checkedList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
511
+ checkedList = [...checkedList, ...found.checkedList];
512
+ }
513
+ if (found.nestedResult.length > 0) {
514
+ foundChild = found.nestedResult;
515
+ }
516
+ }
517
+ if (foundChild.length > 0) {
518
+ if (foundItem.length == 0) {
519
+ foundItem.push(Object.assign(Object.assign({}, item.itemObject), { items: [] }));
520
+ }
521
+ foundItem[0].items = foundChild;
522
+ nestedResult.push(foundItem[0]);
523
+ }
524
+ else {
525
+ if (foundItem.length > 0) {
526
+ foundItem[0].items = foundChild;
527
+ nestedResult.push(foundItem[0]);
528
+ }
529
+ }
530
+ });
531
+ }
532
+ return { checkedList: (checkedList === null || checkedList === void 0 ? void 0 : checkedList.length) > 0 ? checkedList : null, nestedResult: nestedResult };
533
+ };
534
+ const selectedItem = (id, itemId, items) => {
535
+ let dataSource;
536
+ let selected = [];
537
+ if (items) {
538
+ dataSource = items;
539
+ }
540
+ else {
541
+ const value = getValue(id);
542
+ dataSource = value.dataSource;
543
+ }
544
+ if (dataSource) {
545
+ dataSource.forEach(item => {
546
+ if (itemId) {
547
+ if (item.id == itemId) {
548
+ // if (!item.selected){
549
+ item.selected = true;
550
+ item.itemObject.selected = item.selected;
551
+ // }
552
+ }
553
+ else {
554
+ if (item.selected) {
555
+ item.selected = false;
556
+ item.itemObject.selected = item.selected;
557
+ }
558
+ }
559
+ }
560
+ if (item.items) {
561
+ const found = selectedItem(id, itemId, item.items);
562
+ if ((found === null || found === void 0 ? void 0 : found.length) > 0) {
563
+ selected = [...selected, ...found];
564
+ }
565
+ }
566
+ if (item.selected) {
567
+ selected.push(item.itemObject);
568
+ }
569
+ });
570
+ }
571
+ return selected && selected.length > 0 ? selected : null;
572
+ };
573
+ const setClear = (id, items) => {
574
+ let dataSource;
575
+ if (items) {
576
+ dataSource = items;
577
+ }
578
+ else {
579
+ const value = getValue(id);
580
+ dataSource = value.dataSource;
581
+ }
582
+ if (dataSource) {
583
+ dataSource.forEach(item => {
584
+ var _a, _b, _c;
585
+ item.checked && (item.checked = false);
586
+ item.selected && (item.selected = false);
587
+ item.indeterminate && (item.indeterminate = 'uncheck');
588
+ ((_a = item.itemObject) === null || _a === void 0 ? void 0 : _a.checked) && (item.itemObject.checked = false);
589
+ ((_b = item.itemObject) === null || _b === void 0 ? void 0 : _b.selected) && (item.itemObject.selected = false);
590
+ ((_c = item.itemObject) === null || _c === void 0 ? void 0 : _c.indeterminate) && (item.itemObject.indeterminate = 'uncheck');
591
+ if (item.items) {
592
+ setClear(id, item.items);
593
+ }
594
+ });
595
+ }
596
+ };
597
+ const selectAll = (id, status) => {
598
+ const dataSource = getValue(id).dataSource;
599
+ if (dataSource) {
600
+ dataSource.forEach(item => {
601
+ checkedProcess(id, item, status);
602
+ });
603
+ }
604
+ };
605
+ const updateOptions = (id, options) => {
606
+ Object.keys(getValue(id).options).forEach(key => {
607
+ getValue(id).options[key] = options[key];
608
+ });
609
+ };
610
+ const removeState = id => {
611
+ return Promise.resolve(state.value.delete(id));
612
+ };
613
+ const listState = {
614
+ setValue,
615
+ removeValue,
616
+ getValue,
617
+ getData,
618
+ getDataPagination,
619
+ openGroup,
620
+ checkedItem,
621
+ filterData,
622
+ getSelected,
623
+ getCheckedList,
624
+ selectedItem,
625
+ addChecked,
626
+ setClear,
627
+ selectAll,
628
+ removeOtherTags,
629
+ onRemoveItems,
630
+ updateOptions,
631
+ removeState,
632
+ };
633
+
634
+ class KeyControl {
635
+ constructor(keyCode, element, elementName, childElementName) {
636
+ this.elementName = '';
637
+ this.childElementName = '';
638
+ this.keyCode = keyCode;
639
+ this.element = element;
640
+ this.elementName = elementName;
641
+ this.childElementName = childElementName;
642
+ }
643
+ getKeyCode() {
644
+ return this.keyCode;
645
+ }
646
+ getElementName() {
647
+ return this.elementName;
648
+ }
649
+ getChildElementName() {
650
+ return this.childElementName;
651
+ }
652
+ getFocusedElementName() {
653
+ return this.getElementName() + '.focused';
654
+ }
655
+ getFocusedElement() {
656
+ return this.element.querySelectorAll(this.getFocusedElementName())[0] || null;
657
+ }
658
+ getFirstElement() {
659
+ return this.element.querySelectorAll(this.getElementName())[0] || null;
660
+ }
661
+ getNextElement() {
662
+ var _a;
663
+ return ((_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.nextElementSibling) || this.getFirstElement();
664
+ }
665
+ getPreviousElement() {
666
+ var _a;
667
+ return ((_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.previousElementSibling) || this.getFirstElement();
668
+ }
669
+ getChildElement() {
670
+ var _a;
671
+ return ((_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.querySelectorAll(this.getChildElementName())[0]) || null;
672
+ }
673
+ getParentElement(element) {
674
+ if (element && element) {
675
+ const isRootElement = element && element.attributes['data-isroot'];
676
+ if (isRootElement) {
677
+ return element;
678
+ }
679
+ return this.getParentElement(element.parentNode);
680
+ }
681
+ }
682
+ focusElementIsOpen() {
683
+ var _a;
684
+ return ((_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.classList.contains('bcm-list__item--open')) || false;
685
+ }
686
+ isRootElement() {
687
+ var _a;
688
+ return ((_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.querySelectorAll(this.getChildElementName()).length) > 0;
689
+ }
690
+ isRootElementIsOpen() {
691
+ return this.getFocusedElement().classList.contains('bcm-list__item--open');
692
+ }
693
+ getFocusedChildElement() {
694
+ var _a;
695
+ return ((_a = this.getChildElement()) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.focused')[0]) || null;
696
+ }
697
+ isLastElement() {
698
+ var _a;
699
+ return ((_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.nextElementSibling) === null;
700
+ }
701
+ focusParentElementFirstChild() {
702
+ var _a, _b;
703
+ return this.setFocus((_b = (_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.firstChild);
704
+ }
705
+ isFirstElement() {
706
+ var _a;
707
+ return ((_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.previousElementSibling) === null;
708
+ }
709
+ focusRootElement() {
710
+ var _a, _b, _c;
711
+ return this.setFocus((_c = (_b = (_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.firstChild);
712
+ }
713
+ nextRootElement() {
714
+ var _a, _b, _c;
715
+ return this.setFocus((_c = (_b = (_a = this.getFocusedElement()) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.nextElementSibling);
716
+ }
717
+ findFocusElementParent() {
718
+ return this.getFocusedElement().parentNode.querySelectorAll('.bcm-list__item--open');
719
+ }
720
+ getLastElement() {
721
+ return this.element.querySelectorAll(this.getElementName())[this.element.querySelectorAll(this.getElementName()).length - 1] || null;
722
+ }
723
+ setFocus(element) {
724
+ element.focus();
725
+ }
726
+ }
727
+
728
+ class ListKeyControl extends KeyControl {
729
+ constructor(keyCode, element, treeview, checkBoxes) {
730
+ super(keyCode, element, '.bcm-list__item', '.bcm-list__item-childs');
731
+ this.isTreeview = false;
732
+ this.isCheckBoxes = false;
733
+ this.isTreeview = treeview;
734
+ this.isCheckBoxes = checkBoxes;
735
+ }
736
+ keyUpControl() {
737
+ if (this.isTreeview) {
738
+ this.keyUpTreeview();
739
+ }
740
+ else {
741
+ if (this.isFirstElement()) {
742
+ this.setFocus(this.getLastElement());
743
+ }
744
+ else {
745
+ this.setFocus(this.getPreviousElement());
746
+ }
747
+ }
748
+ }
749
+ keyDownTreeView() {
750
+ var _a;
751
+ if (this.isTreeview) {
752
+ if (this.isRootElement() && this.isRootElementIsOpen()) {
753
+ const childs = this.getChildElement();
754
+ if (childs) {
755
+ this.setFocus(childs.firstChild);
756
+ }
757
+ }
758
+ else {
759
+ if (this.isLastElement() && this.getParentElement(this.getFocusedElement())) {
760
+ this.setFocus((_a = this.getParentElement(this.getFocusedElement())) === null || _a === void 0 ? void 0 : _a.nextElementSibling);
761
+ }
762
+ else {
763
+ this.setFocus(this.getNextElement());
764
+ }
765
+ }
766
+ }
767
+ }
768
+ keyUpTreeview() {
769
+ if (this.isFirstElement()) {
770
+ const parent = this.getParentElement(this.getFocusedElement());
771
+ this.setFocus(parent);
772
+ }
773
+ else {
774
+ const previousElement = this.getPreviousElement();
775
+ if (previousElement) {
776
+ if (previousElement.classList.contains('bcm-list__item--open')) {
777
+ const getChildElement = previousElement.querySelectorAll(this.getChildElementName())[0];
778
+ console.log({ getChildElement });
779
+ this.setFocus(getChildElement.lastChild);
780
+ }
781
+ else {
782
+ this.setFocus(previousElement);
783
+ }
784
+ }
785
+ }
786
+ }
787
+ keyDownControl() {
788
+ if (this.isTreeview) {
789
+ this.keyDownTreeView();
790
+ }
791
+ else {
792
+ if (this.isLastElement()) {
793
+ this.setFocus(this.getFirstElement());
794
+ }
795
+ else {
796
+ this.setFocus(this.getNextElement());
797
+ }
798
+ }
799
+ }
800
+ keyRightControl() {
801
+ if (this.isTreeview) {
802
+ if (!this.isRootElementIsOpen() && this.isRootElement()) {
803
+ const { id } = this.getFocusedElement();
804
+ this.openGroup(id);
805
+ }
806
+ }
807
+ }
808
+ keyLeftControl() {
809
+ if (this.isTreeview) {
810
+ if (this.isRootElementIsOpen() && this.isRootElement()) {
811
+ const { id } = this.getFocusedElement();
812
+ this.openGroup(id);
813
+ }
814
+ }
815
+ }
816
+ keyEnterControl() { }
817
+ keySpaceControl() {
818
+ if (this.isCheckBoxes) {
819
+ const { id } = this.getFocusedElement();
820
+ this.checkedItem(id);
821
+ }
822
+ }
823
+ keyDown() {
824
+ switch (this.getKeyCode()) {
825
+ case bcm.Bcm.KeyCode.up:
826
+ this.keyUpControl();
827
+ break;
828
+ case bcm.Bcm.KeyCode.down:
829
+ this.keyDownControl();
830
+ break;
831
+ case bcm.Bcm.KeyCode.left:
832
+ this.keyLeftControl();
833
+ break;
834
+ case bcm.Bcm.KeyCode.right:
835
+ this.keyRightControl();
836
+ break;
837
+ case bcm.Bcm.KeyCode.enter:
838
+ this.keyEnterControl();
839
+ break;
840
+ case bcm.Bcm.KeyCode.space:
841
+ this.keySpaceControl();
842
+ break;
843
+ }
844
+ }
845
+ keyUp() { }
846
+ }
847
+
848
+ class ListTagControl {
849
+ constructor(containerId, values, listId, selectedOtherTag, clearable) {
850
+ this.clearable = false;
851
+ this.containerId = containerId;
852
+ this.values = values;
853
+ this.listId = listId;
854
+ this.selectedOtherTag = selectedOtherTag;
855
+ this.clearable = clearable;
856
+ }
857
+ getTooltip(id, text) {
858
+ return new tooltipHelper.Tooltip({ message: text, targetId: id, placement: 'bottom' });
859
+ }
860
+ tagHtmlTemplate(tag, isOtherTag = false, otherTagIsSingle = false) {
861
+ return `<span class="bcm-tag__content dismissable ${!otherTagIsSingle && isOtherTag && (this.selectedOtherTag ? 'checkable checked' : '')}">
862
+ <span class="value">${tag.text}</span>
863
+ ${otherTagIsSingle
864
+ ? ''
865
+ : `
866
+ <span class="right close-button" bcm-list-tag-dismiss >
867
+ <bcm-icon icon="fal fa-times"></bcm-icon>
868
+ </span>`}
869
+ </span>`;
870
+ }
871
+ getContainer() {
872
+ return document.getElementById(this.containerId);
873
+ }
874
+ getContainerWidth() {
875
+ let tagContainerWidth = generate.snq(() => document.getElementById(this.containerId).clientWidth, 0);
876
+ tagContainerWidth = (this.clearable ? tagContainerWidth - 20 : tagContainerWidth) - 20;
877
+ return [tagContainerWidth < 130 ? 130 : tagContainerWidth - 20, tagContainerWidth];
878
+ }
879
+ isClickDismiss(e) {
880
+ const path = e.path || (e.composedPath && e.composedPath());
881
+ const tag = path.find(element => element.attributes && element.attributes['bcm-list-tag-dismiss']);
882
+ return !!tag;
883
+ }
884
+ onClickControl(e, id, isOtherTag = false) {
885
+ const isDismiss = this.isClickDismiss(e);
886
+ let tooltipId = '';
887
+ if (isDismiss) {
888
+ this.onClickDismiss(id);
889
+ tooltipId = isOtherTag ? `bcm-list-input-tag-${this.listId}-other-tag` : `list-${this.listId}-${id}`;
890
+ this.getTooltip(tooltipId, '').hide();
891
+ }
892
+ else {
893
+ isOtherTag ? this.onClickOtherTag(id) : this.onClickTag(id);
894
+ }
895
+ }
896
+ calculateTags() {
897
+ const containerWidth = this.getContainerWidth();
898
+ const virtualDom = this.getContainer();
899
+ if (virtualDom) {
900
+ if (this.values && this.values.length > 0) {
901
+ if (containerWidth[0] > 0 && virtualDom) {
902
+ virtualDom.innerHTML = '';
903
+ this.values.slice(0, 50).map(value => {
904
+ const tag = document.createElement('div');
905
+ tag.classList.add('bcm-tag');
906
+ tag.id = `list-${this.listId}-${value.id}`;
907
+ // tag.title = value.tagTitle || value.text || '';
908
+ tag.onmouseenter = () => this.getTooltip(`list-${this.listId}-${value.id}`, value.tagTitle || value.text || '').show();
909
+ tag.onmouseleave = () => this.getTooltip(`list-${this.listId}-${value.id}`, value.tagTitle || value.text || '').hide();
910
+ tag.dataset.id = value.id;
911
+ tag.onclick = e => this.onClickControl(e, value.id);
912
+ tag.innerHTML = this.tagHtmlTemplate(Object.assign(Object.assign({}, value), { text: stringHelper.StringHelper.textLimitter(value.text, 10) }));
913
+ virtualDom.appendChild(tag);
914
+ });
915
+ let tags = virtualDom.querySelectorAll('.bcm-tag');
916
+ let otherTags = [];
917
+ let visibleTags = [];
918
+ const checkControl = () => {
919
+ const virtualDomTags = virtualDom.querySelectorAll('.bcm-tag');
920
+ if (visibleTags.length === 1 && (virtualDomTags === null || virtualDomTags === void 0 ? void 0 : virtualDomTags.length) === 1) {
921
+ visibleTags[0].innerHTML = this.tagHtmlTemplate({ text: '+1' }, false, true);
922
+ }
923
+ };
924
+ let tagsWidth = Array.from(tags).reduce((acc, tag) => {
925
+ const tagClientWidth = tag.clientWidth > 50 ? tag.clientWidth : 50;
926
+ if (tagClientWidth > 0 && acc + tagClientWidth + 10 < containerWidth[0]) {
927
+ acc += tagClientWidth + 10;
928
+ visibleTags.push(tag);
929
+ const checkFreeSpace = tagClientWidth > 0 && acc + tagClientWidth + 10 < containerWidth[0];
930
+ !checkFreeSpace && containerWidth[1] < 70 && checkControl();
931
+ }
932
+ else {
933
+ otherTags.push(tag);
934
+ tag.remove();
935
+ }
936
+ return acc;
937
+ }, 0);
938
+ const otherTagElement = this.values.slice(visibleTags.length);
939
+ const virtualDomLastElements = virtualDom.lastElementChild;
940
+ const otherTagTextControl = args => {
941
+ const { count, width } = args;
942
+ if (count > 999)
943
+ return '999+' + utils.pluralize('item', count);
944
+ if (width > 100)
945
+ return `${count} ` + utils.pluralize('item', count) + ' selected';
946
+ if (width < 100)
947
+ return `+${count < 10 ? count : '9'}`;
948
+ };
949
+ if (otherTags && otherTags.length > 0 && virtualDomLastElements && virtualDomLastElements.id !== `bcm-list-input-tag-${this.listId}-other-tag`) {
950
+ otherTags.push(virtualDomLastElements);
951
+ if (otherTags.length > 0) {
952
+ const otherCounter = otherTagElement.length + 1;
953
+ const createOthertagElement = {
954
+ id: `bcm-list-input-tag-${this.listId}-other-tag`,
955
+ text: otherTagTextControl({ count: otherCounter, width: containerWidth[1] }),
956
+ title: generate.snq(() => otherTags
957
+ .map(tag => this.values.find(value => value.id == tag.dataset.id))
958
+ .slice(0, 15)
959
+ .map(item => stringHelper.StringHelper.textLimitter(item.tagTitle || item.text, 40, true))
960
+ .toString()
961
+ .split(',')
962
+ .join('\r\n') + (otherTags.length > 15 ? ('\r\n...') : ''), '...'),
963
+ };
964
+ virtualDomLastElements.remove();
965
+ visibleTags = visibleTags.filter(tag => tag.id !== virtualDomLastElements.id);
966
+ const hiddenTags = this.values.filter(value => !visibleTags.find(tag => tag.dataset.id == value.id)).map(value => value.id);
967
+ const otherTag = document.createElement('div');
968
+ const otherTagIds = hiddenTags.join(',');
969
+ const otherTagIsSingle = visibleTags.length === 0;
970
+ otherTag.classList.add('bcm-tag');
971
+ !otherTagIsSingle && otherTag.classList.add('bcm-tag--other');
972
+ otherTag.id = createOthertagElement.id;
973
+ // otherTag.title = createOthertagElement.title || false;
974
+ if (createOthertagElement.title) {
975
+ otherTag.onmouseenter = () => this.getTooltip(createOthertagElement.id, createOthertagElement.title).show();
976
+ otherTag.onmouseleave = () => this.getTooltip(createOthertagElement.id, createOthertagElement.title).hide();
977
+ }
978
+ otherTag.onclick = e => this.onClickControl(e, otherTagIds, otherTagIsSingle ? false : true);
979
+ otherTag.innerHTML = this.tagHtmlTemplate(createOthertagElement, true, otherTagIsSingle);
980
+ otherTag.dataset.ids = hiddenTags.join(',');
981
+ virtualDom.appendChild(otherTag);
982
+ }
983
+ }
984
+ const otherTag = document.getElementById(`bcm-list-input-tag-${this.listId}-other-tag`);
985
+ const otherTagWidth = otherTag ? (otherTag.clientWidth && otherTag.clientWidth < 50 ? 50 : otherTag.clientWidth) : 200;
986
+ const tagsPerRow = Math.floor(containerWidth[0] - tagsWidth);
987
+ if (tagsPerRow > otherTagWidth) {
988
+ if (otherTag) {
989
+ const findElement = this.values.find(value => value.id == otherTag.dataset.ids.split(',')[0]);
990
+ const tag = document.createElement('div');
991
+ tag.classList.add('bcm-tag');
992
+ tag.id = `list-${this.listId}-${findElement.id}`;
993
+ // tag.title = findElement?.title || '';
994
+ tag.onmouseenter = () => this.getTooltip(`list-${this.listId}-${findElement.id}`, (findElement === null || findElement === void 0 ? void 0 : findElement.title) || '').show();
995
+ tag.onmouseleave = () => this.getTooltip(`list-${this.listId}-${findElement.id}`, (findElement === null || findElement === void 0 ? void 0 : findElement.title) || '').hide();
996
+ tag.dataset.id = findElement.id;
997
+ tag.onclick = e => this.onClickControl(e, findElement === null || findElement === void 0 ? void 0 : findElement.id);
998
+ tag.innerHTML = this.tagHtmlTemplate(Object.assign(Object.assign({}, findElement), { text: stringHelper.StringHelper.textLimitter(findElement.text, 10) }));
999
+ const otherTagElement = document.getElementById(`bcm-list-input-tag-${this.listId}-other-tag`);
1000
+ otherTagElement.remove();
1001
+ virtualDom.appendChild(tag);
1002
+ }
1003
+ }
1004
+ }
1005
+ }
1006
+ else {
1007
+ virtualDom.innerHTML = '';
1008
+ }
1009
+ }
1010
+ }
1011
+ }
1012
+
1013
+ const listCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); .size-1{font-size:12px;line-height:20px}.size-2{font-size:14px;line-height:22px}.size-3{font-size:16px;line-height:24px}.size-4{font-size:20px;line-height:28px}.size-5{font-size:24px;line-height:32px}.size-6{font-size:30px;line-height:38px}.size-7{font-size:38px;line-height:46px}.size-8{font-size:46px;line-height:54px}.size-9{font-size:56px;line-height:64px}.weight-regular{font-weight:400}.weight-semibold{font-weight:500}.input-size-large{height:40px}.input-size-medium{height:32px}.input-size-small{height:24px}.resize-none textarea{resize:none}.resize-vertical textarea{resize:vertical}.resize-auto textarea{height:auto;resize:none}.textarea-size-large{padding:4px 0 0 4px;min-height:40px}.textarea-size-large .bcm-input-element{min-height:calc((40px - 8px) + 2px)}.textarea-size-large .input-clear-button{height:calc( 40px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-medium{padding:4px 0 0 4px;min-height:32px}.textarea-size-medium .bcm-input-element{min-height:calc((32px - 8px) + 2px)}.textarea-size-medium .input-clear-button{height:calc( 32px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-small{padding:0px 0 0 4px;min-height:24px}.textarea-size-small .bcm-input-element{min-height:calc((24px - 8px) + 2px)}.textarea-size-small .input-clear-button{height:calc( 24px - 16px );top:8px;padding:0;margin-right:8px}:root,::after,::before{--bcm-new-ds-color-inherit:inherit;--bcm-new-ds-color-current:currentColor;--bcm-new-ds-color-transparent:transparent;--bcm-new-ds-color-black:#000;--bcm-new-ds-color-white:#fff;--bcm-new-ds-color-slate:#64748b;--bcm-new-ds-color-slate-50:#f8fafc;--bcm-new-ds-color-slate-100:#f1f5f9;--bcm-new-ds-color-slate-200:#e2e8f0;--bcm-new-ds-color-slate-300:#cbd5e1;--bcm-new-ds-color-slate-400:#94a3b8;--bcm-new-ds-color-slate-500:#64748b;--bcm-new-ds-color-slate-600:#475569;--bcm-new-ds-color-slate-700:#334155;--bcm-new-ds-color-slate-800:#1e293b;--bcm-new-ds-color-slate-900:#0f172a;--bcm-new-ds-color-gray:#6b7280;--bcm-new-ds-color-gray-50:#f9fafb;--bcm-new-ds-color-gray-100:#f3f4f6;--bcm-new-ds-color-gray-200:#e5e7eb;--bcm-new-ds-color-gray-300:#d1d5db;--bcm-new-ds-color-gray-400:#9ca3af;--bcm-new-ds-color-gray-500:#6b7280;--bcm-new-ds-color-gray-600:#4b5563;--bcm-new-ds-color-gray-700:#374151;--bcm-new-ds-color-gray-800:#1f2937;--bcm-new-ds-color-gray-900:#111827;--bcm-new-ds-color-zinc:#71717a;--bcm-new-ds-color-zinc-50:#fafafa;--bcm-new-ds-color-zinc-100:#f4f4f5;--bcm-new-ds-color-zinc-200:#e4e4e7;--bcm-new-ds-color-zinc-300:#d4d4d8;--bcm-new-ds-color-zinc-400:#a1a1aa;--bcm-new-ds-color-zinc-500:#71717a;--bcm-new-ds-color-zinc-600:#52525b;--bcm-new-ds-color-zinc-700:#3f3f46;--bcm-new-ds-color-zinc-800:#27272a;--bcm-new-ds-color-zinc-900:#18181b;--bcm-new-ds-color-neutral:#737373;--bcm-new-ds-color-neutral-50:#fafafa;--bcm-new-ds-color-neutral-100:#f5f5f5;--bcm-new-ds-color-neutral-200:#e5e5e5;--bcm-new-ds-color-neutral-300:#d4d4d4;--bcm-new-ds-color-neutral-400:#a3a3a3;--bcm-new-ds-color-neutral-500:#737373;--bcm-new-ds-color-neutral-600:#525252;--bcm-new-ds-color-neutral-700:#404040;--bcm-new-ds-color-neutral-800:#262626;--bcm-new-ds-color-neutral-900:#171717;--bcm-new-ds-color-stone:#78716c;--bcm-new-ds-color-stone-50:#fafaf9;--bcm-new-ds-color-stone-100:#f5f5f4;--bcm-new-ds-color-stone-200:#e7e5e4;--bcm-new-ds-color-stone-300:#d6d3d1;--bcm-new-ds-color-stone-400:#a8a29e;--bcm-new-ds-color-stone-500:#78716c;--bcm-new-ds-color-stone-600:#57534e;--bcm-new-ds-color-stone-700:#44403c;--bcm-new-ds-color-stone-800:#292524;--bcm-new-ds-color-stone-900:#1c1917;--bcm-new-ds-color-red:#ef4444;--bcm-new-ds-color-red-50:#fef2f2;--bcm-new-ds-color-red-100:#fee2e2;--bcm-new-ds-color-red-200:#fecaca;--bcm-new-ds-color-red-300:#fca5a5;--bcm-new-ds-color-red-400:#f87171;--bcm-new-ds-color-red-500:#ef4444;--bcm-new-ds-color-red-600:#dc2626;--bcm-new-ds-color-red-700:#b91c1c;--bcm-new-ds-color-red-800:#991b1b;--bcm-new-ds-color-red-900:#7f1d1d;--bcm-new-ds-color-orange:#f97316;--bcm-new-ds-color-orange-50:#fff7ed;--bcm-new-ds-color-orange-100:#ffedd5;--bcm-new-ds-color-orange-200:#fed7aa;--bcm-new-ds-color-orange-300:#fdba74;--bcm-new-ds-color-orange-400:#fb923c;--bcm-new-ds-color-orange-500:#f97316;--bcm-new-ds-color-orange-600:#ea580c;--bcm-new-ds-color-orange-700:#c2410c;--bcm-new-ds-color-orange-800:#9a3412;--bcm-new-ds-color-orange-900:#7c2d12;--bcm-new-ds-color-amber:#f59e0b;--bcm-new-ds-color-amber-50:#fffbeb;--bcm-new-ds-color-amber-100:#fef3c7;--bcm-new-ds-color-amber-200:#fde68a;--bcm-new-ds-color-amber-300:#fcd34d;--bcm-new-ds-color-amber-400:#fbbf24;--bcm-new-ds-color-amber-500:#f59e0b;--bcm-new-ds-color-amber-600:#d97706;--bcm-new-ds-color-amber-700:#b45309;--bcm-new-ds-color-amber-800:#92400e;--bcm-new-ds-color-amber-900:#78350f;--bcm-new-ds-color-yellow:#eab308;--bcm-new-ds-color-yellow-50:#fefce8;--bcm-new-ds-color-yellow-100:#fef9c3;--bcm-new-ds-color-yellow-200:#fef08a;--bcm-new-ds-color-yellow-300:#fde047;--bcm-new-ds-color-yellow-400:#facc15;--bcm-new-ds-color-yellow-500:#eab308;--bcm-new-ds-color-yellow-600:#ca8a04;--bcm-new-ds-color-yellow-700:#a16207;--bcm-new-ds-color-yellow-800:#854d0e;--bcm-new-ds-color-yellow-900:#713f12;--bcm-new-ds-color-lime:#84cc16;--bcm-new-ds-color-lime-50:#f7fee7;--bcm-new-ds-color-lime-100:#ecfccb;--bcm-new-ds-color-lime-200:#d9f99d;--bcm-new-ds-color-lime-300:#bef264;--bcm-new-ds-color-lime-400:#a3e635;--bcm-new-ds-color-lime-500:#84cc16;--bcm-new-ds-color-lime-600:#65a30d;--bcm-new-ds-color-lime-700:#4d7c0f;--bcm-new-ds-color-lime-800:#3f6212;--bcm-new-ds-color-lime-900:#365314;--bcm-new-ds-color-green:#22c55e;--bcm-new-ds-color-green-50:#f0fdf4;--bcm-new-ds-color-green-100:#dcfce7;--bcm-new-ds-color-green-200:#bbf7d0;--bcm-new-ds-color-green-300:#86efac;--bcm-new-ds-color-green-400:#4ade80;--bcm-new-ds-color-green-500:#22c55e;--bcm-new-ds-color-green-600:#16a34a;--bcm-new-ds-color-green-700:#15803d;--bcm-new-ds-color-green-800:#166534;--bcm-new-ds-color-green-900:#14532d;--bcm-new-ds-color-emerald:#10b981;--bcm-new-ds-color-emerald-50:#ecfdf5;--bcm-new-ds-color-emerald-100:#d1fae5;--bcm-new-ds-color-emerald-200:#a7f3d0;--bcm-new-ds-color-emerald-300:#6ee7b7;--bcm-new-ds-color-emerald-400:#34d399;--bcm-new-ds-color-emerald-500:#10b981;--bcm-new-ds-color-emerald-600:#059669;--bcm-new-ds-color-emerald-700:#047857;--bcm-new-ds-color-emerald-800:#065f46;--bcm-new-ds-color-emerald-900:#064e3b;--bcm-new-ds-color-teal:#14b8a6;--bcm-new-ds-color-teal-50:#f0fdfa;--bcm-new-ds-color-teal-100:#ccfbf1;--bcm-new-ds-color-teal-200:#99f6e4;--bcm-new-ds-color-teal-300:#5eead4;--bcm-new-ds-color-teal-400:#2dd4bf;--bcm-new-ds-color-teal-500:#14b8a6;--bcm-new-ds-color-teal-600:#0d9488;--bcm-new-ds-color-teal-700:#0f766e;--bcm-new-ds-color-teal-800:#115e59;--bcm-new-ds-color-teal-900:#134e4a;--bcm-new-ds-color-cyan:#06b6d4;--bcm-new-ds-color-cyan-50:#ecfeff;--bcm-new-ds-color-cyan-100:#cffafe;--bcm-new-ds-color-cyan-200:#a5f3fc;--bcm-new-ds-color-cyan-300:#67e8f9;--bcm-new-ds-color-cyan-400:#22d3ee;--bcm-new-ds-color-cyan-500:#06b6d4;--bcm-new-ds-color-cyan-600:#0891b2;--bcm-new-ds-color-cyan-700:#0e7490;--bcm-new-ds-color-cyan-800:#155e75;--bcm-new-ds-color-cyan-900:#164e63;--bcm-new-ds-color-sky:#0ea5e9;--bcm-new-ds-color-sky-50:#f0f9ff;--bcm-new-ds-color-sky-100:#e0f2fe;--bcm-new-ds-color-sky-200:#bae6fd;--bcm-new-ds-color-sky-300:#7dd3fc;--bcm-new-ds-color-sky-400:#38bdf8;--bcm-new-ds-color-sky-500:#0ea5e9;--bcm-new-ds-color-sky-600:#0284c7;--bcm-new-ds-color-sky-700:#0369a1;--bcm-new-ds-color-sky-800:#075985;--bcm-new-ds-color-sky-900:#0c4a6e;--bcm-new-ds-color-blue:#3b82f6;--bcm-new-ds-color-blue-50:#eff6ff;--bcm-new-ds-color-blue-100:#dbeafe;--bcm-new-ds-color-blue-200:#bfdbfe;--bcm-new-ds-color-blue-300:#93c5fd;--bcm-new-ds-color-blue-400:#60a5fa;--bcm-new-ds-color-blue-500:#3b82f6;--bcm-new-ds-color-blue-600:#2563eb;--bcm-new-ds-color-blue-700:#1d4ed8;--bcm-new-ds-color-blue-800:#1e40af;--bcm-new-ds-color-blue-900:#1e3a8a;--bcm-new-ds-color-indigo:#6366f1;--bcm-new-ds-color-indigo-50:#eef2ff;--bcm-new-ds-color-indigo-100:#e0e7ff;--bcm-new-ds-color-indigo-200:#c7d2fe;--bcm-new-ds-color-indigo-300:#a5b4fc;--bcm-new-ds-color-indigo-400:#818cf8;--bcm-new-ds-color-indigo-500:#6366f1;--bcm-new-ds-color-indigo-600:#4f46e5;--bcm-new-ds-color-indigo-700:#4338ca;--bcm-new-ds-color-indigo-800:#3730a3;--bcm-new-ds-color-indigo-900:#312e81;--bcm-new-ds-color-violet:#8b5cf6;--bcm-new-ds-color-violet-50:#f5f3ff;--bcm-new-ds-color-violet-100:#ede9fe;--bcm-new-ds-color-violet-200:#ddd6fe;--bcm-new-ds-color-violet-300:#c4b5fd;--bcm-new-ds-color-violet-400:#a78bfa;--bcm-new-ds-color-violet-500:#8b5cf6;--bcm-new-ds-color-violet-600:#7c3aed;--bcm-new-ds-color-violet-700:#6d28d9;--bcm-new-ds-color-violet-800:#5b21b6;--bcm-new-ds-color-violet-900:#4c1d95;--bcm-new-ds-color-purple:#a855f7;--bcm-new-ds-color-purple-50:#faf5ff;--bcm-new-ds-color-purple-100:#f3e8ff;--bcm-new-ds-color-purple-200:#e9d5ff;--bcm-new-ds-color-purple-300:#d8b4fe;--bcm-new-ds-color-purple-400:#c084fc;--bcm-new-ds-color-purple-500:#a855f7;--bcm-new-ds-color-purple-600:#9333ea;--bcm-new-ds-color-purple-700:#7e22ce;--bcm-new-ds-color-purple-800:#6b21a8;--bcm-new-ds-color-purple-900:#581c87;--bcm-new-ds-color-fuchsia:#d946ef;--bcm-new-ds-color-fuchsia-50:#fdf4ff;--bcm-new-ds-color-fuchsia-100:#fae8ff;--bcm-new-ds-color-fuchsia-200:#f5d0fe;--bcm-new-ds-color-fuchsia-300:#f0abfc;--bcm-new-ds-color-fuchsia-400:#e879f9;--bcm-new-ds-color-fuchsia-500:#d946ef;--bcm-new-ds-color-fuchsia-600:#c026d3;--bcm-new-ds-color-fuchsia-700:#a21caf;--bcm-new-ds-color-fuchsia-800:#86198f;--bcm-new-ds-color-fuchsia-900:#701a75;--bcm-new-ds-color-pink:#ec4899;--bcm-new-ds-color-pink-50:#fdf2f8;--bcm-new-ds-color-pink-100:#fce7f3;--bcm-new-ds-color-pink-200:#fbcfe8;--bcm-new-ds-color-pink-300:#f9a8d4;--bcm-new-ds-color-pink-400:#f472b6;--bcm-new-ds-color-pink-500:#ec4899;--bcm-new-ds-color-pink-600:#db2777;--bcm-new-ds-color-pink-700:#be185d;--bcm-new-ds-color-pink-800:#9d174d;--bcm-new-ds-color-pink-900:#831843;--bcm-new-ds-color-rose:#f43f5e;--bcm-new-ds-color-rose-50:#fff1f2;--bcm-new-ds-color-rose-100:#ffe4e6;--bcm-new-ds-color-rose-200:#fecdd3;--bcm-new-ds-color-rose-300:#fda4af;--bcm-new-ds-color-rose-400:#fb7185;--bcm-new-ds-color-rose-500:#f43f5e;--bcm-new-ds-color-rose-600:#e11d48;--bcm-new-ds-color-rose-700:#be123c;--bcm-new-ds-color-rose-800:#9f1239;--bcm-new-ds-color-rose-900:#881337}*{box-sizing:border-box}.bcm-caption-area{font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;font-size:12px;line-height:calc(12px + 8px);color:var(--bcm-new-ds-color-slate-400);display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;flex-wrap:nowrap;margin-top:2px}.bcm-caption-area__text{color:var(--bcm-new-ds-color-slate-400)}.bcm-caption-area__text.default{color:var(--bcm-new-ds-color-slate-400)}.bcm-caption-area__text.info{color:var(--bcm-new-ds-color-blue-500)}.bcm-caption-area__text.success{color:var(--bcm-new-ds-color-emerald-500)}.bcm-caption-area__text.warning{color:var(--bcm-new-ds-color-amber-500)}.bcm-caption-area__text.error{color:var(--bcm-new-ds-color-red-500)}.bcm-caption-area__size-small{font-size:10px;line-height:calc(10px + 8px);min-height:calc(10px + 8px)}.bcm-caption-area__size-medium{font-size:12px;line-height:calc(12px + 8px);min-height:calc(12px + 8px)}.bcm-caption-area__size-large{font-size:14px;line-height:calc(14px + 8px);min-height:calc(14px + 8px)}:root,::after,::before{--bcm-new-ds-color-inherit:inherit;--bcm-new-ds-color-current:currentColor;--bcm-new-ds-color-transparent:transparent;--bcm-new-ds-color-black:#000;--bcm-new-ds-color-white:#fff;--bcm-new-ds-color-slate:#64748b;--bcm-new-ds-color-slate-50:#f8fafc;--bcm-new-ds-color-slate-100:#f1f5f9;--bcm-new-ds-color-slate-200:#e2e8f0;--bcm-new-ds-color-slate-300:#cbd5e1;--bcm-new-ds-color-slate-400:#94a3b8;--bcm-new-ds-color-slate-500:#64748b;--bcm-new-ds-color-slate-600:#475569;--bcm-new-ds-color-slate-700:#334155;--bcm-new-ds-color-slate-800:#1e293b;--bcm-new-ds-color-slate-900:#0f172a;--bcm-new-ds-color-gray:#6b7280;--bcm-new-ds-color-gray-50:#f9fafb;--bcm-new-ds-color-gray-100:#f3f4f6;--bcm-new-ds-color-gray-200:#e5e7eb;--bcm-new-ds-color-gray-300:#d1d5db;--bcm-new-ds-color-gray-400:#9ca3af;--bcm-new-ds-color-gray-500:#6b7280;--bcm-new-ds-color-gray-600:#4b5563;--bcm-new-ds-color-gray-700:#374151;--bcm-new-ds-color-gray-800:#1f2937;--bcm-new-ds-color-gray-900:#111827;--bcm-new-ds-color-zinc:#71717a;--bcm-new-ds-color-zinc-50:#fafafa;--bcm-new-ds-color-zinc-100:#f4f4f5;--bcm-new-ds-color-zinc-200:#e4e4e7;--bcm-new-ds-color-zinc-300:#d4d4d8;--bcm-new-ds-color-zinc-400:#a1a1aa;--bcm-new-ds-color-zinc-500:#71717a;--bcm-new-ds-color-zinc-600:#52525b;--bcm-new-ds-color-zinc-700:#3f3f46;--bcm-new-ds-color-zinc-800:#27272a;--bcm-new-ds-color-zinc-900:#18181b;--bcm-new-ds-color-neutral:#737373;--bcm-new-ds-color-neutral-50:#fafafa;--bcm-new-ds-color-neutral-100:#f5f5f5;--bcm-new-ds-color-neutral-200:#e5e5e5;--bcm-new-ds-color-neutral-300:#d4d4d4;--bcm-new-ds-color-neutral-400:#a3a3a3;--bcm-new-ds-color-neutral-500:#737373;--bcm-new-ds-color-neutral-600:#525252;--bcm-new-ds-color-neutral-700:#404040;--bcm-new-ds-color-neutral-800:#262626;--bcm-new-ds-color-neutral-900:#171717;--bcm-new-ds-color-stone:#78716c;--bcm-new-ds-color-stone-50:#fafaf9;--bcm-new-ds-color-stone-100:#f5f5f4;--bcm-new-ds-color-stone-200:#e7e5e4;--bcm-new-ds-color-stone-300:#d6d3d1;--bcm-new-ds-color-stone-400:#a8a29e;--bcm-new-ds-color-stone-500:#78716c;--bcm-new-ds-color-stone-600:#57534e;--bcm-new-ds-color-stone-700:#44403c;--bcm-new-ds-color-stone-800:#292524;--bcm-new-ds-color-stone-900:#1c1917;--bcm-new-ds-color-red:#ef4444;--bcm-new-ds-color-red-50:#fef2f2;--bcm-new-ds-color-red-100:#fee2e2;--bcm-new-ds-color-red-200:#fecaca;--bcm-new-ds-color-red-300:#fca5a5;--bcm-new-ds-color-red-400:#f87171;--bcm-new-ds-color-red-500:#ef4444;--bcm-new-ds-color-red-600:#dc2626;--bcm-new-ds-color-red-700:#b91c1c;--bcm-new-ds-color-red-800:#991b1b;--bcm-new-ds-color-red-900:#7f1d1d;--bcm-new-ds-color-orange:#f97316;--bcm-new-ds-color-orange-50:#fff7ed;--bcm-new-ds-color-orange-100:#ffedd5;--bcm-new-ds-color-orange-200:#fed7aa;--bcm-new-ds-color-orange-300:#fdba74;--bcm-new-ds-color-orange-400:#fb923c;--bcm-new-ds-color-orange-500:#f97316;--bcm-new-ds-color-orange-600:#ea580c;--bcm-new-ds-color-orange-700:#c2410c;--bcm-new-ds-color-orange-800:#9a3412;--bcm-new-ds-color-orange-900:#7c2d12;--bcm-new-ds-color-amber:#f59e0b;--bcm-new-ds-color-amber-50:#fffbeb;--bcm-new-ds-color-amber-100:#fef3c7;--bcm-new-ds-color-amber-200:#fde68a;--bcm-new-ds-color-amber-300:#fcd34d;--bcm-new-ds-color-amber-400:#fbbf24;--bcm-new-ds-color-amber-500:#f59e0b;--bcm-new-ds-color-amber-600:#d97706;--bcm-new-ds-color-amber-700:#b45309;--bcm-new-ds-color-amber-800:#92400e;--bcm-new-ds-color-amber-900:#78350f;--bcm-new-ds-color-yellow:#eab308;--bcm-new-ds-color-yellow-50:#fefce8;--bcm-new-ds-color-yellow-100:#fef9c3;--bcm-new-ds-color-yellow-200:#fef08a;--bcm-new-ds-color-yellow-300:#fde047;--bcm-new-ds-color-yellow-400:#facc15;--bcm-new-ds-color-yellow-500:#eab308;--bcm-new-ds-color-yellow-600:#ca8a04;--bcm-new-ds-color-yellow-700:#a16207;--bcm-new-ds-color-yellow-800:#854d0e;--bcm-new-ds-color-yellow-900:#713f12;--bcm-new-ds-color-lime:#84cc16;--bcm-new-ds-color-lime-50:#f7fee7;--bcm-new-ds-color-lime-100:#ecfccb;--bcm-new-ds-color-lime-200:#d9f99d;--bcm-new-ds-color-lime-300:#bef264;--bcm-new-ds-color-lime-400:#a3e635;--bcm-new-ds-color-lime-500:#84cc16;--bcm-new-ds-color-lime-600:#65a30d;--bcm-new-ds-color-lime-700:#4d7c0f;--bcm-new-ds-color-lime-800:#3f6212;--bcm-new-ds-color-lime-900:#365314;--bcm-new-ds-color-green:#22c55e;--bcm-new-ds-color-green-50:#f0fdf4;--bcm-new-ds-color-green-100:#dcfce7;--bcm-new-ds-color-green-200:#bbf7d0;--bcm-new-ds-color-green-300:#86efac;--bcm-new-ds-color-green-400:#4ade80;--bcm-new-ds-color-green-500:#22c55e;--bcm-new-ds-color-green-600:#16a34a;--bcm-new-ds-color-green-700:#15803d;--bcm-new-ds-color-green-800:#166534;--bcm-new-ds-color-green-900:#14532d;--bcm-new-ds-color-emerald:#10b981;--bcm-new-ds-color-emerald-50:#ecfdf5;--bcm-new-ds-color-emerald-100:#d1fae5;--bcm-new-ds-color-emerald-200:#a7f3d0;--bcm-new-ds-color-emerald-300:#6ee7b7;--bcm-new-ds-color-emerald-400:#34d399;--bcm-new-ds-color-emerald-500:#10b981;--bcm-new-ds-color-emerald-600:#059669;--bcm-new-ds-color-emerald-700:#047857;--bcm-new-ds-color-emerald-800:#065f46;--bcm-new-ds-color-emerald-900:#064e3b;--bcm-new-ds-color-teal:#14b8a6;--bcm-new-ds-color-teal-50:#f0fdfa;--bcm-new-ds-color-teal-100:#ccfbf1;--bcm-new-ds-color-teal-200:#99f6e4;--bcm-new-ds-color-teal-300:#5eead4;--bcm-new-ds-color-teal-400:#2dd4bf;--bcm-new-ds-color-teal-500:#14b8a6;--bcm-new-ds-color-teal-600:#0d9488;--bcm-new-ds-color-teal-700:#0f766e;--bcm-new-ds-color-teal-800:#115e59;--bcm-new-ds-color-teal-900:#134e4a;--bcm-new-ds-color-cyan:#06b6d4;--bcm-new-ds-color-cyan-50:#ecfeff;--bcm-new-ds-color-cyan-100:#cffafe;--bcm-new-ds-color-cyan-200:#a5f3fc;--bcm-new-ds-color-cyan-300:#67e8f9;--bcm-new-ds-color-cyan-400:#22d3ee;--bcm-new-ds-color-cyan-500:#06b6d4;--bcm-new-ds-color-cyan-600:#0891b2;--bcm-new-ds-color-cyan-700:#0e7490;--bcm-new-ds-color-cyan-800:#155e75;--bcm-new-ds-color-cyan-900:#164e63;--bcm-new-ds-color-sky:#0ea5e9;--bcm-new-ds-color-sky-50:#f0f9ff;--bcm-new-ds-color-sky-100:#e0f2fe;--bcm-new-ds-color-sky-200:#bae6fd;--bcm-new-ds-color-sky-300:#7dd3fc;--bcm-new-ds-color-sky-400:#38bdf8;--bcm-new-ds-color-sky-500:#0ea5e9;--bcm-new-ds-color-sky-600:#0284c7;--bcm-new-ds-color-sky-700:#0369a1;--bcm-new-ds-color-sky-800:#075985;--bcm-new-ds-color-sky-900:#0c4a6e;--bcm-new-ds-color-blue:#3b82f6;--bcm-new-ds-color-blue-50:#eff6ff;--bcm-new-ds-color-blue-100:#dbeafe;--bcm-new-ds-color-blue-200:#bfdbfe;--bcm-new-ds-color-blue-300:#93c5fd;--bcm-new-ds-color-blue-400:#60a5fa;--bcm-new-ds-color-blue-500:#3b82f6;--bcm-new-ds-color-blue-600:#2563eb;--bcm-new-ds-color-blue-700:#1d4ed8;--bcm-new-ds-color-blue-800:#1e40af;--bcm-new-ds-color-blue-900:#1e3a8a;--bcm-new-ds-color-indigo:#6366f1;--bcm-new-ds-color-indigo-50:#eef2ff;--bcm-new-ds-color-indigo-100:#e0e7ff;--bcm-new-ds-color-indigo-200:#c7d2fe;--bcm-new-ds-color-indigo-300:#a5b4fc;--bcm-new-ds-color-indigo-400:#818cf8;--bcm-new-ds-color-indigo-500:#6366f1;--bcm-new-ds-color-indigo-600:#4f46e5;--bcm-new-ds-color-indigo-700:#4338ca;--bcm-new-ds-color-indigo-800:#3730a3;--bcm-new-ds-color-indigo-900:#312e81;--bcm-new-ds-color-violet:#8b5cf6;--bcm-new-ds-color-violet-50:#f5f3ff;--bcm-new-ds-color-violet-100:#ede9fe;--bcm-new-ds-color-violet-200:#ddd6fe;--bcm-new-ds-color-violet-300:#c4b5fd;--bcm-new-ds-color-violet-400:#a78bfa;--bcm-new-ds-color-violet-500:#8b5cf6;--bcm-new-ds-color-violet-600:#7c3aed;--bcm-new-ds-color-violet-700:#6d28d9;--bcm-new-ds-color-violet-800:#5b21b6;--bcm-new-ds-color-violet-900:#4c1d95;--bcm-new-ds-color-purple:#a855f7;--bcm-new-ds-color-purple-50:#faf5ff;--bcm-new-ds-color-purple-100:#f3e8ff;--bcm-new-ds-color-purple-200:#e9d5ff;--bcm-new-ds-color-purple-300:#d8b4fe;--bcm-new-ds-color-purple-400:#c084fc;--bcm-new-ds-color-purple-500:#a855f7;--bcm-new-ds-color-purple-600:#9333ea;--bcm-new-ds-color-purple-700:#7e22ce;--bcm-new-ds-color-purple-800:#6b21a8;--bcm-new-ds-color-purple-900:#581c87;--bcm-new-ds-color-fuchsia:#d946ef;--bcm-new-ds-color-fuchsia-50:#fdf4ff;--bcm-new-ds-color-fuchsia-100:#fae8ff;--bcm-new-ds-color-fuchsia-200:#f5d0fe;--bcm-new-ds-color-fuchsia-300:#f0abfc;--bcm-new-ds-color-fuchsia-400:#e879f9;--bcm-new-ds-color-fuchsia-500:#d946ef;--bcm-new-ds-color-fuchsia-600:#c026d3;--bcm-new-ds-color-fuchsia-700:#a21caf;--bcm-new-ds-color-fuchsia-800:#86198f;--bcm-new-ds-color-fuchsia-900:#701a75;--bcm-new-ds-color-pink:#ec4899;--bcm-new-ds-color-pink-50:#fdf2f8;--bcm-new-ds-color-pink-100:#fce7f3;--bcm-new-ds-color-pink-200:#fbcfe8;--bcm-new-ds-color-pink-300:#f9a8d4;--bcm-new-ds-color-pink-400:#f472b6;--bcm-new-ds-color-pink-500:#ec4899;--bcm-new-ds-color-pink-600:#db2777;--bcm-new-ds-color-pink-700:#be185d;--bcm-new-ds-color-pink-800:#9d174d;--bcm-new-ds-color-pink-900:#831843;--bcm-new-ds-color-rose:#f43f5e;--bcm-new-ds-color-rose-50:#fff1f2;--bcm-new-ds-color-rose-100:#ffe4e6;--bcm-new-ds-color-rose-200:#fecdd3;--bcm-new-ds-color-rose-300:#fda4af;--bcm-new-ds-color-rose-400:#fb7185;--bcm-new-ds-color-rose-500:#f43f5e;--bcm-new-ds-color-rose-600:#e11d48;--bcm-new-ds-color-rose-700:#be123c;--bcm-new-ds-color-rose-800:#9f1239;--bcm-new-ds-color-rose-900:#881337}*{box-sizing:border-box}.bcm-label{display:inline-flex;align-items:flex-start;grid-gap:2px}.bcm-label__text{margin-bottom:2px;font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;display:inline-block;color:var(--bcm-new-ds-color-slate-600)}.bcm-label__size-small{font-size:10px;line-height:calc(10px + 8px);min-height:calc(10px + 8px)}.bcm-label__size-medium{font-size:12px;line-height:calc(12px + 8px);min-height:calc(12px + 8px)}.bcm-label__size-large{font-size:14px;line-height:calc(14px + 8px);min-height:calc(14px + 8px)}.bcm-input[no-margin]{margin:0}.bcm-textarea[no-margin]{margin:0}.bcm-switch[no-margin]{margin:0}.bcm-checkbox[no-margin]{margin:0}.bcm-radio-group[no-margin]{margin:0}.bcm-checkbox-group[no-margin]{margin:0}.bcm-range[no-margin]{margin:0}.bcm-form[no-margin]{margin:0}.bcm-form-group[no-margin]{margin:0}.bcm-list[no-margin]{margin:0}.bcm-colorpicker[no-margin]{margin:0}.bcm-date-picker[no-margin]{margin:0}.bcm-time-picker[no-margin]{margin:0}.bcm-datetime-picker[no-margin]{margin:0}.bcm-select[no-margin]{margin:0}.bcm-listbox[no-margin]{margin:0}:root,::after,::before{--bcm-new-ds-color-inherit:inherit;--bcm-new-ds-color-current:currentColor;--bcm-new-ds-color-transparent:transparent;--bcm-new-ds-color-black:#000;--bcm-new-ds-color-white:#fff;--bcm-new-ds-color-slate:#64748b;--bcm-new-ds-color-slate-50:#f8fafc;--bcm-new-ds-color-slate-100:#f1f5f9;--bcm-new-ds-color-slate-200:#e2e8f0;--bcm-new-ds-color-slate-300:#cbd5e1;--bcm-new-ds-color-slate-400:#94a3b8;--bcm-new-ds-color-slate-500:#64748b;--bcm-new-ds-color-slate-600:#475569;--bcm-new-ds-color-slate-700:#334155;--bcm-new-ds-color-slate-800:#1e293b;--bcm-new-ds-color-slate-900:#0f172a;--bcm-new-ds-color-gray:#6b7280;--bcm-new-ds-color-gray-50:#f9fafb;--bcm-new-ds-color-gray-100:#f3f4f6;--bcm-new-ds-color-gray-200:#e5e7eb;--bcm-new-ds-color-gray-300:#d1d5db;--bcm-new-ds-color-gray-400:#9ca3af;--bcm-new-ds-color-gray-500:#6b7280;--bcm-new-ds-color-gray-600:#4b5563;--bcm-new-ds-color-gray-700:#374151;--bcm-new-ds-color-gray-800:#1f2937;--bcm-new-ds-color-gray-900:#111827;--bcm-new-ds-color-zinc:#71717a;--bcm-new-ds-color-zinc-50:#fafafa;--bcm-new-ds-color-zinc-100:#f4f4f5;--bcm-new-ds-color-zinc-200:#e4e4e7;--bcm-new-ds-color-zinc-300:#d4d4d8;--bcm-new-ds-color-zinc-400:#a1a1aa;--bcm-new-ds-color-zinc-500:#71717a;--bcm-new-ds-color-zinc-600:#52525b;--bcm-new-ds-color-zinc-700:#3f3f46;--bcm-new-ds-color-zinc-800:#27272a;--bcm-new-ds-color-zinc-900:#18181b;--bcm-new-ds-color-neutral:#737373;--bcm-new-ds-color-neutral-50:#fafafa;--bcm-new-ds-color-neutral-100:#f5f5f5;--bcm-new-ds-color-neutral-200:#e5e5e5;--bcm-new-ds-color-neutral-300:#d4d4d4;--bcm-new-ds-color-neutral-400:#a3a3a3;--bcm-new-ds-color-neutral-500:#737373;--bcm-new-ds-color-neutral-600:#525252;--bcm-new-ds-color-neutral-700:#404040;--bcm-new-ds-color-neutral-800:#262626;--bcm-new-ds-color-neutral-900:#171717;--bcm-new-ds-color-stone:#78716c;--bcm-new-ds-color-stone-50:#fafaf9;--bcm-new-ds-color-stone-100:#f5f5f4;--bcm-new-ds-color-stone-200:#e7e5e4;--bcm-new-ds-color-stone-300:#d6d3d1;--bcm-new-ds-color-stone-400:#a8a29e;--bcm-new-ds-color-stone-500:#78716c;--bcm-new-ds-color-stone-600:#57534e;--bcm-new-ds-color-stone-700:#44403c;--bcm-new-ds-color-stone-800:#292524;--bcm-new-ds-color-stone-900:#1c1917;--bcm-new-ds-color-red:#ef4444;--bcm-new-ds-color-red-50:#fef2f2;--bcm-new-ds-color-red-100:#fee2e2;--bcm-new-ds-color-red-200:#fecaca;--bcm-new-ds-color-red-300:#fca5a5;--bcm-new-ds-color-red-400:#f87171;--bcm-new-ds-color-red-500:#ef4444;--bcm-new-ds-color-red-600:#dc2626;--bcm-new-ds-color-red-700:#b91c1c;--bcm-new-ds-color-red-800:#991b1b;--bcm-new-ds-color-red-900:#7f1d1d;--bcm-new-ds-color-orange:#f97316;--bcm-new-ds-color-orange-50:#fff7ed;--bcm-new-ds-color-orange-100:#ffedd5;--bcm-new-ds-color-orange-200:#fed7aa;--bcm-new-ds-color-orange-300:#fdba74;--bcm-new-ds-color-orange-400:#fb923c;--bcm-new-ds-color-orange-500:#f97316;--bcm-new-ds-color-orange-600:#ea580c;--bcm-new-ds-color-orange-700:#c2410c;--bcm-new-ds-color-orange-800:#9a3412;--bcm-new-ds-color-orange-900:#7c2d12;--bcm-new-ds-color-amber:#f59e0b;--bcm-new-ds-color-amber-50:#fffbeb;--bcm-new-ds-color-amber-100:#fef3c7;--bcm-new-ds-color-amber-200:#fde68a;--bcm-new-ds-color-amber-300:#fcd34d;--bcm-new-ds-color-amber-400:#fbbf24;--bcm-new-ds-color-amber-500:#f59e0b;--bcm-new-ds-color-amber-600:#d97706;--bcm-new-ds-color-amber-700:#b45309;--bcm-new-ds-color-amber-800:#92400e;--bcm-new-ds-color-amber-900:#78350f;--bcm-new-ds-color-yellow:#eab308;--bcm-new-ds-color-yellow-50:#fefce8;--bcm-new-ds-color-yellow-100:#fef9c3;--bcm-new-ds-color-yellow-200:#fef08a;--bcm-new-ds-color-yellow-300:#fde047;--bcm-new-ds-color-yellow-400:#facc15;--bcm-new-ds-color-yellow-500:#eab308;--bcm-new-ds-color-yellow-600:#ca8a04;--bcm-new-ds-color-yellow-700:#a16207;--bcm-new-ds-color-yellow-800:#854d0e;--bcm-new-ds-color-yellow-900:#713f12;--bcm-new-ds-color-lime:#84cc16;--bcm-new-ds-color-lime-50:#f7fee7;--bcm-new-ds-color-lime-100:#ecfccb;--bcm-new-ds-color-lime-200:#d9f99d;--bcm-new-ds-color-lime-300:#bef264;--bcm-new-ds-color-lime-400:#a3e635;--bcm-new-ds-color-lime-500:#84cc16;--bcm-new-ds-color-lime-600:#65a30d;--bcm-new-ds-color-lime-700:#4d7c0f;--bcm-new-ds-color-lime-800:#3f6212;--bcm-new-ds-color-lime-900:#365314;--bcm-new-ds-color-green:#22c55e;--bcm-new-ds-color-green-50:#f0fdf4;--bcm-new-ds-color-green-100:#dcfce7;--bcm-new-ds-color-green-200:#bbf7d0;--bcm-new-ds-color-green-300:#86efac;--bcm-new-ds-color-green-400:#4ade80;--bcm-new-ds-color-green-500:#22c55e;--bcm-new-ds-color-green-600:#16a34a;--bcm-new-ds-color-green-700:#15803d;--bcm-new-ds-color-green-800:#166534;--bcm-new-ds-color-green-900:#14532d;--bcm-new-ds-color-emerald:#10b981;--bcm-new-ds-color-emerald-50:#ecfdf5;--bcm-new-ds-color-emerald-100:#d1fae5;--bcm-new-ds-color-emerald-200:#a7f3d0;--bcm-new-ds-color-emerald-300:#6ee7b7;--bcm-new-ds-color-emerald-400:#34d399;--bcm-new-ds-color-emerald-500:#10b981;--bcm-new-ds-color-emerald-600:#059669;--bcm-new-ds-color-emerald-700:#047857;--bcm-new-ds-color-emerald-800:#065f46;--bcm-new-ds-color-emerald-900:#064e3b;--bcm-new-ds-color-teal:#14b8a6;--bcm-new-ds-color-teal-50:#f0fdfa;--bcm-new-ds-color-teal-100:#ccfbf1;--bcm-new-ds-color-teal-200:#99f6e4;--bcm-new-ds-color-teal-300:#5eead4;--bcm-new-ds-color-teal-400:#2dd4bf;--bcm-new-ds-color-teal-500:#14b8a6;--bcm-new-ds-color-teal-600:#0d9488;--bcm-new-ds-color-teal-700:#0f766e;--bcm-new-ds-color-teal-800:#115e59;--bcm-new-ds-color-teal-900:#134e4a;--bcm-new-ds-color-cyan:#06b6d4;--bcm-new-ds-color-cyan-50:#ecfeff;--bcm-new-ds-color-cyan-100:#cffafe;--bcm-new-ds-color-cyan-200:#a5f3fc;--bcm-new-ds-color-cyan-300:#67e8f9;--bcm-new-ds-color-cyan-400:#22d3ee;--bcm-new-ds-color-cyan-500:#06b6d4;--bcm-new-ds-color-cyan-600:#0891b2;--bcm-new-ds-color-cyan-700:#0e7490;--bcm-new-ds-color-cyan-800:#155e75;--bcm-new-ds-color-cyan-900:#164e63;--bcm-new-ds-color-sky:#0ea5e9;--bcm-new-ds-color-sky-50:#f0f9ff;--bcm-new-ds-color-sky-100:#e0f2fe;--bcm-new-ds-color-sky-200:#bae6fd;--bcm-new-ds-color-sky-300:#7dd3fc;--bcm-new-ds-color-sky-400:#38bdf8;--bcm-new-ds-color-sky-500:#0ea5e9;--bcm-new-ds-color-sky-600:#0284c7;--bcm-new-ds-color-sky-700:#0369a1;--bcm-new-ds-color-sky-800:#075985;--bcm-new-ds-color-sky-900:#0c4a6e;--bcm-new-ds-color-blue:#3b82f6;--bcm-new-ds-color-blue-50:#eff6ff;--bcm-new-ds-color-blue-100:#dbeafe;--bcm-new-ds-color-blue-200:#bfdbfe;--bcm-new-ds-color-blue-300:#93c5fd;--bcm-new-ds-color-blue-400:#60a5fa;--bcm-new-ds-color-blue-500:#3b82f6;--bcm-new-ds-color-blue-600:#2563eb;--bcm-new-ds-color-blue-700:#1d4ed8;--bcm-new-ds-color-blue-800:#1e40af;--bcm-new-ds-color-blue-900:#1e3a8a;--bcm-new-ds-color-indigo:#6366f1;--bcm-new-ds-color-indigo-50:#eef2ff;--bcm-new-ds-color-indigo-100:#e0e7ff;--bcm-new-ds-color-indigo-200:#c7d2fe;--bcm-new-ds-color-indigo-300:#a5b4fc;--bcm-new-ds-color-indigo-400:#818cf8;--bcm-new-ds-color-indigo-500:#6366f1;--bcm-new-ds-color-indigo-600:#4f46e5;--bcm-new-ds-color-indigo-700:#4338ca;--bcm-new-ds-color-indigo-800:#3730a3;--bcm-new-ds-color-indigo-900:#312e81;--bcm-new-ds-color-violet:#8b5cf6;--bcm-new-ds-color-violet-50:#f5f3ff;--bcm-new-ds-color-violet-100:#ede9fe;--bcm-new-ds-color-violet-200:#ddd6fe;--bcm-new-ds-color-violet-300:#c4b5fd;--bcm-new-ds-color-violet-400:#a78bfa;--bcm-new-ds-color-violet-500:#8b5cf6;--bcm-new-ds-color-violet-600:#7c3aed;--bcm-new-ds-color-violet-700:#6d28d9;--bcm-new-ds-color-violet-800:#5b21b6;--bcm-new-ds-color-violet-900:#4c1d95;--bcm-new-ds-color-purple:#a855f7;--bcm-new-ds-color-purple-50:#faf5ff;--bcm-new-ds-color-purple-100:#f3e8ff;--bcm-new-ds-color-purple-200:#e9d5ff;--bcm-new-ds-color-purple-300:#d8b4fe;--bcm-new-ds-color-purple-400:#c084fc;--bcm-new-ds-color-purple-500:#a855f7;--bcm-new-ds-color-purple-600:#9333ea;--bcm-new-ds-color-purple-700:#7e22ce;--bcm-new-ds-color-purple-800:#6b21a8;--bcm-new-ds-color-purple-900:#581c87;--bcm-new-ds-color-fuchsia:#d946ef;--bcm-new-ds-color-fuchsia-50:#fdf4ff;--bcm-new-ds-color-fuchsia-100:#fae8ff;--bcm-new-ds-color-fuchsia-200:#f5d0fe;--bcm-new-ds-color-fuchsia-300:#f0abfc;--bcm-new-ds-color-fuchsia-400:#e879f9;--bcm-new-ds-color-fuchsia-500:#d946ef;--bcm-new-ds-color-fuchsia-600:#c026d3;--bcm-new-ds-color-fuchsia-700:#a21caf;--bcm-new-ds-color-fuchsia-800:#86198f;--bcm-new-ds-color-fuchsia-900:#701a75;--bcm-new-ds-color-pink:#ec4899;--bcm-new-ds-color-pink-50:#fdf2f8;--bcm-new-ds-color-pink-100:#fce7f3;--bcm-new-ds-color-pink-200:#fbcfe8;--bcm-new-ds-color-pink-300:#f9a8d4;--bcm-new-ds-color-pink-400:#f472b6;--bcm-new-ds-color-pink-500:#ec4899;--bcm-new-ds-color-pink-600:#db2777;--bcm-new-ds-color-pink-700:#be185d;--bcm-new-ds-color-pink-800:#9d174d;--bcm-new-ds-color-pink-900:#831843;--bcm-new-ds-color-rose:#f43f5e;--bcm-new-ds-color-rose-50:#fff1f2;--bcm-new-ds-color-rose-100:#ffe4e6;--bcm-new-ds-color-rose-200:#fecdd3;--bcm-new-ds-color-rose-300:#fda4af;--bcm-new-ds-color-rose-400:#fb7185;--bcm-new-ds-color-rose-500:#f43f5e;--bcm-new-ds-color-rose-600:#e11d48;--bcm-new-ds-color-rose-700:#be123c;--bcm-new-ds-color-rose-800:#9f1239;--bcm-new-ds-color-rose-900:#881337}*{box-sizing:border-box}:root,::after,::before{--bcm-new-ds-color-inherit:inherit;--bcm-new-ds-color-current:currentColor;--bcm-new-ds-color-transparent:transparent;--bcm-new-ds-color-black:#000;--bcm-new-ds-color-white:#fff;--bcm-new-ds-color-slate:#64748b;--bcm-new-ds-color-slate-50:#f8fafc;--bcm-new-ds-color-slate-100:#f1f5f9;--bcm-new-ds-color-slate-200:#e2e8f0;--bcm-new-ds-color-slate-300:#cbd5e1;--bcm-new-ds-color-slate-400:#94a3b8;--bcm-new-ds-color-slate-500:#64748b;--bcm-new-ds-color-slate-600:#475569;--bcm-new-ds-color-slate-700:#334155;--bcm-new-ds-color-slate-800:#1e293b;--bcm-new-ds-color-slate-900:#0f172a;--bcm-new-ds-color-gray:#6b7280;--bcm-new-ds-color-gray-50:#f9fafb;--bcm-new-ds-color-gray-100:#f3f4f6;--bcm-new-ds-color-gray-200:#e5e7eb;--bcm-new-ds-color-gray-300:#d1d5db;--bcm-new-ds-color-gray-400:#9ca3af;--bcm-new-ds-color-gray-500:#6b7280;--bcm-new-ds-color-gray-600:#4b5563;--bcm-new-ds-color-gray-700:#374151;--bcm-new-ds-color-gray-800:#1f2937;--bcm-new-ds-color-gray-900:#111827;--bcm-new-ds-color-zinc:#71717a;--bcm-new-ds-color-zinc-50:#fafafa;--bcm-new-ds-color-zinc-100:#f4f4f5;--bcm-new-ds-color-zinc-200:#e4e4e7;--bcm-new-ds-color-zinc-300:#d4d4d8;--bcm-new-ds-color-zinc-400:#a1a1aa;--bcm-new-ds-color-zinc-500:#71717a;--bcm-new-ds-color-zinc-600:#52525b;--bcm-new-ds-color-zinc-700:#3f3f46;--bcm-new-ds-color-zinc-800:#27272a;--bcm-new-ds-color-zinc-900:#18181b;--bcm-new-ds-color-neutral:#737373;--bcm-new-ds-color-neutral-50:#fafafa;--bcm-new-ds-color-neutral-100:#f5f5f5;--bcm-new-ds-color-neutral-200:#e5e5e5;--bcm-new-ds-color-neutral-300:#d4d4d4;--bcm-new-ds-color-neutral-400:#a3a3a3;--bcm-new-ds-color-neutral-500:#737373;--bcm-new-ds-color-neutral-600:#525252;--bcm-new-ds-color-neutral-700:#404040;--bcm-new-ds-color-neutral-800:#262626;--bcm-new-ds-color-neutral-900:#171717;--bcm-new-ds-color-stone:#78716c;--bcm-new-ds-color-stone-50:#fafaf9;--bcm-new-ds-color-stone-100:#f5f5f4;--bcm-new-ds-color-stone-200:#e7e5e4;--bcm-new-ds-color-stone-300:#d6d3d1;--bcm-new-ds-color-stone-400:#a8a29e;--bcm-new-ds-color-stone-500:#78716c;--bcm-new-ds-color-stone-600:#57534e;--bcm-new-ds-color-stone-700:#44403c;--bcm-new-ds-color-stone-800:#292524;--bcm-new-ds-color-stone-900:#1c1917;--bcm-new-ds-color-red:#ef4444;--bcm-new-ds-color-red-50:#fef2f2;--bcm-new-ds-color-red-100:#fee2e2;--bcm-new-ds-color-red-200:#fecaca;--bcm-new-ds-color-red-300:#fca5a5;--bcm-new-ds-color-red-400:#f87171;--bcm-new-ds-color-red-500:#ef4444;--bcm-new-ds-color-red-600:#dc2626;--bcm-new-ds-color-red-700:#b91c1c;--bcm-new-ds-color-red-800:#991b1b;--bcm-new-ds-color-red-900:#7f1d1d;--bcm-new-ds-color-orange:#f97316;--bcm-new-ds-color-orange-50:#fff7ed;--bcm-new-ds-color-orange-100:#ffedd5;--bcm-new-ds-color-orange-200:#fed7aa;--bcm-new-ds-color-orange-300:#fdba74;--bcm-new-ds-color-orange-400:#fb923c;--bcm-new-ds-color-orange-500:#f97316;--bcm-new-ds-color-orange-600:#ea580c;--bcm-new-ds-color-orange-700:#c2410c;--bcm-new-ds-color-orange-800:#9a3412;--bcm-new-ds-color-orange-900:#7c2d12;--bcm-new-ds-color-amber:#f59e0b;--bcm-new-ds-color-amber-50:#fffbeb;--bcm-new-ds-color-amber-100:#fef3c7;--bcm-new-ds-color-amber-200:#fde68a;--bcm-new-ds-color-amber-300:#fcd34d;--bcm-new-ds-color-amber-400:#fbbf24;--bcm-new-ds-color-amber-500:#f59e0b;--bcm-new-ds-color-amber-600:#d97706;--bcm-new-ds-color-amber-700:#b45309;--bcm-new-ds-color-amber-800:#92400e;--bcm-new-ds-color-amber-900:#78350f;--bcm-new-ds-color-yellow:#eab308;--bcm-new-ds-color-yellow-50:#fefce8;--bcm-new-ds-color-yellow-100:#fef9c3;--bcm-new-ds-color-yellow-200:#fef08a;--bcm-new-ds-color-yellow-300:#fde047;--bcm-new-ds-color-yellow-400:#facc15;--bcm-new-ds-color-yellow-500:#eab308;--bcm-new-ds-color-yellow-600:#ca8a04;--bcm-new-ds-color-yellow-700:#a16207;--bcm-new-ds-color-yellow-800:#854d0e;--bcm-new-ds-color-yellow-900:#713f12;--bcm-new-ds-color-lime:#84cc16;--bcm-new-ds-color-lime-50:#f7fee7;--bcm-new-ds-color-lime-100:#ecfccb;--bcm-new-ds-color-lime-200:#d9f99d;--bcm-new-ds-color-lime-300:#bef264;--bcm-new-ds-color-lime-400:#a3e635;--bcm-new-ds-color-lime-500:#84cc16;--bcm-new-ds-color-lime-600:#65a30d;--bcm-new-ds-color-lime-700:#4d7c0f;--bcm-new-ds-color-lime-800:#3f6212;--bcm-new-ds-color-lime-900:#365314;--bcm-new-ds-color-green:#22c55e;--bcm-new-ds-color-green-50:#f0fdf4;--bcm-new-ds-color-green-100:#dcfce7;--bcm-new-ds-color-green-200:#bbf7d0;--bcm-new-ds-color-green-300:#86efac;--bcm-new-ds-color-green-400:#4ade80;--bcm-new-ds-color-green-500:#22c55e;--bcm-new-ds-color-green-600:#16a34a;--bcm-new-ds-color-green-700:#15803d;--bcm-new-ds-color-green-800:#166534;--bcm-new-ds-color-green-900:#14532d;--bcm-new-ds-color-emerald:#10b981;--bcm-new-ds-color-emerald-50:#ecfdf5;--bcm-new-ds-color-emerald-100:#d1fae5;--bcm-new-ds-color-emerald-200:#a7f3d0;--bcm-new-ds-color-emerald-300:#6ee7b7;--bcm-new-ds-color-emerald-400:#34d399;--bcm-new-ds-color-emerald-500:#10b981;--bcm-new-ds-color-emerald-600:#059669;--bcm-new-ds-color-emerald-700:#047857;--bcm-new-ds-color-emerald-800:#065f46;--bcm-new-ds-color-emerald-900:#064e3b;--bcm-new-ds-color-teal:#14b8a6;--bcm-new-ds-color-teal-50:#f0fdfa;--bcm-new-ds-color-teal-100:#ccfbf1;--bcm-new-ds-color-teal-200:#99f6e4;--bcm-new-ds-color-teal-300:#5eead4;--bcm-new-ds-color-teal-400:#2dd4bf;--bcm-new-ds-color-teal-500:#14b8a6;--bcm-new-ds-color-teal-600:#0d9488;--bcm-new-ds-color-teal-700:#0f766e;--bcm-new-ds-color-teal-800:#115e59;--bcm-new-ds-color-teal-900:#134e4a;--bcm-new-ds-color-cyan:#06b6d4;--bcm-new-ds-color-cyan-50:#ecfeff;--bcm-new-ds-color-cyan-100:#cffafe;--bcm-new-ds-color-cyan-200:#a5f3fc;--bcm-new-ds-color-cyan-300:#67e8f9;--bcm-new-ds-color-cyan-400:#22d3ee;--bcm-new-ds-color-cyan-500:#06b6d4;--bcm-new-ds-color-cyan-600:#0891b2;--bcm-new-ds-color-cyan-700:#0e7490;--bcm-new-ds-color-cyan-800:#155e75;--bcm-new-ds-color-cyan-900:#164e63;--bcm-new-ds-color-sky:#0ea5e9;--bcm-new-ds-color-sky-50:#f0f9ff;--bcm-new-ds-color-sky-100:#e0f2fe;--bcm-new-ds-color-sky-200:#bae6fd;--bcm-new-ds-color-sky-300:#7dd3fc;--bcm-new-ds-color-sky-400:#38bdf8;--bcm-new-ds-color-sky-500:#0ea5e9;--bcm-new-ds-color-sky-600:#0284c7;--bcm-new-ds-color-sky-700:#0369a1;--bcm-new-ds-color-sky-800:#075985;--bcm-new-ds-color-sky-900:#0c4a6e;--bcm-new-ds-color-blue:#3b82f6;--bcm-new-ds-color-blue-50:#eff6ff;--bcm-new-ds-color-blue-100:#dbeafe;--bcm-new-ds-color-blue-200:#bfdbfe;--bcm-new-ds-color-blue-300:#93c5fd;--bcm-new-ds-color-blue-400:#60a5fa;--bcm-new-ds-color-blue-500:#3b82f6;--bcm-new-ds-color-blue-600:#2563eb;--bcm-new-ds-color-blue-700:#1d4ed8;--bcm-new-ds-color-blue-800:#1e40af;--bcm-new-ds-color-blue-900:#1e3a8a;--bcm-new-ds-color-indigo:#6366f1;--bcm-new-ds-color-indigo-50:#eef2ff;--bcm-new-ds-color-indigo-100:#e0e7ff;--bcm-new-ds-color-indigo-200:#c7d2fe;--bcm-new-ds-color-indigo-300:#a5b4fc;--bcm-new-ds-color-indigo-400:#818cf8;--bcm-new-ds-color-indigo-500:#6366f1;--bcm-new-ds-color-indigo-600:#4f46e5;--bcm-new-ds-color-indigo-700:#4338ca;--bcm-new-ds-color-indigo-800:#3730a3;--bcm-new-ds-color-indigo-900:#312e81;--bcm-new-ds-color-violet:#8b5cf6;--bcm-new-ds-color-violet-50:#f5f3ff;--bcm-new-ds-color-violet-100:#ede9fe;--bcm-new-ds-color-violet-200:#ddd6fe;--bcm-new-ds-color-violet-300:#c4b5fd;--bcm-new-ds-color-violet-400:#a78bfa;--bcm-new-ds-color-violet-500:#8b5cf6;--bcm-new-ds-color-violet-600:#7c3aed;--bcm-new-ds-color-violet-700:#6d28d9;--bcm-new-ds-color-violet-800:#5b21b6;--bcm-new-ds-color-violet-900:#4c1d95;--bcm-new-ds-color-purple:#a855f7;--bcm-new-ds-color-purple-50:#faf5ff;--bcm-new-ds-color-purple-100:#f3e8ff;--bcm-new-ds-color-purple-200:#e9d5ff;--bcm-new-ds-color-purple-300:#d8b4fe;--bcm-new-ds-color-purple-400:#c084fc;--bcm-new-ds-color-purple-500:#a855f7;--bcm-new-ds-color-purple-600:#9333ea;--bcm-new-ds-color-purple-700:#7e22ce;--bcm-new-ds-color-purple-800:#6b21a8;--bcm-new-ds-color-purple-900:#581c87;--bcm-new-ds-color-fuchsia:#d946ef;--bcm-new-ds-color-fuchsia-50:#fdf4ff;--bcm-new-ds-color-fuchsia-100:#fae8ff;--bcm-new-ds-color-fuchsia-200:#f5d0fe;--bcm-new-ds-color-fuchsia-300:#f0abfc;--bcm-new-ds-color-fuchsia-400:#e879f9;--bcm-new-ds-color-fuchsia-500:#d946ef;--bcm-new-ds-color-fuchsia-600:#c026d3;--bcm-new-ds-color-fuchsia-700:#a21caf;--bcm-new-ds-color-fuchsia-800:#86198f;--bcm-new-ds-color-fuchsia-900:#701a75;--bcm-new-ds-color-pink:#ec4899;--bcm-new-ds-color-pink-50:#fdf2f8;--bcm-new-ds-color-pink-100:#fce7f3;--bcm-new-ds-color-pink-200:#fbcfe8;--bcm-new-ds-color-pink-300:#f9a8d4;--bcm-new-ds-color-pink-400:#f472b6;--bcm-new-ds-color-pink-500:#ec4899;--bcm-new-ds-color-pink-600:#db2777;--bcm-new-ds-color-pink-700:#be185d;--bcm-new-ds-color-pink-800:#9d174d;--bcm-new-ds-color-pink-900:#831843;--bcm-new-ds-color-rose:#f43f5e;--bcm-new-ds-color-rose-50:#fff1f2;--bcm-new-ds-color-rose-100:#ffe4e6;--bcm-new-ds-color-rose-200:#fecdd3;--bcm-new-ds-color-rose-300:#fda4af;--bcm-new-ds-color-rose-400:#fb7185;--bcm-new-ds-color-rose-500:#f43f5e;--bcm-new-ds-color-rose-600:#e11d48;--bcm-new-ds-color-rose-700:#be123c;--bcm-new-ds-color-rose-800:#9f1239;--bcm-new-ds-color-rose-900:#881337}*{box-sizing:border-box}.bcm-checkbox{outline:none;border:none;--bcm-checkbox-primary-color-default:var(--bcm-new-ds-color-blue-500);--bcm-checkbox-secondary-color-default:var(--bcm-new-ds-color-white);--bcm-checkbox-primary-color-hover:var(--bcm-new-ds-color-blue-600);--bcm-checkbox-secondary-color-hover:var(--bcm-new-ds-color-slate-50);--bcm-checkbox-primary-color-focus-visible:var(--bcm-new-ds-color-blue-800);--bcm-checkbox-secondary-color-focus-visible:var(--bcm-new-ds-color-slate-50);--bcm-checkbox-primary-color-active:var(--bcm-new-ds-color-blue-700);--bcm-checkbox-secondary-color-active:var(--bcm-new-ds-color-slate-50);--bcm-checkbox-primary-color-disabled:var(--bcm-new-ds-color-slate-300);--bcm-checkbox-secondary-color-disabled:var(--bcm-new-ds-color-slate-200);display:inline-flex;width:fit-content;flex-direction:column;margin-bottom:8px}.bcm-checkbox:focus,.bcm-checkbox:hover,.bcm-checkbox:active{outline:none;border:none}.bcm-checkbox *{box-sizing:border-box}.bcm-checkbox input[type=radio],.bcm-checkbox input[type=checkbox]{-webkit-appearance:none;appearance:none;background-color:#fff;margin:0;display:none}.bcm-checkbox__input{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;flex-wrap:nowrap;padding-top:4px}.bcm-checkbox.hidden{display:none}.bcm-checkbox :hover{cursor:pointer}.bcm-checkbox[disabled] :hover,.bcm-checkbox.disabled :hover{cursor:not-allowed}.bcm-checkbox .slot{font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;font-weight:500;color:var(--bcm-new-ds-color-slate-600)}.bcm-checkbox .slot:not(:empty){margin-left:8px;margin-right:8px}.bcm-checkbox-size-small .slot{font-size:12px;line-height:calc(12px + 8px);margin-top:-2.5px}.bcm-checkbox-size-small .bcm-checkbox__input{min-height:calc(24px - 4px)}.bcm-checkbox-size-small .bcm-checkbox__label-icon{width:14px;height:14px;min-width:14px;font-size:calc(10px - 2px)}.bcm-checkbox-size-medium .slot{font-size:calc(12px + 1px);line-height:calc(12px + 8px);margin-top:-1.5px}.bcm-checkbox-size-medium .bcm-checkbox__input{min-height:calc(32px - 4px)}.bcm-checkbox-size-medium .bcm-checkbox__label-icon{width:16px;height:16px;min-width:16px;font-size:10px}.bcm-checkbox-size-large .slot{font-size:16px;line-height:calc(16px + 8px);margin-top:-1.5px}.bcm-checkbox-size-large .bcm-checkbox__input{min-height:calc(32px - 4px)}.bcm-checkbox-size-large .bcm-checkbox__label-icon{width:18px;height:18px;min-width:18px;font-size:12px}.bcm-checkbox__label{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;flex-wrap:nowrap}.bcm-checkbox__label-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;border-width:1px;border-style:solid;border-radius:2px}.bcm-checkbox__label-icon-indeterminate{position:relative}.bcm-checkbox__label-icon-indeterminate:after{content:\"\";display:block;position:absolute;width:70%;height:1.5px;background:var(--bcm-new-ds-color-white)}.bcm-checkbox__label-icon.bcm-radio__icon{width:16px;height:16px;box-sizing:border-box;border-radius:100px}.bcm-checkbox__label-icon.bcm-radio__icon .bcm-radio__icon-inner{width:10px;height:10px;border-radius:100px;background-color:var(--bcm-new-ds-color-white)}.bcm-checkbox .bcm-checkbox__label-icon{background:var(--bcm-checkbox-secondary-color-default);color:var(--bcm-checkbox-secondary-color-default);border-color:var(--bcm-new-ds-color-slate-300)}.bcm-checkbox .bcm-checkbox__label-icon-checked,.bcm-checkbox .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-new-ds-color-white);background-color:var(--bcm-checkbox-primary-color-default);border-color:var(--bcm-checkbox-primary-color-default)}.bcm-checkbox .bcm-checkbox__label-icon-checked.bcm-radio__icon,.bcm-checkbox .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon{border-color:var(--bcm-checkbox-primary-color-default);background-color:var(--bcm-checkbox-secondary-color-default)}.bcm-checkbox .bcm-checkbox__label-icon-checked.bcm-radio__icon .bcm-radio__icon-inner,.bcm-checkbox .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon .bcm-radio__icon-inner{background-color:var(--bcm-checkbox-primary-color-default)}.bcm-checkbox .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-checkbox-primary-color-default)}.bcm-checkbox:hover .bcm-checkbox__label-icon{background:var(--bcm-checkbox-secondary-color-hover);color:var(--bcm-checkbox-secondary-color-hover);border-color:var(--bcm-checkbox-primary-color-hover)}.bcm-checkbox:hover .bcm-checkbox__label-icon-checked,.bcm-checkbox:hover .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-new-ds-color-white);background-color:var(--bcm-checkbox-primary-color-hover);border-color:var(--bcm-checkbox-primary-color-hover)}.bcm-checkbox:hover .bcm-checkbox__label-icon-checked.bcm-radio__icon,.bcm-checkbox:hover .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon{border-color:var(--bcm-checkbox-primary-color-hover);background-color:var(--bcm-checkbox-secondary-color-hover)}.bcm-checkbox:hover .bcm-checkbox__label-icon-checked.bcm-radio__icon .bcm-radio__icon-inner,.bcm-checkbox:hover .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon .bcm-radio__icon-inner{background-color:var(--bcm-checkbox-primary-color-hover)}.bcm-checkbox:hover .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-checkbox-primary-color-hover)}.bcm-checkbox:focus-visible .bcm-checkbox__label-icon{background:var(--bcm-checkbox-secondary-color-focus-visible);color:var(--bcm-checkbox-secondary-color-focus-visible);border-color:var(--bcm-checkbox-primary-color-focus-visible)}.bcm-checkbox:focus-visible .bcm-checkbox__label-icon-checked,.bcm-checkbox:focus-visible .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-new-ds-color-white);background-color:var(--bcm-checkbox-primary-color-focus-visible);border-color:var(--bcm-checkbox-primary-color-focus-visible)}.bcm-checkbox:focus-visible .bcm-checkbox__label-icon-checked.bcm-radio__icon,.bcm-checkbox:focus-visible .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon{border-color:var(--bcm-checkbox-primary-color-focus-visible);background-color:var(--bcm-checkbox-secondary-color-focus-visible)}.bcm-checkbox:focus-visible .bcm-checkbox__label-icon-checked.bcm-radio__icon .bcm-radio__icon-inner,.bcm-checkbox:focus-visible .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon .bcm-radio__icon-inner{background-color:var(--bcm-checkbox-primary-color-focus-visible)}.bcm-checkbox:focus-visible .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-checkbox-primary-color-focus-visible)}.bcm-checkbox:active .bcm-checkbox__label-icon{background:var(--bcm-checkbox-secondary-color-active);color:var(--bcm-checkbox-secondary-color-active);border-color:var(--bcm-checkbox-primary-color-active)}.bcm-checkbox:active .bcm-checkbox__label-icon-checked,.bcm-checkbox:active .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-new-ds-color-white);background-color:var(--bcm-checkbox-primary-color-active);border-color:var(--bcm-checkbox-primary-color-active)}.bcm-checkbox:active .bcm-checkbox__label-icon-checked.bcm-radio__icon,.bcm-checkbox:active .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon{border-color:var(--bcm-checkbox-primary-color-active);background-color:var(--bcm-checkbox-secondary-color-active)}.bcm-checkbox:active .bcm-checkbox__label-icon-checked.bcm-radio__icon .bcm-radio__icon-inner,.bcm-checkbox:active .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon .bcm-radio__icon-inner{background-color:var(--bcm-checkbox-primary-color-active)}.bcm-checkbox:active .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-checkbox-primary-color-active)}.bcm-checkbox[disabled] .bcm-checkbox__label-icon,.bcm-checkbox.disabled .bcm-checkbox__label-icon{background:var(--bcm-checkbox-secondary-color-disabled);color:var(--bcm-checkbox-secondary-color-disabled);border-color:var(--bcm-checkbox-primary-color-disabled)}.bcm-checkbox[disabled] .bcm-checkbox__label-icon-checked,.bcm-checkbox[disabled] .bcm-checkbox__label-icon-indeterminate,.bcm-checkbox.disabled .bcm-checkbox__label-icon-checked,.bcm-checkbox.disabled .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-new-ds-color-white);background-color:var(--bcm-checkbox-primary-color-disabled);border-color:var(--bcm-checkbox-primary-color-disabled)}.bcm-checkbox[disabled] .bcm-checkbox__label-icon-checked.bcm-radio__icon,.bcm-checkbox[disabled] .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon,.bcm-checkbox.disabled .bcm-checkbox__label-icon-checked.bcm-radio__icon,.bcm-checkbox.disabled .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon{border-color:var(--bcm-checkbox-primary-color-disabled);background-color:var(--bcm-checkbox-secondary-color-disabled)}.bcm-checkbox[disabled] .bcm-checkbox__label-icon-checked.bcm-radio__icon .bcm-radio__icon-inner,.bcm-checkbox[disabled] .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon .bcm-radio__icon-inner,.bcm-checkbox.disabled .bcm-checkbox__label-icon-checked.bcm-radio__icon .bcm-radio__icon-inner,.bcm-checkbox.disabled .bcm-checkbox__label-icon-indeterminate.bcm-radio__icon .bcm-radio__icon-inner{background-color:var(--bcm-checkbox-primary-color-disabled)}.bcm-checkbox[disabled] .bcm-checkbox__label-icon-indeterminate,.bcm-checkbox.disabled .bcm-checkbox__label-icon-indeterminate{color:var(--bcm-checkbox-primary-color-disabled)}.bcm-checkbox[no-margin] .bcm-checkbox__input{margin:0;min-height:0;padding:0}.bcm-list{font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;--width:256px;--height:256px;--max-height:inherit;--min-height:inherit;min-width:90px;display:flex;flex-direction:column;margin:0 0 8px 0}.bcm-list__listbox .bcm-list__container{height:var(--height);max-height:var(--max-height);min-height:var(--min-height)}.bcm-list.full-width{width:100%}.bcm-list__size-small .bcm-list__input{height:24px;font-size:12px;line-height:calc(12px + 8px)}.bcm-list__size-small .bcm-list__input .bcm-tag__content.dismissable{font-size:10px;line-height:calc(10px + 8px)}.bcm-list__size-medium .bcm-list__input{height:32px;font-size:14px;line-height:calc(14px + 8px)}.bcm-list__size-medium .bcm-list__input .bcm-tag__content.dismissable{font-size:12px;line-height:calc(12px + 8px)}.bcm-list__size-large .bcm-list__input{height:40px;font-size:16px;line-height:calc(16px + 8px)}.bcm-list__size-large .bcm-list__input .bcm-tag__content.dismissable{font-size:14px;line-height:calc(14px + 8px)}.bcm-list:hover{outline:none}.bcm-list:hover .bcm-list__input{border-color:var(--bcm-new-ds-color-blue-500);background-color:var(--bcm-new-ds-color-slate-50)}.bcm-list:focus-visible{outline:none}.bcm-list:focus-visible .bcm-list__input{border-color:var(--bcm-new-ds-color-blue-600);background-color:var(--bcm-new-ds-color-white)}.bcm-list:active{outline:none}.bcm-list:active .bcm-list__input{border-color:var(--bcm-new-ds-color-blue-600);box-shadow:0 1px 3px 0 rgba(17, 24, 38, 0.1)}.bcm-list__container{--width:256px;--height:256px;width:var(--width);height:var(--height);background-color:var(--bcm-new-ds-color-white);border:1px solid var(--bcm-new-ds-color-slate-300);border-radius:4px;box-sizing:border-box;padding-top:8px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:4px}.bcm-list__container main{scroll-behavior:smooth;padding:0 8px;flex:1;overflow:auto;display:flex;flex-direction:column}.bcm-list__container-search{margin:0 8px}.bcm-list__container-search:after{margin:4px 0}.bcm-list__container-no-data{flex:1;display:flex;justify-content:stretch;align-items:stretch;padding-bottom:4px}.bcm-list__container.error{border-color:var(--bcm-color-red-6)}.bcm-list__container.full-width{width:100%}.bcm-list__container.bcm-list__type-linked-component,.bcm-list__container.bcm-list__type-select,.bcm-list__container.bcm-list__type-autocomplete{opacity:0;visibility:hidden;position:absolute;top:0;left:0;height:0;width:0;transform:translateY(10%);z-index:10800;transition:visibility 0s linear 400ms, opacity 100ms, transform 200ms}.bcm-list__container.bcm-list__type-linked-component.bcm-list--top,.bcm-list__container.bcm-list__type-select.bcm-list--top,.bcm-list__container.bcm-list__type-autocomplete.bcm-list--top{transform:translateY(-10%)}.bcm-list__container.bcm-list__type-linked-component.is-open,.bcm-list__container.bcm-list__type-select.is-open,.bcm-list__container.bcm-list__type-autocomplete.is-open{opacity:1;transform:translateY(0);visibility:visible;transition:visibility 0s linear 0s, opacity 100ms, transform 100ms}.bcm-list__label{line-height:1}.bcm-list__input{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;border:1px solid var(--bcm-new-ds-color-slate-300);border-radius:4px;color:var(--bcm-new-ds-color-slate-600);background-color:var(--bcm-new-ds-color-white);user-select:none;cursor:pointer;padding:0 8px;height:32px;overflow:hidden;position:relative;transition:background-color 100ms, border-color 100ms}.bcm-list__input-spinner{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--bcm-color-grey-1);opacity:0;visibility:hidden;transition:opacity 0.2s ease-in-out;z-index:-1}.bcm-list__input-spinner.is-open{opacity:1;visibility:visible;z-index:1}.bcm-list__input-container{width:100%}.bcm-list__input-container.value-empty{color:var(--bcm-color-grey-6)}.bcm-list__input-container.type-single,.bcm-list__input-container.value-empty{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-list__input-placeholder{color:var(--bcm-color-grey-6)}.bcm-list__input-tag-container{height:100%;width:100%;display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;grid-gap:2px;line-height:1}.bcm-list__input-buttons{display:flex;align-items:center;justify-content:flex-end;grid-gap:4px;min-width:40px}.bcm-list__input-buttons-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:4px;font-size:16px;color:var(--bcm-new-ds-color-slate-500)}.bcm-list__input-buttons-button.caret-is{transform:rotate(360deg);transition:transform 0.2s ease-in-out}.bcm-list__input-buttons-button.caret-is-open{transform:rotate(180deg)}.bcm-list__input-buttons:not(.disabled) .bcm-list__input-buttons-button:hover{cursor:pointer;color:var(--bcm-new-ds-color-slate-600)}.bcm-list__input-autocomplete{position:relative;padding-right:0}.bcm-list__input-autocomplete .bcm-list-input-selected-text{background-color:#ffffff;display:flex;align-items:center;justify-content:flex-start;width:calc(100% - 24px);height:100%;padding:0 calc(8px + 4px);position:absolute;top:0;left:0}.bcm-list__input-autocomplete .bcm-list__input-container{height:100%;display:flex;flex-direction:row}.bcm-list__input-autocomplete .bcm-list__input-container .bcm-list__input-tag-container{width:auto}.bcm-list__input-autocomplete .bcm-input,.bcm-list__input-autocomplete .bcm-list__autocomplete{height:100%;min-width:70px;width:100%}.bcm-list__input-autocomplete .bcm-input__container,.bcm-list__input-autocomplete .bcm-list__autocomplete__container{height:100%;border:none;padding:0;width:100%}.bcm-list__input-autocomplete .bcm-input__container:not(.disabled).focused,.bcm-list__input-autocomplete .bcm-input__container:not(.disabled):hover,.bcm-list__input-autocomplete .bcm-list__autocomplete__container:not(.disabled).focused,.bcm-list__input-autocomplete .bcm-list__autocomplete__container:not(.disabled):hover{border:none;box-shadow:none}.bcm-list__autocomplete{width:100%;position:relative}.bcm-list.full-width .bcm-list__container,.bcm-list.full-width .bcm-list__input{width:100%}.bcm-list.error .bcm-list__input{border-color:var(--bcm-color-red-6)}.bcm-list.disabled .bcm-list__container,.bcm-list.disabled .bcm-list__input{color:var(--bcm-new-ds-color-slate-300);background-color:var(--bcm-new-ds-color-slate-50);cursor:not-allowed}.bcm-list.disabled .bcm-tag__content.dismissable .close-button{cursor:default}.bcm-list:not(.disabled) .bcm-list__input .bcm-tag__content.checked .close-button bcm-icon{color:var(--bcm-new-ds-color-slate-100)}.bcm-list:not(.disabled) .bcm-list__input .bcm-tag__content.checked .close-button:hover bcm-icon{color:var(--bcm-new-ds-color-slate-200)}.bcm-list:not(.disabled) .bcm-list__input:hover{border-color:var(--bcm-new-ds-color-blue-500)}.bcm-list:not(.disabled) .bcm-list__input:hover .bcm-tag__content.dismissable:not(.checked){background-color:var(--bcm-new-ds-color-slate-200);border-color:var(--bcm-new-ds-color-slate-200)}.bcm-list:not(.disabled) .bcm-list__input:focus-visible{border-color:var(--bcm-new-ds-color-blue-500);box-shadow:0 1px 3px 0 rgba(17, 24, 38, 0.1)}.bcm-list:not(.disabled) .bcm-list__input:active{border-color:var(--bcm-new-ds-color-blue-500)}.bcm-list__item{padding:2px 0}.bcm-list__item.disabled{user-select:none}.bcm-list__item:focus{outline:none}.bcm-list__item:focus-visible>.bcm-list__item-content{background-color:var(--bcm-new-ds-color-slate-300)}.bcm-list__item:focus-visible>.bcm-list__item-content:not(.disabled){color:var(--bcm-new-ds-color-slate-600)}.bcm-list__item-content{display:flex;flex-direction:row;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;cursor:pointer;border-radius:4px;padding:0;padding-left:4px;color:var(--bcm-new-ds-color-slate-600);background-color:var(--bcm-new-ds-color-slate-50);transition:background-color 0.2s ease}.bcm-list__item-content.disabled{color:var(--bcm-new-ds-color-slate-300);background-color:var(--bcm-new-ds-color-slate-50);user-select:none;cursor:not-allowed}.bcm-list__item-content.selected{color:var(--bcm-new-ds-color-white);background-color:var(--bcm-new-ds-color-blue-500)}.bcm-list__item-content.selected:hover:not(.disabled){color:var(--bcm-new-ds-color-white);background-color:var(--bcm-new-ds-color-blue-600)}.bcm-list__item-content:hover:not(.disabled){color:var(--bcm-new-ds-color-slate-600);background-color:var(--bcm-new-ds-color-slate-100)}.bcm-list__item-content:active:not(.disabled){color:var(--bcm-new-ds-color-slate-600);background-color:var(--bcm-new-ds-color-slate-200)}.bcm-list__item-content-collapse-icon{width:16px;padding:0 8px;display:flex;align-items:center;justify-content:center;font-size:16px}.bcm-list__item-content-collapse-icon.child{cursor:pointer}.bcm-list__item-content-text{user-select:none;padding:8px;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-start}.bcm-list__item-content-text.treeview{padding:8px 0}.bcm-list__item-content-text-checkbox{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:nowrap;margin-right:8px}.bcm-list__item-content-text-checkbox .bcm-checkbox{margin:0}.bcm-list__item-content-text-inner{width:100%}.bcm-list__item-content-text mark{padding:0;margin:0;font-size:inherit;color:var(--bcm-color-grey-8);background-color:var(--bcm-color-yellow-4)}.bcm-list__item-childs{padding-left:16px}.bcm-list__item-small{padding:2px 0 2px 8px;font-size:10px;line-height:calc(10px + 8px)}.bcm-list__item-small .bcm-list__item-content-text{padding:3px 4px}.bcm-list__item-medium{font-size:12px;line-height:calc(12px + 8px)}.bcm-list__item-medium .bcm-list__item-content-text{padding:6px 4px}.bcm-list__item-large{font-size:14px;line-height:calc(14px + 8px)}.bcm-list__item-large .bcm-list__item-content-text{padding:9px 4px}.bcm-list__item--readonly:focus>.bcm-list__item-content:not(.disabled),.bcm-list__item--readonly.focused>.bcm-list__item-content:not(.disabled){color:var(--bcm-color-grey-7)}.bcm-list__item--readonly>.bcm-list__item-content{color:var(--bcm-color-grey-7)}.bcm-list__item--readonly>.bcm-list__item-content:hover,.bcm-list__item--readonly>.bcm-list__item-content:focus{color:var(--bcm-color-grey-7)}.bcm-list__item--group{border-radius:4px}.bcm-list__item--group:focus>.bcm-list__item-content:not(.disabled){background-color:var(--bcm-new-ds-color-slate-50);color:var(--bcm-new-ds-color-slate-600)}.bcm-list__item--group>.bcm-list__item-content{background-color:var(--bcm-new-ds-color-slate-50);color:var(--bcm-new-ds-color-slate-600);border-radius:4px 4px 0 0;cursor:default;font-size:14px;line-height:calc(14px + 8px);font-weight:500;position:sticky;top:0}.bcm-list__item--group>.bcm-list__item-content>.bcm-list__item-content-text{padding:4px 8px 4px 16px}.bcm-list__item--group>.bcm-list__item-content:hover,.bcm-list__item--group>.bcm-list__item-content:focus{color:var(--bcm-new-ds-color-slate-800);background-color:var(--bcm-new-ds-color-slate-50)}.bcm-list__item--group>.bcm-list__item-content-unclickable:hover{color:var(--bcm-new-ds-color-slate-700);background-color:var(--bcm-new-ds-color-slate-50)}.bcm-list__item--group>.bcm-list__item-childs{background-color:var(--bcm-new-ds-color-slate-50);color:var(--bcm-new-ds-color-slate-600);padding-bottom:8px;border-radius:0 0 4px 4px;padding-left:8px}.bcm-list__item--group>.bcm-list__item-childs .bcm-list__item-content{background-color:var(--bcm-new-ds-color-white);color:var(--bcm-new-ds-color-slate-600)}.bcm-list__item--group>.bcm-list__item-childs .bcm-list__item-content:hover{background-color:var(--bcm-new-ds-color-slate-100)}.bcm-list__item--group>.bcm-list__item-childs .bcm-list__item-content:active{background-color:var(--bcm-new-ds-color-slate-200)}.bcm-list__item--group>.bcm-list__item-childs .bcm-list__item-content:focus-visible{background-color:var(--bcm-new-ds-color-slate-300)}.bcm-list__item--group>.bcm-list__item-childs .bcm-list__item-content.selected{background-color:var(--bcm-new-ds-color-blue-500);color:var(--bcm-new-ds-color-white)}.bcm-list__item--group>.bcm-list__item-childs .bcm-list__item-content.selected:hover{background-color:var(--bcm-new-ds-color-blue-600)}.bcm-list__item--group>.bcm-list__item-childs .bcm-list__item-content.selected:active{background-color:var(--bcm-new-ds-color-blue-700)}.bcm-list__linked{display:none}.bcm-list .bcm-tag--other .value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-info-footer{text-align:right;padding:4px 8px;background-color:var(--bcm-new-ds-color-slate-100);color:var(--bcm-new-ds-color-slate-600);border-radius:0 0 4px 4px}";
1014
+
1015
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1016
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1017
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1018
+ r = Reflect.decorate(decorators, target, key, desc);
1019
+ else
1020
+ for (var i = decorators.length - 1; i >= 0; i--)
1021
+ if (d = decorators[i])
1022
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1023
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1024
+ };
1025
+ const BcmList = class {
1026
+ constructor(hostRef) {
1027
+ index$1.registerInstance(this, hostRef);
1028
+ this.bcmChecklist = index$1.createEvent(this, "bcm-checklist", 7);
1029
+ this.bcmSelected = index$1.createEvent(this, "bcm-selected", 7);
1030
+ this.change = index$1.createEvent(this, "bcm-change", 7);
1031
+ this.open = index$1.createEvent(this, "bcm-open", 7);
1032
+ this.close = index$1.createEvent(this, "bcm-close", 7);
1033
+ this.debounce = null;
1034
+ this.debounceHandler = generate.Generate.debounceInput(() => this.listenResize(), 300, false);
1035
+ this._id = generate.Generate.UID();
1036
+ this.type = bcm.Bcm$1.ListType.listbox;
1037
+ this.treeview = false;
1038
+ this.checkboxes = false;
1039
+ this.searchable = false;
1040
+ this.value = null;
1041
+ this.inputText = undefined;
1042
+ this.name = undefined;
1043
+ this.label = undefined;
1044
+ this.size = bcm.Bcm$1.Size.medium;
1045
+ this.disabled = false;
1046
+ this.readonly = false;
1047
+ this.highlight = false;
1048
+ this.highlightText = undefined;
1049
+ this.required = false;
1050
+ this.hidden = false;
1051
+ this.fullWidth = false;
1052
+ this.height = '256px';
1053
+ this.maxHeight = '500px';
1054
+ this.minHeight = '150px';
1055
+ this.width = '256px';
1056
+ this.infoFooter = false;
1057
+ this.variableText = 'item';
1058
+ this.template = undefined;
1059
+ this.allOpen = false;
1060
+ this.keyControl = false;
1061
+ this.checkAll = true;
1062
+ this.stopDeepClean = false;
1063
+ this.linkedComponent = undefined;
1064
+ this.isOpen = false;
1065
+ this.calculatedViewport = false;
1066
+ this.isSelectedOther = false;
1067
+ this.isHaveOtherTag = false;
1068
+ this.placeholder = 'Choose an option';
1069
+ this.searchPlaceholder = 'Search';
1070
+ this.searchIsOnlyChilds = false;
1071
+ this.minSearchLength = 2;
1072
+ this.clearable = false;
1073
+ this.caption = undefined;
1074
+ this.noCaption = false;
1075
+ this.captionType = bcm.Bcm$1.Status.default;
1076
+ this.captionError = undefined;
1077
+ this.emptyText = undefined;
1078
+ this.emptyIcon = 'fad fa-folder-open';
1079
+ this.captionCache = undefined;
1080
+ this.captionTypeCache = undefined;
1081
+ this.tick = {};
1082
+ this.totalData = 0;
1083
+ this.totalRootData = 0;
1084
+ this.limit = 20;
1085
+ this.searchGetParents = undefined;
1086
+ this.searchResultLimit = 20;
1087
+ this.searchFound = null;
1088
+ this.returnFilterData = {};
1089
+ this.returnOtherData = {};
1090
+ this.options = {
1091
+ rootMargin: '30px',
1092
+ };
1093
+ this.tagContainerWidth = 0;
1094
+ this.selectAllItem = {
1095
+ id: 'select-all',
1096
+ text: 'Select All',
1097
+ value: 'select-all',
1098
+ checked: false,
1099
+ disabled: false,
1100
+ icon: '',
1101
+ status: bcm.Bcm$1.Status.default,
1102
+ indeterminate: 'uncheck',
1103
+ };
1104
+ this.placement = bcm.Bcm$1.Placement['bottom-start'];
1105
+ this.data = [];
1106
+ }
1107
+ connectedCallback() {
1108
+ if (this.height != '256px') {
1109
+ if (this.height.indexOf('px') > -1) {
1110
+ this.limit = Math.floor(+this.height.replace('px', '') / 10);
1111
+ }
1112
+ else {
1113
+ this.limit = Math.floor(+(window.innerHeight / 10));
1114
+ }
1115
+ this.searchResultLimit = this.limit;
1116
+ this.markForCheck();
1117
+ }
1118
+ const checkElementWithDom = document.querySelectorAll(`#bcm-list-${this._id}`);
1119
+ (checkElementWithDom === null || checkElementWithDom === void 0 ? void 0 : checkElementWithDom.length) > 1 && checkElementWithDom.forEach((item, index) => index > 0 && item.remove());
1120
+ }
1121
+ componentWillRender() {
1122
+ this.calculateLocation();
1123
+ }
1124
+ componentShouldUpdate(newVal, oldVal, propName) {
1125
+ if (Object.keys(this.getOptions()).indexOf(propName) > -1 && newVal !== oldVal) {
1126
+ this.updateOptions();
1127
+ }
1128
+ }
1129
+ async componentDidLoad() {
1130
+ await this.initState();
1131
+ if (this.type == 'select' || this.type == 'autocomplete' || this.linkedComponent) {
1132
+ const list = this.el.querySelector(`#bcm-list-${this._id}`);
1133
+ if (list) {
1134
+ document.body.appendChild(list);
1135
+ }
1136
+ }
1137
+ }
1138
+ tagCalculator() {
1139
+ if (this.checkboxes && (this.type == 'select' || this.type == 'autocomplete')) {
1140
+ const tagCalculator = new ListTagControl(`bcm-list-input-tag-container-${this._id}`, this.value, this._id, this.isSelectedOther, this.clearable);
1141
+ tagCalculator.calculateTags();
1142
+ const arrayIds = id => (typeof id == 'string' ? id.split(',') : [id]);
1143
+ const clearAutocomplete = () => {
1144
+ if (this.type == 'autocomplete') {
1145
+ const autocompleteInput = this.getAutoCompleteInput();
1146
+ if (autocompleteInput) {
1147
+ autocompleteInput.handleClear(false);
1148
+ }
1149
+ }
1150
+ };
1151
+ tagCalculator.onClickOtherTag = async (id) => {
1152
+ if (!this.disabled) {
1153
+ clearAutocomplete();
1154
+ if (this.isSelectedOther) {
1155
+ await this.unSelectOther();
1156
+ }
1157
+ else {
1158
+ await this.onClearSearch();
1159
+ this.isSelectedOther = true;
1160
+ this.filterOtherList(arrayIds(id));
1161
+ this.isOpen = true;
1162
+ }
1163
+ this.onSelectSearch();
1164
+ }
1165
+ };
1166
+ tagCalculator.onClickTag = _ => {
1167
+ // console.log(id);
1168
+ clearAutocomplete();
1169
+ this.onSelectSearch();
1170
+ this.unSelectOther();
1171
+ };
1172
+ tagCalculator.onClickDismiss = async (id) => {
1173
+ var _a;
1174
+ if (!this.disabled) {
1175
+ if (this.isSelectedOther) {
1176
+ await this.unSelectOther();
1177
+ }
1178
+ arrayIds(id).length > 1 ? listState.removeOtherTags(this._id, arrayIds(id)) : listState.checkedItem(this._id, arrayIds(id)[0]);
1179
+ this.value = (await this.getCheckedList()).checkedList;
1180
+ this.handleIndeterminate(((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0, this.totalData);
1181
+ }
1182
+ };
1183
+ }
1184
+ }
1185
+ disconnectedCallback() {
1186
+ this.isOpen = false;
1187
+ if (this.stopDeepClean)
1188
+ return;
1189
+ listState.removeState(this._id);
1190
+ this.el.innerHTML = '';
1191
+ if (this.type == 'select' || this.type == 'autocomplete' || this.linkedComponent) {
1192
+ const list = document.querySelectorAll(`#bcm-list-${this._id}`);
1193
+ if (list === null || list === void 0 ? void 0 : list.length) {
1194
+ list.forEach(item => item.remove());
1195
+ this.el.remove();
1196
+ }
1197
+ }
1198
+ }
1199
+ watchId(_, oldVal) {
1200
+ // console.info('Changed component id:', oldVal + ' -> ' + newVal);
1201
+ listState.removeState(oldVal);
1202
+ this.initState();
1203
+ }
1204
+ handleValueChange(newVal, oldVal) {
1205
+ var _a;
1206
+ if (generate.Generate.objectIsEmpty(this.returnFilterData)) {
1207
+ this.handleIndeterminate(((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0, this.totalData);
1208
+ }
1209
+ if (this.checkboxes) {
1210
+ if (!validators.Validators.compareTwoArrayIsSame(newVal, oldVal)) {
1211
+ this.bcmChecklist.emit(this.value);
1212
+ this.change.emit(this.value);
1213
+ }
1214
+ }
1215
+ else {
1216
+ if ((newVal === null || newVal === void 0 ? void 0 : newVal.text) != (oldVal === null || oldVal === void 0 ? void 0 : oldVal.text)) {
1217
+ this.change.emit(this.value);
1218
+ }
1219
+ }
1220
+ this.tagCalculator();
1221
+ }
1222
+ watchReturnFilterData(newVal) {
1223
+ var _a;
1224
+ const { checkedItems, visibledItems } = newVal;
1225
+ if (checkedItems && visibledItems) {
1226
+ this.handleIndeterminate(checkedItems.length, visibledItems.length);
1227
+ }
1228
+ else {
1229
+ this.handleIndeterminate(((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0, this.totalData);
1230
+ }
1231
+ }
1232
+ handleOtherSelected(newValue) {
1233
+ var _a;
1234
+ const tagContent = (_a = document.getElementById(`bcm-list-input-tag-${this._id}-other-tag`)) === null || _a === void 0 ? void 0 : _a.querySelector('.bcm-tag__content');
1235
+ if (tagContent) {
1236
+ if (newValue === true) {
1237
+ tagContent.classList.add('checkable', 'checked');
1238
+ }
1239
+ else {
1240
+ tagContent.classList.remove('checkable', 'checked');
1241
+ }
1242
+ }
1243
+ }
1244
+ async handleOpen() {
1245
+ if (this.isOpen) {
1246
+ this.open.emit();
1247
+ this.calculateLocation();
1248
+ this.onSelectSearch();
1249
+ }
1250
+ else {
1251
+ this.listScrollToTop();
1252
+ this.close.emit();
1253
+ await utils.delay(100);
1254
+ this.unSelectOther();
1255
+ }
1256
+ }
1257
+ listScrollToTop() {
1258
+ const list = document.querySelector(`#bcm-list-${this._id}`);
1259
+ if (list) {
1260
+ list.querySelector('.scrolling').scrollTop = 0;
1261
+ }
1262
+ }
1263
+ async dataChanged(newValue, oldValue) {
1264
+ if (!validators.Validators.compareTwoArrayIsSame(newValue, oldValue)) {
1265
+ await this.initState();
1266
+ }
1267
+ }
1268
+ isIntersecting(e) {
1269
+ const target = e === null || e === void 0 ? void 0 : e.target;
1270
+ if (target && target.id === this._id) {
1271
+ this.listenResize();
1272
+ }
1273
+ }
1274
+ handleSlotItems(e) {
1275
+ var _a;
1276
+ if (((_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.length) > 0) {
1277
+ this.data = e.detail;
1278
+ }
1279
+ }
1280
+ handleChange(e) {
1281
+ if (e.target.id == `bcm-list-input-tag-container-${this._id}-autocomplete-input`) {
1282
+ e.stopImmediatePropagation();
1283
+ }
1284
+ }
1285
+ handleResize() {
1286
+ this.calculateLocation();
1287
+ this.debounceHandler();
1288
+ }
1289
+ handleWheel(event) {
1290
+ if (this.isOpen) {
1291
+ const list = document.querySelector(`#bcm-list-${this._id}`);
1292
+ const isClickInside = list && generate.Generate.findEventPath(event, list);
1293
+ if (isClickInside) {
1294
+ if (this.type == 'select' || this.type == 'autocomplete' || this.linkedComponent) {
1295
+ this.calculateLocation();
1296
+ }
1297
+ }
1298
+ else {
1299
+ this.hide();
1300
+ }
1301
+ }
1302
+ }
1303
+ handleClick(event) {
1304
+ var _a;
1305
+ if (this.disabled)
1306
+ return;
1307
+ const list = document.querySelector(`#bcm-list-${this._id}`);
1308
+ const isClickInside = generate.Generate.findEventPath(event, this.el) || (list && generate.Generate.findEventPath(event, list));
1309
+ if (isClickInside) {
1310
+ if (this.debounce !== null) {
1311
+ event.preventDefault();
1312
+ event.stopPropagation();
1313
+ clearTimeout(this.debounce);
1314
+ this.debounce = null;
1315
+ }
1316
+ this.debounce = setTimeout(() => {
1317
+ this.debounce = null;
1318
+ }, 300);
1319
+ }
1320
+ if (!isClickInside) {
1321
+ if (this.type == 'autocomplete') {
1322
+ const autocompleteInput = this.getAutoCompleteInput();
1323
+ if (autocompleteInput) {
1324
+ if (this.checkboxes) {
1325
+ autocompleteInput.setValue('');
1326
+ }
1327
+ else {
1328
+ autocompleteInput.setValue(((_a = this.value) === null || _a === void 0 ? void 0 : _a.text) || '');
1329
+ }
1330
+ }
1331
+ }
1332
+ }
1333
+ const clickToTag = generate.Generate.findEventPathWithKey(event, 'className', ['bcm-tag']);
1334
+ const clickToOtherTag = generate.Generate.findEventPathWithKey(event, 'className', ['bcm-tag bcm-tag--other']);
1335
+ const clickToSelect = generate.Generate.findEventPathWithKey(event, 'id', [`bcm-list-input-${this._id}`, `bcm-list-label-${this._id}`]);
1336
+ const clickToTagDismiss = generate.Generate.findEventPathWithKey(event, 'className', ['right close-button']);
1337
+ if (clickToSelect && !clickToTagDismiss && this.type != 'autocomplete') {
1338
+ this.isOpen = clickToTag || clickToOtherTag ? true : !this.isOpen;
1339
+ }
1340
+ if (list) {
1341
+ if (this.isOpen) {
1342
+ if (!list.contains(event.target) && !this.el.contains(event.target)) {
1343
+ this.isOpen = false;
1344
+ // this.unSelectOther()
1345
+ }
1346
+ }
1347
+ }
1348
+ }
1349
+ bcmOnSearchClear(event) {
1350
+ var _a, _b;
1351
+ if (this.type == 'autocomplete') {
1352
+ if (((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.id) === `bcm-list-${this._id}-search` || ((_b = event === null || event === void 0 ? void 0 : event.target) === null || _b === void 0 ? void 0 : _b.id) === `bcm-list-input-tag-container-${this._id}-autocomplete-input`) {
1353
+ if (event.detail) {
1354
+ this.setClear();
1355
+ }
1356
+ }
1357
+ }
1358
+ }
1359
+ bcmOnSearch(event) {
1360
+ var _a, _b, _c, _d, _e, _f;
1361
+ if (((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.id) === `bcm-list-${this._id}-search` || ((_b = event === null || event === void 0 ? void 0 : event.target) === null || _b === void 0 ? void 0 : _b.id) === `bcm-list-input-tag-container-${this._id}-autocomplete-input`) {
1362
+ this.searchGetParents = generate.snq(() => { var _a; return (_a = event.detail) === null || _a === void 0 ? void 0 : _a.parentIndex; }, null);
1363
+ this.searchResultLimit = 10;
1364
+ this.searchFound = ((_c = event.detail) === null || _c === void 0 ? void 0 : _c.matching) != null ? (_d = event.detail) === null || _d === void 0 ? void 0 : _d.matching.length : null;
1365
+ this.returnFilterData = listState.filterData(this._id, (_e = event.detail) === null || _e === void 0 ? void 0 : _e.nestedResult);
1366
+ if (this.searchFound > 0 && this.highlight) {
1367
+ this.highlightText = (_f = event.detail) === null || _f === void 0 ? void 0 : _f.value;
1368
+ }
1369
+ if (this.type == 'autocomplete') {
1370
+ this.isOpen = true;
1371
+ }
1372
+ if (!event.detail.result) {
1373
+ if (this.type == 'autocomplete') {
1374
+ this.isOpen = false;
1375
+ }
1376
+ if (this.isSelectedOther) {
1377
+ this.filterOtherList(this.otherTagIds());
1378
+ }
1379
+ else {
1380
+ this.returnFilterData = {};
1381
+ listState.filterData(this._id, null);
1382
+ }
1383
+ // this.isSelectedOther = false
1384
+ this.searchResultLimit = null;
1385
+ this.highlightText = null;
1386
+ }
1387
+ this.markForCheck();
1388
+ }
1389
+ }
1390
+ //keyboard navigation
1391
+ handleKeyDown(ev) {
1392
+ const keycode = ev.keyCode || ev.which;
1393
+ if (keycode === bcm.Bcm$1.KeyCode.escape) {
1394
+ if (this.isOpen) {
1395
+ this.isOpen = false;
1396
+ ev.preventDefault();
1397
+ ev.stopPropagation();
1398
+ ev.stopImmediatePropagation();
1399
+ }
1400
+ }
1401
+ if (this.keyControl) {
1402
+ const keyboard = new ListKeyControl(keycode, this.el, this.treeview, this.checkboxes);
1403
+ keyboard.openGroup = openGroupId => {
1404
+ this.openGroup(openGroupId);
1405
+ };
1406
+ keyboard.checkedItem = checkedItemId => {
1407
+ this.checkedItem(checkedItemId);
1408
+ };
1409
+ keyboard.keyDown();
1410
+ }
1411
+ }
1412
+ handleKeyUp(ev) {
1413
+ if (this.keyControl) {
1414
+ const focusedList = generate.Generate.findEventPath(ev, this.el);
1415
+ if (focusedList) {
1416
+ const list = document.getElementById(`bcm-list-${this._id}`);
1417
+ if (list) {
1418
+ const items = list.querySelectorAll('.bcm-list__item.focused');
1419
+ if (items.length > 0) {
1420
+ const main = list.querySelector('main');
1421
+ const itemHeight = items[0].offsetHeight;
1422
+ const listHeight = main.offsetHeight;
1423
+ const itemTop = items[0].offsetTop;
1424
+ if (itemTop > listHeight) {
1425
+ main.scrollTop = itemTop - listHeight / 2 + itemHeight / 2;
1426
+ }
1427
+ if (itemTop < listHeight) {
1428
+ main.scrollTop = itemTop - listHeight / 2 - itemHeight / 2;
1429
+ }
1430
+ }
1431
+ }
1432
+ }
1433
+ }
1434
+ }
1435
+ async set(data) {
1436
+ if (data) {
1437
+ if (Array.isArray(data)) {
1438
+ this.addChecked(data);
1439
+ }
1440
+ if (typeof data === 'string' || typeof data === 'number') {
1441
+ this.selectedItem(data);
1442
+ }
1443
+ }
1444
+ else {
1445
+ this.setClear();
1446
+ }
1447
+ }
1448
+ async get() {
1449
+ var _a, _b;
1450
+ return this.value ? (this.checkboxes ? (_b = (_a = ((await this.getCheckedList()))) === null || _a === void 0 ? void 0 : _a.checkedList) === null || _b === void 0 ? void 0 : _b.map(item => item.id) : this.value.id) : null;
1451
+ }
1452
+ async getCheckedList() {
1453
+ return Promise.resolve(listState.getCheckedList(this._id));
1454
+ }
1455
+ async getSelected() {
1456
+ return Promise.resolve(listState.getSelected(this._id));
1457
+ }
1458
+ async getValue() {
1459
+ return Promise.resolve(this.value);
1460
+ }
1461
+ async addChecked(ids = [], save = false, emit = true) {
1462
+ if (ids && ids.length > 0) {
1463
+ if (!save) {
1464
+ listState.setClear(this._id);
1465
+ await utils.delay(10);
1466
+ }
1467
+ await listState.addChecked(this._id, ids);
1468
+ await utils.delay(10);
1469
+ emit && (this.value = (await this.getCheckedList()).checkedList);
1470
+ this.markForCheck();
1471
+ }
1472
+ return Promise.resolve(this.value);
1473
+ }
1474
+ async selected(id) {
1475
+ if (id) {
1476
+ return Promise.resolve(await this.selectedItem(id));
1477
+ }
1478
+ return false;
1479
+ }
1480
+ async setClear(e) {
1481
+ listState.setClear(this._id);
1482
+ this.value = null;
1483
+ this.inputText = '';
1484
+ this.isOpen = false;
1485
+ this.selectAllItem.indeterminate = 'uncheck';
1486
+ this.tagCalculator();
1487
+ this.markForCheck();
1488
+ if (e) {
1489
+ e.stopPropagation();
1490
+ e.preventDefault();
1491
+ }
1492
+ await utils.delay(10);
1493
+ return Promise.resolve();
1494
+ }
1495
+ async resetCaption() {
1496
+ await utils.delay(10);
1497
+ this.caption = this.captionCache;
1498
+ this.captionType = this.captionTypeCache;
1499
+ this.captionError = null;
1500
+ await utils.delay(10);
1501
+ return Promise.resolve();
1502
+ }
1503
+ async show() {
1504
+ this.isOpen = true;
1505
+ return Promise.resolve();
1506
+ }
1507
+ async hide() {
1508
+ this.isOpen = false;
1509
+ return Promise.resolve();
1510
+ }
1511
+ updateOptions() {
1512
+ listState.updateOptions(this._id, this);
1513
+ }
1514
+ handleIndeterminate(checkeds, total) {
1515
+ this.selectAllItem = Object.assign(Object.assign({}, this.selectAllItem), { indeterminate: this.checkboxes && checkeds > 0 ? (checkeds === total ? 'check' : 'indeterminate') : 'uncheck', checked: this.checkboxes && checkeds > 0 ? (checkeds === total ? true : false) : false });
1516
+ }
1517
+ listenResize() {
1518
+ this.tagCalculator();
1519
+ this.calculateLocation();
1520
+ this.markForCheck();
1521
+ }
1522
+ async unSelectOther() {
1523
+ await this.onClearSearch();
1524
+ this.isSelectedOther = false;
1525
+ this.searchFound = null;
1526
+ this.returnFilterData = {};
1527
+ listState.filterData(this._id, null);
1528
+ await utils.delay(10);
1529
+ return Promise.resolve();
1530
+ }
1531
+ async onClearSearch() {
1532
+ const searchInput = document.getElementById(`bcm-list-${this._id}-search`);
1533
+ if (searchInput) {
1534
+ await searchInput.handleClear();
1535
+ }
1536
+ return Promise.resolve();
1537
+ }
1538
+ async onSelectSearch() {
1539
+ const searchInput = document.getElementById(`bcm-list-${this._id}-search`);
1540
+ if (searchInput) {
1541
+ await utils.delay(100);
1542
+ searchInput.onBcmFocus();
1543
+ searchInput.onBcmSelect();
1544
+ }
1545
+ }
1546
+ otherTagIds() {
1547
+ const otherTag = document.querySelector(`#bcm-list-input-tag-${this._id}-other-tag`);
1548
+ if (otherTag) {
1549
+ return otherTag.getAttribute('data-ids').split(',');
1550
+ }
1551
+ }
1552
+ async filterOtherList(ids) {
1553
+ const checklist = (await this.getCheckedList()).nestedResult;
1554
+ const filter = generate.Generate.convertIdsToNestedData(ids, checklist);
1555
+ this.returnFilterData = await listState.filterData(this._id, filter, null, true);
1556
+ this.searchFound = (ids === null || ids === void 0 ? void 0 : ids.length) || 0;
1557
+ this.limit = 500;
1558
+ this.searchGetParents = null;
1559
+ await utils.delay(1000);
1560
+ this.markForCheck();
1561
+ }
1562
+ async initState() {
1563
+ var _a, _b, _c;
1564
+ this.onClearSearch();
1565
+ await listState.setValue({
1566
+ id: this._id,
1567
+ dataSource: this.data && generate.snq(() => (typeof this.data == 'string' ? JSON.parse(this.data) : this.data), []),
1568
+ options: this,
1569
+ });
1570
+ const { totalRoots, totalItems } = listState.getValue(this._id);
1571
+ this.totalData = totalItems;
1572
+ this.totalRootData = totalRoots;
1573
+ this.value = this.checkboxes ? (await this.getCheckedList()).checkedList : listState.selectedItem(this._id) ? listState.selectedItem(this._id)[0] : null;
1574
+ if (!this.checkboxes) {
1575
+ this.inputText = ((_a = this.value) === null || _a === void 0 ? void 0 : _a.text) || null;
1576
+ }
1577
+ // checkli olan subparentların indeterminate kontrolü için
1578
+ if (this.checkboxes && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) > 0) {
1579
+ const checkedIDs = [];
1580
+ this.value.forEach(item => {
1581
+ if (!item.items || item.items.length === 0) {
1582
+ checkedIDs.push(item.id);
1583
+ }
1584
+ });
1585
+ await this.addChecked(checkedIDs, false, false);
1586
+ }
1587
+ await this.handleIndeterminate((_c = this.value) === null || _c === void 0 ? void 0 : _c.length, this.totalData);
1588
+ await this.markForCheck();
1589
+ }
1590
+ async markForCheck() {
1591
+ await utils.delay(10);
1592
+ this.tick = generate.Generate.UID();
1593
+ }
1594
+ getOptions() {
1595
+ return generate.snq(() => listState.getValue(this._id).options, {});
1596
+ }
1597
+ getItems() {
1598
+ if (this.isSelectedOther) {
1599
+ return this.returnFilterData['checkedItems'];
1600
+ }
1601
+ return generate.snq(() => listState.getData(this._id), []);
1602
+ }
1603
+ getLimitedItems(ids) {
1604
+ return generate.snq(() => listState.getDataPagination(this._id, this.searchResultLimit || this.limit, ids), []);
1605
+ }
1606
+ openGroup(parentId) {
1607
+ listState.openGroup(this._id, parentId);
1608
+ this.markForCheck();
1609
+ }
1610
+ focusItem(e) {
1611
+ if (e.target.classList.contains('bcm-list__item')) {
1612
+ const item = e.target;
1613
+ const list = document.getElementById(`bcm-list-${this._id}`);
1614
+ if (list) {
1615
+ const items = list.querySelectorAll('.bcm-list__item');
1616
+ if (items.length > 0) {
1617
+ const selectedItem = list.querySelector('.bcm-list__item.focused');
1618
+ if (selectedItem) {
1619
+ selectedItem.classList.remove('focused');
1620
+ }
1621
+ item.classList.add('focused');
1622
+ }
1623
+ }
1624
+ }
1625
+ }
1626
+ async selectedItem(itemId) {
1627
+ var _a;
1628
+ if (!this.checkboxes) {
1629
+ this.value = listState.selectedItem(this._id, itemId) ? listState.selectedItem(this._id, itemId)[0] : null;
1630
+ this.inputText = ((_a = this.value) === null || _a === void 0 ? void 0 : _a.text) || null;
1631
+ this.isOpen = false;
1632
+ this.markForCheck();
1633
+ if (this.type == 'autocomplete' && this.value) {
1634
+ // await delay(100)
1635
+ // this.resetCaption()
1636
+ const autocompleteInput = this.getAutoCompleteInput();
1637
+ if (autocompleteInput) {
1638
+ setTimeout(() => {
1639
+ var _a;
1640
+ autocompleteInput.setValue(((_a = this.value) === null || _a === void 0 ? void 0 : _a.text) || '');
1641
+ this.isOpen = false;
1642
+ }, 100);
1643
+ }
1644
+ }
1645
+ }
1646
+ return Promise.resolve(this.value);
1647
+ }
1648
+ async checkedItem(itemId) {
1649
+ const isCheckSelectAll = itemId === 'select-all';
1650
+ if (!isCheckSelectAll) {
1651
+ listState.checkedItem(this._id, itemId);
1652
+ }
1653
+ else {
1654
+ listState.selectAll(this._id, !this.selectAllItem.checked);
1655
+ }
1656
+ this.value = (await this.getCheckedList()).checkedList;
1657
+ this.changeVisibleCheckeds();
1658
+ this.markForCheck();
1659
+ }
1660
+ changeVisibleCheckeds() {
1661
+ const { visibledItems } = this.returnFilterData;
1662
+ this.returnFilterData = {
1663
+ visibledItems,
1664
+ checkedItems: (visibledItems && visibledItems.filter(item => item.checked)) || [],
1665
+ };
1666
+ }
1667
+ getAutoCompleteInput() {
1668
+ return document.getElementById(`bcm-list-input-tag-container-${this._id}-autocomplete-input`);
1669
+ }
1670
+ dataScrollEvent(event) {
1671
+ let count = 0;
1672
+ let io = new IntersectionObserver((data) => {
1673
+ if (count === 0) {
1674
+ count++;
1675
+ if (data[0].isIntersecting) {
1676
+ this.limit += 15;
1677
+ this.searchResultLimit += 15;
1678
+ io.disconnect();
1679
+ io = null;
1680
+ }
1681
+ }
1682
+ }, this.options);
1683
+ io.observe(event.target.lastElementChild);
1684
+ }
1685
+ async calculateLocation() {
1686
+ var _a, _b;
1687
+ if (this.type == 'select' || this.type == 'autocomplete' || this.linkedComponent) {
1688
+ const list = document.getElementById(`bcm-list-${this._id}`);
1689
+ // list && (list.style.height = '256px') //sebebi neydi ki!
1690
+ var placement = this.placement;
1691
+ const targetElementId = this.linkedComponent ? this.linkedComponent : `bcm-list-input-${this._id}`;
1692
+ const targetElement = document.getElementById(targetElementId);
1693
+ if (list && targetElement) {
1694
+ popoverPlacement.getPlacement(list, targetElement, placement, (place) => (placement = place));
1695
+ await utils.delay(10);
1696
+ let pos = popoverPlacement.setPosition(placement, targetElement);
1697
+ let captionAreaHeight = 0;
1698
+ let labelAreaHeight = 0;
1699
+ if (this.linkedComponent) {
1700
+ const linked = document.getElementById(this.linkedComponent);
1701
+ if (linked) {
1702
+ if (!linked['noCaption']) {
1703
+ const captionArea = ((_a = linked.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.bcm-caption-area')) || linked.querySelector('.bcm-caption-area');
1704
+ if (captionArea) {
1705
+ captionAreaHeight = captionArea.offsetHeight || captionArea.clientHeight;
1706
+ }
1707
+ }
1708
+ const labelArea = ((_b = linked.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.bcm-label')) || linked.querySelector('.bcm-label');
1709
+ if (labelArea) {
1710
+ labelAreaHeight = labelArea.offsetHeight || labelArea.clientHeight;
1711
+ }
1712
+ }
1713
+ }
1714
+ if (this.fullWidth) {
1715
+ list.style.width = targetElement.offsetWidth + 'px';
1716
+ }
1717
+ else {
1718
+ list.style.width = this.width || 'auto';
1719
+ }
1720
+ if (this.height.indexOf('%') > -1) {
1721
+ list.style.height = numberHelper.NumberHelper.toNumber(this.height) * 0.01 * window.innerHeight - pos[0] - 50 + 'px';
1722
+ }
1723
+ else {
1724
+ list.style.height = this.height;
1725
+ }
1726
+ list.style.minHeight = this.minHeight;
1727
+ // const calculatedMaxHeight = window.innerHeight - pos[0] - 50;
1728
+ const calculatedMaxHeight = placement.split('-')[0] == 'top' ? window.innerHeight - (window.innerHeight - pos[0]) - 50 : window.innerHeight - pos[0] - 50;
1729
+ if (this.maxHeight.indexOf('%') > -1) {
1730
+ list.style.maxHeight = numberHelper.NumberHelper.toNumber(this.maxHeight) * 0.01 * calculatedMaxHeight + 'px';
1731
+ }
1732
+ else {
1733
+ list.style.maxHeight = numberHelper.NumberHelper.toNumber(this.maxHeight) < calculatedMaxHeight ? this.maxHeight : calculatedMaxHeight + 'px';
1734
+ }
1735
+ popoverPlacement.getPlacement(list, targetElement, placement, (place) => (placement = place));
1736
+ await utils.delay(10);
1737
+ pos = popoverPlacement.setPosition(placement, targetElement);
1738
+ list.style.top = (placement.split('-')[0] == 'top' ? pos[0] - list.offsetHeight + labelAreaHeight : pos[0] - captionAreaHeight) + 'px';
1739
+ // list.style.left = pos[1] + 'px';
1740
+ list.style.left = placement.split('-')[1] == 'end' ? pos[1] - list.offsetWidth + 'px' : pos[1] + 'px';
1741
+ list.classList.toggle('bcm-list--top', placement.split('-')[0] == 'top');
1742
+ this.calculatedViewport = true;
1743
+ }
1744
+ }
1745
+ }
1746
+ render() {
1747
+ const { checkboxes, treeview, label, size, disabled, readonly, required, hidden, fullWidth, searchable } = this.getOptions();
1748
+ const hostClasses = index.classnames('bcm-list', `bcm-list__size-${size}`, `bcm-list__${this.type}`, size === 'large' ? 'size-3' : 'size-2', {
1749
+ 'error': this.captionType == bcm.Bcm$1.Status.error,
1750
+ 'full-width': fullWidth,
1751
+ 'bcm-list__linked': this.linkedComponent,
1752
+ hidden,
1753
+ readonly,
1754
+ disabled,
1755
+ });
1756
+ const bcmListContainer = index.classnames('bcm-list__container', this.linkedComponent ? 'bcm-list__type-linked-component' : `bcm-list__type-${this.type}`, {
1757
+ 'is-open': this.isOpen && this.calculatedViewport,
1758
+ 'error': this.captionType == bcm.Bcm$1.Status.error,
1759
+ 'full-width': fullWidth,
1760
+ hidden,
1761
+ readonly,
1762
+ disabled,
1763
+ });
1764
+ const bcmListInput = index.classnames('bcm-list__input');
1765
+ const openedType = this.type == 'select' || this.type == 'autocomplete' || this.linkedComponent;
1766
+ return (index$1.h(index$1.Host, { class: hostClasses, tabindex: "0", style: {
1767
+ '--width': fullWidth ? '100%' : this.width,
1768
+ '--height': openedType ? '100%' : this.height,
1769
+ '--max-height': openedType ? 'inherit' : this.maxHeight,
1770
+ '--min-height': openedType ? 'inherit' : this.minHeight,
1771
+ } }, index$1.h("div", { id: `bcm-list-label-${this._id}`, class: "bcm-list__label" }, label && (index$1.h("div", null, index$1.h(labelTemplate.LabelTemplate, { size: this.size, type: this.captionType, value: label, required: required, htmlFor: this._id })))), this.type == 'select' && (index$1.h("div", { id: `bcm-list-input-${this._id}`, class: bcmListInput }, index$1.h("span", { class: index.classnames('bcm-list__input-container', { 'type-single': !checkboxes, 'value-empty': !this.value }) }, this.checkboxes && index$1.h("span", { id: `bcm-list-input-tag-container-${this._id}`, class: "bcm-list__input-tag-container" }), this.checkboxes && !this.value && index$1.h("span", { class: "bcm-list__input-placeholder" }, this.placeholder), !this.checkboxes && (this.value ? this.inputText : index$1.h("span", { class: "bcm-list__input-placeholder" }, this.placeholder))), index$1.h("span", { class: index.classnames('bcm-list__input-buttons', {
1772
+ disabled: disabled,
1773
+ }) }, this.clearable && this.value && (index$1.h("div", { class: "bcm-list__input-buttons-button" }, index$1.h("bcm-icon", { icon: "fal fa-times", onClick: e => !disabled && this.setClear(e) }))), index$1.h("div", { class: `bcm-list__input-buttons-button caret-is ${this.isOpen && this.calculatedViewport && 'caret-is-open'}` }, index$1.h("bcm-icon", { icon: `far fa-angle-down` }))))), this.type === 'autocomplete' && (index$1.h("div", { id: `bcm-list-input-${this._id}`, class: index.classnames(bcmListInput, { 'bcm-list__input-autocomplete': this.type == 'autocomplete' }) }, index$1.h("span", { class: "bcm-list__input-container", id: `bcm-list-input-tag-container-${this._id}` }, this.checkboxes && index$1.h("span", { class: "bcm-list__input-tag-container", id: `bcm-list-input-tag-container-${this._id}-autocomplete` }), index$1.h("bcm-search", { id: `bcm-list-input-tag-container-${this._id}-autocomplete-input`, class: "bcm-list__autocomplete", data: this.data, clearable: true, "full-width": true, "no-caption": true, placeholder: this.placeholder })))), index$1.h(ListTemplate, { highlight: this.highlightText, searchable: this.type == 'autocomplete' ? false : searchable, bcmListContainer: bcmListContainer, checkboxes: checkboxes, treeview: treeview, infoFooter: this.infoFooter, value: this.value, totalData: this.totalData, searchFound: this.searchFound, variableText: this.variableText, searchPlaceholder: this.searchPlaceholder, minSearchLength: this.minSearchLength, searchIsOnlyChilds: this.searchIsOnlyChilds, _id: this._id, checkAll: this.checkAll, data: this.getItems(), width: this.width, height: this.height, size: this.size, selectAllItem: this.selectAllItem, onScrollEvent: e => this.dataScrollEvent(e), items: this.getLimitedItems(this.searchGetParents), selectedItem: itemId => this.selectedItem(itemId), checkedItem: itemId => this.checkedItem(itemId), openGroup: parentId => this.openGroup(parentId), focusItem: itemId => this.focusItem(itemId), emptyText: this.emptyText, emptyIcon: this.emptyIcon }), index$1.h(captionTemplate.CaptionTemplate, { noCaption: this.noCaption, captionType: this.captionType, captionError: this.captionError, caption: this.caption })));
1774
+ }
1775
+ get el() { return index$1.getElement(this); }
1776
+ static get watchers() { return {
1777
+ "_id": ["watchId"],
1778
+ "value": ["handleValueChange"],
1779
+ "returnFilterData": ["watchReturnFilterData"],
1780
+ "isSelectedOther": ["handleOtherSelected"],
1781
+ "isOpen": ["handleOpen"],
1782
+ "data": ["dataChanged"]
1783
+ }; }
1784
+ };
1785
+ __decorate([
1786
+ isLoadDecorator.IsLoad()
1787
+ ], BcmList.prototype, "el", void 0);
1788
+ __decorate([
1789
+ jsonParseDecarator.JsonParse('data', true)
1790
+ ], BcmList.prototype, "dataChanged", null);
1791
+ BcmList.style = listCss;
1792
+
1793
+ exports.bcm_list = BcmList;