@brandsync/wc 0.0.10 → 0.0.12

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 (300) hide show
  1. package/custom-elements.json +3584 -508
  2. package/dist/brandsync-wc/brandsync-wc.css +20 -0
  3. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  4. package/dist/brandsync-wc/{p-b1e1b2d6.entry.js → p-09aa03d1.entry.js} +1 -1
  5. package/dist/brandsync-wc/p-0eee5477.entry.js +1 -0
  6. package/dist/brandsync-wc/p-0fa017ce.entry.js +1 -0
  7. package/dist/brandsync-wc/p-12ec9e92.entry.js +1 -0
  8. package/dist/brandsync-wc/{p-3dacae70.entry.js → p-1900f6ce.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-575ce905.entry.js → p-1adc59be.entry.js} +1 -1
  10. package/dist/brandsync-wc/p-1c6fa697.entry.js +1 -0
  11. package/dist/brandsync-wc/{p-dd747a12.entry.js → p-1cf715aa.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-8a78d6ea.entry.js → p-20dbc6a1.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-a34f460d.entry.js → p-23457a21.entry.js} +1 -1
  14. package/dist/brandsync-wc/p-266f5dde.entry.js +1 -0
  15. package/dist/brandsync-wc/p-2a65aabb.entry.js +1 -0
  16. package/dist/brandsync-wc/{p-8d12ed96.entry.js → p-2c51d738.entry.js} +1 -1
  17. package/dist/brandsync-wc/p-3b31f7c7.entry.js +1 -0
  18. package/dist/brandsync-wc/p-46ddc8e1.entry.js +1 -0
  19. package/dist/brandsync-wc/p-56c66448.entry.js +1 -0
  20. package/dist/brandsync-wc/{p-18af02df.entry.js → p-57fdbb76.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-7776b57b.entry.js → p-64e2a7d7.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-805644e4.entry.js → p-6e854e92.entry.js} +1 -1
  23. package/dist/brandsync-wc/p-72a33f88.entry.js +1 -0
  24. package/dist/brandsync-wc/p-8049f9f2.entry.js +1 -0
  25. package/dist/brandsync-wc/{p-d682675e.entry.js → p-88a0abee.entry.js} +1 -1
  26. package/dist/brandsync-wc/p-8b662ee3.entry.js +1 -0
  27. package/dist/brandsync-wc/{p-94ed898a.entry.js → p-8ded1eb6.entry.js} +1 -1
  28. package/dist/brandsync-wc/{p-nLORuTUY.js → p-DST5-cTx.js} +2 -2
  29. package/dist/brandsync-wc/p-a5b15061.entry.js +1 -0
  30. package/dist/brandsync-wc/{p-30a0e168.entry.js → p-aba300a9.entry.js} +1 -1
  31. package/dist/brandsync-wc/p-b24a980b.entry.js +1 -0
  32. package/dist/brandsync-wc/{p-96f374be.entry.js → p-b289450a.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-880ea3f8.entry.js → p-b8a2f882.entry.js} +1 -1
  34. package/dist/brandsync-wc/p-c320b6b4.entry.js +1 -0
  35. package/dist/brandsync-wc/{p-1515498e.entry.js → p-d4e3ca77.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-ce0914a7.entry.js → p-dd09d335.entry.js} +1 -1
  37. package/dist/brandsync-wc/p-ef8522b5.entry.js +1 -0
  38. package/dist/brandsync-wc/p-f04db1b0.entry.js +1 -0
  39. package/dist/cjs/brandsync-wc.cjs.js +2 -2
  40. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +3 -2
  41. package/dist/cjs/bs-ai-greeting.cjs.entry.js +2 -2
  42. package/dist/cjs/bs-ai-thinking.cjs.entry.js +2 -2
  43. package/dist/cjs/bs-attachment-list.cjs.entry.js +2 -2
  44. package/dist/cjs/bs-attachment.cjs.entry.js +3 -3
  45. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  46. package/dist/cjs/bs-button-skeleton.cjs.entry.js +2 -2
  47. package/dist/cjs/bs-button.cjs.entry.js +3 -3
  48. package/dist/cjs/bs-card.cjs.entry.js +1 -1
  49. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +2 -2
  50. package/dist/cjs/bs-chatbot-header.cjs.entry.js +2 -2
  51. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +2 -2
  52. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +2 -2
  53. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +2 -2
  54. package/dist/cjs/bs-checkbox.cjs.entry.js +94 -0
  55. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +14 -2
  56. package/dist/cjs/bs-composer.cjs.entry.js +37 -4
  57. package/dist/cjs/bs-data-table.cjs.entry.js +3 -3
  58. package/dist/cjs/bs-icon-button.cjs.entry.js +40 -0
  59. package/dist/cjs/bs-inline-tab.cjs.entry.js +69 -0
  60. package/dist/cjs/bs-input.cjs.entry.js +3 -3
  61. package/dist/cjs/bs-logo.cjs.entry.js +165 -0
  62. package/dist/cjs/bs-menu_2.cjs.entry.js +3 -3
  63. package/dist/cjs/bs-modal.cjs.entry.js +1 -1
  64. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +104 -0
  65. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +81 -0
  66. package/dist/cjs/bs-navigation-header.cjs.entry.js +44 -0
  67. package/dist/cjs/bs-radio.cjs.entry.js +49 -0
  68. package/dist/cjs/bs-slider.cjs.entry.js +191 -0
  69. package/dist/cjs/bs-source-link.cjs.entry.js +3 -3
  70. package/dist/cjs/bs-switch.cjs.entry.js +57 -0
  71. package/dist/cjs/bs-tab.cjs.entry.js +80 -0
  72. package/dist/cjs/bs-tabs.cjs.entry.js +39 -0
  73. package/dist/cjs/bs-tooltip.cjs.entry.js +2 -2
  74. package/dist/cjs/{index-CVh-sqA_.js → index-B3sdhEGk.js} +74 -2
  75. package/dist/cjs/loader.cjs.js +2 -2
  76. package/dist/collection/collection-manifest.json +14 -2
  77. package/dist/collection/components/bs-ai-chatbot/bs-ai-chatbot.stories.js +26 -11
  78. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +2 -1
  79. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  80. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  81. package/dist/collection/components/bs-attachment/bs-attachment.css +12 -33
  82. package/dist/collection/components/bs-attachment/bs-attachment.js +4 -10
  83. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  84. package/dist/collection/components/bs-button/{bs-button.cmp.test.js → bs-button/bs-button.cmp.test.js} +26 -0
  85. package/dist/collection/components/bs-button/{bs-button.css → bs-button/bs-button.css} +57 -6
  86. package/dist/collection/components/bs-button/{bs-button.js → bs-button/bs-button.js} +10 -5
  87. package/dist/collection/components/bs-button/{bs-button.stories.js → bs-button/bs-button.stories.js} +2 -27
  88. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +83 -0
  89. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.css +346 -0
  90. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +185 -0
  91. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.stories.js +74 -0
  92. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +3 -3
  93. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  94. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  95. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  96. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  97. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  98. package/dist/collection/components/bs-checkbox/bs-checkbox.cmp.test.js +117 -0
  99. package/dist/collection/components/bs-checkbox/bs-checkbox.css +199 -0
  100. package/dist/collection/components/bs-checkbox/bs-checkbox.js +265 -0
  101. package/dist/collection/components/bs-checkbox/bs-checkbox.stories.js +65 -0
  102. package/dist/collection/components/bs-composer/bs-composer.cmp.test.js +48 -7
  103. package/dist/collection/components/bs-composer/bs-composer.css +15 -0
  104. package/dist/collection/components/bs-composer/bs-composer.js +38 -4
  105. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.cmp.test.js +47 -1
  106. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +20 -1
  107. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  108. package/dist/collection/components/bs-input/bs-input.js +2 -2
  109. package/dist/collection/components/bs-logo/brandsync-logo-full-dark.js +44 -0
  110. package/dist/collection/components/bs-logo/brandsync-logo-full-light.js +40 -0
  111. package/dist/collection/components/bs-logo/brandsync-logo-mark.js +17 -0
  112. package/dist/collection/components/bs-logo/bs-logo.cmp.test.js +113 -0
  113. package/dist/collection/components/bs-logo/bs-logo.css +79 -0
  114. package/dist/collection/components/bs-logo/bs-logo.js +193 -0
  115. package/dist/collection/components/bs-logo/bs-logo.stories.js +69 -0
  116. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  117. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  118. package/dist/collection/components/bs-radio/bs-radio.cmp.test.js +76 -0
  119. package/dist/collection/components/bs-radio/bs-radio.css +164 -0
  120. package/dist/collection/components/bs-radio/bs-radio.js +170 -0
  121. package/dist/collection/components/bs-radio/bs-radio.stories.js +56 -0
  122. package/dist/collection/components/bs-slider/bs-slider.cmp.test.js +139 -0
  123. package/dist/collection/components/bs-slider/bs-slider.css +409 -0
  124. package/dist/collection/components/bs-slider/bs-slider.js +499 -0
  125. package/dist/collection/components/bs-slider/bs-slider.stories.js +70 -0
  126. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  127. package/dist/collection/components/bs-switch/bs-switch.cmp.test.js +71 -0
  128. package/dist/collection/components/bs-switch/bs-switch.css +196 -0
  129. package/dist/collection/components/bs-switch/bs-switch.js +185 -0
  130. package/dist/collection/components/bs-switch/bs-switch.stories.js +60 -0
  131. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.cmp.test.js +104 -0
  132. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.css +163 -0
  133. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +192 -0
  134. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.js +95 -0
  135. package/dist/collection/components/bs-tab/bs-tab/bs-tab.cmp.test.js +120 -0
  136. package/dist/collection/components/bs-tab/bs-tab/bs-tab.css +216 -0
  137. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +232 -0
  138. package/dist/collection/components/bs-tab/bs-tab/bs-tab.stories.js +138 -0
  139. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.cmp.test.js +61 -0
  140. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.css +39 -0
  141. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +133 -0
  142. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.stories.js +39 -0
  143. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  144. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.js +131 -0
  145. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.css +257 -0
  146. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +253 -0
  147. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.js +202 -0
  148. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.cmp.test.js +172 -0
  149. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.css +325 -0
  150. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +314 -0
  151. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.stories.js +78 -0
  152. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +77 -0
  153. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +106 -0
  154. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +188 -0
  155. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.js +189 -0
  156. package/dist/components/bs-ai-disclaimer.js +1 -1
  157. package/dist/components/bs-ai-greeting.js +1 -1
  158. package/dist/components/bs-ai-thinking.js +1 -1
  159. package/dist/components/bs-attachment-list.js +1 -1
  160. package/dist/components/bs-attachment.js +1 -1
  161. package/dist/components/bs-badge.js +1 -1
  162. package/dist/components/bs-button-skeleton.js +1 -1
  163. package/dist/components/bs-button.js +1 -1
  164. package/dist/components/bs-card.js +1 -1
  165. package/dist/components/bs-chatbot-feedback.js +1 -1
  166. package/dist/components/bs-chatbot-header.js +1 -1
  167. package/dist/components/bs-chatbot-response-action.js +1 -1
  168. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  169. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  170. package/dist/components/bs-checkbox.d.ts +11 -0
  171. package/dist/components/bs-checkbox.js +1 -0
  172. package/dist/components/bs-composer-status-banner.js +1 -1
  173. package/dist/components/bs-composer.js +1 -1
  174. package/dist/components/bs-data-table.js +1 -1
  175. package/dist/components/bs-icon-button.d.ts +11 -0
  176. package/dist/components/bs-icon-button.js +1 -0
  177. package/dist/components/bs-inline-tab.d.ts +11 -0
  178. package/dist/components/bs-inline-tab.js +1 -0
  179. package/dist/components/bs-input.js +1 -1
  180. package/dist/components/bs-logo.d.ts +11 -0
  181. package/dist/components/bs-logo.js +1 -0
  182. package/dist/components/bs-menu-item.js +1 -1
  183. package/dist/components/bs-menu.js +1 -1
  184. package/dist/components/bs-modal.js +1 -1
  185. package/dist/components/bs-navigation-drawer-item.d.ts +11 -0
  186. package/dist/components/bs-navigation-drawer-item.js +1 -0
  187. package/dist/components/bs-navigation-drawer.d.ts +11 -0
  188. package/dist/components/bs-navigation-drawer.js +1 -0
  189. package/dist/components/bs-navigation-header.d.ts +11 -0
  190. package/dist/components/bs-navigation-header.js +1 -0
  191. package/dist/components/bs-radio.d.ts +11 -0
  192. package/dist/components/bs-radio.js +1 -0
  193. package/dist/components/bs-slider.d.ts +11 -0
  194. package/dist/components/bs-slider.js +1 -0
  195. package/dist/components/bs-source-link.js +1 -1
  196. package/dist/components/bs-switch.d.ts +11 -0
  197. package/dist/components/bs-switch.js +1 -0
  198. package/dist/components/bs-tab.d.ts +11 -0
  199. package/dist/components/bs-tab.js +1 -0
  200. package/dist/components/bs-tabs.d.ts +11 -0
  201. package/dist/components/bs-tabs.js +1 -0
  202. package/dist/components/bs-tooltip.js +1 -1
  203. package/dist/components/index.js +1 -1
  204. package/dist/components/p-BAOJc0V0.js +1 -0
  205. package/dist/components/{p-BpvhHQSw.js → p-Be1Pfcnm.js} +1 -1
  206. package/dist/components/{p-Cz2nfz2j.js → p-BqYyMGrB.js} +1 -1
  207. package/dist/components/p-CaWqTQBZ.js +1 -0
  208. package/dist/components/{p-DndQiCMP.js → p-DivZLd6i.js} +1 -1
  209. package/dist/components/{p-DHbUF0g6.js → p-xfx69LQx.js} +1 -1
  210. package/dist/esm/brandsync-wc.js +3 -3
  211. package/dist/esm/bs-ai-disclaimer.entry.js +3 -2
  212. package/dist/esm/bs-ai-greeting.entry.js +2 -2
  213. package/dist/esm/bs-ai-thinking.entry.js +2 -2
  214. package/dist/esm/bs-attachment-list.entry.js +2 -2
  215. package/dist/esm/bs-attachment.entry.js +3 -3
  216. package/dist/esm/bs-badge.entry.js +1 -1
  217. package/dist/esm/bs-button-skeleton.entry.js +2 -2
  218. package/dist/esm/bs-button.entry.js +3 -3
  219. package/dist/esm/bs-card.entry.js +1 -1
  220. package/dist/esm/bs-chatbot-feedback.entry.js +2 -2
  221. package/dist/esm/bs-chatbot-header.entry.js +2 -2
  222. package/dist/esm/bs-chatbot-response-action.entry.js +2 -2
  223. package/dist/esm/bs-chatbot-sources-drawer.entry.js +2 -2
  224. package/dist/esm/bs-chatbot-suggestion-button.entry.js +2 -2
  225. package/dist/esm/bs-checkbox.entry.js +92 -0
  226. package/dist/esm/bs-composer-status-banner.entry.js +14 -2
  227. package/dist/esm/bs-composer.entry.js +37 -4
  228. package/dist/esm/bs-data-table.entry.js +3 -3
  229. package/dist/esm/bs-icon-button.entry.js +38 -0
  230. package/dist/esm/bs-inline-tab.entry.js +67 -0
  231. package/dist/esm/bs-input.entry.js +3 -3
  232. package/dist/esm/bs-logo.entry.js +163 -0
  233. package/dist/esm/bs-menu_2.entry.js +3 -3
  234. package/dist/esm/bs-modal.entry.js +1 -1
  235. package/dist/esm/bs-navigation-drawer-item.entry.js +102 -0
  236. package/dist/esm/bs-navigation-drawer.entry.js +79 -0
  237. package/dist/esm/bs-navigation-header.entry.js +42 -0
  238. package/dist/esm/bs-radio.entry.js +47 -0
  239. package/dist/esm/bs-slider.entry.js +189 -0
  240. package/dist/esm/bs-source-link.entry.js +3 -3
  241. package/dist/esm/bs-switch.entry.js +55 -0
  242. package/dist/esm/bs-tab.entry.js +78 -0
  243. package/dist/esm/bs-tabs.entry.js +37 -0
  244. package/dist/esm/bs-tooltip.entry.js +2 -2
  245. package/dist/esm/{index-nLORuTUY.js → index-DST5-cTx.js} +74 -2
  246. package/dist/esm/loader.js +3 -3
  247. package/dist/types/components/bs-attachment/bs-attachment.d.ts +3 -9
  248. package/dist/types/components/bs-button/{bs-button.d.ts → bs-button/bs-button.d.ts} +5 -0
  249. package/dist/types/components/bs-button/{bs-button.stories.d.ts → bs-button/bs-button.stories.d.ts} +0 -2
  250. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.d.ts +1 -0
  251. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +51 -0
  252. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.stories.d.ts +16 -0
  253. package/dist/types/components/bs-button-skeleton/bs-button-skeleton.d.ts +1 -1
  254. package/dist/types/components/bs-button-skeleton/bs-button-skeleton.stories.d.ts +1 -1
  255. package/dist/types/components/bs-checkbox/bs-checkbox.cmp.test.d.ts +1 -0
  256. package/dist/types/components/bs-checkbox/bs-checkbox.d.ts +64 -0
  257. package/dist/types/components/bs-checkbox/bs-checkbox.stories.d.ts +23 -0
  258. package/dist/types/components/bs-composer/bs-composer.d.ts +26 -2
  259. package/dist/types/components/bs-composer-status-banner/bs-composer-status-banner.d.ts +14 -0
  260. package/dist/types/components/bs-logo/brandsync-logo-full-dark.d.ts +1 -0
  261. package/dist/types/components/bs-logo/brandsync-logo-full-light.d.ts +1 -0
  262. package/dist/types/components/bs-logo/brandsync-logo-mark.d.ts +1 -0
  263. package/dist/types/components/bs-logo/bs-logo.cmp.test.d.ts +1 -0
  264. package/dist/types/components/bs-logo/bs-logo.d.ts +73 -0
  265. package/dist/types/components/bs-logo/bs-logo.stories.d.ts +17 -0
  266. package/dist/types/components/bs-radio/bs-radio.cmp.test.d.ts +1 -0
  267. package/dist/types/components/bs-radio/bs-radio.d.ts +45 -0
  268. package/dist/types/components/bs-radio/bs-radio.stories.d.ts +16 -0
  269. package/dist/types/components/bs-slider/bs-slider.cmp.test.d.ts +1 -0
  270. package/dist/types/components/bs-slider/bs-slider.d.ts +109 -0
  271. package/dist/types/components/bs-slider/bs-slider.stories.d.ts +24 -0
  272. package/dist/types/components/bs-switch/bs-switch.cmp.test.d.ts +1 -0
  273. package/dist/types/components/bs-switch/bs-switch.d.ts +45 -0
  274. package/dist/types/components/bs-switch/bs-switch.stories.d.ts +17 -0
  275. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.cmp.test.d.ts +1 -0
  276. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.d.ts +65 -0
  277. package/dist/types/components/bs-tab/bs-inline-tab/bs-inline-tab.stories.d.ts +22 -0
  278. package/dist/types/components/bs-tab/bs-tab/bs-tab.cmp.test.d.ts +1 -0
  279. package/dist/types/components/bs-tab/bs-tab/bs-tab.d.ts +74 -0
  280. package/dist/types/components/bs-tab/bs-tab/bs-tab.stories.d.ts +30 -0
  281. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.cmp.test.d.ts +1 -0
  282. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.d.ts +45 -0
  283. package/dist/types/components/bs-tab/bs-tabs/bs-tabs.stories.d.ts +13 -0
  284. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.cmp.test.d.ts +1 -0
  285. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.d.ts +96 -0
  286. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.stories.d.ts +16 -0
  287. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.cmp.test.d.ts +1 -0
  288. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.d.ts +103 -0
  289. package/dist/types/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.stories.d.ts +20 -0
  290. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.d.ts +1 -0
  291. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.d.ts +60 -0
  292. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.stories.d.ts +21 -0
  293. package/dist/types/components.d.ts +1973 -49
  294. package/package.json +1 -1
  295. package/dist/brandsync-wc/p-0d64ea40.entry.js +0 -1
  296. package/dist/brandsync-wc/p-16a54578.entry.js +0 -1
  297. package/dist/brandsync-wc/p-bc72439a.entry.js +0 -1
  298. package/dist/brandsync-wc/p-dad4a92c.entry.js +0 -1
  299. package/dist/brandsync-wc/p-eb4d87f0.entry.js +0 -1
  300. /package/dist/types/components/bs-button/{bs-button.cmp.test.d.ts → bs-button/bs-button.cmp.test.d.ts} +0 -0
@@ -0,0 +1,346 @@
1
+ /**
2
+ * @prop --bs-icon-button-radius: Corner radius, size="sm"/"md"/"lg". Aliased to --bs-border-radius-100.
3
+ * @prop --bs-icon-button-radius-xs: Corner radius, size="xs" -- a smaller radius than --bs-icon-button-radius, since --bs-border-radius-100 (8px) on a 16px box would look nearly circular. Aliased to --bs-border-radius-50.
4
+ * @prop --bs-icon-button-size-xs: Container width/height at size="xs". 16px.
5
+ * @prop --bs-icon-button-icon-size-xs: Slotted icon width/height at size="xs". 8px.
6
+ * @prop --bs-icon-button-padding-xs: Padding on all sides, size="xs" only -- distinct from --bs-icon-button-padding, since 16px/8px icon math (4px) differs from the sm/md/lg constant (12px). Aliased to --bs-spacing-50.
7
+ * @prop --bs-icon-button-size-sm: Container width/height at size="sm". 40px.
8
+ * @prop --bs-icon-button-size-md: Container width/height at size="md". 44px.
9
+ * @prop --bs-icon-button-size-lg: Container width/height at size="lg". 48px.
10
+ * @prop --bs-icon-button-icon-size-sm: Slotted icon width/height at size="sm". 16px.
11
+ * @prop --bs-icon-button-icon-size-md: Slotted icon width/height at size="md". 20px.
12
+ * @prop --bs-icon-button-icon-size-lg: Slotted icon width/height at size="lg". 24px.
13
+ * @prop --bs-icon-button-padding: Padding on all sides, all sizes (constant -- centers the icon
14
+ * inside the container at every size). Aliased to --bs-spacing-150.
15
+ * @prop --bs-icon-button-primary-default: Background, variant="primary", default. Aliased to --bs-color-primary-default.
16
+ * @prop --bs-icon-button-primary-hover: Background, variant="primary", hover. Aliased to --bs-color-primary-hover.
17
+ * @prop --bs-icon-button-primary-pressed: Background, variant="primary", pressed. Aliased to --bs-color-primary-pressed.
18
+ * @prop --bs-icon-button-primary-disabled: Background, variant="primary", disabled. Aliased to --bs-surface-action-disabled.
19
+ * @prop --bs-icon-button-neutral-container: Background, variant="neutral", default/disabled. Aliased to --bs-color-neutral-container.
20
+ * @prop --bs-icon-button-neutral-hover: Background, variant="neutral", hover. Aliased to --bs-color-neutral-container-hover.
21
+ * @prop --bs-icon-button-neutral-pressed: Background, variant="neutral", pressed. Aliased to --bs-color-neutral-container-pressed.
22
+ * @prop --bs-icon-button-neutral-border: Border color, variant="neutral", default/disabled. Aliased to --bs-border-neutral-container.
23
+ * @prop --bs-icon-button-neutral-border-hover: Border color, variant="neutral", hover. Aliased to --bs-border-neutral-container-hover.
24
+ * @prop --bs-icon-button-neutral-border-pressed: Border color, variant="neutral", pressed. Aliased to --bs-border-neutral-container-pressed.
25
+ * @prop --bs-icon-button-subtle-hover: Background, variant="subtle", hover. Aliased to --bs-color-neutral-container.
26
+ * @prop --bs-icon-button-subtle-pressed: Background, variant="subtle", pressed. Aliased to --bs-color-neutral-container-pressed.
27
+ * @prop --bs-icon-button-subtle-focus: Focus ring color, variant="subtle". Aliased to --bs-border-primary-focus.
28
+ * @prop --bs-icon-button-outlined-border: Border color, variant="outlined", default. Aliased to --bs-border-primary.
29
+ * @prop --bs-icon-button-outlined-border-hover: Border color, variant="outlined", hover/pressed. Aliased to --bs-border-primary-hover.
30
+ * @prop --bs-icon-button-outlined-container: Background, variant="outlined", hover/pressed. Aliased to --bs-color-primary-container.
31
+ * @prop --bs-icon-button-outlined-focus: Focus ring color, variant="outlined". Aliased to --bs-border-primary-focus.
32
+ * @prop --bs-icon-button-success-default: Background, variant="success", default. Aliased to --bs-color-success-default.
33
+ * @prop --bs-icon-button-success-hover: Background, variant="success", hover. Aliased to --bs-color-success-hover.
34
+ * @prop --bs-icon-button-success-pressed: Background, variant="success", pressed. Aliased to --bs-color-success-pressed.
35
+ * @prop --bs-icon-button-success-disabled: Background, variant="success", disabled. Aliased to --bs-surface-action-disabled.
36
+ * @prop --bs-icon-button-success-focus: Focus ring color, variant="success". Aliased to --bs-border-success-focus.
37
+ * @prop --bs-icon-button-warning-default: Background, variant="warning", default. Aliased to --bs-color-warning-default.
38
+ * @prop --bs-icon-button-warning-hover: Background, variant="warning", hover. Aliased to --bs-color-warning-hover.
39
+ * @prop --bs-icon-button-warning-pressed: Background, variant="warning", pressed. Aliased to --bs-color-warning-pressed.
40
+ * @prop --bs-icon-button-warning-disabled: Background, variant="warning", disabled. Aliased to --bs-surface-action-disabled.
41
+ * @prop --bs-icon-button-warning-focus: Focus ring color, variant="warning". Aliased to --bs-border-warning-focus.
42
+ * @prop --bs-icon-button-info-default: Background, variant="info", default. Aliased to --bs-color-info-default.
43
+ * @prop --bs-icon-button-info-hover: Background, variant="info", hover. Aliased to --bs-color-info-hover.
44
+ * @prop --bs-icon-button-info-pressed: Background, variant="info", pressed. Aliased to --bs-color-info-pressed.
45
+ * @prop --bs-icon-button-info-disabled: Background, variant="info", disabled. Aliased to --bs-surface-action-disabled.
46
+ * @prop --bs-icon-button-info-focus: Focus ring color, variant="info". Aliased to --bs-border-info-focus.
47
+ * @prop --bs-icon-button-error-default: Background, variant="error", default. Aliased to --bs-color-error-default.
48
+ * @prop --bs-icon-button-error-hover: Background, variant="error", hover. Aliased to --bs-color-error-hover.
49
+ * @prop --bs-icon-button-error-pressed: Background, variant="error", pressed. Aliased to --bs-color-error-pressed.
50
+ * @prop --bs-icon-button-error-disabled: Background, variant="error", disabled. Aliased to --bs-surface-action-disabled.
51
+ * @prop --bs-icon-button-error-focus: Focus ring color, variant="error". Aliased to --bs-border-error-focus.
52
+ */
53
+ :host {
54
+ display: inline-block;
55
+
56
+ --bs-icon-button-radius: var(--bs-border-radius-100);
57
+ /* Confirmed against Figma node 10365:55161: Large is 48x48 with a 24x24 icon, Medium is 44x44
58
+ with a 20x20 icon, Small is 40x40 with a 16x16 icon -- (container - icon) / 2 is 12px in all
59
+ three cases, matching the one concrete Figma data point (spacing/150, 12px padding on the
60
+ Large size) exactly, so padding is a single constant across all sizes. */
61
+ --bs-icon-button-size-sm: 40px;
62
+ --bs-icon-button-size-md: 44px;
63
+ --bs-icon-button-size-lg: 48px;
64
+ --bs-icon-button-icon-size-sm: 16px;
65
+ --bs-icon-button-icon-size-md: 20px;
66
+ --bs-icon-button-icon-size-lg: 24px;
67
+ --bs-icon-button-padding: var(--bs-spacing-150);
68
+
69
+ /* "Extra small" is a separate, much smaller tier (chip/tag "remove" controls) verified against a
70
+ different Figma redline (EG BrandSync UI Kit v1.5, node 20731:18427) -- 16px container, 8px
71
+ icon, 4px padding ((16-8)/2), matching --bs-spacing-50 exactly. Its own radius is smaller than
72
+ --bs-icon-button-radius (8px), which would look nearly circular on a 16px box. */
73
+ --bs-icon-button-radius-xs: var(--bs-border-radius-50);
74
+ --bs-icon-button-size-xs: 16px;
75
+ --bs-icon-button-icon-size-xs: 8px;
76
+ --bs-icon-button-padding-xs: var(--bs-spacing-50);
77
+
78
+ --bs-icon-button-primary-default: var(--bs-color-primary-default);
79
+ --bs-icon-button-primary-hover: var(--bs-color-primary-hover);
80
+ --bs-icon-button-primary-pressed: var(--bs-color-primary-pressed);
81
+ --bs-icon-button-primary-disabled: var(--bs-surface-action-disabled);
82
+
83
+ /* Same corrected pattern already applied to bs-button--neutral: a 1px border using the
84
+ neutral-container border family (not the plain --bs-border-neutral-hover/-active tokens),
85
+ and hover/pressed backgrounds from --bs-color-neutral-container-hover/-pressed. */
86
+ --bs-icon-button-neutral-container: var(--bs-color-neutral-container);
87
+ --bs-icon-button-neutral-hover: var(--bs-color-neutral-container-hover);
88
+ --bs-icon-button-neutral-pressed: var(--bs-color-neutral-container-pressed);
89
+ --bs-icon-button-neutral-border: var(--bs-border-neutral-container);
90
+ --bs-icon-button-neutral-border-hover: var(--bs-border-neutral-container-hover);
91
+ --bs-icon-button-neutral-border-pressed: var(--bs-border-neutral-container-pressed);
92
+
93
+ --bs-icon-button-subtle-hover: var(--bs-color-neutral-container);
94
+ --bs-icon-button-subtle-pressed: var(--bs-color-neutral-container-pressed);
95
+ --bs-icon-button-subtle-focus: var(--bs-border-primary-focus);
96
+
97
+ --bs-icon-button-outlined-border: var(--bs-border-primary);
98
+ --bs-icon-button-outlined-border-hover: var(--bs-border-primary-hover);
99
+ --bs-icon-button-outlined-container: var(--bs-color-primary-container);
100
+ --bs-icon-button-outlined-focus: var(--bs-border-primary-focus);
101
+
102
+ --bs-icon-button-success-default: var(--bs-color-success-default);
103
+ --bs-icon-button-success-hover: var(--bs-color-success-hover);
104
+ --bs-icon-button-success-pressed: var(--bs-color-success-pressed);
105
+ --bs-icon-button-success-disabled: var(--bs-surface-action-disabled);
106
+ --bs-icon-button-success-focus: var(--bs-border-success-focus);
107
+
108
+ --bs-icon-button-warning-default: var(--bs-color-warning-default);
109
+ --bs-icon-button-warning-hover: var(--bs-color-warning-hover);
110
+ --bs-icon-button-warning-pressed: var(--bs-color-warning-pressed);
111
+ --bs-icon-button-warning-disabled: var(--bs-surface-action-disabled);
112
+ --bs-icon-button-warning-focus: var(--bs-border-warning-focus);
113
+
114
+ --bs-icon-button-info-default: var(--bs-color-info-default);
115
+ --bs-icon-button-info-hover: var(--bs-color-info-hover);
116
+ --bs-icon-button-info-pressed: var(--bs-color-info-pressed);
117
+ --bs-icon-button-info-disabled: var(--bs-surface-action-disabled);
118
+ --bs-icon-button-info-focus: var(--bs-border-info-focus);
119
+
120
+ --bs-icon-button-error-default: var(--bs-color-error-default);
121
+ --bs-icon-button-error-hover: var(--bs-color-error-hover);
122
+ --bs-icon-button-error-pressed: var(--bs-color-error-pressed);
123
+ --bs-icon-button-error-disabled: var(--bs-surface-action-disabled);
124
+ --bs-icon-button-error-focus: var(--bs-border-error-focus);
125
+ }
126
+
127
+ .bs-icon-button {
128
+ display: inline-flex;
129
+ align-items: center;
130
+ justify-content: center;
131
+ box-sizing: border-box;
132
+ border: none;
133
+ border-radius: var(--bs-icon-button-radius);
134
+ padding: var(--bs-icon-button-padding);
135
+ cursor: pointer;
136
+ transition: background-color var(--bs-duration-fast, 120ms) var(--bs-easing-standard, ease);
137
+ }
138
+
139
+ .bs-icon-button:focus-visible {
140
+ outline: 2px solid var(--bs-border-neutral-focus);
141
+ outline-offset: 2px;
142
+ }
143
+
144
+ .bs-icon-button:disabled {
145
+ cursor: not-allowed;
146
+ }
147
+
148
+ .bs-icon-button--xs {
149
+ width: var(--bs-icon-button-size-xs);
150
+ height: var(--bs-icon-button-size-xs);
151
+ padding: var(--bs-icon-button-padding-xs);
152
+ border-radius: var(--bs-icon-button-radius-xs);
153
+ }
154
+ .bs-icon-button--xs .bs-icon-button__icon {
155
+ width: var(--bs-icon-button-icon-size-xs);
156
+ height: var(--bs-icon-button-icon-size-xs);
157
+ }
158
+
159
+ .bs-icon-button--sm {
160
+ width: var(--bs-icon-button-size-sm);
161
+ height: var(--bs-icon-button-size-sm);
162
+ }
163
+ .bs-icon-button--sm .bs-icon-button__icon {
164
+ width: var(--bs-icon-button-icon-size-sm);
165
+ height: var(--bs-icon-button-icon-size-sm);
166
+ }
167
+
168
+ .bs-icon-button--md {
169
+ width: var(--bs-icon-button-size-md);
170
+ height: var(--bs-icon-button-size-md);
171
+ }
172
+ .bs-icon-button--md .bs-icon-button__icon {
173
+ width: var(--bs-icon-button-icon-size-md);
174
+ height: var(--bs-icon-button-icon-size-md);
175
+ }
176
+
177
+ .bs-icon-button--lg {
178
+ width: var(--bs-icon-button-size-lg);
179
+ height: var(--bs-icon-button-size-lg);
180
+ }
181
+ .bs-icon-button--lg .bs-icon-button__icon {
182
+ width: var(--bs-icon-button-icon-size-lg);
183
+ height: var(--bs-icon-button-icon-size-lg);
184
+ }
185
+
186
+ .bs-icon-button__icon {
187
+ display: inline-flex;
188
+ align-items: center;
189
+ justify-content: center;
190
+ color: inherit;
191
+ }
192
+
193
+ .bs-icon-button__icon ::slotted(*) {
194
+ display: block;
195
+ width: 100%;
196
+ height: 100%;
197
+ }
198
+
199
+ .bs-icon-button--primary {
200
+ background: var(--bs-icon-button-primary-default);
201
+ color: var(--bs-text-on-action);
202
+ }
203
+ .bs-icon-button--primary:hover:not(:disabled) {
204
+ background: var(--bs-icon-button-primary-hover);
205
+ }
206
+ .bs-icon-button--primary:active:not(:disabled) {
207
+ background: var(--bs-icon-button-primary-pressed);
208
+ }
209
+ .bs-icon-button--primary:disabled {
210
+ background: var(--bs-icon-button-primary-disabled);
211
+ color: var(--bs-text-on-disabled);
212
+ }
213
+
214
+ .bs-icon-button--neutral {
215
+ background: var(--bs-icon-button-neutral-container);
216
+ color: var(--bs-text-default);
217
+ border: 1px solid var(--bs-icon-button-neutral-border);
218
+ }
219
+ .bs-icon-button--neutral:hover:not(:disabled) {
220
+ background: var(--bs-icon-button-neutral-hover);
221
+ border-color: var(--bs-icon-button-neutral-border-hover);
222
+ }
223
+ .bs-icon-button--neutral:active:not(:disabled) {
224
+ background: var(--bs-icon-button-neutral-pressed);
225
+ border-color: var(--bs-icon-button-neutral-border-pressed);
226
+ }
227
+ .bs-icon-button--neutral:disabled {
228
+ background: var(--bs-icon-button-neutral-container);
229
+ color: var(--bs-text-on-disabled);
230
+ border-color: var(--bs-icon-button-neutral-border);
231
+ }
232
+
233
+ .bs-icon-button--error {
234
+ background: var(--bs-icon-button-error-default);
235
+ color: var(--bs-text-on-action);
236
+ }
237
+ .bs-icon-button--error:hover:not(:disabled) {
238
+ background: var(--bs-icon-button-error-hover);
239
+ }
240
+ .bs-icon-button--error:active:not(:disabled) {
241
+ background: var(--bs-icon-button-error-pressed);
242
+ }
243
+ .bs-icon-button--error:disabled {
244
+ background: var(--bs-icon-button-error-disabled);
245
+ color: var(--bs-text-on-disabled);
246
+ }
247
+ .bs-icon-button--error:focus-visible {
248
+ outline-color: var(--bs-icon-button-error-focus);
249
+ }
250
+
251
+ .bs-icon-button--success {
252
+ background: var(--bs-icon-button-success-default);
253
+ color: var(--bs-text-on-action);
254
+ }
255
+ .bs-icon-button--success:hover:not(:disabled) {
256
+ background: var(--bs-icon-button-success-hover);
257
+ }
258
+ .bs-icon-button--success:active:not(:disabled) {
259
+ background: var(--bs-icon-button-success-pressed);
260
+ }
261
+ .bs-icon-button--success:disabled {
262
+ background: var(--bs-icon-button-success-disabled);
263
+ color: var(--bs-text-on-disabled);
264
+ }
265
+ .bs-icon-button--success:focus-visible {
266
+ outline-color: var(--bs-icon-button-success-focus);
267
+ }
268
+
269
+ .bs-icon-button--warning {
270
+ background: var(--bs-icon-button-warning-default);
271
+ /* --bs-text-on-action (not --bs-text-default), matching bs-button--warning's own contrast fix --
272
+ --bs-text-default failed WCAG AA against this background in both themes. */
273
+ color: var(--bs-text-on-action);
274
+ }
275
+ .bs-icon-button--warning:hover:not(:disabled) {
276
+ background: var(--bs-icon-button-warning-hover);
277
+ }
278
+ .bs-icon-button--warning:active:not(:disabled) {
279
+ background: var(--bs-icon-button-warning-pressed);
280
+ }
281
+ .bs-icon-button--warning:disabled {
282
+ background: var(--bs-icon-button-warning-disabled);
283
+ color: var(--bs-text-on-disabled);
284
+ }
285
+ .bs-icon-button--warning:focus-visible {
286
+ outline-color: var(--bs-icon-button-warning-focus);
287
+ }
288
+
289
+ .bs-icon-button--info {
290
+ background: var(--bs-icon-button-info-default);
291
+ color: var(--bs-text-on-action);
292
+ }
293
+ .bs-icon-button--info:hover:not(:disabled) {
294
+ background: var(--bs-icon-button-info-hover);
295
+ }
296
+ .bs-icon-button--info:active:not(:disabled) {
297
+ background: var(--bs-icon-button-info-pressed);
298
+ }
299
+ .bs-icon-button--info:disabled {
300
+ background: var(--bs-icon-button-info-disabled);
301
+ color: var(--bs-text-on-disabled);
302
+ }
303
+ .bs-icon-button--info:focus-visible {
304
+ outline-color: var(--bs-icon-button-info-focus);
305
+ }
306
+
307
+ .bs-icon-button--subtle {
308
+ background: transparent;
309
+ color: var(--bs-icon-neutral-default);
310
+ }
311
+ .bs-icon-button--subtle:hover:not(:disabled) {
312
+ background: var(--bs-icon-button-subtle-hover);
313
+ }
314
+ .bs-icon-button--subtle:active:not(:disabled) {
315
+ background: var(--bs-icon-button-subtle-pressed);
316
+ }
317
+ .bs-icon-button--subtle:disabled {
318
+ background: transparent;
319
+ color: var(--bs-text-on-disabled);
320
+ }
321
+ .bs-icon-button--subtle:focus-visible {
322
+ outline-color: var(--bs-icon-button-subtle-focus);
323
+ background: var(--bs-icon-button-subtle-hover);
324
+ }
325
+
326
+ .bs-icon-button--outlined {
327
+ background: transparent;
328
+ color: var(--bs-color-primary-default);
329
+ border: 1.5px solid var(--bs-icon-button-outlined-border);
330
+ }
331
+ .bs-icon-button--outlined:hover:not(:disabled) {
332
+ background: var(--bs-icon-button-outlined-container);
333
+ border-color: var(--bs-icon-button-outlined-border-hover);
334
+ }
335
+ .bs-icon-button--outlined:active:not(:disabled) {
336
+ background: var(--bs-icon-button-outlined-container);
337
+ color: var(--bs-color-primary-pressed);
338
+ border-color: var(--bs-icon-button-outlined-border-hover);
339
+ }
340
+ .bs-icon-button--outlined:disabled {
341
+ opacity: var(--bs-opacity-disabled);
342
+ cursor: not-allowed;
343
+ }
344
+ .bs-icon-button--outlined:focus-visible {
345
+ outline-color: var(--bs-icon-button-outlined-focus);
346
+ }
@@ -0,0 +1,185 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * A clickable, icon-only action element -- the icon-only sibling of `bs-button`, sharing the same
4
+ * 8 visual variants and color language, but ALWAYS rendering just a single icon, never a label.
5
+ *
6
+ * ## When to use
7
+ * - A compact action where the icon alone is unambiguous (e.g. a close/dismiss control, a toolbar
8
+ * action) and adding a text label would take up more space than the context allows.
9
+ * - The same variant guidance as `bs-button` applies: `primary` for the single most important
10
+ * action, `neutral`/`subtle`/`outlined` for lower-emphasis alternatives, `error` reserved for
11
+ * destructive/irreversible actions (never `neutral`, per BrandSync guidance), `success`/
12
+ * `warning`/`info` only when the action's own outcome is predictable and clearly communicated.
13
+ *
14
+ * ## When not to use
15
+ * - When the action isn't self-evident from the icon alone -- use `bs-button` with a visible label
16
+ * instead, don't rely on a tooltip to compensate for an unclear icon.
17
+ * - For navigation between pages -- use a link/nav component instead.
18
+ *
19
+ * Because this component is always icon-only, `ariaLabel` is required for every real usage (not
20
+ * just conditionally, unlike `bs-button`) -- there's no visible label text to fall back on for an
21
+ * accessible name.
22
+ *
23
+ * @slot - Default slot: the icon content. Exactly one icon, no label.
24
+ * @part icon - The icon wrapper element.
25
+ */
26
+ // Note: this component's CSS Custom Properties (--bs-icon-button-*) are documented via @prop
27
+ // comments in bs-icon-button.css, not here -- Stencil's docs generator only parses @prop out of
28
+ // CSS file comments, not the class-level JSDoc (see bs-tab.css's/bs-inline-tab.css's equivalent note).
29
+ export class BsIconButton {
30
+ el;
31
+ /**
32
+ * Visual style. Maps to the same semantic token families as `bs-button`'s `variant`.
33
+ * `error` is for destructive/irreversible actions per BrandSync guidance, not a stronger
34
+ * emphasis alternative to `primary`.
35
+ */
36
+ variant = 'primary';
37
+ /** Sizing scale. `xs` (16px, an 8px icon) is a distinct, much smaller tier meant for compact
38
+ * chip/tag "remove" controls, not just a smaller toolbar button -- verified against a separate
39
+ * Figma redline (EG BrandSync UI Kit v1.5, node 20731:18427) from the one `sm`/`md`/`lg` were
40
+ * built against. */
41
+ size = 'md';
42
+ /** Disables the button and applies the disabled token set. */
43
+ disabled = false;
44
+ /** Native `<button>` type. */
45
+ type = 'button';
46
+ /**
47
+ * Accessible name for the button. Required -- this component is always icon-only, so there's
48
+ * no visible label text for screen readers to fall back on. Stencil reflects this camelCase
49
+ * prop to the `aria-label` HTML attribute automatically.
50
+ */
51
+ ariaLabel = null;
52
+ render() {
53
+ return (h("button", { key: '1551d4e87c9bdedfc51a1a325c93ea9849aa9702', class: `bs-icon-button bs-icon-button--${this.variant} bs-icon-button--${this.size}`, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabel }, h("span", { key: '3966f47ff21fef8687d6d04289863039c2837f10', part: "icon", class: "bs-icon-button__icon" }, h("slot", { key: 'c673adaf051d568be40b13ddad39447994935b2b' }))));
54
+ }
55
+ static get is() { return "bs-icon-button"; }
56
+ static get encapsulation() { return "shadow"; }
57
+ static get delegatesFocus() { return true; }
58
+ static get originalStyleUrls() {
59
+ return {
60
+ "$": ["bs-icon-button.css"]
61
+ };
62
+ }
63
+ static get styleUrls() {
64
+ return {
65
+ "$": ["bs-icon-button.css"]
66
+ };
67
+ }
68
+ static get properties() {
69
+ return {
70
+ "variant": {
71
+ "type": "string",
72
+ "mutable": false,
73
+ "complexType": {
74
+ "original": "BsIconButtonVariant",
75
+ "resolved": "\"error\" | \"info\" | \"neutral\" | \"outlined\" | \"primary\" | \"subtle\" | \"success\" | \"warning\"",
76
+ "references": {
77
+ "BsIconButtonVariant": {
78
+ "location": "local",
79
+ "path": "/Users/vivka/brandsync-web-components/src/components/bs-button/bs-icon-button/bs-icon-button.tsx",
80
+ "id": "src/components/bs-button/bs-icon-button/bs-icon-button.tsx::BsIconButtonVariant"
81
+ }
82
+ }
83
+ },
84
+ "required": false,
85
+ "optional": false,
86
+ "docs": {
87
+ "tags": [],
88
+ "text": "Visual style. Maps to the same semantic token families as `bs-button`'s `variant`.\n`error` is for destructive/irreversible actions per BrandSync guidance, not a stronger\nemphasis alternative to `primary`."
89
+ },
90
+ "getter": false,
91
+ "setter": false,
92
+ "reflect": false,
93
+ "attribute": "variant",
94
+ "defaultValue": "'primary'"
95
+ },
96
+ "size": {
97
+ "type": "string",
98
+ "mutable": false,
99
+ "complexType": {
100
+ "original": "BsIconButtonSize",
101
+ "resolved": "\"lg\" | \"md\" | \"sm\" | \"xs\"",
102
+ "references": {
103
+ "BsIconButtonSize": {
104
+ "location": "local",
105
+ "path": "/Users/vivka/brandsync-web-components/src/components/bs-button/bs-icon-button/bs-icon-button.tsx",
106
+ "id": "src/components/bs-button/bs-icon-button/bs-icon-button.tsx::BsIconButtonSize"
107
+ }
108
+ }
109
+ },
110
+ "required": false,
111
+ "optional": false,
112
+ "docs": {
113
+ "tags": [],
114
+ "text": "Sizing scale. `xs` (16px, an 8px icon) is a distinct, much smaller tier meant for compact\nchip/tag \"remove\" controls, not just a smaller toolbar button -- verified against a separate\nFigma redline (EG BrandSync UI Kit v1.5, node 20731:18427) from the one `sm`/`md`/`lg` were\nbuilt against."
115
+ },
116
+ "getter": false,
117
+ "setter": false,
118
+ "reflect": false,
119
+ "attribute": "size",
120
+ "defaultValue": "'md'"
121
+ },
122
+ "disabled": {
123
+ "type": "boolean",
124
+ "mutable": false,
125
+ "complexType": {
126
+ "original": "boolean",
127
+ "resolved": "boolean",
128
+ "references": {}
129
+ },
130
+ "required": false,
131
+ "optional": false,
132
+ "docs": {
133
+ "tags": [],
134
+ "text": "Disables the button and applies the disabled token set."
135
+ },
136
+ "getter": false,
137
+ "setter": false,
138
+ "reflect": false,
139
+ "attribute": "disabled",
140
+ "defaultValue": "false"
141
+ },
142
+ "type": {
143
+ "type": "string",
144
+ "mutable": false,
145
+ "complexType": {
146
+ "original": "'button' | 'submit' | 'reset'",
147
+ "resolved": "\"button\" | \"reset\" | \"submit\"",
148
+ "references": {}
149
+ },
150
+ "required": false,
151
+ "optional": false,
152
+ "docs": {
153
+ "tags": [],
154
+ "text": "Native `<button>` type."
155
+ },
156
+ "getter": false,
157
+ "setter": false,
158
+ "reflect": false,
159
+ "attribute": "type",
160
+ "defaultValue": "'button'"
161
+ },
162
+ "ariaLabel": {
163
+ "type": "string",
164
+ "mutable": false,
165
+ "complexType": {
166
+ "original": "string | null",
167
+ "resolved": "string",
168
+ "references": {}
169
+ },
170
+ "required": false,
171
+ "optional": false,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": "Accessible name for the button. Required -- this component is always icon-only, so there's\nno visible label text for screen readers to fall back on. Stencil reflects this camelCase\nprop to the `aria-label` HTML attribute automatically."
175
+ },
176
+ "getter": false,
177
+ "setter": false,
178
+ "reflect": false,
179
+ "attribute": "aria-label",
180
+ "defaultValue": "null"
181
+ }
182
+ };
183
+ }
184
+ static get elementRef() { return "el"; }
185
+ }
@@ -0,0 +1,74 @@
1
+ import { html } from "lit";
2
+ import { componentDescription, propDescription } from "../../../stories-utils";
3
+ const variants = ['primary', 'neutral', 'subtle', 'outlined', 'success', 'warning', 'info', 'error'];
4
+ const sizes = ['xs', 'sm', 'md', 'lg'];
5
+ const checkIcon = html `
6
+ <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
7
+ <path d="M13 4L6 11L3 8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
8
+ </svg>
9
+ `;
10
+ const meta = {
11
+ title: 'Components/bs-button/bs-icon-button',
12
+ parameters: { docs: { description: { component: componentDescription('bs-icon-button') } } },
13
+ render: args => html `
14
+ <bs-icon-button variant=${args.variant} size=${args.size} type=${args.type} aria-label=${args.ariaLabel} ?disabled=${args.disabled}>
15
+ ${checkIcon}
16
+ </bs-icon-button>
17
+ `,
18
+ argTypes: {
19
+ variant: { control: 'select', options: variants, description: propDescription('bs-icon-button', 'variant') },
20
+ size: { control: 'select', options: sizes, description: propDescription('bs-icon-button', 'size') },
21
+ disabled: { control: 'boolean', description: propDescription('bs-icon-button', 'disabled') },
22
+ type: { control: 'select', options: ['button', 'submit', 'reset'], description: propDescription('bs-icon-button', 'type') },
23
+ ariaLabel: { control: 'text', description: propDescription('bs-icon-button', 'ariaLabel') },
24
+ },
25
+ args: {
26
+ variant: 'primary',
27
+ size: 'md',
28
+ disabled: false,
29
+ type: 'button',
30
+ ariaLabel: 'Confirm',
31
+ },
32
+ };
33
+ export default meta;
34
+ export const Primary = {};
35
+ export const Sizes = {
36
+ render: args => html `
37
+ <div style="display:flex; gap:12px; align-items:center;">
38
+ <bs-icon-button size="xs" aria-label=${args.ariaLabel}>${checkIcon}</bs-icon-button>
39
+ <bs-icon-button size="sm" aria-label=${args.ariaLabel}>${checkIcon}</bs-icon-button>
40
+ <bs-icon-button size="md" aria-label=${args.ariaLabel}>${checkIcon}</bs-icon-button>
41
+ <bs-icon-button size="lg" aria-label=${args.ariaLabel}>${checkIcon}</bs-icon-button>
42
+ </div>
43
+ `,
44
+ };
45
+ export const Disabled = {
46
+ args: { disabled: true },
47
+ };
48
+ export const AllCombinations = {
49
+ name: 'All variant × size × disabled combinations',
50
+ render: () => html `
51
+ <table style="border-collapse: collapse;">
52
+ <thead>
53
+ <tr>
54
+ <th style="text-align:left; padding: 4px 12px;">Variant</th>
55
+ ${sizes.map(size => html `<th style="text-align:left; padding: 4px 12px;">${size}</th>`)}
56
+ ${sizes.map(size => html `<th style="text-align:left; padding: 4px 12px;">${size} (disabled)</th>`)}
57
+ </tr>
58
+ </thead>
59
+ <tbody>
60
+ ${variants.map(variant => html `
61
+ <tr>
62
+ <td style="padding: 8px 12px; font-family: monospace;">${variant}</td>
63
+ ${sizes.map(size => html `<td style="padding: 8px 12px;">
64
+ <bs-icon-button variant=${variant} size=${size} aria-label="Confirm">${checkIcon}</bs-icon-button>
65
+ </td>`)}
66
+ ${sizes.map(size => html `<td style="padding: 8px 12px;">
67
+ <bs-icon-button variant=${variant} size=${size} aria-label="Confirm" disabled>${checkIcon}</bs-icon-button>
68
+ </td>`)}
69
+ </tr>
70
+ `)}
71
+ </tbody>
72
+ </table>
73
+ `,
74
+ };
@@ -25,7 +25,7 @@ export class BsButtonSkeleton {
25
25
  /** Sizing scale, matching the `bs-button` size it stands in for. */
26
26
  size = 'md';
27
27
  render() {
28
- return h("span", { key: '3d08a657337abf1db82ab85d3ef6c6a15a23010a', part: "container", class: `bs-button-skeleton bs-button-skeleton--${this.size}`, role: "status", "aria-label": "Loading" });
28
+ return h("span", { key: 'ebb3b98f01114e96f304e11a5104235abaf97db0', part: "container", class: `bs-button-skeleton bs-button-skeleton--${this.size}`, role: "status", "aria-label": "Loading" });
29
29
  }
30
30
  static get is() { return "bs-button-skeleton"; }
31
31
  static get encapsulation() { return "shadow"; }
@@ -50,8 +50,8 @@ export class BsButtonSkeleton {
50
50
  "references": {
51
51
  "BsButtonSize": {
52
52
  "location": "import",
53
- "path": "../bs-button/bs-button",
54
- "id": "src/components/bs-button/bs-button.tsx::BsButtonSize",
53
+ "path": "../bs-button/bs-button/bs-button",
54
+ "id": "src/components/bs-button/bs-button/bs-button.tsx::BsButtonSize",
55
55
  "referenceLocation": "BsButtonSize"
56
56
  }
57
57
  }
@@ -123,7 +123,7 @@ export class BsChatbotFeedback {
123
123
  }
124
124
  render() {
125
125
  const stars = [1, 2, 3, 4, 5];
126
- return (h("div", { key: 'e509feb04a65ee7908c9021befe43ddb0727fd00', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: '3c1e7f84bb1a2e0e6f89323f2c45102c3714c0f6', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": "Close", onClick: this.onCloseClick }, h(CloseIcon, { key: '30202380a79f55d4187ff6f50fc0a11d7a282b81' })), h("div", { key: '228f8195087f1d6d3ec6ba53f954ab722cae2971', class: "bs-chatbot-feedback__top" }, h("div", { key: 'd7fb1f58d21aed4fa9b0e5da83a5506e8082c5ff', class: "bs-chatbot-feedback__text" }, h("p", { key: '7e275ebb91562a2f3b4eaf8076a7238f82260bcf', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: '0bd022e0594dee0a084a83fcce90abeb2b8c8a98', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: '0c54cd7cfc1b14c4feac0859e1ad2dd3ee2af8a1', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": "Rating" }, stars.map(value => (h("button", { type: "button", part: "star", class: "bs-chatbot-feedback__star", role: "radio", "aria-checked": (this.rating >= value).toString(), "aria-label": `${value} star${value > 1 ? 's' : ''}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h(StarIcon, { filled: this.rating >= value }))))), !this.submitted && (h("div", { key: '4e00821d17646c1d71d9893a7459557f9fcf24d2', class: "bs-chatbot-feedback__field" }, h("label", { key: '11d31fb2ff6897e97e2ec4196ead7269d60cec7b', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, "Tell us what you think"), h("textarea", { key: 'd6228e4d737e90ab61cca91d633e36ac69f1c172', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: "e.g.The response was helpful ....", value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: 'bb5fdd240b07a6051cb784077b3476af1e1217fb', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: '0d262521f8f13b464f4cbfa746ce49bd330986c6', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: 'a5e8cc2a7bdd290cc95afeefe5d1fc5a1dde86ce', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h(SendIcon, { key: '163b0c11e0038ae01d7bc61ae1f8c50930b7f8f2' }), "Submit feedback")), h("button", { key: '3cf2d4b2cd6b9043d4194a991cc0e33fa09c69e4', type: "button", part: "new-chat", class: `bs-chatbot-feedback__new-chat ${this.submitted ? 'bs-chatbot-feedback__new-chat--primary' : 'bs-chatbot-feedback__new-chat--outlined'}`, onClick: this.onNewChatClick }, h(EditIcon, { key: 'a0fddede710c06b60302e4cb12b7affe9ed8afec' }), "Start new chat"))));
126
+ return (h("div", { key: '958b381765b939194015956808f4174d722ba0ce', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: '17530d9be43a87fb4c618f7f4e0565fbd0593a2e', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": "Close", onClick: this.onCloseClick }, h(CloseIcon, { key: '1b6355d2d0573cbace8dafc6cc1e78495de853a6' })), h("div", { key: 'c6da57111aa1cce21ff870737a0056978291b3d6', class: "bs-chatbot-feedback__top" }, h("div", { key: '8b4ee3b5e67c2595114d9aeb7de0925f3fb3d588', class: "bs-chatbot-feedback__text" }, h("p", { key: '2bba1c4dff7a114f805ed99f6a059691b255e254', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: 'cde3ca2f01bbaffb68a0acbe0a63ab5ddb0d3e3a', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: '5254779fd0034d29f8680715368e955601f0e5e2', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": "Rating" }, stars.map(value => (h("button", { type: "button", part: "star", class: "bs-chatbot-feedback__star", role: "radio", "aria-checked": (this.rating >= value).toString(), "aria-label": `${value} star${value > 1 ? 's' : ''}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h(StarIcon, { filled: this.rating >= value }))))), !this.submitted && (h("div", { key: '065adc6951f38a51d030927903611433c1999af9', class: "bs-chatbot-feedback__field" }, h("label", { key: 'ff30ad230c00ba317d93c79e035a1b62694a76d2', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, "Tell us what you think"), h("textarea", { key: '43fc6cadc16018698d2c6302cf825d0b75c76504', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: "e.g.The response was helpful ....", value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: '9287bcb34a6cc9e9f3996849cd053760d5c889d6', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: 'cc38753eafe474751cf46a0a25c7f96da20c72b0', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: '0ada3886248fd12d092d52440e324c45528b5c18', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h(SendIcon, { key: 'fa201b999654584cf7fde867f41e9c4d2eba7366' }), "Submit feedback")), h("button", { key: '5d37a84efd037c41402e08a93470ec905475614f', type: "button", part: "new-chat", class: `bs-chatbot-feedback__new-chat ${this.submitted ? 'bs-chatbot-feedback__new-chat--primary' : 'bs-chatbot-feedback__new-chat--outlined'}`, onClick: this.onNewChatClick }, h(EditIcon, { key: 'fbd6ea31d55db9b43895ad75802f733b03daec54' }), "Start new chat"))));
127
127
  }
128
128
  static get is() { return "bs-chatbot-feedback"; }
129
129
  static get encapsulation() { return "shadow"; }