bromcom-ui 2.7.38-rc.8 → 2.8.0-rc.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 (393) hide show
  1. package/dist/bromcom-ui/bromcom-ui.css +1 -1
  2. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  3. package/dist/bromcom-ui/global/helper/index.ts +1 -0
  4. package/dist/bromcom-ui/global/helper/toast.ts +136 -0
  5. package/dist/bromcom-ui/{p-d6fe1d25.entry.js → p-0191554f.entry.js} +1 -1
  6. package/dist/bromcom-ui/p-040f1cc5.entry.js +5 -0
  7. package/dist/bromcom-ui/{p-2b94d9ac.entry.js → p-05a32a81.entry.js} +1 -1
  8. package/dist/bromcom-ui/{p-72f741db.entry.js → p-0b77585e.entry.js} +1 -1
  9. package/dist/bromcom-ui/{p-64b20f43.entry.js → p-0f685aa9.entry.js} +1 -1
  10. package/dist/bromcom-ui/p-13f0d66c.entry.js +5 -0
  11. package/dist/bromcom-ui/{p-c58f338d.entry.js → p-14938158.entry.js} +1 -1
  12. package/dist/bromcom-ui/{p-dd50e75e.entry.js → p-1d77cf0f.entry.js} +1 -1
  13. package/dist/bromcom-ui/p-21bf2bb5.js +5 -0
  14. package/dist/bromcom-ui/p-22e08221.entry.js +5 -0
  15. package/dist/bromcom-ui/p-23cb7133.js +5 -0
  16. package/dist/bromcom-ui/{p-1e47e597.entry.js → p-2552592a.entry.js} +1 -1
  17. package/dist/bromcom-ui/{p-1f103e82.js → p-2a2466d0.js} +1 -1
  18. package/dist/bromcom-ui/{p-6d17ae58.entry.js → p-2b774123.entry.js} +1 -1
  19. package/dist/bromcom-ui/{p-db102b27.entry.js → p-2cac45d6.entry.js} +1 -1
  20. package/dist/bromcom-ui/{p-444cb95f.entry.js → p-2cdc4578.entry.js} +1 -1
  21. package/dist/bromcom-ui/{p-9164fab5.entry.js → p-2f0e0ecf.entry.js} +1 -1
  22. package/dist/bromcom-ui/{p-4721d58a.entry.js → p-369d6e4f.entry.js} +1 -1
  23. package/dist/bromcom-ui/{p-1e2932b4.entry.js → p-3836eb77.entry.js} +1 -1
  24. package/dist/bromcom-ui/{p-69ef565b.entry.js → p-3d4897d8.entry.js} +1 -1
  25. package/dist/bromcom-ui/p-4487e8c2.js +5 -0
  26. package/dist/bromcom-ui/p-4789cc74.entry.js +5 -0
  27. package/dist/bromcom-ui/{p-5775dcea.js → p-48e9166c.js} +1 -1
  28. package/dist/bromcom-ui/{p-1d44dbea.entry.js → p-4a123037.entry.js} +1 -1
  29. package/dist/bromcom-ui/p-4a51c718.entry.js +5 -0
  30. package/dist/bromcom-ui/{p-04bd9117.entry.js → p-4d556100.entry.js} +1 -1
  31. package/dist/bromcom-ui/{p-032a02bb.entry.js → p-4fa21c01.entry.js} +1 -1
  32. package/dist/bromcom-ui/{p-069a06c8.entry.js → p-53beb481.entry.js} +1 -1
  33. package/dist/bromcom-ui/p-583d6b09.entry.js +5 -0
  34. package/dist/bromcom-ui/{p-62a25424.entry.js → p-5a5cc30f.entry.js} +1 -1
  35. package/dist/bromcom-ui/{p-68454f53.entry.js → p-5c2bf950.entry.js} +1 -1
  36. package/dist/bromcom-ui/{p-fc55a7e3.entry.js → p-5d014153.entry.js} +1 -1
  37. package/dist/bromcom-ui/p-5de651cc.entry.js +5 -0
  38. package/dist/bromcom-ui/{p-91a7f380.entry.js → p-5fa48e18.entry.js} +1 -1
  39. package/dist/bromcom-ui/{p-3126f440.entry.js → p-61709094.entry.js} +1 -1
  40. package/dist/bromcom-ui/{p-d2c0f560.entry.js → p-61865ff2.entry.js} +1 -1
  41. package/dist/bromcom-ui/p-695f6b01.entry.js +5 -0
  42. package/dist/bromcom-ui/{p-596450d2.js → p-6a473342.js} +1 -1
  43. package/dist/bromcom-ui/p-7224e112.entry.js +5 -0
  44. package/dist/bromcom-ui/{p-16ff1ff3.js → p-74595a06.js} +1 -1
  45. package/dist/bromcom-ui/{p-0a6cf248.entry.js → p-74e46eeb.entry.js} +1 -1
  46. package/dist/bromcom-ui/p-7c9025cb.js +5 -0
  47. package/dist/bromcom-ui/{p-0f2e6258.entry.js → p-7d9a38b0.entry.js} +1 -1
  48. package/dist/bromcom-ui/{p-5ae0a59b.js → p-7e44e6b5.js} +1 -1
  49. package/dist/bromcom-ui/p-7f1a79c5.entry.js +5 -0
  50. package/dist/bromcom-ui/{p-202dc98b.entry.js → p-816c4dc7.entry.js} +1 -1
  51. package/dist/bromcom-ui/p-86356b26.entry.js +5 -0
  52. package/dist/bromcom-ui/{p-3523560a.entry.js → p-870c903a.entry.js} +1 -1
  53. package/dist/bromcom-ui/{p-ba062b3c.js → p-88f7d869.js} +1 -1
  54. package/dist/bromcom-ui/p-8b60d1db.entry.js +5 -0
  55. package/dist/bromcom-ui/{p-3c7a0345.js → p-8c018ae0.js} +1 -1
  56. package/dist/bromcom-ui/{p-219b3300.entry.js → p-8d1cd79f.entry.js} +1 -1
  57. package/dist/bromcom-ui/p-8dbe72a1.entry.js +5 -0
  58. package/dist/bromcom-ui/{p-e35cb3f5.js → p-8fdcb5e7.js} +1 -1
  59. package/dist/bromcom-ui/p-91b1efad.entry.js +5 -0
  60. package/dist/bromcom-ui/{p-57d0c6e7.entry.js → p-97df9122.entry.js} +1 -1
  61. package/dist/bromcom-ui/p-994e484e.entry.js +5 -0
  62. package/dist/bromcom-ui/{p-ee9ba6ba.entry.js → p-9a1dc17c.entry.js} +1 -1
  63. package/dist/bromcom-ui/{p-1d77b8a6.js → p-9bef5a59.js} +1 -1
  64. package/dist/bromcom-ui/{p-95518e9b.entry.js → p-9d3a9f5b.entry.js} +1 -1
  65. package/dist/bromcom-ui/{p-4f86851c.entry.js → p-a173ed35.entry.js} +1 -1
  66. package/dist/bromcom-ui/{p-a8d1397d.js → p-a3ffcb0d.js} +1 -1
  67. package/dist/bromcom-ui/p-a427f0ee.entry.js +5 -0
  68. package/dist/bromcom-ui/{p-3c4f09cc.entry.js → p-a9ab4073.entry.js} +1 -1
  69. package/dist/bromcom-ui/{p-6db38bb3.entry.js → p-b1d6b529.entry.js} +1 -1
  70. package/dist/bromcom-ui/{p-07e03977.entry.js → p-b39f6cb3.entry.js} +1 -1
  71. package/dist/bromcom-ui/{p-833261c5.entry.js → p-b69abb6f.entry.js} +1 -1
  72. package/dist/bromcom-ui/p-b8ffc86f.entry.js +5 -0
  73. package/dist/bromcom-ui/{p-5fa7dfe2.entry.js → p-bb95aa62.entry.js} +1 -1
  74. package/dist/bromcom-ui/{p-e052c44c.entry.js → p-bc332b5d.entry.js} +1 -1
  75. package/dist/bromcom-ui/{p-e453462d.entry.js → p-bc97d311.entry.js} +1 -1
  76. package/dist/bromcom-ui/{p-5a9b78f6.entry.js → p-bdb012c3.entry.js} +1 -1
  77. package/dist/bromcom-ui/p-c0ac6d54.entry.js +5 -0
  78. package/dist/bromcom-ui/p-c68f44be.entry.js +5 -0
  79. package/dist/bromcom-ui/{p-7863b16a.entry.js → p-cf04e7a3.entry.js} +1 -1
  80. package/dist/bromcom-ui/{p-f73d76e6.entry.js → p-d4ff4de0.entry.js} +1 -1
  81. package/dist/bromcom-ui/p-d777677c.entry.js +10 -0
  82. package/dist/bromcom-ui/p-da540844.entry.js +5 -0
  83. package/dist/bromcom-ui/{p-a368c325.entry.js → p-dae1cc7b.entry.js} +1 -1
  84. package/dist/bromcom-ui/{p-b9352123.entry.js → p-dc306bd8.entry.js} +1 -1
  85. package/dist/bromcom-ui/{p-764ae0c1.js → p-de954bc9.js} +1 -1
  86. package/dist/bromcom-ui/{p-c3ef369d.entry.js → p-dfe8e354.entry.js} +1 -1
  87. package/dist/bromcom-ui/{p-568f4f45.entry.js → p-e02491ce.entry.js} +1 -1
  88. package/dist/bromcom-ui/p-e0ec1a36.js +5 -0
  89. package/dist/bromcom-ui/{p-0b6afb97.entry.js → p-e2b3cb98.entry.js} +1 -1
  90. package/dist/bromcom-ui/p-e2e7d808.entry.js +5 -0
  91. package/dist/bromcom-ui/{p-eaf81060.entry.js → p-ec7f4a12.entry.js} +1 -1
  92. package/dist/bromcom-ui/{p-4b1ed966.entry.js → p-f089027d.entry.js} +1 -1
  93. package/dist/bromcom-ui/{p-9979bd82.entry.js → p-f16ce14a.entry.js} +1 -1
  94. package/dist/bromcom-ui/p-f21a7fc0.entry.js +5 -0
  95. package/dist/bromcom-ui/{p-8b24fbfa.entry.js → p-fe996e86.entry.js} +1 -1
  96. package/dist/bromcom-ui/{p-1e50dee8.entry.js → p-fea33175.entry.js} +1 -1
  97. package/dist/cjs/bcm-accordion.cjs.entry.js +1 -1
  98. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  99. package/dist/cjs/bcm-attendance.cjs.entry.js +2 -2
  100. package/dist/cjs/bcm-avatar_2.cjs.entry.js +3 -3
  101. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +1 -1
  102. package/dist/cjs/bcm-button-group.cjs.entry.js +1 -1
  103. package/dist/cjs/{bcm-button.cjs.entry.js → bcm-button_2.cjs.entry.js} +125 -28
  104. package/dist/cjs/bcm-card.cjs.entry.js +1 -1
  105. package/dist/cjs/bcm-checkbox-group.cjs.entry.js +1 -1
  106. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +2 -2
  107. package/dist/cjs/bcm-checkbox_2.cjs.entry.js +3 -3
  108. package/dist/cjs/bcm-chip.cjs.entry.js +2 -2
  109. package/dist/cjs/bcm-collapse.cjs.entry.js +1 -1
  110. package/dist/cjs/bcm-color-input.cjs.entry.js +3 -3
  111. package/dist/cjs/{bcm-colorful_7.cjs.entry.js → bcm-colorful_2.cjs.entry.js} +8 -903
  112. package/dist/cjs/bcm-colorpicker.cjs.entry.js +432 -0
  113. package/dist/cjs/bcm-date-picker.cjs.entry.js +1 -1
  114. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +2 -2
  115. package/dist/cjs/bcm-default.cjs.entry.js +1 -1
  116. package/dist/cjs/bcm-drawer.cjs.entry.js +3 -3
  117. package/dist/cjs/bcm-dropdown.cjs.entry.js +2 -2
  118. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +1 -1
  119. package/dist/cjs/bcm-form-2.cjs.entry.js +1 -1
  120. package/dist/cjs/bcm-form.cjs.entry.js +1 -1
  121. package/dist/cjs/bcm-icon.cjs.entry.js +41 -0
  122. package/dist/cjs/bcm-input-custom.cjs.entry.js +72 -0
  123. package/dist/cjs/bcm-input.cjs.entry.js +368 -0
  124. package/dist/cjs/bcm-item.cjs.entry.js +1 -1
  125. package/dist/cjs/bcm-items.cjs.entry.js +1 -1
  126. package/dist/cjs/bcm-label_2.cjs.entry.js +148 -0
  127. package/dist/cjs/bcm-link.cjs.entry.js +1 -1
  128. package/dist/cjs/bcm-list.cjs.entry.js +13 -12
  129. package/dist/cjs/bcm-menu.cjs.entry.js +5 -5
  130. package/dist/cjs/bcm-modal.cjs.entry.js +1 -1
  131. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +1 -1
  132. package/dist/cjs/bcm-popconfirm.cjs.entry.js +2 -2
  133. package/dist/cjs/bcm-popover.cjs.entry.js +82 -33
  134. package/dist/cjs/bcm-progress.cjs.entry.js +1 -1
  135. package/dist/cjs/bcm-radio-group.cjs.entry.js +1 -1
  136. package/dist/cjs/bcm-radio.cjs.entry.js +2 -2
  137. package/dist/cjs/bcm-range.cjs.entry.js +1 -1
  138. package/dist/cjs/bcm-search.cjs.entry.js +7 -6
  139. package/dist/cjs/bcm-select.cjs.entry.js +1 -1
  140. package/dist/cjs/bcm-skeleton.cjs.entry.js +1 -1
  141. package/dist/cjs/bcm-step.cjs.entry.js +2 -2
  142. package/dist/cjs/bcm-stepper.cjs.entry.js +55 -29
  143. package/dist/cjs/bcm-switch.cjs.entry.js +2 -2
  144. package/dist/cjs/bcm-tab-group.cjs.entry.js +85 -98
  145. package/dist/cjs/bcm-tab-item-header.cjs.entry.js +86 -0
  146. package/dist/cjs/bcm-tab-item.cjs.entry.js +103 -0
  147. package/dist/cjs/bcm-tag.cjs.entry.js +2 -2
  148. package/dist/cjs/bcm-textarea.cjs.entry.js +2 -2
  149. package/dist/cjs/bcm-time-picker.cjs.entry.js +1 -1
  150. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  151. package/dist/cjs/{generate-b48e38fa.js → generate-eef61d08.js} +105 -16
  152. package/dist/cjs/{input-template-eae02f62.js → input-template-517c3f53.js} +2 -2
  153. package/dist/cjs/{json-parse-decarator-3f27a0d5.js → json-parse-decarator-c0d7e570.js} +1 -1
  154. package/dist/cjs/loader.cjs.js +1 -1
  155. package/dist/cjs/{number-helper-d068c11e.js → number-helper-652dc22d.js} +1 -1
  156. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +2 -2
  157. package/dist/cjs/old-bcm-popover.cjs.entry.js +1 -1
  158. package/dist/cjs/{stepper-states-b5e62af6.js → stepper-states-d00a1313.js} +1 -1
  159. package/dist/cjs/{tooltip-helper-388e21c9.js → tooltip-helper-cd02e32b.js} +36 -6
  160. package/dist/cjs/{validators-abb4f619.js → validators-7eed007b.js} +1 -1
  161. package/dist/collection/collection-manifest.json +4 -0
  162. package/dist/collection/components/atoms/button/button.js +1 -1
  163. package/dist/collection/components/atoms/chip/chip.js +1 -1
  164. package/dist/collection/components/atoms/link/link.js +1 -1
  165. package/dist/collection/components/molecules/checkbox/checkbox.css +1 -0
  166. package/dist/collection/components/molecules/checkbox/checkbox.js +1 -1
  167. package/dist/collection/components/molecules/input/input.js +5 -2
  168. package/dist/collection/components/molecules/menu/menu.js +1 -1
  169. package/dist/collection/components/molecules/popconfirm/popconfirm.js +1 -1
  170. package/dist/collection/components/molecules/popover/popover.js +107 -2
  171. package/dist/collection/components/molecules/radio/radio.css +1 -0
  172. package/dist/collection/components/molecules/search/search.js +21 -2
  173. package/dist/collection/components/molecules/states/search.states.js +6 -6
  174. package/dist/collection/components/molecules/stepper/stepper.js +55 -35
  175. package/dist/collection/components/molecules/switch/switch.js +1 -1
  176. package/dist/collection/components/molecules/tab-group/tab-group.js +98 -100
  177. package/dist/collection/components/molecules/tab-group/tab-item-header.js +186 -0
  178. package/dist/collection/components/molecules/tab-group/tab-item.js +161 -0
  179. package/dist/collection/components/molecules/tooltip/tooltip.js +109 -2
  180. package/dist/collection/components/organism/datetime-picker/datetime-picker.js +1 -1
  181. package/dist/collection/components/organism/form/form.js +1 -1
  182. package/dist/collection/components/organism/list/list.css +1 -0
  183. package/dist/collection/components/organism/list/list.js +21 -2
  184. package/dist/collection/components/organism/states/bcm-list2.states.js +1 -1
  185. package/dist/collection/components/other/attendance/attendance.js +1 -1
  186. package/dist/collection/components/other/input-custom/input-custom.js +249 -0
  187. package/dist/collection/components/other/toast/toast.js +365 -0
  188. package/dist/collection/components/other_deprecated/select/select.js +1 -1
  189. package/dist/collection/global/components/_checkbox.css +1 -0
  190. package/dist/collection/global/helper/index.js +5 -0
  191. package/dist/collection/global/helper/index.ts +1 -0
  192. package/dist/collection/global/helper/toast.js +114 -0
  193. package/dist/collection/global/helper/toast.ts +136 -0
  194. package/dist/collection/helper/generate.js +108 -19
  195. package/dist/collection/helper/popover-helper.js +57 -29
  196. package/dist/collection/helper/tooltip-helper.js +33 -4
  197. package/dist/collection/stories/assets/button/1.svg +35 -0
  198. package/dist/collection/stories/assets/button/10.svg +24 -0
  199. package/dist/collection/stories/assets/button/11.svg +24 -0
  200. package/dist/collection/stories/assets/button/12.svg +24 -0
  201. package/dist/collection/stories/assets/button/2.svg +28 -0
  202. package/dist/collection/stories/assets/button/3.svg +41 -0
  203. package/dist/collection/stories/assets/button/4.svg +9 -0
  204. package/dist/collection/stories/assets/button/5.svg +65 -0
  205. package/dist/collection/stories/assets/button/6.svg +68 -0
  206. package/dist/collection/stories/assets/button/7.svg +203 -0
  207. package/dist/collection/stories/assets/button/8.svg +316 -0
  208. package/dist/collection/stories/assets/button/9.svg +9 -0
  209. package/dist/collection/templates/button-template.js +1 -1
  210. package/dist/collection/templates/input-template.js +1 -1
  211. package/dist/collection/templates/list-item-template.js +1 -1
  212. package/dist/collection/templates/list-template.js +2 -2
  213. package/dist/components/bcm-attendance.js +1 -1
  214. package/dist/components/bcm-chip.js +1 -1
  215. package/dist/components/bcm-form.js +1 -1
  216. package/dist/components/bcm-input-custom.d.ts +11 -0
  217. package/dist/components/bcm-input-custom.js +114 -0
  218. package/dist/components/bcm-list.js +11 -9
  219. package/dist/components/bcm-popconfirm.js +1 -1
  220. package/dist/components/bcm-popover.js +83 -30
  221. package/dist/components/bcm-select.js +1 -1
  222. package/dist/components/bcm-stepper.js +51 -33
  223. package/dist/components/bcm-switch.js +1 -1
  224. package/dist/components/bcm-tab-group.js +84 -98
  225. package/dist/components/bcm-tab-item-header.d.ts +11 -0
  226. package/dist/components/bcm-tab-item-header.js +102 -0
  227. package/dist/components/bcm-tab-item.d.ts +11 -0
  228. package/dist/components/bcm-tab-item.js +117 -0
  229. package/dist/components/bcm-tab.js +1 -1
  230. package/dist/components/bcm-tabs-content.js +1 -1
  231. package/dist/components/bcm-tabs.js +1 -1
  232. package/dist/components/bcm-tag.js +1 -1
  233. package/dist/components/bcm-toast.d.ts +11 -0
  234. package/dist/components/bcm-toast.js +140 -0
  235. package/dist/components/button.js +2 -2
  236. package/dist/components/checkbox-lite.js +1 -1
  237. package/dist/components/checkbox.js +2 -2
  238. package/dist/components/datetime-picker.js +1 -1
  239. package/dist/components/generate.js +105 -16
  240. package/dist/components/index.d.ts +4 -0
  241. package/dist/components/index.js +4 -0
  242. package/dist/components/input-template.js +2 -15
  243. package/dist/components/input.js +5 -2
  244. package/dist/components/link.js +1 -1
  245. package/dist/components/menu.js +1 -1
  246. package/dist/components/radio.js +1 -1
  247. package/dist/components/search.js +6 -4
  248. package/dist/components/tooltip-helper.js +33 -3
  249. package/dist/components/tooltip.js +29 -3
  250. package/dist/components/types.js +14 -27
  251. package/dist/components/types2.js +25 -25
  252. package/dist/components/types3.js +32 -0
  253. package/dist/esm/bcm-accordion.entry.js +3 -3
  254. package/dist/esm/bcm-alert.entry.js +4 -4
  255. package/dist/esm/bcm-attendance.entry.js +4 -4
  256. package/dist/esm/bcm-autocomplete.entry.js +2 -2
  257. package/dist/esm/bcm-avatar_2.entry.js +9 -9
  258. package/dist/esm/bcm-box.entry.js +2 -2
  259. package/dist/esm/bcm-breadcrumb.entry.js +3 -3
  260. package/dist/esm/bcm-button-group.entry.js +3 -3
  261. package/dist/esm/{bcm-button.entry.js → bcm-button_2.entry.js} +124 -28
  262. package/dist/esm/bcm-card.entry.js +6 -6
  263. package/dist/esm/bcm-checkbox-group.entry.js +7 -7
  264. package/dist/esm/bcm-checkbox-lite_9.entry.js +5 -5
  265. package/dist/esm/bcm-checkbox_2.entry.js +9 -9
  266. package/dist/esm/bcm-chip.entry.js +6 -6
  267. package/dist/esm/bcm-collapse-group.entry.js +3 -3
  268. package/dist/esm/bcm-collapse.entry.js +3 -3
  269. package/dist/esm/bcm-color-input.entry.js +7 -7
  270. package/dist/esm/{bcm-colorful_7.entry.js → bcm-colorful_2.entry.js} +15 -905
  271. package/dist/esm/bcm-colorpicker.entry.js +428 -0
  272. package/dist/esm/bcm-date-picker.entry.js +4 -4
  273. package/dist/esm/bcm-datetime-picker.entry.js +8 -8
  274. package/dist/esm/bcm-default.entry.js +3 -3
  275. package/dist/esm/bcm-drawer.entry.js +8 -8
  276. package/dist/esm/bcm-dropdown.entry.js +4 -4
  277. package/dist/esm/bcm-error-layout.entry.js +2 -2
  278. package/dist/esm/bcm-expansion-panel.entry.js +5 -5
  279. package/dist/esm/bcm-form-2.entry.js +3 -3
  280. package/dist/esm/bcm-form-group.entry.js +2 -2
  281. package/dist/esm/bcm-form.entry.js +4 -4
  282. package/dist/esm/bcm-icon.entry.js +37 -0
  283. package/dist/esm/bcm-input-custom.entry.js +68 -0
  284. package/dist/esm/bcm-input.entry.js +364 -0
  285. package/dist/esm/bcm-item.entry.js +5 -5
  286. package/dist/esm/bcm-items.entry.js +3 -3
  287. package/dist/esm/bcm-label_2.entry.js +143 -0
  288. package/dist/esm/bcm-link.entry.js +3 -3
  289. package/dist/esm/bcm-list.entry.js +22 -21
  290. package/dist/esm/bcm-menu.entry.js +10 -10
  291. package/dist/esm/bcm-message.entry.js +2 -2
  292. package/dist/esm/bcm-modal.entry.js +4 -4
  293. package/dist/esm/bcm-notification.entry.js +2 -2
  294. package/dist/esm/bcm-old-input.entry.js +4 -4
  295. package/dist/esm/bcm-old-tag_2.entry.js +3 -3
  296. package/dist/esm/bcm-popconfirm-box.entry.js +5 -5
  297. package/dist/esm/bcm-popconfirm.entry.js +4 -4
  298. package/dist/esm/bcm-popover.entry.js +86 -37
  299. package/dist/esm/bcm-progress.entry.js +5 -5
  300. package/dist/esm/bcm-radio-group.entry.js +6 -6
  301. package/dist/esm/bcm-radio.entry.js +7 -7
  302. package/dist/esm/bcm-range.entry.js +4 -4
  303. package/dist/esm/bcm-result.entry.js +2 -2
  304. package/dist/esm/bcm-search.entry.js +11 -10
  305. package/dist/esm/bcm-select-group.entry.js +1 -1
  306. package/dist/esm/bcm-select-option.entry.js +1 -1
  307. package/dist/esm/bcm-select.entry.js +4 -4
  308. package/dist/esm/bcm-skeleton.entry.js +3 -3
  309. package/dist/esm/bcm-step.entry.js +5 -5
  310. package/dist/esm/bcm-stepper.entry.js +56 -30
  311. package/dist/esm/bcm-switch.entry.js +6 -6
  312. package/dist/esm/bcm-tab-group.entry.js +86 -99
  313. package/dist/esm/bcm-tab-item-header.entry.js +82 -0
  314. package/dist/esm/bcm-tab-item.entry.js +99 -0
  315. package/dist/esm/bcm-tab-pane.entry.js +2 -2
  316. package/dist/esm/bcm-tab.entry.js +2 -2
  317. package/dist/esm/bcm-table.entry.js +3 -3
  318. package/dist/esm/bcm-tabs-content.entry.js +3 -3
  319. package/dist/esm/bcm-tabs.entry.js +3 -3
  320. package/dist/esm/bcm-tag.entry.js +5 -5
  321. package/dist/esm/bcm-text.entry.js +5 -5
  322. package/dist/esm/bcm-textarea.entry.js +6 -6
  323. package/dist/esm/bcm-time-picker.entry.js +4 -4
  324. package/dist/esm/bcm-timeline-item.entry.js +2 -2
  325. package/dist/esm/bcm-timeline.entry.js +2 -2
  326. package/dist/esm/bcm-treeview-group.entry.js +1 -1
  327. package/dist/esm/bromcom-ui.js +2 -2
  328. package/dist/esm/{caption-template-2ef181f9.js → caption-template-389f5bd6.js} +1 -1
  329. package/dist/esm/{color-helper-b5e9aa56.js → color-helper-7e202fd8.js} +1 -1
  330. package/dist/esm/{element-dragger-7ea06c76.js → element-dragger-89bb52fd.js} +1 -1
  331. package/dist/esm/{generate-d89c98d8.js → generate-5f6567d0.js} +105 -16
  332. package/dist/esm/{index-662f4cf5.js → index-6e2d80d7.js} +1 -1
  333. package/dist/esm/{index-cb0cdd87.js → index-8b349654.js} +1 -1
  334. package/dist/esm/{input-template-299c12d1.js → input-template-e03cafc5.js} +3 -3
  335. package/dist/esm/{is-load-decorator-0a59085d.js → is-load-decorator-66e19e04.js} +1 -1
  336. package/dist/esm/{json-parse-decarator-88fb33b1.js → json-parse-decarator-d8836c67.js} +2 -2
  337. package/dist/esm/{label-template-d8687efd.js → label-template-eed2dd69.js} +2 -2
  338. package/dist/esm/loader.js +2 -2
  339. package/dist/esm/{number-helper-905f45a1.js → number-helper-b8a2b813.js} +1 -1
  340. package/dist/esm/old-bcm-popover-box.entry.js +6 -6
  341. package/dist/esm/old-bcm-popover.entry.js +3 -3
  342. package/dist/esm/{slot-template-5b2da1d3.js → slot-template-64b41ee5.js} +1 -1
  343. package/dist/esm/{stepper-states-79e0d857.js → stepper-states-16e0b400.js} +3 -3
  344. package/dist/esm/{tooltip-helper-7934cf3c.js → tooltip-helper-87acf426.js} +38 -8
  345. package/dist/esm/{utils-b3338faf.js → utils-57652744.js} +1 -1
  346. package/dist/esm/{validators-18348027.js → validators-07033707.js} +1 -1
  347. package/dist/types/components/molecules/popover/popover.d.ts +10 -1
  348. package/dist/types/components/molecules/search/search.d.ts +1 -0
  349. package/dist/types/components/molecules/states/search.states.d.ts +1 -1
  350. package/dist/types/components/molecules/stepper/stepper.d.ts +3 -3
  351. package/dist/types/components/molecules/tab-group/tab-group.d.ts +7 -4
  352. package/dist/types/components/molecules/tab-group/tab-item-header.d.ts +13 -0
  353. package/dist/types/components/molecules/tab-group/tab-item.d.ts +17 -0
  354. package/dist/types/components/molecules/tooltip/tooltip.d.ts +10 -1
  355. package/dist/types/components/organism/list/list.d.ts +1 -0
  356. package/dist/types/components/other/input-custom/input-custom.d.ts +20 -0
  357. package/dist/types/components/other/toast/toast.d.ts +25 -0
  358. package/dist/types/components.d.ts +157 -9
  359. package/dist/types/global/helper/index.d.ts +1 -0
  360. package/dist/types/global/helper/toast.d.ts +96 -0
  361. package/dist/types/helper/generate.d.ts +2 -0
  362. package/dist/types/helper/popover-helper.d.ts +13 -3
  363. package/dist/types/helper/tooltip-helper.d.ts +13 -3
  364. package/dist/types/index.d.ts +1 -1
  365. package/dist/types/templates/list-template.d.ts +1 -0
  366. package/helper/index.d.ts +2 -0
  367. package/helper/index.d.ts.map +1 -0
  368. package/helper/index.js +17 -0
  369. package/helper/toast.d.ts +97 -0
  370. package/helper/toast.d.ts.map +1 -0
  371. package/helper/toast.js +115 -0
  372. package/package.json +8 -5
  373. package/dist/bromcom-ui/p-053e9893.js +0 -5
  374. package/dist/bromcom-ui/p-17c1703c.js +0 -5
  375. package/dist/bromcom-ui/p-35f6cb3f.entry.js +0 -5
  376. package/dist/bromcom-ui/p-3f3bb4b0.entry.js +0 -5
  377. package/dist/bromcom-ui/p-3f4b42d8.entry.js +0 -5
  378. package/dist/bromcom-ui/p-55a15cf3.entry.js +0 -5
  379. package/dist/bromcom-ui/p-63472fc4.entry.js +0 -5
  380. package/dist/bromcom-ui/p-6a04eaf8.entry.js +0 -5
  381. package/dist/bromcom-ui/p-6db9f7d9.js +0 -5
  382. package/dist/bromcom-ui/p-73e6ec28.js +0 -5
  383. package/dist/bromcom-ui/p-82641a80.js +0 -5
  384. package/dist/bromcom-ui/p-8e86e37b.entry.js +0 -5
  385. package/dist/bromcom-ui/p-9b8baf8d.entry.js +0 -5
  386. package/dist/bromcom-ui/p-a961f89b.entry.js +0 -5
  387. package/dist/bromcom-ui/p-bdfdc63f.entry.js +0 -5
  388. package/dist/bromcom-ui/p-c5af64c9.entry.js +0 -5
  389. package/dist/bromcom-ui/p-c630c590.entry.js +0 -5
  390. package/dist/bromcom-ui/p-cc4d2a88.entry.js +0 -5
  391. package/dist/bromcom-ui/p-e258c81c.entry.js +0 -5
  392. package/dist/bromcom-ui/p-e50a57f0.entry.js +0 -10
  393. package/dist/bromcom-ui/p-f3c48da2.entry.js +0 -5
@@ -12,149 +12,125 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
12
12
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
14
14
  };
15
+ import { IsLoad } from "@bcm/decorator";
16
+ import { Generate } from "@bcm/helpers";
17
+ import { Bcm } from "@bcm/model";
18
+ import { delay } from "@bcm/utils";
15
19
  import { Host, h, forceUpdate } from "@stencil/core";
16
- import { IsLoad } from "../../../decorators/is-load-decorator";
17
- import { Generate } from "../../../helper/generate";
18
- import cs from "classnames";
19
- import Bcm from "../../../models/bcm";
20
- import snq from "snq";
21
20
  export class BcmTabGroup {
22
21
  constructor() {
23
- this.headerItems = [];
24
22
  this._id = Generate.UID();
25
23
  this.active = "1";
26
24
  this.color = "blue";
27
25
  this.size = Bcm.Size.medium;
28
26
  }
27
+ get tabItems() {
28
+ return this.el.querySelectorAll("bcm-tab-item");
29
+ }
30
+ get tabItemHeaders() {
31
+ return this.el.querySelectorAll("bcm-tab-item-header");
32
+ }
29
33
  connectedCallback() {
30
34
  var _a;
31
- if ((_a = this.tabItems()) === null || _a === void 0 ? void 0 : _a.length) {
32
- this.headerItems = [];
33
- this.tabItems().forEach((tab, index) => {
35
+ if ((_a = this.tabItems) === null || _a === void 0 ? void 0 : _a.length) {
36
+ this.tabItems.forEach((tab, index) => {
34
37
  let itemActive = tab.hasAttribute("active") ? true : false;
35
38
  let itemDisabled = tab.hasAttribute("disabled") ? true : false;
36
39
  let itemIndex = index + 1;
37
40
  tab.setAttribute("index", `${itemIndex}`);
38
- tab.classList.add("tw-w-full");
39
- let header = {
40
- slot: "header",
41
- content: "",
42
- active: itemActive,
43
- disabled: itemDisabled,
44
- index: itemIndex,
45
- };
46
- const headerItemHeader = tab.querySelector("bcm-tab-item-header");
47
- if (headerItemHeader) {
48
- header.content = headerItemHeader.innerHTML;
49
- headerItemHeader.classList.add("tw-hidden");
50
- }
51
- else {
52
- header.content = tab.getAttribute("label") || `Tab ${itemIndex}`;
53
- }
41
+ tab.setAttribute("size", this.size);
42
+ tab.setAttribute("color", this.color);
43
+ tab.removeAttribute("active");
44
+ tab.removeAttribute("disabled");
54
45
  if (itemActive) {
55
46
  tab.setAttribute("active", "");
56
- tab.classList.add("tw-block");
57
- tab.classList.remove("tw-hidden");
58
47
  this.active = itemIndex.toString();
59
48
  }
60
- else {
61
- tab.removeAttribute("active");
62
- tab.classList.remove("tw-block");
63
- tab.classList.add("tw-hidden");
49
+ if (itemDisabled) {
50
+ tab.setAttribute("disabled", "");
64
51
  }
65
- this.headerItems.push(header);
66
52
  });
67
- const isHasActiveTab = this.headerItems.some(tab => tab.active);
53
+ const isHasActiveTab = Array.from(this.tabItems).some(tab => tab.hasAttribute("active"));
68
54
  if (!isHasActiveTab) {
69
- this.headerItems[0].active = true;
70
- this.tabItems()[0].setAttribute("active", "");
71
- this.tabItems()[0].classList.add("tw-block");
72
- this.tabItems()[0].classList.remove("tw-hidden");
55
+ this.tabItems[0].setAttribute("active", "");
73
56
  }
74
57
  }
75
58
  }
76
- tabItems() {
77
- return snq(() => this.el.querySelectorAll("bcm-tab-item"), []);
78
- }
79
59
  handleTabClick(index) {
80
- this.headerItems.forEach(tab => {
81
- tab.active && (tab.active = false);
82
- });
83
- this.headerItems[index - 1].active = true;
84
- this.active = index.toString();
85
- const tabItems = this.el.querySelectorAll("bcm-tab-item");
86
- if (tabItems) {
87
- tabItems.forEach(tab => {
88
- const tabIndex = tab.getAttribute("index");
89
- if (tabIndex == this.active) {
60
+ var _a, _b;
61
+ if (index) {
62
+ this.active = index.toString();
63
+ }
64
+ if ((_a = this.tabItems) === null || _a === void 0 ? void 0 : _a.length) {
65
+ this.tabItems.forEach(tab => {
66
+ tab.removeAttribute("active");
67
+ tab.setAttribute("size", this.size);
68
+ tab.setAttribute("color", this.color);
69
+ if (tab.getAttribute("index") == this.active) {
90
70
  tab.setAttribute("active", "");
91
- tab.classList.add("tw-block");
92
- tab.classList.remove("tw-hidden");
93
71
  }
94
- else {
95
- tab.removeAttribute("active");
96
- tab.classList.remove("tw-block");
97
- tab.classList.add("tw-hidden");
72
+ });
73
+ }
74
+ if ((_b = this.tabItemHeaders) === null || _b === void 0 ? void 0 : _b.length) {
75
+ this.tabItemHeaders.forEach(tabHeader => {
76
+ tabHeader.removeAttribute("active");
77
+ tabHeader.setAttribute("size", this.size);
78
+ tabHeader.setAttribute("color", this.color);
79
+ if (tabHeader.getAttribute("index") == this.active) {
80
+ tabHeader.setAttribute("active", "");
81
+ // tabHeader.scrollIntoView({
82
+ // behavior: "smooth",
83
+ // block: "start",
84
+ // inline: "center",
85
+ // });
98
86
  }
99
87
  });
100
88
  }
101
- this.inkBarControl();
102
- forceUpdate(this);
103
89
  this.tabChange.emit(this.active);
104
90
  }
91
+ componentDidRender() {
92
+ this.inkBarControl();
93
+ this.handleTabClick();
94
+ }
105
95
  componentDidLoad() {
106
96
  this.inkBarControl();
107
97
  }
108
98
  async setActive(index) {
109
- if (index > 0 && index <= this.headerItems.length && index != +this.active && !this.headerItems[index - 1].disabled) {
99
+ if (index > 0 && index <= this.tabItems.length && index != +this.active) {
110
100
  this.handleTabClick(index);
111
101
  }
112
102
  }
103
+ async refresh() {
104
+ await delay(100);
105
+ forceUpdate(this);
106
+ }
113
107
  inkBarControl() {
108
+ var _a;
114
109
  const inkBar = this.el.querySelector("#ink-bar");
115
- if (inkBar) {
116
- const tabHeaderItems = this.el.querySelectorAll("bcm-tab-item-header");
117
- if (tabHeaderItems) {
118
- tabHeaderItems.forEach((tab) => {
119
- const tabIndex = tab.getAttribute("index");
120
- if (tabIndex == this.active) {
121
- inkBar.style.width = tab.offsetWidth + "px";
122
- // inkBar.style.top = tab.offsetHeight + 'px';
123
- inkBar.style.transform = `translateX(${tab.offsetLeft}px)`;
124
- }
125
- });
110
+ if (!inkBar || !((_a = this.tabItemHeaders) === null || _a === void 0 ? void 0 : _a.length))
111
+ return;
112
+ for (let i = 0; i < this.tabItemHeaders.length; i++) {
113
+ const tab = this.tabItemHeaders[i];
114
+ const tabIndex = tab.getAttribute("index");
115
+ if (tabIndex === this.active) {
116
+ inkBar.style.width = `${tab.offsetWidth}px`;
117
+ // inkBar.style.top = `${tab.offsetHeight}px`;
118
+ inkBar.style.transform = `translateX(${tab.offsetLeft}px)`;
126
119
  }
127
120
  }
128
121
  }
129
- render() {
130
- const { color, size } = this;
131
- let fontSize, padding, gap;
132
- switch (size) {
133
- case Bcm.Size.small:
134
- fontSize = "2";
135
- padding = "1";
136
- gap = "2";
137
- break;
138
- case Bcm.Size.medium:
139
- fontSize = "3";
140
- padding = "2";
141
- gap = "3";
142
- break;
143
- case Bcm.Size.large:
144
- fontSize = "4";
145
- padding = "3";
146
- gap = "4";
147
- break;
148
- default:
149
- fontSize = "3";
150
- padding = "2";
151
- gap = "3";
152
- break;
122
+ activeChanged(newVal, _oldVal) {
123
+ var _a;
124
+ if (!((_a = this.tabItems) === null || _a === void 0 ? void 0 : _a.length))
125
+ return;
126
+ const isHasActiveTab = Array.from(this.tabItems).some(tab => tab.getAttribute("index") == newVal);
127
+ if (!isHasActiveTab) {
128
+ this.active = "1";
153
129
  }
154
- const disabledClass = "tw-cursor-not-allowed tw-text-gray-400 tw-opacity-50";
155
- return (h(Host, { class: "tw-flex tw-w-full tw-flex-col tw-items-center tw-font-sans" }, h("div", { class: `tw-flex tw-w-full tw-flex-row tw-items-end tw-justify-between tw-mb-${padding} tw-relative` }, this.headerItems.map(item => (h("bcm-tab-item-header", { tabIndex: "1", class: cs(`tw-text-${fontSize} tw-py-${padding} tw-flex tw-flex-1 tw-items-center tw-justify-center tw-border-b-[2px] tw-border-b-slate-300 tw-transition-all tw-gap-${gap} tw-focus:outline-none`, item.disabled ? disabledClass : "tw-cursor-pointer", item.active
156
- ? `tw-text-${color}-500 enabled:hover:tw-text-${color}-600 enabled:active:tw-text-${color}-700 enabled:focus-visible:tw-text-${color}-800`
157
- : "tw-text-slate-400 enabled:hover:tw-text-slate-500 enabled:focus-visible:tw-text-slate-700 enabled:active:tw-text-slate-600"), active: item.active, disabled: item.disabled, index: item.index, innerHTML: item.content, onClick: () => !item.disabled && this.handleTabClick(item.index) }))), h("div", { id: "ink-bar", class: `tw-bg-${color}-500 tw-absolute tw-bottom-0 tw-left-0 tw-mt-[-2px] tw-h-[2px] tw-rounded-sm tw-transition-transform` })), h("slot", null)));
130
+ }
131
+ render() {
132
+ const { color } = this;
133
+ return (h(Host, { role: "tablist", "aria-label": "Tab Group", class: "tw-flex tw-w-full tw-flex-col tw-items-center tw-font-sans" }, h("div", { class: `tw-relative tw-flex tw-w-full tw-flex-row tw-items-end tw-justify-between`, id: "tab-header" }, h("div", { id: "ink-bar", class: `tw-bg-${color}-500 tw-absolute tw-bottom-0 tw-left-0 tw-mt-[-2px] tw-h-[2px] tw-rounded-sm tw-transition-transform` })), h("slot", null)));
158
134
  }
159
135
  static get is() { return "bcm-tab-group"; }
160
136
  static get properties() {
@@ -222,7 +198,7 @@ export class BcmTabGroup {
222
198
  "references": {
223
199
  "SizeTypes": {
224
200
  "location": "import",
225
- "path": "../../../models/bcm-types"
201
+ "path": "@bcm/model"
226
202
  }
227
203
  }
228
204
  },
@@ -241,7 +217,7 @@ export class BcmTabGroup {
241
217
  static get events() {
242
218
  return [{
243
219
  "method": "tabChange",
244
- "name": "tabChange",
220
+ "name": "bcm-tab-change",
245
221
  "bubbles": true,
246
222
  "cancelable": true,
247
223
  "composed": true,
@@ -276,10 +252,32 @@ export class BcmTabGroup {
276
252
  "text": "",
277
253
  "tags": []
278
254
  }
255
+ },
256
+ "refresh": {
257
+ "complexType": {
258
+ "signature": "() => Promise<void>",
259
+ "parameters": [],
260
+ "references": {
261
+ "Promise": {
262
+ "location": "global"
263
+ }
264
+ },
265
+ "return": "Promise<void>"
266
+ },
267
+ "docs": {
268
+ "text": "",
269
+ "tags": []
270
+ }
279
271
  }
280
272
  };
281
273
  }
282
274
  static get elementRef() { return "el"; }
275
+ static get watchers() {
276
+ return [{
277
+ "propName": "active",
278
+ "methodName": "activeChanged"
279
+ }];
280
+ }
283
281
  }
284
282
  __decorate([
285
283
  IsLoad()
@@ -0,0 +1,186 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
8
+ r = Reflect.decorate(decorators, target, key, desc);
9
+ else
10
+ for (var i = decorators.length - 1; i >= 0; i--)
11
+ if (d = decorators[i])
12
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ };
15
+ import { IsLoad } from "@bcm/decorator";
16
+ import { Generate } from "@bcm/helpers";
17
+ import { Bcm } from "@bcm/model";
18
+ import { h, Host } from "@stencil/core";
19
+ import cs from "classnames";
20
+ export class BcmTabItemHeader {
21
+ constructor() {
22
+ this._id = Generate.UID();
23
+ this.active = false;
24
+ this.disabled = false;
25
+ this.index = undefined;
26
+ this.color = "blue";
27
+ this.size = Bcm.Size.medium;
28
+ }
29
+ handleClick() {
30
+ var _a;
31
+ if (!this.disabled) {
32
+ (_a = Generate.findParentElement(this.el, "bcm-tab-group")) === null || _a === void 0 ? void 0 : _a.setActive(this.index);
33
+ }
34
+ }
35
+ render() {
36
+ const { color, size, active, disabled } = this;
37
+ let fontSize, padding, gap;
38
+ switch (size) {
39
+ case Bcm.Size.small:
40
+ fontSize = "2";
41
+ padding = "1";
42
+ gap = "2";
43
+ break;
44
+ case Bcm.Size.medium:
45
+ fontSize = "3";
46
+ padding = "2";
47
+ gap = "3";
48
+ break;
49
+ case Bcm.Size.large:
50
+ fontSize = "4";
51
+ padding = "3";
52
+ gap = "4";
53
+ break;
54
+ default:
55
+ fontSize = "3";
56
+ padding = "2";
57
+ gap = "3";
58
+ break;
59
+ }
60
+ const disabledClass = "tw-cursor-not-allowed tw-text-gray-400 tw-opacity-50";
61
+ return (h(Host, { onClick: () => this.handleClick(), class: cs(`tw-text-${fontSize} tw-py-${padding} tw-flex tw-flex-1 tw-items-center tw-justify-center tw-border-b-[2px] tw-border-b-slate-300 tw-transition-font tw-gap-${gap} tw-focus:outline-none tw-mb-${padding}]`, disabled ? disabledClass : "tw-cursor-pointer", active
62
+ ? `tw-text-${color}-500 enabled:hover:tw-text-${color}-600 enabled:active:tw-text-${color}-700 enabled:focus-visible:tw-text-${color}-800`
63
+ : "tw-text-slate-400 enabled:hover:tw-text-slate-500 enabled:focus-visible:tw-text-slate-700 enabled:active:tw-text-slate-600") }));
64
+ }
65
+ static get is() { return "bcm-tab-item-header"; }
66
+ static get properties() {
67
+ return {
68
+ "_id": {
69
+ "type": "string",
70
+ "mutable": true,
71
+ "complexType": {
72
+ "original": "string",
73
+ "resolved": "string",
74
+ "references": {}
75
+ },
76
+ "required": false,
77
+ "optional": false,
78
+ "docs": {
79
+ "tags": [],
80
+ "text": ""
81
+ },
82
+ "attribute": "id",
83
+ "reflect": true,
84
+ "defaultValue": "Generate.UID()"
85
+ },
86
+ "active": {
87
+ "type": "boolean",
88
+ "mutable": true,
89
+ "complexType": {
90
+ "original": "boolean",
91
+ "resolved": "boolean",
92
+ "references": {}
93
+ },
94
+ "required": false,
95
+ "optional": false,
96
+ "docs": {
97
+ "tags": [],
98
+ "text": ""
99
+ },
100
+ "attribute": "active",
101
+ "reflect": true,
102
+ "defaultValue": "false"
103
+ },
104
+ "disabled": {
105
+ "type": "boolean",
106
+ "mutable": false,
107
+ "complexType": {
108
+ "original": "boolean",
109
+ "resolved": "boolean",
110
+ "references": {}
111
+ },
112
+ "required": false,
113
+ "optional": false,
114
+ "docs": {
115
+ "tags": [],
116
+ "text": ""
117
+ },
118
+ "attribute": "disabled",
119
+ "reflect": false,
120
+ "defaultValue": "false"
121
+ },
122
+ "index": {
123
+ "type": "any",
124
+ "mutable": false,
125
+ "complexType": {
126
+ "original": "any",
127
+ "resolved": "any",
128
+ "references": {}
129
+ },
130
+ "required": false,
131
+ "optional": false,
132
+ "docs": {
133
+ "tags": [],
134
+ "text": ""
135
+ },
136
+ "attribute": "index",
137
+ "reflect": false
138
+ },
139
+ "color": {
140
+ "type": "string",
141
+ "mutable": false,
142
+ "complexType": {
143
+ "original": "string",
144
+ "resolved": "string",
145
+ "references": {}
146
+ },
147
+ "required": false,
148
+ "optional": false,
149
+ "docs": {
150
+ "tags": [],
151
+ "text": ""
152
+ },
153
+ "attribute": "color",
154
+ "reflect": false,
155
+ "defaultValue": "\"blue\""
156
+ },
157
+ "size": {
158
+ "type": "string",
159
+ "mutable": false,
160
+ "complexType": {
161
+ "original": "SizeTypes",
162
+ "resolved": "\"large\" | \"medium\" | \"small\"",
163
+ "references": {
164
+ "SizeTypes": {
165
+ "location": "import",
166
+ "path": "@bcm/model"
167
+ }
168
+ }
169
+ },
170
+ "required": false,
171
+ "optional": false,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": ""
175
+ },
176
+ "attribute": "size",
177
+ "reflect": false,
178
+ "defaultValue": "Bcm.Size.medium"
179
+ }
180
+ };
181
+ }
182
+ static get elementRef() { return "el"; }
183
+ }
184
+ __decorate([
185
+ IsLoad()
186
+ ], BcmTabItemHeader.prototype, "el", void 0);
@@ -0,0 +1,161 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
8
+ r = Reflect.decorate(decorators, target, key, desc);
9
+ else
10
+ for (var i = decorators.length - 1; i >= 0; i--)
11
+ if (d = decorators[i])
12
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ };
15
+ import { IsLoad } from "@bcm/decorator";
16
+ import { Generate } from "@bcm/helpers";
17
+ import { h, Host } from "@stencil/core";
18
+ export class BcmTabItem {
19
+ constructor() {
20
+ this._id = Generate.UID();
21
+ this.active = false;
22
+ this.disabled = false;
23
+ this.index = undefined;
24
+ }
25
+ componentWillLoad() {
26
+ this.indexControl();
27
+ }
28
+ componentDidRender() {
29
+ this.headerMove();
30
+ }
31
+ getHeaderItem() {
32
+ const headerItem = this.el.querySelector("bcm-tab-item-header");
33
+ if (headerItem) {
34
+ headerItem.setAttribute("index", `${this.index}`);
35
+ headerItem.setAttribute("active", `${this.active}`);
36
+ headerItem.setAttribute("disabled", `${this.disabled}`);
37
+ headerItem.setAttribute("tab-id", `${this._id}`);
38
+ headerItem.style.order = `${this.index}`;
39
+ }
40
+ return headerItem;
41
+ }
42
+ getParentTabGroup() {
43
+ return Generate.findParentElement(this.el, "bcm-tab-group");
44
+ }
45
+ getFindHeaderItem() {
46
+ var _a, _b;
47
+ return (_b = (_a = this.getParentTabGroup()) === null || _a === void 0 ? void 0 : _a.querySelector("#tab-header")) === null || _b === void 0 ? void 0 : _b.querySelector(`bcm-tab-item-header[tab-id="${this._id}"]`);
48
+ }
49
+ headerMove() {
50
+ var _a, _b, _c, _d;
51
+ if (this.getHeaderItem()) {
52
+ (_a = this.getFindHeaderItem()) === null || _a === void 0 ? void 0 : _a.remove();
53
+ (_c = (_b = this.getParentTabGroup()) === null || _b === void 0 ? void 0 : _b.querySelector("#tab-header")) === null || _c === void 0 ? void 0 : _c.appendChild(this.getHeaderItem());
54
+ (_d = this.el.parentElement) === null || _d === void 0 ? void 0 : _d.refresh();
55
+ }
56
+ }
57
+ indexControl() {
58
+ var _a;
59
+ if (!this.index) {
60
+ (_a = Generate.findParentElement(this.el, "bcm-tab-group")) === null || _a === void 0 ? void 0 : _a.querySelectorAll("bcm-tab-item").forEach((item, index) => {
61
+ if (item === this.el) {
62
+ item.setAttribute("index", `${index + 1}`);
63
+ }
64
+ });
65
+ }
66
+ }
67
+ componentDidLoad() {
68
+ const observer = new MutationObserver(() => {
69
+ this.headerMove();
70
+ });
71
+ observer.observe(this.el, { childList: true, subtree: true });
72
+ }
73
+ render() {
74
+ return (h(Host, { id: this._id, role: "tabpanel", "aria-labelledby": `tab-${this._id}`, "aria-hidden": `${!this.active}`, class: {
75
+ "tw-block": this.active,
76
+ "tw-hidden": !this.active,
77
+ "tw-opacity-50": this.disabled,
78
+ "tw-w-full": true,
79
+ } }, h("slot", null)));
80
+ }
81
+ static get is() { return "bcm-tab-item"; }
82
+ static get properties() {
83
+ return {
84
+ "_id": {
85
+ "type": "string",
86
+ "mutable": true,
87
+ "complexType": {
88
+ "original": "string",
89
+ "resolved": "string",
90
+ "references": {}
91
+ },
92
+ "required": false,
93
+ "optional": false,
94
+ "docs": {
95
+ "tags": [],
96
+ "text": ""
97
+ },
98
+ "attribute": "id",
99
+ "reflect": true,
100
+ "defaultValue": "Generate.UID()"
101
+ },
102
+ "active": {
103
+ "type": "boolean",
104
+ "mutable": true,
105
+ "complexType": {
106
+ "original": "boolean",
107
+ "resolved": "boolean",
108
+ "references": {}
109
+ },
110
+ "required": false,
111
+ "optional": false,
112
+ "docs": {
113
+ "tags": [],
114
+ "text": ""
115
+ },
116
+ "attribute": "active",
117
+ "reflect": true,
118
+ "defaultValue": "false"
119
+ },
120
+ "disabled": {
121
+ "type": "boolean",
122
+ "mutable": false,
123
+ "complexType": {
124
+ "original": "boolean",
125
+ "resolved": "boolean",
126
+ "references": {}
127
+ },
128
+ "required": false,
129
+ "optional": false,
130
+ "docs": {
131
+ "tags": [],
132
+ "text": ""
133
+ },
134
+ "attribute": "disabled",
135
+ "reflect": false,
136
+ "defaultValue": "false"
137
+ },
138
+ "index": {
139
+ "type": "any",
140
+ "mutable": false,
141
+ "complexType": {
142
+ "original": "any",
143
+ "resolved": "any",
144
+ "references": {}
145
+ },
146
+ "required": false,
147
+ "optional": false,
148
+ "docs": {
149
+ "tags": [],
150
+ "text": ""
151
+ },
152
+ "attribute": "index",
153
+ "reflect": false
154
+ }
155
+ };
156
+ }
157
+ static get elementRef() { return "el"; }
158
+ }
159
+ __decorate([
160
+ IsLoad()
161
+ ], BcmTabItem.prototype, "el", void 0);