bromcom-ui 2.7.37-rc.2 → 2.7.37-rc.4-0

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 (402) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/p-02d75af2.js +5 -0
  3. package/dist/bromcom-ui/{p-f374395b.entry.js → p-03b55cfb.entry.js} +1 -1
  4. package/dist/bromcom-ui/{p-75f864ae.entry.js → p-05702e53.entry.js} +1 -1
  5. package/dist/bromcom-ui/{p-93010f03.js → p-0a9b00a9.js} +1 -1
  6. package/dist/bromcom-ui/{p-ef923122.entry.js → p-0d778313.entry.js} +1 -1
  7. package/dist/bromcom-ui/{p-8595742c.entry.js → p-17a333df.entry.js} +1 -1
  8. package/dist/bromcom-ui/{p-13ed55a9.entry.js → p-1b51a1a5.entry.js} +1 -1
  9. package/dist/bromcom-ui/{p-1dab0ebb.entry.js → p-1e286e48.entry.js} +1 -1
  10. package/dist/bromcom-ui/{p-b3a57653.entry.js → p-22a0e65d.entry.js} +1 -1
  11. package/dist/bromcom-ui/{p-35bd1307.entry.js → p-2462b461.entry.js} +1 -1
  12. package/dist/bromcom-ui/{p-a63ba9a2.entry.js → p-26931df9.entry.js} +1 -1
  13. package/dist/bromcom-ui/{p-27d06f30.entry.js → p-26f3fdba.entry.js} +1 -1
  14. package/dist/bromcom-ui/p-273f91af.entry.js +5 -0
  15. package/dist/bromcom-ui/{p-db11376b.entry.js → p-2ab6e327.entry.js} +1 -1
  16. package/dist/bromcom-ui/{p-2b7cb17c.entry.js → p-2bc9235f.entry.js} +1 -1
  17. package/dist/bromcom-ui/{p-0aec8d73.entry.js → p-32145a6a.entry.js} +1 -1
  18. package/dist/bromcom-ui/{p-75a92b4c.entry.js → p-36506817.entry.js} +1 -1
  19. package/dist/bromcom-ui/{p-fcaba9dd.entry.js → p-3971afee.entry.js} +1 -1
  20. package/dist/bromcom-ui/{p-2806e672.entry.js → p-4b318405.entry.js} +1 -1
  21. package/dist/bromcom-ui/{p-d8f95e30.entry.js → p-4e8fe53f.entry.js} +1 -1
  22. package/dist/bromcom-ui/{p-4e0c990d.js → p-576c9e1a.js} +1 -1
  23. package/dist/bromcom-ui/{p-d87118f3.entry.js → p-5c33bc24.entry.js} +1 -1
  24. package/dist/bromcom-ui/{p-4f99361a.js → p-650d0075.js} +1 -1
  25. package/dist/bromcom-ui/{p-a8073fed.entry.js → p-65605e2b.entry.js} +1 -1
  26. package/dist/bromcom-ui/{p-1a7873c8.entry.js → p-70214600.entry.js} +1 -1
  27. package/dist/bromcom-ui/{p-b47e5352.entry.js → p-71869daf.entry.js} +1 -1
  28. package/dist/bromcom-ui/{p-af93c8e6.entry.js → p-74cb5833.entry.js} +1 -1
  29. package/dist/bromcom-ui/{p-ea4f2618.entry.js → p-75bd9b2e.entry.js} +1 -1
  30. package/dist/bromcom-ui/{p-9a78235b.entry.js → p-76be0458.entry.js} +1 -1
  31. package/dist/bromcom-ui/{p-6caa9460.entry.js → p-82f2ad3d.entry.js} +1 -1
  32. package/dist/bromcom-ui/{p-573647ab.entry.js → p-87065fd4.entry.js} +1 -1
  33. package/dist/bromcom-ui/{p-3455ec3e.entry.js → p-8a1ad072.entry.js} +1 -1
  34. package/dist/bromcom-ui/{p-50c7a3cd.entry.js → p-8e1f99b0.entry.js} +1 -1
  35. package/dist/bromcom-ui/{p-2b479251.entry.js → p-94594729.entry.js} +1 -1
  36. package/dist/bromcom-ui/{p-8b72bce1.js → p-959303e6.js} +1 -1
  37. package/dist/bromcom-ui/{p-f2caf9d3.entry.js → p-97ab8650.entry.js} +1 -1
  38. package/dist/bromcom-ui/{p-f1b1bb76.entry.js → p-9c80f257.entry.js} +1 -1
  39. package/dist/bromcom-ui/{p-b2bae44d.entry.js → p-a0f75665.entry.js} +1 -1
  40. package/dist/bromcom-ui/{p-b265dd24.entry.js → p-a1d8b2f0.entry.js} +1 -1
  41. package/dist/bromcom-ui/{p-4c75beb3.entry.js → p-a6d7b8ff.entry.js} +1 -1
  42. package/dist/bromcom-ui/{p-043f3a0d.entry.js → p-a8ad2743.entry.js} +1 -1
  43. package/dist/bromcom-ui/{p-b2ea4774.entry.js → p-c9b1cee9.entry.js} +1 -1
  44. package/dist/bromcom-ui/{p-41f2ef93.entry.js → p-cfcd67d2.entry.js} +1 -1
  45. package/dist/bromcom-ui/{p-2b346de3.entry.js → p-d3401faf.entry.js} +1 -1
  46. package/dist/bromcom-ui/{p-60cee147.entry.js → p-d6899b4a.entry.js} +1 -1
  47. package/dist/bromcom-ui/{p-c9a20860.entry.js → p-da77656a.entry.js} +1 -1
  48. package/dist/bromcom-ui/p-de448df0.js +5 -0
  49. package/dist/bromcom-ui/{p-053962ad.entry.js → p-de89f82d.entry.js} +1 -1
  50. package/dist/bromcom-ui/{p-405441b2.entry.js → p-ea1352b5.entry.js} +1 -1
  51. package/dist/bromcom-ui/{p-355e259c.entry.js → p-f6e52a9b.entry.js} +1 -1
  52. package/dist/bromcom-ui/{p-bc868e9e.js → p-fa8fd0b1.js} +1 -1
  53. package/dist/bromcom-ui/{p-40aeceda.entry.js → p-fac43984.entry.js} +1 -1
  54. package/dist/cjs/bcm-accordion.cjs.entry.js +1 -1
  55. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  56. package/dist/cjs/bcm-attendance.cjs.entry.js +2 -2
  57. package/dist/cjs/bcm-avatar_2.cjs.entry.js +3 -3
  58. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +1 -1
  59. package/dist/cjs/bcm-button-group.cjs.entry.js +1 -1
  60. package/dist/cjs/bcm-button_4.cjs.entry.js +5 -3
  61. package/dist/cjs/bcm-card.cjs.entry.js +1 -1
  62. package/dist/cjs/bcm-checkbox-group.cjs.entry.js +1 -1
  63. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +1 -1
  64. package/dist/cjs/bcm-checkbox_2.cjs.entry.js +1 -1
  65. package/dist/cjs/bcm-chip.cjs.entry.js +1 -1
  66. package/dist/cjs/bcm-collapse.cjs.entry.js +1 -1
  67. package/dist/cjs/bcm-date-picker.cjs.entry.js +1 -1
  68. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +1 -1
  69. package/dist/cjs/bcm-default.cjs.entry.js +1 -1
  70. package/dist/cjs/bcm-drawer.cjs.entry.js +3 -3
  71. package/dist/cjs/bcm-dropdown.cjs.entry.js +2 -2
  72. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +1 -1
  73. package/dist/cjs/bcm-form-2.cjs.entry.js +1 -1
  74. package/dist/cjs/bcm-input.cjs.entry.js +4 -4
  75. package/dist/cjs/bcm-item.cjs.entry.js +1 -1
  76. package/dist/cjs/bcm-items.cjs.entry.js +1 -1
  77. package/dist/cjs/bcm-label_2.cjs.entry.js +4 -4
  78. package/dist/cjs/bcm-linked.cjs.entry.js +3 -3
  79. package/dist/cjs/bcm-list.cjs.entry.js +5 -5
  80. package/dist/cjs/bcm-menu.cjs.entry.js +5 -5
  81. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +1 -1
  82. package/dist/cjs/bcm-popconfirm.cjs.entry.js +1 -1
  83. package/dist/cjs/bcm-popover.cjs.entry.js +3 -3
  84. package/dist/cjs/bcm-progress.cjs.entry.js +1 -1
  85. package/dist/cjs/bcm-radio-group.cjs.entry.js +1 -1
  86. package/dist/cjs/bcm-radio.cjs.entry.js +1 -1
  87. package/dist/cjs/bcm-range.cjs.entry.js +1 -1
  88. package/dist/cjs/bcm-search.cjs.entry.js +3 -3
  89. package/dist/cjs/bcm-skeleton.cjs.entry.js +1 -1
  90. package/dist/cjs/bcm-step.cjs.entry.js +2 -2
  91. package/dist/cjs/bcm-stepper.cjs.entry.js +3 -3
  92. package/dist/cjs/bcm-switch.cjs.entry.js +1 -1
  93. package/dist/cjs/bcm-tab-group.cjs.entry.js +1 -1
  94. package/dist/cjs/bcm-tag.cjs.entry.js +2 -2
  95. package/dist/cjs/bcm-textarea.cjs.entry.js +2 -2
  96. package/dist/cjs/bcm-time-picker.cjs.entry.js +1 -1
  97. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  98. package/dist/cjs/{generate-716a328d.js → generate-29f6c671.js} +1 -1
  99. package/dist/cjs/{input-template-4747050f.js → input-template-8d49a61c.js} +1 -1
  100. package/dist/cjs/{json-parse-decarator-b8a37140.js → json-parse-decarator-5d872ae7.js} +1 -1
  101. package/dist/cjs/loader.cjs.js +1 -1
  102. package/dist/cjs/{number-helper-e62c32d5.js → number-helper-288bbac7.js} +1 -1
  103. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +2 -2
  104. package/dist/cjs/old-bcm-popover.cjs.entry.js +1 -1
  105. package/dist/cjs/{stepper-states-1be09180.js → stepper-states-902494d8.js} +1 -1
  106. package/dist/cjs/{tooltip-helper-a192b748.js → tooltip-helper-4be3d320.js} +3 -3
  107. package/dist/cjs/{validators-8f5537d4.js → validators-9af1100c.js} +1 -1
  108. package/dist/collection/components/atoms/button/button.css +15 -0
  109. package/dist/collection/components/atoms/button/button.js +3 -1
  110. package/dist/collection/components/molecules/modal/modal.js +4 -9
  111. package/dist/collection/templates/button-template.js +1 -1
  112. package/dist/components/_commonjsHelpers.js +25 -0
  113. package/dist/components/avatar.js +124 -0
  114. package/dist/components/badge.js +95 -0
  115. package/dist/components/bcm-accordion.d.ts +11 -0
  116. package/dist/components/bcm-accordion.js +101 -0
  117. package/dist/components/bcm-alert.d.ts +11 -0
  118. package/dist/components/bcm-alert.js +140 -0
  119. package/dist/components/bcm-attendance.d.ts +11 -0
  120. package/dist/components/bcm-attendance.js +72 -0
  121. package/dist/components/bcm-autocomplete.d.ts +11 -0
  122. package/dist/components/bcm-autocomplete.js +293 -0
  123. package/dist/components/bcm-avatar.d.ts +11 -0
  124. package/dist/components/bcm-avatar.js +10 -0
  125. package/dist/components/bcm-badge.d.ts +11 -0
  126. package/dist/components/bcm-badge.js +10 -0
  127. package/dist/components/bcm-box.d.ts +11 -0
  128. package/dist/components/bcm-box.js +48 -0
  129. package/dist/components/bcm-breadcrumb.d.ts +11 -0
  130. package/dist/components/bcm-breadcrumb.js +96 -0
  131. package/dist/components/bcm-button-group.d.ts +11 -0
  132. package/dist/components/bcm-button-group.js +121 -0
  133. package/dist/components/bcm-button.d.ts +11 -0
  134. package/dist/components/bcm-button.js +10 -0
  135. package/dist/components/bcm-card.d.ts +11 -0
  136. package/dist/components/bcm-card.js +91 -0
  137. package/dist/components/bcm-checkbox-group.d.ts +11 -0
  138. package/dist/components/bcm-checkbox-group.js +474 -0
  139. package/dist/components/bcm-checkbox-lite.d.ts +11 -0
  140. package/dist/components/bcm-checkbox-lite.js +10 -0
  141. package/dist/components/bcm-checkbox.d.ts +11 -0
  142. package/dist/components/bcm-checkbox.js +10 -0
  143. package/dist/components/bcm-chip.d.ts +11 -0
  144. package/dist/components/bcm-chip.js +106 -0
  145. package/dist/components/bcm-collapse-group.d.ts +11 -0
  146. package/dist/components/bcm-collapse-group.js +75 -0
  147. package/dist/components/bcm-collapse.d.ts +11 -0
  148. package/dist/components/bcm-collapse.js +77 -0
  149. package/dist/components/bcm-colorpicker.d.ts +11 -0
  150. package/dist/components/bcm-colorpicker.js +491 -0
  151. package/dist/components/bcm-date-picker.d.ts +11 -0
  152. package/dist/components/bcm-date-picker.js +249 -0
  153. package/dist/components/bcm-datetime-picker.d.ts +11 -0
  154. package/dist/components/bcm-datetime-picker.js +10 -0
  155. package/dist/components/bcm-default.d.ts +11 -0
  156. package/dist/components/bcm-default.js +61 -0
  157. package/dist/components/bcm-divider.d.ts +11 -0
  158. package/dist/components/bcm-divider.js +10 -0
  159. package/dist/components/bcm-drawer.d.ts +11 -0
  160. package/dist/components/bcm-drawer.js +141 -0
  161. package/dist/components/bcm-dropdown.d.ts +11 -0
  162. package/dist/components/bcm-dropdown.js +306 -0
  163. package/dist/components/bcm-empty.d.ts +11 -0
  164. package/dist/components/bcm-empty.js +10 -0
  165. package/dist/components/bcm-error-layout.d.ts +11 -0
  166. package/dist/components/bcm-error-layout.js +98 -0
  167. package/dist/components/bcm-expansion-panel.d.ts +11 -0
  168. package/dist/components/bcm-expansion-panel.js +159 -0
  169. package/dist/components/bcm-form-2.d.ts +11 -0
  170. package/dist/components/bcm-form-2.js +226 -0
  171. package/dist/components/bcm-form-group.d.ts +11 -0
  172. package/dist/components/bcm-form-group.js +65 -0
  173. package/dist/components/bcm-form.d.ts +11 -0
  174. package/dist/components/bcm-form.js +510 -0
  175. package/dist/components/bcm-icon.d.ts +11 -0
  176. package/dist/components/bcm-icon.js +10 -0
  177. package/dist/components/bcm-input.d.ts +11 -0
  178. package/dist/components/bcm-input.js +404 -0
  179. package/dist/components/bcm-item.d.ts +11 -0
  180. package/dist/components/bcm-item.js +98 -0
  181. package/dist/components/bcm-items.d.ts +11 -0
  182. package/dist/components/bcm-items.js +74 -0
  183. package/dist/components/bcm-label.d.ts +11 -0
  184. package/dist/components/bcm-label.js +10 -0
  185. package/dist/components/bcm-link.d.ts +11 -0
  186. package/dist/components/bcm-link.js +10 -0
  187. package/dist/components/bcm-linked.d.ts +11 -0
  188. package/dist/components/bcm-linked.js +201 -0
  189. package/dist/components/bcm-list.d.ts +11 -0
  190. package/dist/components/bcm-list.js +1859 -0
  191. package/dist/components/bcm-listbox-group.d.ts +11 -0
  192. package/dist/components/bcm-listbox-group.js +10 -0
  193. package/dist/components/bcm-listbox-item.d.ts +11 -0
  194. package/dist/components/bcm-listbox-item.js +10 -0
  195. package/dist/components/bcm-listbox.d.ts +11 -0
  196. package/dist/components/bcm-listbox.js +10 -0
  197. package/dist/components/bcm-menu.d.ts +11 -0
  198. package/dist/components/bcm-menu.js +10 -0
  199. package/dist/components/bcm-message.d.ts +11 -0
  200. package/dist/components/bcm-message.js +126 -0
  201. package/dist/components/bcm-modal.d.ts +11 -0
  202. package/dist/components/bcm-modal.js +166 -0
  203. package/dist/components/bcm-notification.d.ts +11 -0
  204. package/dist/components/bcm-notification.js +136 -0
  205. package/dist/components/bcm-old-input.d.ts +11 -0
  206. package/dist/components/bcm-old-input.js +10 -0
  207. package/dist/components/bcm-old-search.d.ts +11 -0
  208. package/dist/components/bcm-old-search.js +10 -0
  209. package/dist/components/bcm-old-tag.d.ts +11 -0
  210. package/dist/components/bcm-old-tag.js +10 -0
  211. package/dist/components/bcm-popconfirm-box.d.ts +11 -0
  212. package/dist/components/bcm-popconfirm-box.js +10 -0
  213. package/dist/components/bcm-popconfirm.d.ts +11 -0
  214. package/dist/components/bcm-popconfirm.js +160 -0
  215. package/dist/components/bcm-popover.d.ts +11 -0
  216. package/dist/components/bcm-popover.js +203 -0
  217. package/dist/components/bcm-progress.d.ts +11 -0
  218. package/dist/components/bcm-progress.js +205 -0
  219. package/dist/components/bcm-radio-group.d.ts +11 -0
  220. package/dist/components/bcm-radio-group.js +334 -0
  221. package/dist/components/bcm-radio.d.ts +11 -0
  222. package/dist/components/bcm-radio.js +10 -0
  223. package/dist/components/bcm-range.d.ts +11 -0
  224. package/dist/components/bcm-range.js +220 -0
  225. package/dist/components/bcm-result.d.ts +11 -0
  226. package/dist/components/bcm-result.js +105 -0
  227. package/dist/components/bcm-search.d.ts +11 -0
  228. package/dist/components/bcm-search.js +10 -0
  229. package/dist/components/bcm-select-box.d.ts +11 -0
  230. package/dist/components/bcm-select-box.js +10 -0
  231. package/dist/components/bcm-select-group.d.ts +11 -0
  232. package/dist/components/bcm-select-group.js +48 -0
  233. package/dist/components/bcm-select-option.d.ts +11 -0
  234. package/dist/components/bcm-select-option.js +57 -0
  235. package/dist/components/bcm-select.d.ts +11 -0
  236. package/dist/components/bcm-select.js +1385 -0
  237. package/dist/components/bcm-skeleton.d.ts +11 -0
  238. package/dist/components/bcm-skeleton.js +10 -0
  239. package/dist/components/bcm-step.d.ts +11 -0
  240. package/dist/components/bcm-step.js +10 -0
  241. package/dist/components/bcm-stepper.d.ts +11 -0
  242. package/dist/components/bcm-stepper.js +249 -0
  243. package/dist/components/bcm-switch.d.ts +11 -0
  244. package/dist/components/bcm-switch.js +201 -0
  245. package/dist/components/bcm-tab-group.d.ts +11 -0
  246. package/dist/components/bcm-tab-group.js +190 -0
  247. package/dist/components/bcm-tab-pane.d.ts +11 -0
  248. package/dist/components/bcm-tab-pane.js +89 -0
  249. package/dist/components/bcm-tab.d.ts +11 -0
  250. package/dist/components/bcm-tab.js +125 -0
  251. package/dist/components/bcm-table.d.ts +11 -0
  252. package/dist/components/bcm-table.js +93 -0
  253. package/dist/components/bcm-tabs-content.d.ts +11 -0
  254. package/dist/components/bcm-tabs-content.js +80 -0
  255. package/dist/components/bcm-tabs.d.ts +11 -0
  256. package/dist/components/bcm-tabs.js +430 -0
  257. package/dist/components/bcm-tag.d.ts +11 -0
  258. package/dist/components/bcm-tag.js +132 -0
  259. package/dist/components/bcm-text.d.ts +11 -0
  260. package/dist/components/bcm-text.js +10 -0
  261. package/dist/components/bcm-textarea.d.ts +11 -0
  262. package/dist/components/bcm-textarea.js +212 -0
  263. package/dist/components/bcm-time-picker.d.ts +11 -0
  264. package/dist/components/bcm-time-picker.js +209 -0
  265. package/dist/components/bcm-timeline-item.d.ts +11 -0
  266. package/dist/components/bcm-timeline-item.js +81 -0
  267. package/dist/components/bcm-timeline.d.ts +11 -0
  268. package/dist/components/bcm-timeline.js +91 -0
  269. package/dist/components/bcm-tooltip.d.ts +11 -0
  270. package/dist/components/bcm-tooltip.js +10 -0
  271. package/dist/components/bcm-treeview-group.d.ts +11 -0
  272. package/dist/components/bcm-treeview-group.js +37 -0
  273. package/dist/components/bcm-treeview-item.d.ts +11 -0
  274. package/dist/components/bcm-treeview-item.js +10 -0
  275. package/dist/components/bcm-treeview.d.ts +11 -0
  276. package/dist/components/bcm-treeview.js +10 -0
  277. package/dist/components/bcm-typography.d.ts +11 -0
  278. package/dist/components/bcm-typography.js +10 -0
  279. package/dist/components/bcm.js +446 -0
  280. package/dist/components/button.js +403 -0
  281. package/dist/components/caption-template.js +32 -0
  282. package/dist/components/checkbox-lite.js +97 -0
  283. package/dist/components/checkbox.js +231 -0
  284. package/dist/components/color-helper.js +488 -0
  285. package/dist/components/colors.js +222 -0
  286. package/dist/components/datetime-picker.js +1509 -0
  287. package/dist/components/divider.js +59 -0
  288. package/dist/components/element-dragger.js +277 -0
  289. package/dist/components/empty.js +53 -0
  290. package/dist/components/floating-ui.js +1453 -0
  291. package/dist/components/generate.js +202 -0
  292. package/dist/components/icon.js +53 -0
  293. package/dist/components/index.d.ts +105 -0
  294. package/dist/components/index.js +99 -0
  295. package/dist/components/index2.js +62 -0
  296. package/dist/components/index3.js +191 -0
  297. package/dist/components/input-template.js +97 -0
  298. package/dist/components/is-load-decorator.js +54 -0
  299. package/dist/components/json-parse-decarator.js +38 -0
  300. package/dist/components/label-template.js +21 -0
  301. package/dist/components/label.js +83 -0
  302. package/dist/components/link.js +84 -0
  303. package/dist/components/listbox-group.js +55 -0
  304. package/dist/components/listbox-item.js +217 -0
  305. package/dist/components/listbox.js +1116 -0
  306. package/dist/components/menu.js +274 -0
  307. package/dist/{esm/number-helper-f34393b1.js → components/number-helper.js} +1 -1
  308. package/dist/components/old-bcm-popover-box.d.ts +11 -0
  309. package/dist/components/old-bcm-popover-box.js +10 -0
  310. package/dist/components/old-bcm-popover.d.ts +11 -0
  311. package/dist/components/old-bcm-popover.js +132 -0
  312. package/dist/components/old-input.js +470 -0
  313. package/dist/components/old-popover-box.js +184 -0
  314. package/dist/components/old-search.js +235 -0
  315. package/dist/components/old-tag.js +153 -0
  316. package/dist/components/popconfirm-box.js +160 -0
  317. package/dist/components/popover-placement.js +95 -0
  318. package/dist/components/property-decorators.js +31 -0
  319. package/dist/components/radio.js +119 -0
  320. package/dist/components/search.js +286 -0
  321. package/dist/components/select-box.js +165 -0
  322. package/dist/components/skeleton.js +69 -0
  323. package/dist/components/slot-template.js +13 -0
  324. package/dist/components/step.js +188 -0
  325. package/dist/components/string-helper.js +132 -0
  326. package/dist/components/text.js +72 -0
  327. package/dist/components/tooltip-helper.js +101 -0
  328. package/dist/components/tooltip.js +96 -0
  329. package/dist/components/treeview-item.js +419 -0
  330. package/dist/components/treeview.js +956 -0
  331. package/dist/components/types.js +32 -0
  332. package/dist/components/types2.js +32 -0
  333. package/dist/components/typography.js +45 -0
  334. package/dist/components/utils.js +123 -0
  335. package/dist/components/validators.js +35 -0
  336. package/dist/esm/bcm-accordion.entry.js +1 -1
  337. package/dist/esm/bcm-alert.entry.js +1 -1
  338. package/dist/esm/bcm-attendance.entry.js +2 -2
  339. package/dist/esm/bcm-avatar_2.entry.js +3 -3
  340. package/dist/esm/bcm-breadcrumb.entry.js +1 -1
  341. package/dist/esm/bcm-button-group.entry.js +1 -1
  342. package/dist/esm/bcm-button_4.entry.js +5 -3
  343. package/dist/esm/bcm-card.entry.js +1 -1
  344. package/dist/esm/bcm-checkbox-group.entry.js +1 -1
  345. package/dist/esm/bcm-checkbox-lite_9.entry.js +1 -1
  346. package/dist/esm/bcm-checkbox_2.entry.js +1 -1
  347. package/dist/esm/bcm-chip.entry.js +1 -1
  348. package/dist/esm/bcm-collapse.entry.js +1 -1
  349. package/dist/esm/bcm-date-picker.entry.js +1 -1
  350. package/dist/esm/bcm-datetime-picker.entry.js +1 -1
  351. package/dist/esm/bcm-default.entry.js +1 -1
  352. package/dist/esm/bcm-drawer.entry.js +3 -3
  353. package/dist/esm/bcm-dropdown.entry.js +2 -2
  354. package/dist/esm/bcm-expansion-panel.entry.js +1 -1
  355. package/dist/esm/bcm-form-2.entry.js +1 -1
  356. package/dist/esm/bcm-input.entry.js +4 -4
  357. package/dist/esm/bcm-item.entry.js +1 -1
  358. package/dist/esm/bcm-items.entry.js +1 -1
  359. package/dist/esm/bcm-label_2.entry.js +4 -4
  360. package/dist/esm/bcm-linked.entry.js +3 -3
  361. package/dist/esm/bcm-list.entry.js +5 -5
  362. package/dist/esm/bcm-menu.entry.js +5 -5
  363. package/dist/esm/bcm-popconfirm-box.entry.js +1 -1
  364. package/dist/esm/bcm-popconfirm.entry.js +1 -1
  365. package/dist/esm/bcm-popover.entry.js +3 -3
  366. package/dist/esm/bcm-progress.entry.js +1 -1
  367. package/dist/esm/bcm-radio-group.entry.js +1 -1
  368. package/dist/esm/bcm-radio.entry.js +1 -1
  369. package/dist/esm/bcm-range.entry.js +1 -1
  370. package/dist/esm/bcm-search.entry.js +3 -3
  371. package/dist/esm/bcm-skeleton.entry.js +1 -1
  372. package/dist/esm/bcm-step.entry.js +2 -2
  373. package/dist/esm/bcm-stepper.entry.js +3 -3
  374. package/dist/esm/bcm-switch.entry.js +1 -1
  375. package/dist/esm/bcm-tab-group.entry.js +1 -1
  376. package/dist/esm/bcm-tag.entry.js +2 -2
  377. package/dist/esm/bcm-textarea.entry.js +2 -2
  378. package/dist/esm/bcm-time-picker.entry.js +1 -1
  379. package/dist/esm/bromcom-ui.js +1 -1
  380. package/dist/esm/{generate-4e9309bd.js → generate-d766aaed.js} +1 -1
  381. package/dist/esm/{input-template-6a8e4cc6.js → input-template-c1019025.js} +1 -1
  382. package/dist/esm/{json-parse-decarator-87ac1cd9.js → json-parse-decarator-31a154cf.js} +1 -1
  383. package/dist/esm/loader.js +1 -1
  384. package/dist/esm/number-helper-02ea488e.js +18 -0
  385. package/dist/esm/old-bcm-popover-box.entry.js +2 -2
  386. package/dist/esm/old-bcm-popover.entry.js +1 -1
  387. package/dist/esm/{stepper-states-12a190b4.js → stepper-states-b515fe3a.js} +1 -1
  388. package/dist/esm/{tooltip-helper-ae137bee.js → tooltip-helper-7bb60a6c.js} +3 -3
  389. package/dist/esm/{validators-0e0c76db.js → validators-6d1beb42.js} +1 -1
  390. package/dist/types/components/atoms/avatar/avatar.d.ts +1 -1
  391. package/dist/types/components/atoms/button/button.d.ts +1 -1
  392. package/dist/types/components/molecules/drawer/drawer.d.ts +1 -1
  393. package/dist/types/components/molecules/linked/linked.d.ts +1 -1
  394. package/dist/types/components/molecules/modal/modal.d.ts +1 -2
  395. package/dist/types/components/molecules/popover/popover.d.ts +2 -2
  396. package/dist/types/components/molecules/tooltip/tooltip.d.ts +2 -2
  397. package/dist/types/components/organism/list/list.d.ts +1 -1
  398. package/dist/types/components.d.ts +4 -4
  399. package/package.json +7 -4
  400. package/dist/bromcom-ui/p-2cca68b4.js +0 -5
  401. package/dist/bromcom-ui/p-444235f5.js +0 -5
  402. package/dist/bromcom-ui/p-705d248e.entry.js +0 -5
@@ -0,0 +1,1385 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
6
+ import { c as classnames } from './index2.js';
7
+ import { S as StringHelper } from './string-helper.js';
8
+ import { a as dropInComponent } from './utils.js';
9
+ import { I as IsLoad } from './is-load-decorator.js';
10
+ import { d as defineCustomElement$l } from './avatar.js';
11
+ import { d as defineCustomElement$k } from './badge.js';
12
+ import { d as defineCustomElement$j } from './checkbox.js';
13
+ import { d as defineCustomElement$i } from './checkbox-lite.js';
14
+ import { d as defineCustomElement$h } from './divider.js';
15
+ import { d as defineCustomElement$g } from './empty.js';
16
+ import { d as defineCustomElement$f } from './icon.js';
17
+ import { d as defineCustomElement$e } from './label.js';
18
+ import { d as defineCustomElement$d } from './listbox.js';
19
+ import { d as defineCustomElement$c } from './listbox-group.js';
20
+ import { d as defineCustomElement$b } from './listbox-item.js';
21
+ import { d as defineCustomElement$a } from './old-input.js';
22
+ import { d as defineCustomElement$9 } from './old-search.js';
23
+ import { d as defineCustomElement$8 } from './old-tag.js';
24
+ import { d as defineCustomElement$7 } from './select-box.js';
25
+ import { d as defineCustomElement$6 } from './text.js';
26
+ import { d as defineCustomElement$5 } from './tooltip.js';
27
+ import { d as defineCustomElement$4 } from './treeview.js';
28
+ import { d as defineCustomElement$3 } from './treeview-item.js';
29
+ import { d as defineCustomElement$2 } from './typography.js';
30
+
31
+ const selectCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");.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}:host{display:inline-block;width:100%;margin:0}:host(.hidden){display:none}.container{display:block;max-width:256px;position:relative}.container.full-width{width:100%;max-width:100%}.selected{width:100%;box-sizing:border-box;color:var(--bcm-color-grey-8);background-color:var(--bcm-color-grey-1);display:flex;justify-content:space-between;align-items:center;border:1px solid var(--bcm-color-grey-5);user-select:none;cursor:pointer}.selected:hover:not(.disabled){border-color:var(--bcm-color-prime-blue-5)}.selected:hover:not(.disabled) .select-clear-button{opacity:1}.selected:focus:not(.disabled){border-color:var(--bcm-color-prime-blue-5);box-shadow:0px 0px 4px var(--bcm-color-prime-blue-6)}.selected:focus:not(.disabled) .select-clear-button{opacity:1}.selected:focus{outline:none}.selected.disabled{background-color:var(--bcm-color-grey-3);color:var(--bcm-color-grey-8);cursor:not-allowed}.selected .buttons{padding:8px;height:100%;display:flex;align-items:center;justify-content:center}.selected .selected-text{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;padding:0 8px;width:100%}.selected .selected-tags{padding:0 4px;height:100%}.selected .tag-container{height:100%;display:flex;align-items:center;justify-content:flex-start;grid-gap:2px}.selected .tag-container>span{height:100%;align-items:center;justify-content:flex-start;display:flex;grid-gap:2px}.selected .tag-container .tag{max-width:200px}.selected .tag-container #other-tag{cursor:pointer}.selected .open,.selected .close{display:inline-flex}.selected .close{transform:rotate(180deg)}.selected .placeholder{color:var(--bcm-color-grey-6);user-select:none;font-size:14px;height:100%;display:flex;align-items:center;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.options-viewport{display:inline-block}.option-container{display:block;position:absolute;background-color:var(--bcm-color-grey-1);box-shadow:0px 2px 8px rgba(0, 0, 0, 0.15);box-sizing:border-box;width:100%;z-index:10000}.option-container.alignment-left{left:0}.option-container.alignment-right{right:0}.option-container.hidden{display:none}.option-container .search{position:sticky;padding:8px;margin-bottom:4px}.option-container .search:after{content:\"\";position:absolute;bottom:0;height:1px;width:calc(100% - 16px);background-color:var(--bcm-color-grey-5)}.options-viewport{display:block}.options-viewport bcm-select-option,.options-viewport ::slotted(bcm-select-option){white-space:normal}.options-viewport.hidden{display:none}.options-viewport.vertical{height:fit-content;max-height:200px}.options-viewport.horizontal:not(.flex){overflow-x:auto;width:100%}.options-viewport.horizontal:not(.flex) bcm-select-option,.options-viewport.horizontal:not(.flex) ::slotted(bcm-select-option){white-space:nowrap}.items{display:flex;flex-direction:column}.buttons{display:flex}.select-clear-button{display:inline-flex;align-items:center;outline:none;border:none;background:none;padding:0;cursor:pointer;margin-right:4px;opacity:0}.label{display:block;color:var(--bcm-color-grey-9)}.caption-area{min-height:20px}.input-caption{display:block}.selected-large{height:40px}.selected-medium{height:32px}.selected-small{height:24px}.caption-default{color:#8C8C8C}.caption-primary{color:#4293CF}.caption-success{color:#52C41A}.caption-warning{color:#FA8C16}.caption-error{color:#F5222D}.error .label{color:var(--bcm-color-red-6) !important}.error .selected{border:1px solid var(--bcm-color-red-6) !important}";
32
+
33
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
34
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
35
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
36
+ r = Reflect.decorate(decorators, target, key, desc);
37
+ else
38
+ for (var i = decorators.length - 1; i >= 0; i--)
39
+ if (d = decorators[i])
40
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
41
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
42
+ };
43
+ /**
44
+ * @desc
45
+ * @param str
46
+ */
47
+ const lowercase = (str) => str.toLowerCase();
48
+ const delay = ms => new Promise(res => setTimeout(res, ms));
49
+ const BcmSelect$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
50
+ constructor() {
51
+ super();
52
+ this.__registerHost();
53
+ this.__attachShadow();
54
+ this.change = createEvent(this, "bcm-change", 7);
55
+ this.clear = createEvent(this, "bcm-clear", 7);
56
+ this.focus = createEvent(this, "bcm-focus", 7);
57
+ this.blur = createEvent(this, "bcm-blur", 7);
58
+ this.listboxUnchecked = createEvent(this, "bcm-listbox-unchecked", 7);
59
+ this.listboxSendCheck = createEvent(this, "bcm-listbox-send-check", 7);
60
+ this.isRendered = false;
61
+ this.cleaned = false;
62
+ this.objectMapping = {
63
+ 'value': "value",
64
+ 'id': "id",
65
+ 'text': "text",
66
+ 'icon': "icon",
67
+ 'avatar': "avatar",
68
+ 'avatarName': "avatarName",
69
+ 'avatarImage': "avatarImage",
70
+ 'secondaryText': "secondaryText",
71
+ 'tooltipText': "tooltipText",
72
+ 'selected': "selected",
73
+ 'checked': "checked",
74
+ 'disabled': "disabled",
75
+ };
76
+ this.firstRun = true;
77
+ this.currentItemWidth = 0;
78
+ this.otherTagsWidth = 0;
79
+ this.areaWidth = 0;
80
+ this.itemsWidth = [];
81
+ this.itemsWidthArray = [];
82
+ this.checklist = [];
83
+ this.pastItem = [];
84
+ this._id = (Math.random() * 4).toString(16).replace('.', '');
85
+ this.value = null;
86
+ this.value2 = null;
87
+ this.size = 'medium';
88
+ this.scrollable = 'vertical';
89
+ this.placeholder = "Choose an option";
90
+ this.search = false;
91
+ this.noCaption = false;
92
+ this.captionType = 'default';
93
+ this.searchFields = ['value', 'text'];
94
+ this.fullWidth = false;
95
+ this.hidden = false;
96
+ this.checkboxes = false;
97
+ this.searchable = false;
98
+ this.required = false;
99
+ this.treeview = false;
100
+ this.numberOfColumns = 1;
101
+ this.viewportWidth = "100%";
102
+ this.viewportMinWidth = null;
103
+ this.viewportMaxWidth = null;
104
+ this.template = null;
105
+ this.maxHeight = "200px";
106
+ this.infoFooter = false;
107
+ this._internal_id = (Math.random() * 4).toString(16).replace('.', '');
108
+ this.alignment = 'left';
109
+ this._items = null;
110
+ this._data = null;
111
+ this.placement = 'bottom-start';
112
+ this.otherTagStatus = false;
113
+ this.firstSetData = true;
114
+ this.visibleTags = [];
115
+ this.hiddenTags = [];
116
+ this.onShowVisibleTags = [];
117
+ this.onShowHiddenTags = [];
118
+ this.hiddenTagsString = "";
119
+ this.clientWidth = 0;
120
+ this.tagLabel = [];
121
+ this.selectText = null;
122
+ this.isOpen = false;
123
+ this.searchResults = [];
124
+ this.optionViewportStyleAlignment = {};
125
+ }
126
+ async componentWillLoad() {
127
+ // this.createElement()
128
+ this.createElement();
129
+ await delay(50);
130
+ }
131
+ disconnectedCallback() {
132
+ if (document.getElementById("select-box" + this._internal_id)) {
133
+ document.getElementById("select-box" + this._internal_id).remove();
134
+ }
135
+ }
136
+ componentWillRender() {
137
+ var selectedTextArea = this.el.shadowRoot.getElementById("selected-container");
138
+ if (selectedTextArea && this.el.clientWidth > 200) {
139
+ selectedTextArea.style.maxWidth = (this.el.clientWidth) + "px";
140
+ }
141
+ // if( sessionStorage.getItem(this._internal_id + "-config") ){
142
+ // this.config( JSON.parse( sessionStorage.getItem( this._internal_id + "-config" ) ) )
143
+ // }
144
+ }
145
+ async config(_config) {
146
+ this._config = _config;
147
+ this.maxHeight && (_config['maxHeight'] = this.maxHeight);
148
+ if (this.template) {
149
+ _config['template'] = this.template;
150
+ }
151
+ if (_config['treeview']) {
152
+ typeof _config['treeview'] == 'boolean'
153
+ ? this.treeview = _config['treeview']
154
+ : this.treeview = false;
155
+ }
156
+ if (_config['checkable']) {
157
+ typeof _config['checkable'] == 'boolean'
158
+ ? this.checkboxes = true
159
+ : this.checkboxes = false;
160
+ }
161
+ if (_config['numberOfColumns']) {
162
+ typeof _config['numberOfColumns'] == 'number'
163
+ ? this.numberOfColumns = _config['numberOfColumns']
164
+ : this.numberOfColumns = 1;
165
+ }
166
+ if (_config['viewportWidth']) {
167
+ typeof _config['viewportWidth'] == 'string'
168
+ ? this.viewportWidth = _config['viewportWidth']
169
+ : this.viewportWidth = "100%";
170
+ }
171
+ if (_config['viewportMinWidth']) {
172
+ typeof _config['viewportMinWidth'] == 'string'
173
+ ? this.viewportMinWidth = _config['viewportMinWidth']
174
+ : this.viewportMinWidth = null;
175
+ }
176
+ if (_config['viewportMaxWidth']) {
177
+ typeof _config['viewportMaxWidth'] == 'string'
178
+ ? this.viewportMaxWidth = _config['viewportMaxWidth']
179
+ : this.viewportMaxWidth = null;
180
+ }
181
+ // if ( _config['maxHeight'] ) {
182
+ // typeof _config['maxHeight'] == 'string'
183
+ // ? this.maxHeight = _config['maxHeight']
184
+ // : this.maxHeight = this.maxHeight
185
+ // }
186
+ if (_config['clearable']) {
187
+ typeof _config['clearable'] == 'boolean'
188
+ ? this.clearable = _config['clearable']
189
+ : this.clearable = false;
190
+ }
191
+ if (_config['searchable']) {
192
+ typeof _config['searchable'] == 'boolean'
193
+ ? this.searchable = _config['searchable']
194
+ : this.searchable = false;
195
+ }
196
+ if (_config['fullWidth']) {
197
+ typeof _config['fullWidth'] == 'boolean'
198
+ ? this.fullWidth = _config['fullWidth']
199
+ : this.fullWidth = false;
200
+ }
201
+ if (_config['label']) {
202
+ typeof _config['label'] == 'string'
203
+ ? this.label = _config['label']
204
+ : this.label = null;
205
+ }
206
+ if (_config['placeholder']) {
207
+ typeof _config['placeholder'] == 'string'
208
+ ? this.placeholder = _config['placeholder']
209
+ : this.placeholder = "Choose an option";
210
+ }
211
+ if (_config['infoFooter']) {
212
+ typeof _config['infoFooter'] == 'boolean'
213
+ ? this.infoFooter = _config['infoFooter']
214
+ : this.infoFooter = false;
215
+ }
216
+ if (_config['mapping']) {
217
+ if (_config['mapping']['id']) {
218
+ this.objectMapping['id'] = _config['mapping']['id'];
219
+ }
220
+ if (_config['mapping']['text']) {
221
+ this.objectMapping['text'] = _config['mapping']['text'];
222
+ }
223
+ if (_config['mapping']['value']) {
224
+ this.objectMapping['value'] = _config['mapping']['value'];
225
+ }
226
+ }
227
+ sessionStorage.setItem(this._internal_id + "-config", JSON.stringify(_config));
228
+ this.createElement();
229
+ await delay(50);
230
+ var element;
231
+ if (document.getElementById("select-box" + this._internal_id) && document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox")) {
232
+ element = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox");
233
+ if (sessionStorage.getItem(this._internal_id + "-config")) {
234
+ element.config(JSON.parse(sessionStorage.getItem(this._internal_id + "-config")));
235
+ }
236
+ // await element.config(_config)
237
+ }
238
+ }
239
+ async renderListbox() {
240
+ if (this.isRendered == false) {
241
+ this.isRendered = true;
242
+ var element = null;
243
+ if (this.cleaned) {
244
+ const recurviseControl = (items) => {
245
+ const data = items.map(item => {
246
+ if (this.checkboxes === true) {
247
+ if (item[this.objectMapping['checked']]) {
248
+ item[this.objectMapping['checked']] = false;
249
+ }
250
+ }
251
+ else {
252
+ if (item[this.objectMapping['selected']]) {
253
+ item[this.objectMapping['selected']] = false;
254
+ }
255
+ }
256
+ if (item.items && item.items.length > 0) {
257
+ item.items = recurviseControl(item.items);
258
+ }
259
+ return item;
260
+ });
261
+ return data;
262
+ };
263
+ // recurviseControl(this._items);
264
+ this._data = JSON.stringify(recurviseControl(this._items));
265
+ }
266
+ if (element = document.getElementById("select-box" + this._internal_id)) {
267
+ if (element = element.shadowRoot.querySelector("bcm-listbox")) {
268
+ if (sessionStorage.getItem(this._internal_id + "-config")) {
269
+ element.config(JSON.parse(sessionStorage.getItem(this._internal_id + "-config")));
270
+ }
271
+ element.setData(this._data);
272
+ }
273
+ }
274
+ return element;
275
+ }
276
+ }
277
+ async setData(_data = []) {
278
+ if (this.firstSetData === true) {
279
+ this.firstSetData = false;
280
+ }
281
+ else {
282
+ this.itemsWidth = [];
283
+ if (this.value != null) {
284
+ this.value = null;
285
+ }
286
+ this.checklist = [];
287
+ }
288
+ this._data = _data;
289
+ this.isRendered = true;
290
+ typeof _data == 'string'
291
+ ? this._items = JSON.parse(_data)
292
+ : this._items = _data;
293
+ if (this._items.length > 0) ;
294
+ else {
295
+ this.handleClear();
296
+ this.isRendered = false;
297
+ }
298
+ var element = null;
299
+ if (element = document.getElementById("select-box" + this._internal_id)) {
300
+ if (element = element.shadowRoot.querySelector("bcm-listbox")) {
301
+ element.setData(_data);
302
+ }
303
+ }
304
+ }
305
+ async setDataAsync(_data = []) {
306
+ let newValue = null;
307
+ if (this.isRendered == true) {
308
+ this.setData(_data);
309
+ }
310
+ else {
311
+ this._data = _data;
312
+ typeof _data == 'string'
313
+ ? this._items = JSON.parse(_data)
314
+ : this._items = _data;
315
+ var _checkedItems = [];
316
+ if (this._items.length > 0) {
317
+ const recurviseControl = (items) => {
318
+ items.forEach(item => {
319
+ if (this.checkboxes === true) {
320
+ if (item[this.objectMapping['checked']] === true) {
321
+ _checkedItems.push(item);
322
+ }
323
+ }
324
+ else {
325
+ if (item[this.objectMapping['selected']] === true) {
326
+ newValue = item;
327
+ this.selectText = item[this.objectMapping['text']];
328
+ }
329
+ }
330
+ if (item.items && item.items.length > 0) {
331
+ recurviseControl(item.items);
332
+ }
333
+ });
334
+ };
335
+ recurviseControl(this._items);
336
+ }
337
+ else {
338
+ this.handleClear();
339
+ this.isRendered = false;
340
+ }
341
+ this.itemsWidth = [];
342
+ if (this.checkboxes == true) {
343
+ // this.value = String(_checkedItems)
344
+ this.handleTagControl2(_checkedItems);
345
+ this.checklist = _checkedItems;
346
+ }
347
+ else {
348
+ if (newValue != null) {
349
+ // this.value = null
350
+ newValue.selected && (delete newValue.selected);
351
+ newValue.checked && (delete newValue.checked);
352
+ this.value = newValue;
353
+ }
354
+ this.checklist = [];
355
+ }
356
+ }
357
+ }
358
+ async clearAndSelectSearch(select = true) {
359
+ this.renderListbox();
360
+ if (this.searchable === true) {
361
+ // await this.createElement()
362
+ setTimeout(() => {
363
+ var searchInput = null;
364
+ if (document.getElementById("select-box" + this._internal_id)
365
+ && document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox")) {
366
+ if (this.treeview) {
367
+ searchInput = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox").shadowRoot.querySelector("bcm-treeview");
368
+ }
369
+ else {
370
+ searchInput = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox");
371
+ }
372
+ if (searchInput) {
373
+ searchInput.clearAndSelectSearch();
374
+ if (select == true) {
375
+ searchInput.clearAndSelectSearch(true);
376
+ }
377
+ }
378
+ }
379
+ }, 100);
380
+ }
381
+ }
382
+ async selected(id) {
383
+ this.renderListbox();
384
+ this.createElement();
385
+ await delay(150);
386
+ if (document.getElementById("select-box" + this._internal_id) && document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox")) {
387
+ this.bcmListbox = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox");
388
+ this.bcmListbox.selected(id);
389
+ }
390
+ }
391
+ async addChecked(id = []) {
392
+ if (this.isRendered == true) {
393
+ this.renderListbox();
394
+ this.createElement();
395
+ await delay(50);
396
+ if (document.getElementById("select-box" + this._internal_id) && document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox")) {
397
+ this.bcmListbox = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox");
398
+ this.bcmListbox.addChecked(id);
399
+ }
400
+ }
401
+ else {
402
+ var checkedItems = id;
403
+ var _checkedItems = [];
404
+ if (this._items && this._items.length > 0) {
405
+ if (this.checkboxes === true) {
406
+ if (this._items.find(e => String(e[this.objectMapping['checked']]) === "true")) {
407
+ this._items.filter(e => String(e[this.objectMapping['checked']]) === "true").forEach(element => {
408
+ element[this.objectMapping['checked']] = false;
409
+ });
410
+ }
411
+ }
412
+ else {
413
+ if (this._items.find(e => String(e[this.objectMapping['selected']]) === "true")) {
414
+ this._items.filter(e => String(e[this.objectMapping['selected']]) === "true").forEach(element => {
415
+ element[this.objectMapping['selected']] = false;
416
+ });
417
+ }
418
+ }
419
+ if (typeof checkedItems == 'string') {
420
+ if (this.checkboxes === false) {
421
+ const item = this._items.find(e => String(e[this.objectMapping['id']]) === String(checkedItems))[this.objectMapping['id']];
422
+ this.value = item;
423
+ this.selectText = item[this.objectMapping['text']];
424
+ }
425
+ }
426
+ else {
427
+ if (this.checkboxes === true) {
428
+ checkedItems.forEach(id => {
429
+ var findItem = this._items.find(e => String(e[this.objectMapping['id']]) == String(id));
430
+ if (findItem) {
431
+ findItem[this.objectMapping['checked']] = "true";
432
+ }
433
+ });
434
+ }
435
+ if (this._items && this._items.find(e => String(e[this.objectMapping['checked']]) === "true")) {
436
+ this._items.filter(e => String(e[this.objectMapping['checked']]) === "true").forEach(item => {
437
+ _checkedItems.push(item);
438
+ });
439
+ }
440
+ }
441
+ }
442
+ else {
443
+ this.handleClear();
444
+ }
445
+ this._data = JSON.stringify(this._items);
446
+ this.itemsWidth = [];
447
+ if (this.checkboxes == true) {
448
+ this.value = String(_checkedItems);
449
+ this.handleTagControl2(_checkedItems);
450
+ this.checklist = _checkedItems;
451
+ }
452
+ else {
453
+ if (this.value != null) {
454
+ this.value = null;
455
+ }
456
+ this.checklist = [];
457
+ }
458
+ }
459
+ }
460
+ async updateChecked(id = []) {
461
+ this.renderListbox();
462
+ this.createElement();
463
+ await delay(50);
464
+ if (document.getElementById("select-box" + this._internal_id) && document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox")) {
465
+ this.bcmListbox = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox");
466
+ this.bcmListbox.updateChecked(id);
467
+ }
468
+ }
469
+ async getValue() {
470
+ return this.value;
471
+ }
472
+ async getChecklist() {
473
+ return this.checklist;
474
+ }
475
+ async get() {
476
+ var _a;
477
+ return this.value ? (this.checkboxes ? (_a = this.checklist) === null || _a === void 0 ? void 0 : _a.map(item => item[this.objectMapping['id']]) : this.value[this.objectMapping['id']]) : null;
478
+ }
479
+ async set(data) {
480
+ if (data) {
481
+ if (Array.isArray(data)) {
482
+ this.addChecked(data);
483
+ }
484
+ if (typeof data === 'string' || typeof data === 'number') {
485
+ this.selected(data);
486
+ }
487
+ }
488
+ else {
489
+ this.setClear();
490
+ }
491
+ }
492
+ async setClear() {
493
+ await this.handleClear();
494
+ await delay(10);
495
+ return Promise.resolve();
496
+ }
497
+ async resetCaption() {
498
+ await delay(10);
499
+ this.caption = this.captionCache;
500
+ this.captionType = this.captionTypeCache;
501
+ this.captionError = null;
502
+ await delay(10);
503
+ return Promise.resolve();
504
+ }
505
+ connectedCallback() {
506
+ this.captionCache = this.caption;
507
+ this.captionTypeCache = this.captionType;
508
+ }
509
+ handleChange(newValue, oldValue) {
510
+ const oldVal = oldValue ? oldValue : null;
511
+ const newVal = newValue ? newValue : null;
512
+ if (oldVal != newVal) {
513
+ if (this.checkboxes == true) {
514
+ this.change.emit(newVal);
515
+ }
516
+ else {
517
+ if (newVal && newVal[this.objectMapping['id']] && oldVal && oldVal[this.objectMapping['id']]) {
518
+ if (newVal[this.objectMapping['id']] != oldVal[this.objectMapping['id']]) {
519
+ this.change.emit(newVal);
520
+ }
521
+ }
522
+ else {
523
+ this.change.emit(newVal);
524
+ }
525
+ }
526
+ }
527
+ }
528
+ async handleOpenState() {
529
+ if (this.isOpen == false) {
530
+ this.searchResults = [];
531
+ // this.otherTagStatus = false
532
+ }
533
+ await this.createElement(this.isOpen);
534
+ await delay(100);
535
+ this.viewportCoordinateUpdater();
536
+ }
537
+ async handleOpen(event, otherTag = false) {
538
+ var path = event.path || (event.composedPath && event.composedPath());
539
+ if (path && path.filter((input) => input['id'] == "close")[0] != undefined) {
540
+ this.isOpen = this.isOpen;
541
+ }
542
+ else if (event == false) {
543
+ this.isOpen = false;
544
+ }
545
+ else {
546
+ if (!this.disabled) {
547
+ if (lowercase(event.target.nodeName) !== 'bcm-old-tag') {
548
+ this.isOpen = !this.isOpen;
549
+ }
550
+ else if (!this.isOpen) {
551
+ this.isOpen = true;
552
+ }
553
+ }
554
+ }
555
+ if (this.isOpen && this.searchable && !otherTag) {
556
+ // await this.createElement()
557
+ setTimeout(() => {
558
+ var searchInput = null;
559
+ if (document.getElementById("select-box" + this._internal_id)
560
+ && document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox")) {
561
+ if (this.treeview) {
562
+ searchInput = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox").shadowRoot.querySelector("bcm-treeview");
563
+ }
564
+ else {
565
+ searchInput = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector("bcm-listbox");
566
+ }
567
+ if (searchInput) {
568
+ searchInput.clearAndSelectSearch();
569
+ }
570
+ }
571
+ }, 100);
572
+ }
573
+ if (this.isOpen == true && this.isRendered == false) {
574
+ this.renderListbox();
575
+ }
576
+ }
577
+ onwheelEvent(event) {
578
+ var path = event.path || (event.composedPath && event.composedPath());
579
+ if (path
580
+ && (path.filter((input) => input['_internal_id'] == this._internal_id)[0] == undefined
581
+ || path.filter((input) => input['nodeName'] == "BCM-SELECT")[0] !== undefined)) {
582
+ if (this.isOpen === true) {
583
+ this.isOpen = false;
584
+ var element;
585
+ if (document.getElementById("select-box" + this._internal_id)) {
586
+ element = document.getElementById("select-box" + this._internal_id);
587
+ element.classList.remove("show");
588
+ }
589
+ }
590
+ }
591
+ }
592
+ async scrollEvent(event) {
593
+ var path = event.path || (event.composedPath && event.composedPath());
594
+ if (path && path.filter((input) => input['nodeName'] == "BCM-MODAL")[0] == undefined) {
595
+ if (this.isOpen === true) {
596
+ this.viewportCoordinateUpdater();
597
+ }
598
+ }
599
+ else {
600
+ if (this.isOpen === true) {
601
+ this.isOpen = false;
602
+ var element;
603
+ if (document.getElementById("select-box" + this._internal_id)) {
604
+ element = document.getElementById("select-box" + this._internal_id);
605
+ element.classList.remove("show");
606
+ }
607
+ }
608
+ }
609
+ }
610
+ viewportCoordinateUpdater() {
611
+ if (document.getElementById("select-box" + this._internal_id)) {
612
+ var element;
613
+ element = document.getElementById("select-box" + this._internal_id);
614
+ dropInComponent(element, "#" + this._id);
615
+ }
616
+ }
617
+ async createElement(isOpen = false) {
618
+ var element = document.getElementById("select-box" + this._internal_id);
619
+ if (!element) {
620
+ element = document.createElement("bcm-select-box");
621
+ element.setAttribute("id", "select-box" + this._internal_id);
622
+ element.setAttribute("_internal_id", this._internal_id);
623
+ await delay(10);
624
+ }
625
+ document.body.appendChild(element);
626
+ dropInComponent(element, "#" + this._id);
627
+ element.style.width = this.el.clientWidth + "px";
628
+ if (this.viewportMinWidth != null || this.viewportMaxWidth != null) {
629
+ element.style.width = "100%";
630
+ }
631
+ else if (this.viewportWidth != "100%") {
632
+ element.style.width = this.viewportWidth;
633
+ }
634
+ else if (this.numberOfColumns > 1) {
635
+ element.style.width = "auto";
636
+ }
637
+ else {
638
+ element.style.width = this.el.clientWidth + "px";
639
+ }
640
+ if (this.viewportMinWidth != null) {
641
+ if (this.viewportMaxWidth == null) {
642
+ element.style.maxWidth = this.el.clientWidth + "px";
643
+ }
644
+ element.style.minWidth = this.viewportMinWidth;
645
+ }
646
+ if (this.viewportMaxWidth != null) {
647
+ if (this.viewportMinWidth == null) {
648
+ element.style.minWidth = this.el.clientWidth + "px";
649
+ }
650
+ element.style.maxWidth = this.viewportMaxWidth;
651
+ }
652
+ element.style.maxHeight = this.maxHeight;
653
+ if (isOpen === true) {
654
+ element.classList.add("show");
655
+ }
656
+ else {
657
+ element.classList.remove("show");
658
+ }
659
+ }
660
+ getPlacement() {
661
+ const placements = this.placement.split('-');
662
+ if (placements.length === 1) {
663
+ placements.push('center');
664
+ }
665
+ return placements;
666
+ }
667
+ clickClear(e) {
668
+ this.handleClear();
669
+ e.stopPropagation();
670
+ }
671
+ async handleClear() {
672
+ this.cleaned = true;
673
+ this.value = null;
674
+ this.selectText = null;
675
+ // const allitem:any = [...this.onShowVisibleTags, ...this.onShowHiddenTags]
676
+ // if ( allitem.length > 0 ) {
677
+ // allitem.map(item => {
678
+ // this.bcmOldTagDissmisable({detail: {id: String(item[this.objectMapping['id']])}}, this._internal_id)
679
+ // })
680
+ // }
681
+ var subComponent = null;
682
+ if (document.getElementById("select-box" + this._internal_id)
683
+ && document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector(".listbox-box")) {
684
+ if (this.treeview === true) {
685
+ subComponent = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector(".listbox-box").shadowRoot.querySelector("bcm-treeview");
686
+ }
687
+ else {
688
+ subComponent = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector(".listbox-box");
689
+ }
690
+ }
691
+ if (subComponent) {
692
+ await subComponent.setClear();
693
+ }
694
+ this.onShowVisibleTags = [];
695
+ this.onShowHiddenTags = [];
696
+ this.searchResults = [];
697
+ this.watchSearchResults();
698
+ var searchInput = null;
699
+ // await this.createElement()
700
+ if (document.getElementById("select-box" + this._internal_id)
701
+ && document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector(".listbox-box")) {
702
+ if (this.treeview) {
703
+ searchInput = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector(".listbox-box").shadowRoot.querySelector("bcm-treeview");
704
+ }
705
+ else {
706
+ searchInput = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector(".listbox-box");
707
+ }
708
+ }
709
+ if (searchInput) {
710
+ searchInput.clearAndSelectSearch();
711
+ }
712
+ this.clear.emit();
713
+ return Promise.resolve();
714
+ }
715
+ handleFocus() {
716
+ this.focus.emit();
717
+ }
718
+ handleBlur() {
719
+ this.blur.emit();
720
+ }
721
+ handleScreenResize() {
722
+ if (this.isOpen === true) {
723
+ this.createElement(true);
724
+ }
725
+ }
726
+ handleClickOutside(event) {
727
+ var _a;
728
+ var path = event.path || (event.composedPath && event.composedPath());
729
+ if (path && path.filter((input) => input['id'] == "other-tag")[0] == undefined
730
+ && path && path.filter((input) => input['id'] == "listbox")[0] == undefined) {
731
+ this.otherTagStatus = false;
732
+ setTimeout(() => {
733
+ if (this.otherTag) {
734
+ this.otherTag.setAttribute('color', 'grey-9');
735
+ }
736
+ }, 50);
737
+ }
738
+ if (((event === null || event === void 0 ? void 0 : event.target) && ((_a = this.el) === null || _a === void 0 ? void 0 : _a.contains(event.target)))
739
+ || (path && path.filter((input) => input['id'] == "select-box" + this._internal_id)[0] != undefined)) {
740
+ // this.searchResults = []
741
+ // this.watchSearchResults()
742
+ this.optionViewportStyleAlignment = {};
743
+ var targetId = event.target["id"];
744
+ if (document.querySelector('#' + targetId)) {
745
+ var paddingBottom = 8;
746
+ var offsetTop = document.querySelector('#' + targetId).getBoundingClientRect().top;
747
+ var einnerHeight = event.view.innerHeight;
748
+ var eclientHeight = event.target["clientHeight"];
749
+ var enoCaption = event.target["noCaption"];
750
+ // var elementTop = einnerHeight - offsetTop
751
+ var elementBottom = einnerHeight - offsetTop - (enoCaption ? eclientHeight : eclientHeight - 20) + paddingBottom;
752
+ if (Number(this.maxHeight.replace("px", "")) > elementBottom) {
753
+ this.optionViewportStyleAlignment = {
754
+ 'bottom': (this.infoFooter ? 30 : 0) + 50 + "px",
755
+ 'box-shadow': '0px -2px 8px rgb(0 0 0 / 15%)'
756
+ };
757
+ }
758
+ }
759
+ if (this.checkboxes == false
760
+ && path
761
+ && path.filter((input) => input['id'] == "collapse-button")[0] == undefined
762
+ && (path.filter((input) => input['nodeName'] == "BCM-LISTBOX-ITEM")[0]
763
+ || path.filter((input) => input['nodeName'] == "BCM-TREEVIEW-ITEM")[0])) {
764
+ this.isOpen = false;
765
+ }
766
+ }
767
+ else {
768
+ if (this.isOpen) {
769
+ this.isOpen = false;
770
+ }
771
+ }
772
+ }
773
+ /**
774
+ * @desc
775
+ */
776
+ handleTreeviewUnchecked(event) {
777
+ this.handleListboxUnchecked(event);
778
+ }
779
+ handleListboxUnchecked(event) {
780
+ const index = this.searchResults.indexOf(event.detail);
781
+ if (index > -1) {
782
+ this.searchResults.splice(index, 1);
783
+ if (this.onShowHiddenTags.length <= 2) {
784
+ this.searchResults = [];
785
+ this.otherTagStatus = false;
786
+ }
787
+ this.watchSearchResults();
788
+ }
789
+ }
790
+ async bcmOldTagDissmisable(event, internal_id = null) {
791
+ var path = event.path || (event.composedPath && event.composedPath());
792
+ if ((this.el.contains(event.target)
793
+ && (path
794
+ && path.filter((input) => input['_internal_id'] == this._internal_id)[0])
795
+ || internal_id == this._internal_id)) {
796
+ if (this.isRendered == false) {
797
+ await this.renderListbox();
798
+ await delay(50);
799
+ }
800
+ await this.createElement();
801
+ await delay(50);
802
+ const bcmListbox = document.getElementById("select-box" + this._internal_id).shadowRoot.querySelector(".listbox-box");
803
+ if (event.detail.id == "other-tag") {
804
+ this.onShowHiddenTags.map(async (item) => {
805
+ await bcmListbox.listboxUncheckedMethod(String(item[this.objectMapping['id']]), this._internal_id);
806
+ });
807
+ this.onShowHiddenTags = [];
808
+ }
809
+ else {
810
+ await bcmListbox.listboxUncheckedMethod(event.detail.id, this._internal_id);
811
+ }
812
+ this.watchSearchResults();
813
+ }
814
+ }
815
+ /**
816
+ * @desc
817
+ */
818
+ handleListboxSelected(event) {
819
+ // console.log(event)
820
+ // debugger;
821
+ var path = event.path || (event.composedPath && event.composedPath());
822
+ if (path && path.filter((input) => input['_internal_id'] == this._internal_id)[0] != undefined) {
823
+ setTimeout(() => {
824
+ if (this.checkboxes !== true) {
825
+ const optionValue = event.detail;
826
+ optionValue.selected && (delete optionValue.selected);
827
+ optionValue.checked && (delete optionValue.checked);
828
+ optionValue != this.value && (this.value = optionValue);
829
+ this.selectText = optionValue[this.objectMapping['text']];
830
+ }
831
+ }, 100);
832
+ }
833
+ }
834
+ /**
835
+ * @desc
836
+ */
837
+ handleListboxCheckedList(event) {
838
+ var path = event.path || (event.composedPath && event.composedPath());
839
+ if (path && path.filter((input) => input['_internal_id'] == this._internal_id)[0] != undefined) {
840
+ setTimeout(() => {
841
+ if (JSON.stringify(this.checklist) !== JSON.stringify(event.detail)) {
842
+ // this.handleTagControl(e.detail)
843
+ this.handleTagControl2(event.detail);
844
+ this.checklist = event.detail;
845
+ }
846
+ }, 100);
847
+ }
848
+ }
849
+ handleTreeviewCheckedList(event) {
850
+ var path = event.path || (event.composedPath && event.composedPath());
851
+ if (path && path.filter((input) => input['_internal_id'] == this._internal_id)[0] != undefined) {
852
+ // setTimeout(() => {
853
+ // if(JSON.stringify(this.checklist) !== JSON.stringify(e.detail)){
854
+ // this.handleTagControl(e.detail)
855
+ this.handleTagControl2(event.detail);
856
+ this.checklist = event.detail;
857
+ // }
858
+ // }, 50);
859
+ }
860
+ }
861
+ async handleTagControl2(value) {
862
+ this.visibleTags = [];
863
+ this.hiddenTags = [];
864
+ // this.itemsWidth = []
865
+ this.onShowVisibleTags = [];
866
+ this.onShowHiddenTags = [];
867
+ if (value.length > 0) {
868
+ value.map(async (item) => {
869
+ this.visibleTags.push(item);
870
+ });
871
+ }
872
+ this.visibleTags = [...new Set(this.visibleTags)];
873
+ this.hiddenTags = [...new Set(this.hiddenTags)];
874
+ this.onShowVisibleTags = this.visibleTags;
875
+ this.onShowHiddenTags = this.hiddenTags;
876
+ if (this.onShowVisibleTags.length > 0 || this.onShowHiddenTags.length > 0) {
877
+ var cacheValue = JSON.parse(JSON.stringify([...this.onShowVisibleTags, ...this.onShowHiddenTags]));
878
+ if (this.value2 !== cacheValue) {
879
+ this.value2 = cacheValue;
880
+ }
881
+ }
882
+ else {
883
+ if (this.value2 !== null) {
884
+ this.value2 = null;
885
+ }
886
+ }
887
+ this.calculateContainer();
888
+ }
889
+ async calculateContainer() {
890
+ // await delay(10)
891
+ const container = this.el.shadowRoot.querySelector(".selected-text");
892
+ this.otherTagsWidth = 135;
893
+ await delay(50);
894
+ this.areaWidth = container.clientWidth && container.clientWidth > 100 ? container.clientWidth : 100;
895
+ if (this.clearable === true) {
896
+ this.areaWidth = this.areaWidth - 22;
897
+ }
898
+ this.itemsWidth = 0;
899
+ this.itemsWidthArray = [];
900
+ const bcmoldtags = container.querySelectorAll("bcm-old-tag");
901
+ await delay(50);
902
+ if (bcmoldtags && bcmoldtags.length > 0) {
903
+ bcmoldtags.forEach((item) => {
904
+ const itemClientWidth = item.clientWidth && item.clientWidth > 40 ? item.clientWidth : 40;
905
+ this.itemsWidthArray.push({ "id": String(item.id), "clientWidth": itemClientWidth });
906
+ this.itemsWidth += itemClientWidth + 4;
907
+ if (this.itemsWidth > this.areaWidth) {
908
+ const tagitem = this.visibleTags[this.visibleTags.findIndex(x => String(x[this.objectMapping['id']]) === String(item.id))];
909
+ if (item && tagitem) {
910
+ if (item.id && tagitem[this.objectMapping['id']]) {
911
+ if (StringHelper.lowercase(String(item.id)) == StringHelper.lowercase(String(tagitem[this.objectMapping['id']]))) {
912
+ // if (String(item.id) == String(tagitem[this.objectMapping['id']])) {
913
+ this.visibleTags.splice(this.visibleTags.findIndex(x => String(x[this.objectMapping['id']]) === String(item.id)), 1);
914
+ this.hiddenTags.push(tagitem);
915
+ }
916
+ }
917
+ }
918
+ }
919
+ });
920
+ }
921
+ this.visibleTags = [...new Set(this.visibleTags)];
922
+ this.hiddenTags = [...new Set(this.hiddenTags)];
923
+ if (this.hiddenTags.length > 0) {
924
+ if (this.hiddenTags.length > 10) {
925
+ this.otherTagsWidth += 20;
926
+ }
927
+ else if (this.hiddenTags.length > 100) {
928
+ this.otherTagsWidth += 20;
929
+ }
930
+ var bcmoldtags2 = Array.prototype.slice.call(container.querySelectorAll("bcm-old-tag"));
931
+ this.itemsWidth = 0;
932
+ bcmoldtags2.forEach((item) => {
933
+ if (item.id != "other-tag") {
934
+ var tagitem = this.visibleTags[this.visibleTags.findIndex(x => String(x[this.objectMapping['id']]) === String(item.id))];
935
+ if (tagitem && tagitem[this.objectMapping['id']]) {
936
+ if (StringHelper.lowercase(String(item.id)) == StringHelper.lowercase(String(tagitem[this.objectMapping['id']]))) {
937
+ this.itemsWidth += (item.clientWidth + 4);
938
+ if (this.itemsWidth + this.otherTagsWidth > this.areaWidth) {
939
+ this.visibleTags.splice(this.visibleTags.findIndex(x => String(x[this.objectMapping['id']]) === String(item.id)), 1);
940
+ this.hiddenTags.push(tagitem);
941
+ }
942
+ }
943
+ }
944
+ }
945
+ });
946
+ }
947
+ this.visibleTags = [...new Set(this.visibleTags)];
948
+ this.hiddenTags = [...new Set(this.hiddenTags)];
949
+ this.onShowVisibleTags = this.visibleTags;
950
+ this.onShowHiddenTags = this.hiddenTags;
951
+ if (this.onShowVisibleTags.length > 0 || this.onShowHiddenTags.length > 0) {
952
+ var cacheValue = JSON.parse(JSON.stringify([...this.onShowVisibleTags, ...this.onShowHiddenTags]));
953
+ if (this.value !== cacheValue) {
954
+ this.value = cacheValue;
955
+ }
956
+ }
957
+ else {
958
+ if (this.value !== null) {
959
+ this.value = null;
960
+ }
961
+ }
962
+ if (this.otherTagStatus) {
963
+ this.searchResults = this.onShowHiddenTags.map(item => {
964
+ return String(item[this.objectMapping['id']]);
965
+ });
966
+ if (this.onShowHiddenTags.length <= 2) {
967
+ this.searchResults = [];
968
+ this.otherTagStatus = false;
969
+ }
970
+ this.watchSearchResults();
971
+ }
972
+ }
973
+ async handleTagControl(value) {
974
+ if (value.length > 0) {
975
+ const container = this.el.shadowRoot.querySelector(".selected-text");
976
+ this.visibleTags = [];
977
+ this.hiddenTags = [];
978
+ this.itemsWidth = [];
979
+ this.onShowVisibleTags = [];
980
+ this.onShowHiddenTags = [];
981
+ this.areaWidth = container.clientWidth - 16;
982
+ this.otherTagsWidth = 130;
983
+ this.currentItemWidth = 0;
984
+ value.map(async (item) => {
985
+ const newTag = document.createElement("bcm-old-tag");
986
+ newTag.setAttribute("id", String(item[this.objectMapping['id']]));
987
+ newTag.setAttribute("value", item[this.objectMapping['text']]);
988
+ newTag.setAttribute("type", "dissmisable");
989
+ newTag.setAttribute("_internal_id", this._internal_id);
990
+ newTag.style.visibility = "hidden";
991
+ document.body.appendChild(newTag);
992
+ await delay(50);
993
+ var visible = true;
994
+ var tagwidth = newTag.clientWidth >= 200 ? 200 : newTag.clientWidth;
995
+ this.currentItemWidth = this.currentItemWidth + tagwidth,
996
+ this.itemsWidth.push({ "id": String(item[this.objectMapping['id']]), "clientWidth": tagwidth });
997
+ // item = {...item, "clientWidth": newTag.clientWidth}
998
+ if (this.areaWidth > this.currentItemWidth) {
999
+ visible = true;
1000
+ }
1001
+ else {
1002
+ visible = false;
1003
+ }
1004
+ if (visible) {
1005
+ this.visibleTags.push(item);
1006
+ }
1007
+ else {
1008
+ this.hiddenTags.push(item);
1009
+ }
1010
+ newTag.remove();
1011
+ });
1012
+ await delay(100);
1013
+ if (this.visibleTags.length > 1) {
1014
+ const lastItem = this.itemsWidth[this.itemsWidth.findIndex(x => x.id === String(this.visibleTags[this.visibleTags.length - 1][this.objectMapping['id']]))];
1015
+ if (this.areaWidth <= (this.currentItemWidth + this.otherTagsWidth) - lastItem["clientWidth"]) {
1016
+ this.hiddenTags.push(this.visibleTags[this.visibleTags.length - 1]);
1017
+ this.visibleTags.splice(-1, 1);
1018
+ }
1019
+ }
1020
+ }
1021
+ else {
1022
+ this.visibleTags = [];
1023
+ this.hiddenTags = [];
1024
+ }
1025
+ this.visibleTags.forEach((item) => {
1026
+ const index = this.hiddenTags.indexOf(item);
1027
+ if (index > -1) {
1028
+ this.hiddenTags.splice(index, 1);
1029
+ }
1030
+ });
1031
+ if (this.hiddenTags.length > 0) {
1032
+ this.hiddenTags = [...new Set(this.hiddenTags), ...new Set(this.visibleTags)];
1033
+ this.visibleTags = [];
1034
+ }
1035
+ this.visibleTags = [...new Set(this.visibleTags)];
1036
+ this.hiddenTags = [...new Set(this.hiddenTags)];
1037
+ this.onShowVisibleTags = this.visibleTags;
1038
+ this.onShowHiddenTags = this.hiddenTags;
1039
+ // if(this.firstRun){
1040
+ if (this.onShowVisibleTags.length > 0 || this.onShowHiddenTags.length > 0) {
1041
+ var cacheValue = JSON.parse(JSON.stringify([...this.onShowVisibleTags, ...this.onShowHiddenTags]));
1042
+ if (this.value !== cacheValue) {
1043
+ this.value = cacheValue;
1044
+ }
1045
+ }
1046
+ else {
1047
+ if (this.value !== null) {
1048
+ this.value = null;
1049
+ }
1050
+ }
1051
+ // this.firstRun = false
1052
+ // }
1053
+ var result = Object.keys(this.onShowHiddenTags).map((key) => this.onShowHiddenTags[key][this.objectMapping['text']]);
1054
+ this.hiddenTagsString = result.toString().split(',').join("\r\n");
1055
+ }
1056
+ handleClickTag() {
1057
+ this.searchResults = [];
1058
+ this.otherTagStatus = false;
1059
+ setTimeout(() => {
1060
+ if (this.otherTag) {
1061
+ this.otherTag.setAttribute('color', 'grey-9');
1062
+ // this.isOpen = false
1063
+ }
1064
+ }, 100);
1065
+ this.watchSearchResults();
1066
+ }
1067
+ showHiddenTags(e) {
1068
+ e.stopPropagation();
1069
+ this.handleOpen(e, true);
1070
+ this.otherTag = e.target;
1071
+ if (this.otherTagStatus) {
1072
+ this.searchResults = [];
1073
+ this.otherTagStatus = false;
1074
+ }
1075
+ else {
1076
+ this.otherTagStatus = true;
1077
+ this.searchResults = this.onShowHiddenTags.map(item => {
1078
+ return String(item[this.objectMapping['id']]);
1079
+ });
1080
+ }
1081
+ this.watchSearchResults();
1082
+ }
1083
+ async watchSearchResults() {
1084
+ var element = null;
1085
+ // await this.createElement()
1086
+ if (this.treeview == true) {
1087
+ if (element = document.getElementById("select-box" + this._internal_id)) {
1088
+ if (element = element.shadowRoot.querySelector(".listbox-box")) {
1089
+ if (element = element.shadowRoot.querySelector("bcm-treeview")) {
1090
+ await element.searchResultMethod(this.searchResults);
1091
+ }
1092
+ }
1093
+ }
1094
+ }
1095
+ else {
1096
+ if (element = document.getElementById("select-box" + this._internal_id)) {
1097
+ if (element = element.shadowRoot.querySelector(".listbox-box")) {
1098
+ await element.searchResultMethod(this.searchResults);
1099
+ }
1100
+ }
1101
+ }
1102
+ if (this.searchResults.length > 0) {
1103
+ setTimeout(() => {
1104
+ if (this.otherTag) {
1105
+ this.otherTag.setAttribute('color', 'prime-blue');
1106
+ // this.isOpen = true
1107
+ }
1108
+ }, 100);
1109
+ if (this._config['searchable'] == true) {
1110
+ if (element) {
1111
+ await element.showSearchMethod(false);
1112
+ }
1113
+ }
1114
+ }
1115
+ else {
1116
+ setTimeout(() => {
1117
+ if (this.otherTag) {
1118
+ this.otherTag.setAttribute('color', 'grey-9');
1119
+ // this.isOpen = false
1120
+ }
1121
+ }, 100);
1122
+ if (element) {
1123
+ await element.showSearchMethod(this.searchable);
1124
+ }
1125
+ }
1126
+ }
1127
+ render() {
1128
+ const { size, clearable, value, label, caption, captionError, captionType, disabled, flex, placeholder, noCaption, fullWidth, required } = this;
1129
+ const selected = classnames('selected', 'selected-' + this.size, {
1130
+ 'size-3': size === 'large',
1131
+ 'size-2': size === 'small' || size === 'medium',
1132
+ 'disabled': disabled
1133
+ });
1134
+ const menu = classnames('option-container', 'alignment-' + this.alignment, {
1135
+ 'hidden': !this.isOpen,
1136
+ // [this.scrollable]: this.scrollable === 'horizontal' || this.scrollable === 'vertical',
1137
+ // 'horizontal vertical': this.scrollable === 'both',
1138
+ // 'flex': flex,
1139
+ // 'empty': this.searchResults[0] as any == '-1'
1140
+ }, {
1141
+ 'column-1': this.numberOfColumns <= 1,
1142
+ 'column-2': this.numberOfColumns == 2,
1143
+ 'column-3': this.numberOfColumns >= 3,
1144
+ });
1145
+ const optionsViewport = classnames('options-viewport', {
1146
+ 'hidden': !this.isOpen,
1147
+ [this.scrollable]: this.scrollable === 'horizontal' || this.scrollable === 'vertical',
1148
+ 'horizontal vertical': this.scrollable === 'both',
1149
+ 'flex': flex,
1150
+ // 'empty': this.searchResults[0] as any == '-1'
1151
+ });
1152
+ const captionClasses = classnames('size-1', 'input-caption', 'caption-' + captionType);
1153
+ const container = classnames('container', {
1154
+ 'error': captionType == 'error' ? true : false,
1155
+ 'full-width': fullWidth
1156
+ });
1157
+ const selectedText = classnames('selected-text', {
1158
+ 'selected-tags': this.onShowVisibleTags.length > 0 || this.onShowHiddenTags.length > 0
1159
+ });
1160
+ const hostClasses = classnames(this.hidden ? 'hidden' : null);
1161
+ var optionViewportStyle = {
1162
+ 'width': this.viewportMinWidth != null || this.viewportMaxWidth != null ? 'max-content' :
1163
+ this.viewportWidth != "100%" ? this.viewportWidth :
1164
+ this.numberOfColumns > 1 ? 'auto' : '100%',
1165
+ 'min-width': this.viewportMinWidth != null ? this.viewportMinWidth : null,
1166
+ 'max-width': this.viewportMaxWidth != null ? this.viewportMaxWidth : null,
1167
+ };
1168
+ if (this.optionViewportStyleAlignment) {
1169
+ optionViewportStyle = Object.assign(Object.assign({}, optionViewportStyle), this.optionViewportStyleAlignment);
1170
+ }
1171
+ // if(this.viewportWidth != "100%" ){
1172
+ // optionViewportStyle = {...{'width': 'max-content', 'min-width': this.viewportWidth}}
1173
+ // }
1174
+ const customStyleOtherTag = {
1175
+ 'cursor': 'pointer',
1176
+ 'white-space': 'nowrap',
1177
+ // 'width': '134px',
1178
+ // 'display': '-webkit-box',
1179
+ // '-webkit-line-clamp': '1',
1180
+ // '-webkit-box-orient': 'vertical',
1181
+ // 'overflow': 'hidden'
1182
+ };
1183
+ const customStyleTag = {
1184
+ 'cursor': 'pointer',
1185
+ 'max-width': '164px',
1186
+ // 'display': '-webkit-box',
1187
+ // '-webkit-line-clamp': '1',
1188
+ // '-webkit-box-orient': 'vertical',
1189
+ // 'overflow': 'hidden'
1190
+ // 'display': '-webkit-box',
1191
+ // 'overflow': 'hidden',
1192
+ // '-webkit-line-clamp': '1',
1193
+ // '-webkit-box-orient': 'vertical'
1194
+ 'text-overflow': 'ellipsis',
1195
+ 'white-space': 'nowrap',
1196
+ 'overflow': 'hidden',
1197
+ 'display': 'block'
1198
+ };
1199
+ return (h(Host, { class: hostClasses, onFocus: () => this.handleFocus(), onBlur: () => this.handleBlur() }, h("div", { class: container }, label && h("bcm-label", { onClick: () => this.handleOpen(false), tooltip: this.tooltip, type: captionType, value: label, required: required }), h("div", { id: "selected-container", class: selected, onClick: (e) => this.handleOpen(e), tabIndex: -1 }, h("span", { class: selectedText, title: this.selectText && (this.selectText) }, (this.selectText && (this.selectText)), ((!this.selectText && (this.onShowVisibleTags.length > 0 || this.onShowHiddenTags.length > 0)) && (h("span", { id: "tagcontainer", class: "tag-container" }, h("span", null, this.onShowVisibleTags.map((item) => (h("bcm-old-tag", { _internal_id: this._internal_id, customStyle: customStyleTag, onClick: () => this.handleClickTag(), type: "dissmisable", value: item[this.objectMapping['text']], title: item[this.objectMapping['text']], id: item[this.objectMapping['id']], class: "tag" })))), h("span", null, this.onShowHiddenTags.length > 0 && (h("bcm-old-tag", { _internal_id: this._internal_id, title: this.hiddenTagsString, customStyle: customStyleOtherTag, onClick: (e) => this.showHiddenTags(e), color: this.otherTagStatus ? 'prime-blue' : 'grey-9', type: "dissmisable", value: "+ " + this.onShowHiddenTags.length + " item" + (this.onShowHiddenTags.length > 1 ? 's' : '') + " selected", id: "other-tag" })))))), (!(this.selectText || this.onShowVisibleTags.length > 0 || this.onShowHiddenTags.length > 0) && placeholder && (h("span", { class: "placeholder" }, " ", placeholder, " ")))), h("div", { class: "buttons" }, clearable && value && (h("button", { class: "select-clear-button", onClick: (e) => this.clickClear(e) }, h("svg", { style: { "fill": "#595959", "width": "14px", "height": "14px" }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { d: "M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z" })))), h("span", { class: this.isOpen ? 'open' : 'close' }, h("svg", { style: { "fill": "#595959", "width": "14px", "height": "14px" }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512" }, h("path", { d: "M168.5 164.2l148 146.8c4.7 4.7 4.7 12.3 0 17l-19.8 19.8c-4.7 4.7-12.3 4.7-17 0L160 229.3 40.3 347.8c-4.7 4.7-12.3 4.7-17 0L3.5 328c-4.7-4.7-4.7-12.3 0-17l148-146.8c4.7-4.7 12.3-4.7 17 0z" }))))), h("div", { class: menu, style: optionViewportStyle }, h("div", { class: optionsViewport })), !noCaption && (h("div", { class: "caption-area" }, captionType == "error"
1200
+ ? h("span", { class: captionClasses }, " ", captionError, " ")
1201
+ : caption && h("span", { class: captionClasses }, " ", caption, " "))))));
1202
+ }
1203
+ get el() { return this; }
1204
+ static get watchers() { return {
1205
+ "value": ["handleChange"],
1206
+ "isOpen": ["handleOpenState"]
1207
+ }; }
1208
+ static get style() { return selectCss; }
1209
+ }, [1, "bcm-select", {
1210
+ "_id": [1537, "id"],
1211
+ "value": [1025],
1212
+ "value2": [1025],
1213
+ "size": [1025],
1214
+ "scrollable": [1025],
1215
+ "clearable": [1028],
1216
+ "label": [1025],
1217
+ "placeholder": [1025],
1218
+ "search": [1028],
1219
+ "noCaption": [1028, "no-caption"],
1220
+ "caption": [1025],
1221
+ "captionError": [1025, "caption-error"],
1222
+ "captionType": [1025, "caption-type"],
1223
+ "disabled": [1028],
1224
+ "flex": [1028],
1225
+ "name": [1025],
1226
+ "searchFields": [1040],
1227
+ "fullWidth": [1028, "full-width"],
1228
+ "defaultValue": [1025, "default-value"],
1229
+ "hidden": [1028],
1230
+ "checkboxes": [1028],
1231
+ "searchable": [1028],
1232
+ "required": [1028],
1233
+ "treeview": [1028],
1234
+ "numberOfColumns": [1026, "number-of-columns"],
1235
+ "viewportWidth": [1025, "viewport-width"],
1236
+ "viewportMinWidth": [1025, "viewport-min-width"],
1237
+ "viewportMaxWidth": [1025, "viewport-max-width"],
1238
+ "template": [1025],
1239
+ "maxHeight": [1025, "max-height"],
1240
+ "infoFooter": [1028, "info-footer"],
1241
+ "_internal_id": [1537],
1242
+ "alignment": [1025],
1243
+ "_items": [1032],
1244
+ "_data": [1032],
1245
+ "placement": [1537],
1246
+ "tooltip": [1025],
1247
+ "selectText": [32],
1248
+ "isOpen": [32],
1249
+ "captionCache": [32],
1250
+ "captionTypeCache": [32],
1251
+ "config": [64],
1252
+ "setData": [64],
1253
+ "setDataAsync": [64],
1254
+ "clearAndSelectSearch": [64],
1255
+ "selected": [64],
1256
+ "addChecked": [64],
1257
+ "updateChecked": [64],
1258
+ "getValue": [64],
1259
+ "getChecklist": [64],
1260
+ "get": [64],
1261
+ "set": [64],
1262
+ "setClear": [64],
1263
+ "resetCaption": [64]
1264
+ }, [[11, "wheel", "onwheelEvent"], [7, "scroll", "scrollEvent"], [11, "resize", "handleScreenResize"], [10, "click", "handleClickOutside"], [6, "bcm-treeview-unchecked", "handleTreeviewUnchecked"], [6, "bcm-listbox-unchecked", "handleListboxUnchecked"], [6, "bcm-old-tag-dissmisable", "bcmOldTagDissmisable"], [4, "bcm-listbox-item-selected", "handleListboxSelected"], [4, "bcm-treeview-checklist", "handleListboxCheckedList"], [4, "bcm-listbox-checklist", "handleTreeviewCheckedList"]]]);
1265
+ __decorate([
1266
+ IsLoad()
1267
+ ], BcmSelect$1.prototype, "el", void 0);
1268
+ function defineCustomElement$1() {
1269
+ if (typeof customElements === "undefined") {
1270
+ return;
1271
+ }
1272
+ const components = ["bcm-select", "bcm-avatar", "bcm-badge", "bcm-checkbox", "bcm-checkbox-lite", "bcm-divider", "bcm-empty", "bcm-icon", "bcm-label", "bcm-listbox", "bcm-listbox-group", "bcm-listbox-item", "bcm-old-input", "bcm-old-search", "bcm-old-tag", "bcm-select-box", "bcm-text", "bcm-tooltip", "bcm-treeview", "bcm-treeview-item", "bcm-typography"];
1273
+ components.forEach(tagName => { switch (tagName) {
1274
+ case "bcm-select":
1275
+ if (!customElements.get(tagName)) {
1276
+ customElements.define(tagName, BcmSelect$1);
1277
+ }
1278
+ break;
1279
+ case "bcm-avatar":
1280
+ if (!customElements.get(tagName)) {
1281
+ defineCustomElement$l();
1282
+ }
1283
+ break;
1284
+ case "bcm-badge":
1285
+ if (!customElements.get(tagName)) {
1286
+ defineCustomElement$k();
1287
+ }
1288
+ break;
1289
+ case "bcm-checkbox":
1290
+ if (!customElements.get(tagName)) {
1291
+ defineCustomElement$j();
1292
+ }
1293
+ break;
1294
+ case "bcm-checkbox-lite":
1295
+ if (!customElements.get(tagName)) {
1296
+ defineCustomElement$i();
1297
+ }
1298
+ break;
1299
+ case "bcm-divider":
1300
+ if (!customElements.get(tagName)) {
1301
+ defineCustomElement$h();
1302
+ }
1303
+ break;
1304
+ case "bcm-empty":
1305
+ if (!customElements.get(tagName)) {
1306
+ defineCustomElement$g();
1307
+ }
1308
+ break;
1309
+ case "bcm-icon":
1310
+ if (!customElements.get(tagName)) {
1311
+ defineCustomElement$f();
1312
+ }
1313
+ break;
1314
+ case "bcm-label":
1315
+ if (!customElements.get(tagName)) {
1316
+ defineCustomElement$e();
1317
+ }
1318
+ break;
1319
+ case "bcm-listbox":
1320
+ if (!customElements.get(tagName)) {
1321
+ defineCustomElement$d();
1322
+ }
1323
+ break;
1324
+ case "bcm-listbox-group":
1325
+ if (!customElements.get(tagName)) {
1326
+ defineCustomElement$c();
1327
+ }
1328
+ break;
1329
+ case "bcm-listbox-item":
1330
+ if (!customElements.get(tagName)) {
1331
+ defineCustomElement$b();
1332
+ }
1333
+ break;
1334
+ case "bcm-old-input":
1335
+ if (!customElements.get(tagName)) {
1336
+ defineCustomElement$a();
1337
+ }
1338
+ break;
1339
+ case "bcm-old-search":
1340
+ if (!customElements.get(tagName)) {
1341
+ defineCustomElement$9();
1342
+ }
1343
+ break;
1344
+ case "bcm-old-tag":
1345
+ if (!customElements.get(tagName)) {
1346
+ defineCustomElement$8();
1347
+ }
1348
+ break;
1349
+ case "bcm-select-box":
1350
+ if (!customElements.get(tagName)) {
1351
+ defineCustomElement$7();
1352
+ }
1353
+ break;
1354
+ case "bcm-text":
1355
+ if (!customElements.get(tagName)) {
1356
+ defineCustomElement$6();
1357
+ }
1358
+ break;
1359
+ case "bcm-tooltip":
1360
+ if (!customElements.get(tagName)) {
1361
+ defineCustomElement$5();
1362
+ }
1363
+ break;
1364
+ case "bcm-treeview":
1365
+ if (!customElements.get(tagName)) {
1366
+ defineCustomElement$4();
1367
+ }
1368
+ break;
1369
+ case "bcm-treeview-item":
1370
+ if (!customElements.get(tagName)) {
1371
+ defineCustomElement$3();
1372
+ }
1373
+ break;
1374
+ case "bcm-typography":
1375
+ if (!customElements.get(tagName)) {
1376
+ defineCustomElement$2();
1377
+ }
1378
+ break;
1379
+ } });
1380
+ }
1381
+
1382
+ const BcmSelect = BcmSelect$1;
1383
+ const defineCustomElement = defineCustomElement$1;
1384
+
1385
+ export { BcmSelect, defineCustomElement };