@brandsync/wc 1.16.0 → 1.18.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 (625) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/REFERENCE.md +476 -0
  3. package/custom-elements.json +10039 -5497
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-f271e1d2.entry.js → p-0082db6a.entry.js} +1 -1
  6. package/dist/brandsync-wc/p-07e0b444.entry.js +1 -0
  7. package/dist/brandsync-wc/{p-b67a0c8f.entry.js → p-08e0e704.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-d165a742.entry.js → p-0a6f22fe.entry.js} +1 -1
  9. package/dist/brandsync-wc/{p-8390a155.entry.js → p-14b4f4c4.entry.js} +1 -1
  10. package/dist/brandsync-wc/p-15f06226.entry.js +1 -0
  11. package/dist/brandsync-wc/{p-a5659499.entry.js → p-186e3b78.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-c85fe37b.entry.js → p-1a47774e.entry.js} +1 -1
  13. package/dist/brandsync-wc/p-1a62e5b7.entry.js +1 -0
  14. package/dist/brandsync-wc/p-1aa0f9a3.entry.js +1 -0
  15. package/dist/brandsync-wc/{p-e9b6b30f.entry.js → p-1d8c2ec1.entry.js} +1 -1
  16. package/dist/brandsync-wc/p-246036cd.entry.js +1 -0
  17. package/dist/brandsync-wc/{p-45986ad4.entry.js → p-31ca98c3.entry.js} +1 -1
  18. package/dist/brandsync-wc/p-344695a8.entry.js +1 -0
  19. package/dist/brandsync-wc/{p-c25553bc.entry.js → p-345b5ef3.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-dcacee29.entry.js → p-34851d6d.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-6cb21302.entry.js → p-348fef11.entry.js} +1 -1
  22. package/dist/brandsync-wc/p-3e6f430a.entry.js +1 -0
  23. package/dist/brandsync-wc/p-43f8afda.entry.js +1 -0
  24. package/dist/brandsync-wc/{p-361aef36.entry.js → p-47929dca.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-cc4c8c1d.entry.js → p-47ce984f.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-d5a6098d.entry.js → p-4d4997af.entry.js} +1 -1
  27. package/dist/brandsync-wc/p-4ff649f1.entry.js +1 -0
  28. package/dist/brandsync-wc/p-50c116eb.entry.js +1 -0
  29. package/dist/brandsync-wc/{p-f3eca1ce.entry.js → p-50f60ed6.entry.js} +1 -1
  30. package/dist/brandsync-wc/p-52d61070.entry.js +1 -0
  31. package/dist/brandsync-wc/{p-2e285364.entry.js → p-55d336da.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-38fe9d07.entry.js → p-55d97d1d.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-9beeb30c.entry.js → p-56a45582.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-e9afb553.entry.js → p-58179e15.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-1ca8b01e.entry.js → p-5868793d.entry.js} +1 -1
  36. package/dist/brandsync-wc/{p-38ac9aad.entry.js → p-5ac75555.entry.js} +1 -1
  37. package/dist/brandsync-wc/{p-7b3518b8.entry.js → p-5cd1abc7.entry.js} +1 -1
  38. package/dist/brandsync-wc/{p-dfad8c0a.entry.js → p-5e36d46f.entry.js} +1 -1
  39. package/dist/brandsync-wc/{p-54f9529f.entry.js → p-64f8eb7e.entry.js} +1 -1
  40. package/dist/brandsync-wc/p-6b019a88.entry.js +1 -0
  41. package/dist/brandsync-wc/{p-f0be9125.entry.js → p-6c987bc9.entry.js} +1 -1
  42. package/dist/brandsync-wc/{p-5ed1f45e.entry.js → p-757cd066.entry.js} +1 -1
  43. package/dist/brandsync-wc/{p-47b7fe76.entry.js → p-78114ea3.entry.js} +1 -1
  44. package/dist/brandsync-wc/p-7c29678d.entry.js +1 -0
  45. package/dist/brandsync-wc/{p-9d12b1fb.entry.js → p-7cfb1be6.entry.js} +1 -1
  46. package/dist/brandsync-wc/{p-4ed00786.entry.js → p-841a80b4.entry.js} +1 -1
  47. package/dist/brandsync-wc/{p-a56bc608.entry.js → p-87a10ee1.entry.js} +1 -1
  48. package/dist/brandsync-wc/{p-c05ee501.entry.js → p-8962abe0.entry.js} +1 -1
  49. package/dist/brandsync-wc/p-8e46a262.entry.js +1 -0
  50. package/dist/brandsync-wc/p-8f82ea7e.entry.js +1 -0
  51. package/dist/brandsync-wc/p-95c7f350.entry.js +1 -0
  52. package/dist/brandsync-wc/{p-3488c4fc.entry.js → p-9787bc0f.entry.js} +1 -1
  53. package/dist/brandsync-wc/{p-0159f0da.entry.js → p-998b95d3.entry.js} +1 -1
  54. package/dist/brandsync-wc/p-9bd739e5.entry.js +1 -0
  55. package/dist/brandsync-wc/p-a424a709.entry.js +1 -0
  56. package/dist/brandsync-wc/{p-b6081bba.entry.js → p-a51355d9.entry.js} +1 -1
  57. package/dist/brandsync-wc/{p-4ca40386.entry.js → p-a8c2855c.entry.js} +1 -1
  58. package/dist/brandsync-wc/{p-b663ee67.entry.js → p-a9d0a730.entry.js} +1 -1
  59. package/dist/brandsync-wc/{p-15f4c343.entry.js → p-ae207fd5.entry.js} +1 -1
  60. package/dist/brandsync-wc/{p-8048d033.entry.js → p-b1edc9b7.entry.js} +1 -1
  61. package/dist/brandsync-wc/{p-949a4270.entry.js → p-b759ae72.entry.js} +1 -1
  62. package/dist/brandsync-wc/{p-7dc59e0b.entry.js → p-b7bbc52f.entry.js} +1 -1
  63. package/dist/brandsync-wc/{p-912629c6.entry.js → p-bd901b06.entry.js} +1 -1
  64. package/dist/brandsync-wc/p-be7272ce.entry.js +1 -0
  65. package/dist/brandsync-wc/{p-401b3d3d.entry.js → p-bfff7cbb.entry.js} +1 -1
  66. package/dist/brandsync-wc/{p-298158da.entry.js → p-c020ffdf.entry.js} +1 -1
  67. package/dist/brandsync-wc/{p-abfa43f5.entry.js → p-c02ed03d.entry.js} +1 -1
  68. package/dist/brandsync-wc/{p-baa3d37a.entry.js → p-cb002195.entry.js} +1 -1
  69. package/dist/brandsync-wc/{p-ffc07eb5.entry.js → p-d3fe8cea.entry.js} +1 -1
  70. package/dist/brandsync-wc/{p-42b79d95.entry.js → p-d42a26c1.entry.js} +1 -1
  71. package/dist/brandsync-wc/{p-e72dd05e.entry.js → p-d985e569.entry.js} +1 -1
  72. package/dist/brandsync-wc/{p-cf287ff1.entry.js → p-e2491db8.entry.js} +1 -1
  73. package/dist/brandsync-wc/{p-36fe783a.entry.js → p-e32a6df1.entry.js} +1 -1
  74. package/dist/brandsync-wc/{p-65fa1b21.entry.js → p-e3e15670.entry.js} +1 -1
  75. package/dist/brandsync-wc/{p-67629178.entry.js → p-e4e9c961.entry.js} +1 -1
  76. package/dist/brandsync-wc/{p-521d0fc2.entry.js → p-e99c0937.entry.js} +1 -1
  77. package/dist/brandsync-wc/{p-89ea6366.entry.js → p-e9adfa44.entry.js} +1 -1
  78. package/dist/brandsync-wc/{p-76748795.entry.js → p-eb3bacb9.entry.js} +1 -1
  79. package/dist/brandsync-wc/p-ee00d3a5.entry.js +1 -0
  80. package/dist/brandsync-wc/{p-ed71eb02.entry.js → p-ee63423c.entry.js} +1 -1
  81. package/dist/brandsync-wc/p-f4628861.entry.js +1 -0
  82. package/dist/brandsync-wc/{p-d81c4f58.entry.js → p-f47b8673.entry.js} +1 -1
  83. package/dist/brandsync-wc/{p-b9c9bcba.entry.js → p-f6caa623.entry.js} +1 -1
  84. package/dist/brandsync-wc/p-f86b58bf.entry.js +1 -0
  85. package/dist/brandsync-wc/{p-00be9a64.entry.js → p-fa91106e.entry.js} +1 -1
  86. package/dist/brandsync-wc/{p-538d5b58.entry.js → p-fb84002e.entry.js} +1 -1
  87. package/dist/brandsync-wc/{p-a12691d8.entry.js → p-fbc219c6.entry.js} +1 -1
  88. package/dist/brandsync-wc/{p-f3cc961b.entry.js → p-fd78ff22.entry.js} +1 -1
  89. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  90. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  91. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  92. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  93. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  94. package/dist/cjs/bs-app-recent-item_3.cjs.entry.js +133 -0
  95. package/dist/cjs/bs-app-shell.cjs.entry.js +1 -1
  96. package/dist/cjs/bs-app-switcher.cjs.entry.js +208 -0
  97. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  98. package/dist/cjs/bs-attachment.cjs.entry.js +1 -1
  99. package/dist/cjs/bs-avatar.cjs.entry.js +1 -1
  100. package/dist/cjs/bs-badge.cjs.entry.js +1 -1
  101. package/dist/cjs/bs-breadcrumb-overflow.cjs.entry.js +1 -1
  102. package/dist/cjs/bs-breadcrumb.cjs.entry.js +1 -1
  103. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  104. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  105. package/dist/cjs/bs-button.cjs.entry.js +1 -1
  106. package/dist/cjs/bs-card.cjs.entry.js +1 -1
  107. package/dist/cjs/bs-carousel.cjs.entry.js +1 -1
  108. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  109. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  110. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  111. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  112. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  113. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  114. package/dist/cjs/bs-checkbox.cjs.entry.js +1 -1
  115. package/dist/cjs/bs-chip-filter.cjs.entry.js +1 -1
  116. package/dist/cjs/bs-chip-informative.cjs.entry.js +1 -1
  117. package/dist/cjs/bs-chip-input.cjs.entry.js +1 -1
  118. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  119. package/dist/cjs/bs-command-palette.cjs.entry.js +374 -0
  120. package/dist/cjs/bs-compact-menu-block_2.cjs.entry.js +46 -0
  121. package/dist/cjs/bs-company-switcher.cjs.entry.js +211 -0
  122. package/dist/cjs/bs-composer-status-banner.cjs.entry.js +1 -1
  123. package/dist/cjs/bs-composer.cjs.entry.js +1 -1
  124. package/dist/cjs/bs-container.cjs.entry.js +1 -1
  125. package/dist/cjs/bs-data-table.cjs.entry.js +2 -2
  126. package/dist/cjs/bs-datepicker.cjs.entry.js +1 -1
  127. package/dist/cjs/bs-divider.cjs.entry.js +1 -1
  128. package/dist/cjs/bs-empty-state.cjs.entry.js +47 -0
  129. package/dist/cjs/bs-error-page.cjs.entry.js +1 -1
  130. package/dist/cjs/bs-file-upload-item.cjs.entry.js +1 -1
  131. package/dist/cjs/bs-file-upload.cjs.entry.js +1 -1
  132. package/dist/cjs/bs-global-search.cjs.entry.js +326 -0
  133. package/dist/cjs/bs-grid.cjs.entry.js +2 -2
  134. package/dist/cjs/bs-icon-button.cjs.entry.js +8 -1
  135. package/dist/cjs/bs-icon-tile.cjs.entry.js +10 -2
  136. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  137. package/dist/cjs/bs-input_3.cjs.entry.js +4 -4
  138. package/dist/cjs/bs-key-caps.cjs.entry.js +39 -0
  139. package/dist/cjs/bs-key.cjs.entry.js +28 -0
  140. package/dist/cjs/bs-keyboard-shortcuts.cjs.entry.js +112 -0
  141. package/dist/cjs/bs-list-item_2.cjs.entry.js +215 -0
  142. package/dist/cjs/bs-list.cjs.entry.js +1 -1
  143. package/dist/cjs/bs-mega-menu.cjs.entry.js +70 -0
  144. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  145. package/dist/cjs/bs-message.cjs.entry.js +1 -1
  146. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  147. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  148. package/dist/cjs/bs-navigation-header.cjs.entry.js +5 -2
  149. package/dist/cjs/bs-page-header.cjs.entry.js +66 -0
  150. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  151. package/dist/cjs/bs-progress-linear.cjs.entry.js +2 -2
  152. package/dist/cjs/bs-progress.cjs.entry.js +2 -2
  153. package/dist/cjs/bs-qr-code.cjs.entry.js +1 -1
  154. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  155. package/dist/cjs/bs-search-item.cjs.entry.js +47 -0
  156. package/dist/cjs/bs-session-timeout.cjs.entry.js +1 -1
  157. package/dist/cjs/bs-shortcut-row.cjs.entry.js +27 -0
  158. package/dist/cjs/bs-slider.cjs.entry.js +1 -1
  159. package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
  160. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  161. package/dist/cjs/bs-spinner.cjs.entry.js +1 -1
  162. package/dist/cjs/bs-split-pane.cjs.entry.js +1 -1
  163. package/dist/cjs/bs-stack.cjs.entry.js +1 -1
  164. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  165. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  166. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  167. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  168. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  169. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  170. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
  171. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  172. package/dist/cjs/bs-tree-item.cjs.entry.js +2 -2
  173. package/dist/cjs/bs-tree.cjs.entry.js +1 -1
  174. package/dist/cjs/loader.cjs.js +1 -1
  175. package/dist/collection/collection-manifest.json +17 -1
  176. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  177. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  178. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  179. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  180. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.cmp.test.js +52 -0
  181. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.css +111 -0
  182. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.js +184 -0
  183. package/dist/collection/components/bs-app-recent-item/bs-app-recent-item.stories.js +28 -0
  184. package/dist/collection/components/bs-app-shell/bs-app-shell.js +1 -1
  185. package/dist/collection/components/bs-app-switcher/bs-app-switcher.cmp.test.js +179 -0
  186. package/dist/collection/components/bs-app-switcher/bs-app-switcher.css +173 -0
  187. package/dist/collection/components/bs-app-switcher/bs-app-switcher.js +902 -0
  188. package/dist/collection/components/bs-app-switcher/bs-app-switcher.stories.js +91 -0
  189. package/dist/collection/components/bs-app-tile/bs-app-tile.cmp.test.js +58 -0
  190. package/dist/collection/components/bs-app-tile/bs-app-tile.css +104 -0
  191. package/dist/collection/components/bs-app-tile/bs-app-tile.js +190 -0
  192. package/dist/collection/components/bs-app-tile/bs-app-tile.stories.js +43 -0
  193. package/dist/collection/components/bs-attachment/bs-attachment.js +1 -1
  194. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  195. package/dist/collection/components/bs-avatar/bs-avatar.css +3 -3
  196. package/dist/collection/components/bs-badge/bs-badge.js +1 -1
  197. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
  198. package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +1 -1
  199. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  200. package/dist/collection/components/bs-button/bs-button/bs-button.js +1 -1
  201. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.cmp.test.js +13 -0
  202. package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +27 -1
  203. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  204. package/dist/collection/components/bs-card/bs-card.js +1 -1
  205. package/dist/collection/components/bs-carousel/bs-carousel.js +1 -1
  206. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  207. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  208. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  209. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  210. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  211. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  212. package/dist/collection/components/bs-checkbox/bs-checkbox.js +1 -1
  213. package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +1 -1
  214. package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +1 -1
  215. package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
  216. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  217. package/dist/collection/components/bs-command-palette/bs-command-palette.cmp.test.js +207 -0
  218. package/dist/collection/components/bs-command-palette/bs-command-palette.css +214 -0
  219. package/dist/collection/components/bs-command-palette/bs-command-palette.js +1114 -0
  220. package/dist/collection/components/bs-command-palette/bs-command-palette.stories.js +194 -0
  221. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.cmp.test.js +32 -0
  222. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.css +43 -0
  223. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.js +67 -0
  224. package/dist/collection/components/bs-compact-menu-block/bs-compact-menu-block.stories.js +25 -0
  225. package/dist/collection/components/bs-company-switcher/bs-company-switcher.cmp.test.js +171 -0
  226. package/dist/collection/components/bs-company-switcher/bs-company-switcher.css +196 -0
  227. package/dist/collection/components/bs-company-switcher/bs-company-switcher.js +720 -0
  228. package/dist/collection/components/bs-company-switcher/bs-company-switcher.stories.js +78 -0
  229. package/dist/collection/components/bs-composer/bs-composer.js +1 -1
  230. package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
  231. package/dist/collection/components/bs-container/bs-container.js +1 -1
  232. package/dist/collection/components/bs-data-table/bs-data-table.js +2 -2
  233. package/dist/collection/components/bs-datepicker/bs-datepicker.js +1 -1
  234. package/dist/collection/components/bs-divider/bs-divider.js +1 -1
  235. package/dist/collection/components/bs-empty-state/bs-empty-state.cmp.test.js +102 -0
  236. package/dist/collection/components/bs-empty-state/bs-empty-state.css +45 -0
  237. package/dist/collection/components/bs-empty-state/bs-empty-state.js +175 -0
  238. package/dist/collection/components/bs-empty-state/bs-empty-state.stories.js +52 -0
  239. package/dist/collection/components/bs-error-page/bs-error-page.js +1 -1
  240. package/dist/collection/components/bs-file-upload/bs-file-upload.js +1 -1
  241. package/dist/collection/components/bs-file-upload-item/bs-file-upload-item.js +1 -1
  242. package/dist/collection/components/bs-global-search/bs-global-search.cmp.test.js +491 -0
  243. package/dist/collection/components/bs-global-search/bs-global-search.css +115 -0
  244. package/dist/collection/components/bs-global-search/bs-global-search.js +1024 -0
  245. package/dist/collection/components/bs-global-search/bs-global-search.stories.js +146 -0
  246. package/dist/collection/components/bs-grid/bs-grid.js +2 -2
  247. package/dist/collection/components/bs-icon-tile/bs-icon-tile.js +11 -2
  248. package/dist/collection/components/bs-input/bs-input.js +2 -2
  249. package/dist/collection/components/bs-key/bs-key.cmp.test.js +59 -0
  250. package/dist/collection/components/bs-key/bs-key.css +58 -0
  251. package/dist/collection/components/bs-key/bs-key.js +84 -0
  252. package/dist/collection/components/bs-key/bs-key.stories.js +19 -0
  253. package/dist/collection/components/bs-key-caps/bs-key-caps.cmp.test.js +60 -0
  254. package/dist/collection/components/bs-key-caps/bs-key-caps.css +28 -0
  255. package/dist/collection/components/bs-key-caps/bs-key-caps.js +120 -0
  256. package/dist/collection/components/bs-key-caps/bs-key-caps.stories.js +29 -0
  257. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.js +194 -0
  258. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.css +138 -0
  259. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.js +485 -0
  260. package/dist/collection/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.js +111 -0
  261. package/dist/collection/components/bs-list/bs-list.js +1 -1
  262. package/dist/collection/components/bs-list-item/bs-list-item.js +1 -1
  263. package/dist/collection/components/bs-mega-menu/bs-mega-menu.cmp.test.js +131 -0
  264. package/dist/collection/components/bs-mega-menu/bs-mega-menu.css +139 -0
  265. package/dist/collection/components/bs-mega-menu/bs-mega-menu.js +358 -0
  266. package/dist/collection/components/bs-mega-menu/bs-mega-menu.stories.js +188 -0
  267. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  268. package/dist/collection/components/bs-menu-block/bs-menu-block.cmp.test.js +44 -0
  269. package/dist/collection/components/bs-menu-block/bs-menu-block.css +106 -0
  270. package/dist/collection/components/bs-menu-block/bs-menu-block.js +147 -0
  271. package/dist/collection/components/bs-menu-block/bs-menu-block.stories.js +36 -0
  272. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  273. package/dist/collection/components/bs-message/bs-message.js +1 -1
  274. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  275. package/dist/collection/components/bs-page-header/bs-page-header.cmp.test.js +206 -0
  276. package/dist/collection/components/bs-page-header/bs-page-header.css +252 -0
  277. package/dist/collection/components/bs-page-header/bs-page-header.js +351 -0
  278. package/dist/collection/components/bs-page-header/bs-page-header.stories.js +177 -0
  279. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  280. package/dist/collection/components/bs-popover/bs-popover.js +1 -1
  281. package/dist/collection/components/bs-progress/bs-progress.js +2 -2
  282. package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +2 -2
  283. package/dist/collection/components/bs-qr-code/bs-qr-code.js +1 -1
  284. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  285. package/dist/collection/components/bs-search-item/bs-search-item.cmp.test.js +147 -0
  286. package/dist/collection/components/bs-search-item/bs-search-item.css +112 -0
  287. package/dist/collection/components/bs-search-item/bs-search-item.js +222 -0
  288. package/dist/collection/components/bs-search-item/bs-search-item.stories.js +31 -0
  289. package/dist/collection/components/bs-session-timeout/bs-session-timeout.js +1 -1
  290. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.cmp.test.js +60 -0
  291. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.css +42 -0
  292. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.js +154 -0
  293. package/dist/collection/components/bs-shortcut-row/bs-shortcut-row.stories.js +24 -0
  294. package/dist/collection/components/bs-skeleton/bs-skeleton.js +1 -1
  295. package/dist/collection/components/bs-slider/bs-slider.js +1 -1
  296. package/dist/collection/components/bs-snackbar/bs-snackbar.js +1 -1
  297. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  298. package/dist/collection/components/bs-spinner/bs-spinner.js +1 -1
  299. package/dist/collection/components/bs-split-pane/bs-split-pane.js +1 -1
  300. package/dist/collection/components/bs-stack/bs-stack.js +1 -1
  301. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  302. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  303. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  304. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  305. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  306. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  307. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  308. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  309. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  310. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  311. package/dist/collection/components/bs-tree/bs-tree.js +1 -1
  312. package/dist/collection/components/bs-tree-item/bs-tree-item.js +2 -2
  313. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  314. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  315. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  316. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.cmp.test.js +79 -0
  317. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.css +46 -0
  318. package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +10 -1
  319. package/dist/components/bs-accordion-group.js +1 -1
  320. package/dist/components/bs-ai-disclaimer.js +1 -1
  321. package/dist/components/bs-ai-greeting.js +1 -1
  322. package/dist/components/bs-ai-thinking.js +1 -1
  323. package/dist/components/bs-app-recent-item.d.ts +11 -0
  324. package/dist/components/bs-app-recent-item.js +1 -0
  325. package/dist/components/bs-app-shell.js +1 -1
  326. package/dist/components/bs-app-switcher.d.ts +11 -0
  327. package/dist/components/bs-app-switcher.js +1 -0
  328. package/dist/components/bs-app-tile.d.ts +11 -0
  329. package/dist/components/bs-app-tile.js +1 -0
  330. package/dist/components/bs-attachment-list.js +1 -1
  331. package/dist/components/bs-attachment.js +1 -1
  332. package/dist/components/bs-avatar.js +1 -1
  333. package/dist/components/bs-badge.js +1 -1
  334. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  335. package/dist/components/bs-breadcrumb.js +1 -1
  336. package/dist/components/bs-breadcrumbs.js +1 -1
  337. package/dist/components/bs-button-skeleton.js +1 -1
  338. package/dist/components/bs-button.js +1 -1
  339. package/dist/components/bs-card.js +1 -1
  340. package/dist/components/bs-carousel.js +1 -1
  341. package/dist/components/bs-chatbot-feedback.js +1 -1
  342. package/dist/components/bs-chatbot-header.js +1 -1
  343. package/dist/components/bs-chatbot-response-action.js +1 -1
  344. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  345. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  346. package/dist/components/bs-checkbox-skeleton.js +1 -1
  347. package/dist/components/bs-checkbox.js +1 -1
  348. package/dist/components/bs-chip-filter.js +1 -1
  349. package/dist/components/bs-chip-informative.js +1 -1
  350. package/dist/components/bs-chip-input.js +1 -1
  351. package/dist/components/bs-citation-preview.js +1 -1
  352. package/dist/components/bs-command-palette.d.ts +11 -0
  353. package/dist/components/bs-command-palette.js +1 -0
  354. package/dist/components/bs-compact-menu-block.d.ts +11 -0
  355. package/dist/components/bs-compact-menu-block.js +1 -0
  356. package/dist/components/bs-company-switcher.d.ts +11 -0
  357. package/dist/components/bs-company-switcher.js +1 -0
  358. package/dist/components/bs-composer-status-banner.js +1 -1
  359. package/dist/components/bs-composer.js +1 -1
  360. package/dist/components/bs-container.js +1 -1
  361. package/dist/components/bs-cookie-consent.js +1 -1
  362. package/dist/components/bs-data-table.js +1 -1
  363. package/dist/components/bs-datepicker.js +1 -1
  364. package/dist/components/bs-dialog.js +1 -1
  365. package/dist/components/bs-divider.js +1 -1
  366. package/dist/components/bs-empty-state.d.ts +11 -0
  367. package/dist/components/bs-empty-state.js +1 -0
  368. package/dist/components/bs-error-page.js +1 -1
  369. package/dist/components/bs-file-upload-item.js +1 -1
  370. package/dist/components/bs-file-upload.js +1 -1
  371. package/dist/components/bs-global-search.d.ts +11 -0
  372. package/dist/components/bs-global-search.js +1 -0
  373. package/dist/components/bs-grid.js +1 -1
  374. package/dist/components/bs-icon-button.js +1 -1
  375. package/dist/components/bs-icon-tile.js +1 -1
  376. package/dist/components/bs-inline-tab.js +1 -1
  377. package/dist/components/bs-input.js +1 -1
  378. package/dist/components/bs-key-caps.d.ts +11 -0
  379. package/dist/components/bs-key-caps.js +1 -0
  380. package/dist/components/bs-key.d.ts +11 -0
  381. package/dist/components/bs-key.js +1 -0
  382. package/dist/components/bs-keyboard-shortcuts.d.ts +11 -0
  383. package/dist/components/bs-keyboard-shortcuts.js +1 -0
  384. package/dist/components/bs-list-item.js +1 -1
  385. package/dist/components/bs-list.js +1 -1
  386. package/dist/components/bs-mega-menu.d.ts +11 -0
  387. package/dist/components/bs-mega-menu.js +1 -0
  388. package/dist/components/bs-menu-block.d.ts +11 -0
  389. package/dist/components/bs-menu-block.js +1 -0
  390. package/dist/components/bs-menu-item.js +1 -1
  391. package/dist/components/bs-menu.js +1 -1
  392. package/dist/components/bs-message-list.js +1 -1
  393. package/dist/components/bs-message.js +1 -1
  394. package/dist/components/bs-navigation-drawer-item.js +1 -1
  395. package/dist/components/bs-navigation-drawer.js +1 -1
  396. package/dist/components/bs-navigation-header.js +1 -1
  397. package/dist/components/bs-onboarding-checklist.js +1 -1
  398. package/dist/components/bs-page-header.d.ts +11 -0
  399. package/dist/components/bs-page-header.js +1 -0
  400. package/dist/components/bs-pagination.js +1 -1
  401. package/dist/components/bs-popover.js +1 -1
  402. package/dist/components/bs-product-tour.js +1 -1
  403. package/dist/components/bs-progress-linear.js +1 -1
  404. package/dist/components/bs-progress.js +1 -1
  405. package/dist/components/bs-qr-code.js +1 -1
  406. package/dist/components/bs-radio.js +1 -1
  407. package/dist/components/bs-search-item.d.ts +11 -0
  408. package/dist/components/bs-search-item.js +1 -0
  409. package/dist/components/bs-session-timeout.js +1 -1
  410. package/dist/components/bs-shortcut-row.d.ts +11 -0
  411. package/dist/components/bs-shortcut-row.js +1 -0
  412. package/dist/components/bs-side-panel.js +1 -1
  413. package/dist/components/bs-skeleton.js +1 -1
  414. package/dist/components/bs-slider.js +1 -1
  415. package/dist/components/bs-snackbar.js +1 -1
  416. package/dist/components/bs-source-link.js +1 -1
  417. package/dist/components/bs-spinner.js +1 -1
  418. package/dist/components/bs-split-pane.js +1 -1
  419. package/dist/components/bs-stack.js +1 -1
  420. package/dist/components/bs-stepper-step.js +1 -1
  421. package/dist/components/bs-stepper.js +1 -1
  422. package/dist/components/bs-switch.js +1 -1
  423. package/dist/components/bs-tab.js +1 -1
  424. package/dist/components/bs-tabs.js +1 -1
  425. package/dist/components/bs-timepicker.js +1 -1
  426. package/dist/components/bs-toast.js +1 -1
  427. package/dist/components/bs-tooltip-trigger.js +1 -1
  428. package/dist/components/bs-tooltip.js +1 -1
  429. package/dist/components/bs-tree-item.js +1 -1
  430. package/dist/components/bs-tree.js +1 -1
  431. package/dist/components/bs-whats-new-entry.js +1 -1
  432. package/dist/components/bs-whats-new.js +1 -1
  433. package/dist/components/p-B6KgEbdM.js +1 -0
  434. package/dist/components/{p-CQjSDdH7.js → p-B8kw9EOx.js} +1 -1
  435. package/dist/components/p-BLPNwyiT.js +1 -0
  436. package/dist/components/{p-J9cxcDhY.js → p-BP1l6Q3Z.js} +1 -1
  437. package/dist/components/p-BS7ySxJZ.js +1 -0
  438. package/dist/components/{p-DYuzgzxI.js → p-BmdSbmFg.js} +1 -1
  439. package/dist/components/{p-CRtvJlh8.js → p-C1owRphU.js} +1 -1
  440. package/dist/components/{p-BsbtyRJV.js → p-C2rRVRIu.js} +1 -1
  441. package/dist/components/p-C3erqJFy.js +1 -0
  442. package/dist/components/p-Cd7p-48Q.js +1 -0
  443. package/dist/components/{p-CK7fiES5.js → p-CmlzHRkn.js} +1 -1
  444. package/dist/components/p-Co36mHEU.js +1 -0
  445. package/dist/components/p-D4_8H0vn.js +1 -0
  446. package/dist/components/{p-D0KM1R2i.js → p-D9dDFyPB.js} +1 -1
  447. package/dist/components/{p-DvNED6Lb.js → p-DBvhi__l.js} +1 -1
  448. package/dist/components/{p-kDJsWjTN.js → p-DFd4pP4i.js} +1 -1
  449. package/dist/components/{p-BdkE4auv.js → p-DVjuZdjF.js} +1 -1
  450. package/dist/components/{p-Bb1-2M8K.js → p-DW0Dw2LS.js} +1 -1
  451. package/dist/components/p-DcdFuKG9.js +1 -0
  452. package/dist/components/p-Deq0LzGO.js +1 -0
  453. package/dist/components/{p-BaJEv6rL.js → p-DgY5pxXd.js} +1 -1
  454. package/dist/components/{p-ByLUtXxO.js → p-DhhXayh6.js} +1 -1
  455. package/dist/components/p-DiORQQg3.js +1 -0
  456. package/dist/components/p-Dl0FedE5.js +1 -0
  457. package/dist/components/p-DsBToIYE.js +1 -0
  458. package/dist/components/{p-DFKc3lLA.js → p-DtbeCgXo.js} +1 -1
  459. package/dist/components/{p-C7RZ6qZC.js → p-DzvXbBvk.js} +1 -1
  460. package/dist/components/p-I1_Q3HQu.js +1 -0
  461. package/dist/components/{p-C93ymWm7.js → p-TXAiCnSZ.js} +1 -1
  462. package/dist/components/p-c-g3-oVu.js +1 -0
  463. package/dist/components/p-erdtytMq.js +1 -0
  464. package/dist/components/{p-B128GX8H.js → p-qXdgl7VG.js} +1 -1
  465. package/dist/esm/brandsync-wc.js +1 -1
  466. package/dist/esm/bs-accordion-group.entry.js +1 -1
  467. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  468. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  469. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  470. package/dist/esm/bs-app-recent-item_3.entry.js +129 -0
  471. package/dist/esm/bs-app-shell.entry.js +1 -1
  472. package/dist/esm/bs-app-switcher.entry.js +206 -0
  473. package/dist/esm/bs-attachment-list.entry.js +1 -1
  474. package/dist/esm/bs-attachment.entry.js +1 -1
  475. package/dist/esm/bs-avatar.entry.js +1 -1
  476. package/dist/esm/bs-badge.entry.js +1 -1
  477. package/dist/esm/bs-breadcrumb-overflow.entry.js +1 -1
  478. package/dist/esm/bs-breadcrumb.entry.js +1 -1
  479. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  480. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  481. package/dist/esm/bs-button.entry.js +1 -1
  482. package/dist/esm/bs-card.entry.js +1 -1
  483. package/dist/esm/bs-carousel.entry.js +1 -1
  484. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  485. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  486. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  487. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  488. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  489. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  490. package/dist/esm/bs-checkbox.entry.js +1 -1
  491. package/dist/esm/bs-chip-filter.entry.js +1 -1
  492. package/dist/esm/bs-chip-informative.entry.js +1 -1
  493. package/dist/esm/bs-chip-input.entry.js +1 -1
  494. package/dist/esm/bs-citation-preview.entry.js +1 -1
  495. package/dist/esm/bs-command-palette.entry.js +372 -0
  496. package/dist/esm/bs-compact-menu-block_2.entry.js +43 -0
  497. package/dist/esm/bs-company-switcher.entry.js +209 -0
  498. package/dist/esm/bs-composer-status-banner.entry.js +1 -1
  499. package/dist/esm/bs-composer.entry.js +1 -1
  500. package/dist/esm/bs-container.entry.js +1 -1
  501. package/dist/esm/bs-data-table.entry.js +2 -2
  502. package/dist/esm/bs-datepicker.entry.js +1 -1
  503. package/dist/esm/bs-divider.entry.js +1 -1
  504. package/dist/esm/bs-empty-state.entry.js +45 -0
  505. package/dist/esm/bs-error-page.entry.js +1 -1
  506. package/dist/esm/bs-file-upload-item.entry.js +1 -1
  507. package/dist/esm/bs-file-upload.entry.js +1 -1
  508. package/dist/esm/bs-global-search.entry.js +324 -0
  509. package/dist/esm/bs-grid.entry.js +2 -2
  510. package/dist/esm/bs-icon-button.entry.js +8 -1
  511. package/dist/esm/bs-icon-tile.entry.js +11 -3
  512. package/dist/esm/bs-inline-tab.entry.js +1 -1
  513. package/dist/esm/bs-input_3.entry.js +4 -4
  514. package/dist/esm/bs-key-caps.entry.js +37 -0
  515. package/dist/esm/bs-key.entry.js +26 -0
  516. package/dist/esm/bs-keyboard-shortcuts.entry.js +110 -0
  517. package/dist/esm/bs-list-item_2.entry.js +212 -0
  518. package/dist/esm/bs-list.entry.js +1 -1
  519. package/dist/esm/bs-mega-menu.entry.js +68 -0
  520. package/dist/esm/bs-message-list.entry.js +1 -1
  521. package/dist/esm/bs-message.entry.js +1 -1
  522. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  523. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  524. package/dist/esm/bs-navigation-header.entry.js +5 -2
  525. package/dist/esm/bs-page-header.entry.js +64 -0
  526. package/dist/esm/bs-pagination.entry.js +1 -1
  527. package/dist/esm/bs-progress-linear.entry.js +2 -2
  528. package/dist/esm/bs-progress.entry.js +2 -2
  529. package/dist/esm/bs-qr-code.entry.js +1 -1
  530. package/dist/esm/bs-radio.entry.js +1 -1
  531. package/dist/esm/bs-search-item.entry.js +45 -0
  532. package/dist/esm/bs-session-timeout.entry.js +1 -1
  533. package/dist/esm/bs-shortcut-row.entry.js +25 -0
  534. package/dist/esm/bs-slider.entry.js +1 -1
  535. package/dist/esm/bs-snackbar.entry.js +1 -1
  536. package/dist/esm/bs-source-link.entry.js +2 -2
  537. package/dist/esm/bs-spinner.entry.js +1 -1
  538. package/dist/esm/bs-split-pane.entry.js +1 -1
  539. package/dist/esm/bs-stack.entry.js +1 -1
  540. package/dist/esm/bs-stepper-step.entry.js +1 -1
  541. package/dist/esm/bs-stepper.entry.js +1 -1
  542. package/dist/esm/bs-switch.entry.js +1 -1
  543. package/dist/esm/bs-tab_3.entry.js +3 -3
  544. package/dist/esm/bs-timepicker.entry.js +2 -2
  545. package/dist/esm/bs-toast.entry.js +1 -1
  546. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  547. package/dist/esm/bs-tooltip.entry.js +1 -1
  548. package/dist/esm/bs-tree-item.entry.js +2 -2
  549. package/dist/esm/bs-tree.entry.js +1 -1
  550. package/dist/esm/loader.js +1 -1
  551. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.cmp.test.d.ts +1 -0
  552. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.d.ts +51 -0
  553. package/dist/types/components/bs-app-recent-item/bs-app-recent-item.stories.d.ts +15 -0
  554. package/dist/types/components/bs-app-switcher/bs-app-switcher.cmp.test.d.ts +1 -0
  555. package/dist/types/components/bs-app-switcher/bs-app-switcher.d.ts +159 -0
  556. package/dist/types/components/bs-app-switcher/bs-app-switcher.stories.d.ts +34 -0
  557. package/dist/types/components/bs-app-tile/bs-app-tile.cmp.test.d.ts +1 -0
  558. package/dist/types/components/bs-app-tile/bs-app-tile.d.ts +51 -0
  559. package/dist/types/components/bs-app-tile/bs-app-tile.stories.d.ts +18 -0
  560. package/dist/types/components/bs-button/bs-icon-button/bs-icon-button.d.ts +7 -0
  561. package/dist/types/components/bs-command-palette/bs-command-palette.cmp.test.d.ts +1 -0
  562. package/dist/types/components/bs-command-palette/bs-command-palette.d.ts +172 -0
  563. package/dist/types/components/bs-command-palette/bs-command-palette.stories.d.ts +56 -0
  564. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.cmp.test.d.ts +1 -0
  565. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.d.ts +28 -0
  566. package/dist/types/components/bs-compact-menu-block/bs-compact-menu-block.stories.d.ts +10 -0
  567. package/dist/types/components/bs-company-switcher/bs-company-switcher.cmp.test.d.ts +1 -0
  568. package/dist/types/components/bs-company-switcher/bs-company-switcher.d.ts +130 -0
  569. package/dist/types/components/bs-company-switcher/bs-company-switcher.stories.d.ts +25 -0
  570. package/dist/types/components/bs-empty-state/bs-empty-state.cmp.test.d.ts +1 -0
  571. package/dist/types/components/bs-empty-state/bs-empty-state.d.ts +50 -0
  572. package/dist/types/components/bs-empty-state/bs-empty-state.stories.d.ts +13 -0
  573. package/dist/types/components/bs-global-search/bs-global-search.cmp.test.d.ts +1 -0
  574. package/dist/types/components/bs-global-search/bs-global-search.d.ts +166 -0
  575. package/dist/types/components/bs-global-search/bs-global-search.stories.d.ts +61 -0
  576. package/dist/types/components/bs-icon-tile/bs-icon-tile.d.ts +5 -0
  577. package/dist/types/components/bs-key/bs-key.cmp.test.d.ts +1 -0
  578. package/dist/types/components/bs-key/bs-key.d.ts +36 -0
  579. package/dist/types/components/bs-key/bs-key.stories.d.ts +11 -0
  580. package/dist/types/components/bs-key-caps/bs-key-caps.cmp.test.d.ts +1 -0
  581. package/dist/types/components/bs-key-caps/bs-key-caps.d.ts +31 -0
  582. package/dist/types/components/bs-key-caps/bs-key-caps.stories.d.ts +15 -0
  583. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.cmp.test.d.ts +1 -0
  584. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.d.ts +95 -0
  585. package/dist/types/components/bs-keyboard-shortcuts/bs-keyboard-shortcuts.stories.d.ts +43 -0
  586. package/dist/types/components/bs-mega-menu/bs-mega-menu.cmp.test.d.ts +1 -0
  587. package/dist/types/components/bs-mega-menu/bs-mega-menu.d.ts +110 -0
  588. package/dist/types/components/bs-mega-menu/bs-mega-menu.stories.d.ts +55 -0
  589. package/dist/types/components/bs-menu-block/bs-menu-block.cmp.test.d.ts +1 -0
  590. package/dist/types/components/bs-menu-block/bs-menu-block.d.ts +47 -0
  591. package/dist/types/components/bs-menu-block/bs-menu-block.stories.d.ts +15 -0
  592. package/dist/types/components/bs-page-header/bs-page-header.cmp.test.d.ts +1 -0
  593. package/dist/types/components/bs-page-header/bs-page-header.d.ts +100 -0
  594. package/dist/types/components/bs-page-header/bs-page-header.stories.d.ts +41 -0
  595. package/dist/types/components/bs-search-item/bs-search-item.cmp.test.d.ts +1 -0
  596. package/dist/types/components/bs-search-item/bs-search-item.d.ts +61 -0
  597. package/dist/types/components/bs-search-item/bs-search-item.stories.d.ts +13 -0
  598. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.cmp.test.d.ts +1 -0
  599. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.d.ts +38 -0
  600. package/dist/types/components/bs-shortcut-row/bs-shortcut-row.stories.d.ts +13 -0
  601. package/dist/types/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.d.ts +7 -1
  602. package/dist/types/components.d.ts +3920 -71
  603. package/dist/types/svg-inline.d.ts +5 -0
  604. package/package.json +2 -1
  605. package/reference.d.ts +50 -2
  606. package/reference.json +1701 -31
  607. package/dist/brandsync-wc/p-0228a584.entry.js +0 -1
  608. package/dist/brandsync-wc/p-0f97fe35.entry.js +0 -1
  609. package/dist/brandsync-wc/p-23379d7c.entry.js +0 -1
  610. package/dist/brandsync-wc/p-34b0c048.entry.js +0 -1
  611. package/dist/brandsync-wc/p-3789c7a5.entry.js +0 -1
  612. package/dist/brandsync-wc/p-5a45ef51.entry.js +0 -1
  613. package/dist/brandsync-wc/p-769c5b4a.entry.js +0 -1
  614. package/dist/brandsync-wc/p-86774165.entry.js +0 -1
  615. package/dist/brandsync-wc/p-e5f50e93.entry.js +0 -1
  616. package/dist/brandsync-wc/p-f4d1d56e.entry.js +0 -1
  617. package/dist/cjs/bs-list-item.cjs.entry.js +0 -66
  618. package/dist/cjs/bs-popover.cjs.entry.js +0 -153
  619. package/dist/cjs/bs-skeleton.cjs.entry.js +0 -51
  620. package/dist/components/p-B80vOwH6.js +0 -1
  621. package/dist/components/p-ChcaPfNL.js +0 -1
  622. package/dist/components/p-GTDI4Ibw.js +0 -1
  623. package/dist/esm/bs-list-item.entry.js +0 -64
  624. package/dist/esm/bs-popover.entry.js +0 -151
  625. package/dist/esm/bs-skeleton.entry.js +0 -49
@@ -0,0 +1,351 @@
1
+ import { h } from "@stencil/core";
2
+ const SLOT_NAMES = ['breadcrumb', 'status', 'meta', 'actions', 'tabs'];
3
+ /**
4
+ * The header at the top of a page's content area: breadcrumb trail, the page title (a real heading) with an
5
+ * optional back button, status and favourite toggle, a meta line, page-level actions on the right and an
6
+ * optional row of tabs. Matches the Figma "Page header" (types List page, Record, Record with tabs and Sticky
7
+ * compact).
8
+ *
9
+ * Built from `bs-breadcrumbs`/`bs-breadcrumb` (slotted by you), `bs-icon-button` (the built-in back and favourite
10
+ * buttons), `bs-chip-informative` (the status you slot), `bs-button` and `bs-icon-button` (the actions you slot),
11
+ * `bs-tabs`/`bs-tab` (the tab row you slot) and `bs-divider` (under the tabs). The title block, meta line and
12
+ * actions area are plain layout markup, because no component covers them. The back arrow and the star are
13
+ * inline SVG (Phosphor "arrow-left", "star" and "star-fill") until the library has an icon component.
14
+ *
15
+ * ## Compact (sticky)
16
+ * `compact` is the condensed state a record header takes once the page scrolls: one row (back, title, status,
17
+ * meta inline, actions), a level 2 shadow, no breadcrumb and no tabs, and `position: sticky`. Set it yourself
18
+ * from a scroll observer. Because the header covers the top of the scroll area, give the scroll container
19
+ * `scroll-padding-top` equal to its height (80px by default) so focused or anchored content is not hidden under it.
20
+ *
21
+ * ## Responsive
22
+ * The header reacts to its own width (a container query), not the viewport's. Below 640px the actions wrap
23
+ * below the title block, slotted buttons grow to 44px tall, the title and meta wrap, and the tab row scrolls
24
+ * sideways inside itself. The page never gets wider.
25
+ *
26
+ * ## When to use
27
+ * - The top of a list page or a single record (an invoice, a customer) inside the app shell's content area.
28
+ *
29
+ * ## When not to use
30
+ * - The app-wide bar with logo, search and user: use `bs-navigation-header`.
31
+ * - The heading of a card, dialog or panel: use that component's own `heading`.
32
+ *
33
+ * ## Accessibility notes
34
+ * The root is a plain `div`, not a `<header>`: a `<header>` that is not inside `<main>`/`<article>`/`<section>`
35
+ * is a second banner landmark. The title is a real heading (`<h1>` by default, `headingLevel` 1 to 6); the
36
+ * status is next to it, not inside it. If you want a landmark, wrap `bs-page-header` yourself.
37
+ *
38
+ * @slot breadcrumb - A `bs-breadcrumbs` trail, shown above the title. Not shown when `compact`.
39
+ * @slot status - A status chip next to the title, e.g. `<bs-chip-informative color="error" size="sm">Overdue</bs-chip-informative>`.
40
+ * @slot meta - The line under the title (inline after it when `compact`). Overrides the `meta` prop. Plain text.
41
+ * @slot actions - The page-level actions on the right, e.g. `bs-button`s and an icon-only "more" `bs-icon-button`.
42
+ * @slot tabs - A `bs-tabs` row under the meta line. Not shown when `compact`.
43
+ * @part container - The root element.
44
+ * @part breadcrumb - The breadcrumb area.
45
+ * @part row - The row holding the title block and the actions.
46
+ * @part main - The title block (back button, title row and meta).
47
+ * @part back - The back `bs-icon-button`.
48
+ * @part title - The row holding the heading, status and favourite button.
49
+ * @part heading - The heading element.
50
+ * @part status - The status area.
51
+ * @part favorite - The favourite `bs-icon-button`.
52
+ * @part meta - The meta line.
53
+ * @part actions - The actions area.
54
+ * @part tabs - The tab row (scrolls sideways when narrow).
55
+ * @part divider - The `bs-divider` under the tabs.
56
+ * @prop --bs-page-header-bg - Background. Aliased to `--bs-surface-base`.
57
+ * @prop --bs-page-header-padding-x - Left and right padding. Aliased to `--bs-spacing-200`.
58
+ * @prop --bs-page-header-padding-y - Top and bottom padding. Aliased to `--bs-spacing-300`.
59
+ * @prop --bs-page-header-gap - Gap between the breadcrumb, title block and tabs, and between the title block and the actions. Aliased to `--bs-spacing-150`.
60
+ * @prop --bs-page-header-title-gap - Gap between the heading, status and favourite button. Aliased to `--bs-spacing-150`.
61
+ * @prop --bs-page-header-actions-gap - Gap between the actions. Aliased to `--bs-spacing-100`.
62
+ * @prop --bs-page-header-text-color - Heading. Aliased to `--bs-text-default`.
63
+ * @prop --bs-page-header-meta-color - Meta line. Aliased to `--bs-text-secondary`.
64
+ * @prop --bs-page-header-shadow - Shadow of the compact header (elevation level 2). Aliased to the `--bs-shadow-*` position and blur tokens and `--bs-elevation-medium`.
65
+ * @prop --bs-page-header-sticky-offset - The `top` of the compact header. Defaults to `0px`; set it to the height of a sticky bar above (e.g. the navigation header).
66
+ * @prop --bs-page-header-z-index - Stacking order of the compact header. Aliased to `--bs-z-index-sticky`.
67
+ */
68
+ export class BsPageHeader {
69
+ el;
70
+ /** The page title, rendered as the heading. */
71
+ heading;
72
+ /** HTML heading level for the title, 1 to 6. Use 1 unless the page already has its own `h1`. */
73
+ headingLevel = 1;
74
+ /** The line under the title, plain text, e.g. "214 invoices · 38 open". The `meta` slot overrides it. */
75
+ meta;
76
+ /** The condensed, sticky state: one row, a level 2 shadow, no breadcrumb and no tabs. Reflected. */
77
+ compact = false;
78
+ /** Shows a back button before the title. It emits `bsBack`; you navigate. */
79
+ back = false;
80
+ /** Accessible name of the back button. */
81
+ backLabel = 'Back';
82
+ /** Shows the favourite (star) toggle after the title. */
83
+ favoritable = false;
84
+ /** Whether the record is a favourite. Mutable: it follows the user's toggle unless `bsFavoriteChange` is cancelled. */
85
+ favorite = false;
86
+ /** Accessible name of the favourite toggle. It stays the same in both states; `aria-pressed` carries the state. */
87
+ favoriteLabel = 'Favourite';
88
+ /** Fires when the back button is clicked. Not cancelable: the component has no default action to cancel. */
89
+ bsBack;
90
+ /** Fires when the user toggles the favourite button, with the new value. Cancelable: `preventDefault()` keeps the old value. */
91
+ bsFavoriteChange;
92
+ slotted = { breadcrumb: false, status: false, meta: false, actions: false, tabs: false };
93
+ componentWillLoad() {
94
+ // A slot that is empty from the start never fires `slotchange`, so read the light DOM once up front.
95
+ this.slotted = Object.fromEntries(SLOT_NAMES.map(n => [n, !!this.el.querySelector(`:scope > [slot="${n}"]`)]));
96
+ }
97
+ onSlotChange = (name) => (ev) => {
98
+ const has = ev.target.assignedNodes().length > 0;
99
+ if (has !== this.slotted[name])
100
+ this.slotted = { ...this.slotted, [name]: has };
101
+ };
102
+ onFavoriteClick = () => {
103
+ const next = !this.favorite;
104
+ const e = this.bsFavoriteChange.emit({ favorite: next });
105
+ if (!e.defaultPrevented)
106
+ this.favorite = next;
107
+ };
108
+ render() {
109
+ const level = Math.min(6, Math.max(1, Math.trunc(Number(this.headingLevel)) || 1));
110
+ const showMeta = !!this.meta || this.slotted.meta;
111
+ const hasTabs = this.slotted.tabs && !this.compact;
112
+ return (h("div", { key: 'c67fc2b33ae942872040751d548fb82702032f9f', part: "container", class: { 'bs-page-header': true, 'bs-page-header--compact': this.compact, 'bs-page-header--tabs': hasTabs } }, h("div", { key: '032d58b0072e17bd8eeb60afb5a719899a56691b', part: "breadcrumb", class: { 'bs-page-header__breadcrumb': true, 'bs-page-header__empty': !this.slotted.breadcrumb } }, h("slot", { key: 'baed539fafc7704bbcddf66aff9109e0d6366d67', name: "breadcrumb", onSlotchange: this.onSlotChange('breadcrumb') })), h("div", { key: '7f001cac1f29a8dd805830df98b367cee74fd46f', part: "row", class: "bs-page-header__row" }, h("div", { key: 'c287bdcf1e22feb88bfbc3623cc2ff8765b798d0', part: "main", class: { 'bs-page-header__main': true, 'bs-page-header__main--back': this.back } }, this.back && (h("bs-icon-button", { key: '98d23c039d1f864de2a3a814ffc66c69e613d88d', part: "back", class: "bs-page-header__back", variant: "subtle", size: "sm", ariaLabel: this.backLabel, onClick: () => this.bsBack.emit() }, h(ArrowLeftIcon, { key: 'dd9d3aec3e3bd8e8d5423b7fbf3d899693f2a47d' }))), h("div", { key: '8b2c60f98bcf538bb6419d37180c87f921d3efc1', part: "title", class: { 'bs-page-header__title': true, 'bs-page-header__title--controls': this.back || this.favoritable } }, h(`h${level}`, { part: 'heading', class: { 'bs-page-header__heading': true } }, this.heading), h("span", { key: 'c2b98f908942e93bfd6c8711c7097b77fdf9c449', part: "status", class: { 'bs-page-header__status': true, 'bs-page-header__empty': !this.slotted.status } }, h("slot", { key: '7a0be9e27bd1b1b4fb5ce5122056ea1b79d85e3a', name: "status", onSlotchange: this.onSlotChange('status') })), this.favoritable && (h("bs-icon-button", { key: 'be19b70ac6c5a0a560bf2d3402c146844b5bb81b', part: "favorite", class: "bs-page-header__favorite", variant: "subtle", size: "sm", ariaLabel: this.favoriteLabel, pressed: this.favorite, onClick: this.onFavoriteClick }, this.favorite ? h(StarFillIcon, null) : h(StarIcon, null)))), h("div", { key: '5c4c5aeb64bf508031607455f65c67a7b6fc89ce', part: "meta", class: { 'bs-page-header__meta': true, 'bs-page-header__empty': !showMeta } }, h("slot", { key: '75d3cbe844e0ecee9ed9f2457591fd418405b931', name: "meta", onSlotchange: this.onSlotChange('meta') }, this.meta))), h("div", { key: 'a8f6d7929d7c49066f987f9acc665ef42404059b', part: "actions", class: { 'bs-page-header__actions': true, 'bs-page-header__empty': !this.slotted.actions } }, h("slot", { key: '84a69af01b82f153b965c981d80bda4561b9d8a7', name: "actions", onSlotchange: this.onSlotChange('actions') }))), h("div", { key: 'fdd15239c429c8800b91aac17fff8cd78bbfc589', part: "tabs", class: { 'bs-page-header__tabs': true, 'bs-page-header__empty': !this.slotted.tabs } }, h("slot", { key: '892ecc16b598a39b706e807c67fb8b4b7a6e7cad', name: "tabs", onSlotchange: this.onSlotChange('tabs') })), hasTabs && h("bs-divider", { key: '7397b2cfc7faca637442ba7d0460a1ec396504a3', part: "divider", class: "bs-page-header__divider", decorative: true })));
113
+ }
114
+ static get is() { return "bs-page-header"; }
115
+ static get encapsulation() { return "shadow"; }
116
+ static get originalStyleUrls() {
117
+ return {
118
+ "$": ["bs-page-header.css"]
119
+ };
120
+ }
121
+ static get styleUrls() {
122
+ return {
123
+ "$": ["bs-page-header.css"]
124
+ };
125
+ }
126
+ static get properties() {
127
+ return {
128
+ "heading": {
129
+ "type": "string",
130
+ "mutable": false,
131
+ "complexType": {
132
+ "original": "string",
133
+ "resolved": "string",
134
+ "references": {}
135
+ },
136
+ "required": false,
137
+ "optional": false,
138
+ "docs": {
139
+ "tags": [],
140
+ "text": "The page title, rendered as the heading."
141
+ },
142
+ "getter": false,
143
+ "setter": false,
144
+ "reflect": false,
145
+ "attribute": "heading"
146
+ },
147
+ "headingLevel": {
148
+ "type": "number",
149
+ "mutable": false,
150
+ "complexType": {
151
+ "original": "number",
152
+ "resolved": "number",
153
+ "references": {}
154
+ },
155
+ "required": false,
156
+ "optional": false,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": "HTML heading level for the title, 1 to 6. Use 1 unless the page already has its own `h1`."
160
+ },
161
+ "getter": false,
162
+ "setter": false,
163
+ "reflect": false,
164
+ "attribute": "heading-level",
165
+ "defaultValue": "1"
166
+ },
167
+ "meta": {
168
+ "type": "string",
169
+ "mutable": false,
170
+ "complexType": {
171
+ "original": "string",
172
+ "resolved": "string",
173
+ "references": {}
174
+ },
175
+ "required": false,
176
+ "optional": true,
177
+ "docs": {
178
+ "tags": [],
179
+ "text": "The line under the title, plain text, e.g. \"214 invoices \u00B7 38 open\". The `meta` slot overrides it."
180
+ },
181
+ "getter": false,
182
+ "setter": false,
183
+ "reflect": false,
184
+ "attribute": "meta"
185
+ },
186
+ "compact": {
187
+ "type": "boolean",
188
+ "mutable": false,
189
+ "complexType": {
190
+ "original": "boolean",
191
+ "resolved": "boolean",
192
+ "references": {}
193
+ },
194
+ "required": false,
195
+ "optional": false,
196
+ "docs": {
197
+ "tags": [],
198
+ "text": "The condensed, sticky state: one row, a level 2 shadow, no breadcrumb and no tabs. Reflected."
199
+ },
200
+ "getter": false,
201
+ "setter": false,
202
+ "reflect": true,
203
+ "attribute": "compact",
204
+ "defaultValue": "false"
205
+ },
206
+ "back": {
207
+ "type": "boolean",
208
+ "mutable": false,
209
+ "complexType": {
210
+ "original": "boolean",
211
+ "resolved": "boolean",
212
+ "references": {}
213
+ },
214
+ "required": false,
215
+ "optional": false,
216
+ "docs": {
217
+ "tags": [],
218
+ "text": "Shows a back button before the title. It emits `bsBack`; you navigate."
219
+ },
220
+ "getter": false,
221
+ "setter": false,
222
+ "reflect": false,
223
+ "attribute": "back",
224
+ "defaultValue": "false"
225
+ },
226
+ "backLabel": {
227
+ "type": "string",
228
+ "mutable": false,
229
+ "complexType": {
230
+ "original": "string",
231
+ "resolved": "string",
232
+ "references": {}
233
+ },
234
+ "required": false,
235
+ "optional": false,
236
+ "docs": {
237
+ "tags": [],
238
+ "text": "Accessible name of the back button."
239
+ },
240
+ "getter": false,
241
+ "setter": false,
242
+ "reflect": false,
243
+ "attribute": "back-label",
244
+ "defaultValue": "'Back'"
245
+ },
246
+ "favoritable": {
247
+ "type": "boolean",
248
+ "mutable": false,
249
+ "complexType": {
250
+ "original": "boolean",
251
+ "resolved": "boolean",
252
+ "references": {}
253
+ },
254
+ "required": false,
255
+ "optional": false,
256
+ "docs": {
257
+ "tags": [],
258
+ "text": "Shows the favourite (star) toggle after the title."
259
+ },
260
+ "getter": false,
261
+ "setter": false,
262
+ "reflect": false,
263
+ "attribute": "favoritable",
264
+ "defaultValue": "false"
265
+ },
266
+ "favorite": {
267
+ "type": "boolean",
268
+ "mutable": true,
269
+ "complexType": {
270
+ "original": "boolean",
271
+ "resolved": "boolean",
272
+ "references": {}
273
+ },
274
+ "required": false,
275
+ "optional": false,
276
+ "docs": {
277
+ "tags": [],
278
+ "text": "Whether the record is a favourite. Mutable: it follows the user's toggle unless `bsFavoriteChange` is cancelled."
279
+ },
280
+ "getter": false,
281
+ "setter": false,
282
+ "reflect": true,
283
+ "attribute": "favorite",
284
+ "defaultValue": "false"
285
+ },
286
+ "favoriteLabel": {
287
+ "type": "string",
288
+ "mutable": false,
289
+ "complexType": {
290
+ "original": "string",
291
+ "resolved": "string",
292
+ "references": {}
293
+ },
294
+ "required": false,
295
+ "optional": false,
296
+ "docs": {
297
+ "tags": [],
298
+ "text": "Accessible name of the favourite toggle. It stays the same in both states; `aria-pressed` carries the state."
299
+ },
300
+ "getter": false,
301
+ "setter": false,
302
+ "reflect": false,
303
+ "attribute": "favorite-label",
304
+ "defaultValue": "'Favourite'"
305
+ }
306
+ };
307
+ }
308
+ static get states() {
309
+ return {
310
+ "slotted": {}
311
+ };
312
+ }
313
+ static get events() {
314
+ return [{
315
+ "method": "bsBack",
316
+ "name": "bsBack",
317
+ "bubbles": true,
318
+ "cancelable": true,
319
+ "composed": true,
320
+ "docs": {
321
+ "tags": [],
322
+ "text": "Fires when the back button is clicked. Not cancelable: the component has no default action to cancel."
323
+ },
324
+ "complexType": {
325
+ "original": "void",
326
+ "resolved": "void",
327
+ "references": {}
328
+ }
329
+ }, {
330
+ "method": "bsFavoriteChange",
331
+ "name": "bsFavoriteChange",
332
+ "bubbles": true,
333
+ "cancelable": true,
334
+ "composed": true,
335
+ "docs": {
336
+ "tags": [],
337
+ "text": "Fires when the user toggles the favourite button, with the new value. Cancelable: `preventDefault()` keeps the old value."
338
+ },
339
+ "complexType": {
340
+ "original": "{ favorite: boolean }",
341
+ "resolved": "{ favorite: boolean; }",
342
+ "references": {}
343
+ }
344
+ }];
345
+ }
346
+ static get elementRef() { return "el"; }
347
+ }
348
+ // Paths from Phosphor Icons (MIT) "arrow-left", "star" and "star-fill", regular/fill weights, 256 viewBox.
349
+ const ArrowLeftIcon = () => (h("svg", { viewBox: "0 0 256 256", fill: "currentColor", "aria-hidden": "true" }, h("path", { d: "M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z" })));
350
+ const StarIcon = () => (h("svg", { viewBox: "0 0 256 256", fill: "currentColor", "aria-hidden": "true" }, h("path", { d: "M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z" })));
351
+ const StarFillIcon = () => (h("svg", { viewBox: "0 0 256 256", fill: "currentColor", "aria-hidden": "true" }, h("path", { d: "M234.29,114.85l-45,38.83L203,211.75a16.4,16.4,0,0,1-24.5,17.82L128,198.49,77.47,229.57A16.4,16.4,0,0,1,53,211.75l13.76-58.07-45-38.83A16.46,16.46,0,0,1,31.08,86l59-4.76,22.76-55.08a16.36,16.36,0,0,1,30.27,0l22.75,55.08,59,4.76a16.46,16.46,0,0,1,9.37,28.86Z" })));
@@ -0,0 +1,177 @@
1
+ import { html } from "lit";
2
+ import { styleMap } from "lit/directives/style-map.js";
3
+ import { componentDescription } from "../../stories-utils";
4
+ import exportIcon from "@phosphor-icons/core/assets/regular/download-simple.svg?inline";
5
+ import plusIcon from "@phosphor-icons/core/assets/regular/plus.svg?inline";
6
+ import moreIcon from "@phosphor-icons/core/assets/bold/dots-three-bold.svg?inline";
7
+ import mailIcon from "@phosphor-icons/core/assets/regular/envelope-simple.svg?inline";
8
+ /** Phosphor (regular) icons as monochrome SVG data URIs; a real app supplies its own. */
9
+ export const ICONS = { export: exportIcon, plus: plusIcon, more: moreIcon, mail: mailIcon };
10
+ /** Sample data (invented for the stories and tests; not real invoices, customers or amounts). */
11
+ export const SAMPLE = {
12
+ heading: 'Invoices',
13
+ listMeta: '214 invoices · 38 open · 5 overdue',
14
+ customerMeta: 'Nordlys Handel AS · 4 250,00 kr',
15
+ };
16
+ /** An icon painted from a monochrome SVG URL in the surrounding text colour, sized by the slot (1em). */
17
+ const icon = (url) => {
18
+ const mask = `url("${url}") center / contain no-repeat`;
19
+ return html `<span aria-hidden="true" style=${styleMap({ display: 'block', width: '100%', height: '100%', background: 'currentColor', '-webkit-mask': mask, mask })}></span>`;
20
+ };
21
+ const trail = (record) => html `
22
+ <bs-breadcrumbs slot="breadcrumb" label="Breadcrumb">
23
+ <bs-breadcrumb href="#sales">Sales</bs-breadcrumb>
24
+ <bs-breadcrumb href="#invoices" ?current=${!record}>Invoices</bs-breadcrumb>
25
+ ${record ? html `<bs-breadcrumb current>INV-2041</bs-breadcrumb>` : ''}
26
+ </bs-breadcrumbs>
27
+ `;
28
+ const status = html `<bs-chip-informative slot="status" color="error" size="sm">Overdue</bs-chip-informative>`;
29
+ const more = html `<bs-icon-button slot="actions" variant="outlined" size="sm" aria-label="More actions" style="--bs-icon-button-icon-size-sm: var(--bs-scale-250)">${icon(ICONS.more)}</bs-icon-button>`;
30
+ const listActions = html `
31
+ <bs-button slot="actions" variant="outlined" size="sm"><span slot="icon" style="font-size: var(--bs-scale-250)">${icon(ICONS.export)}</span>Export</bs-button>
32
+ <bs-button slot="actions" variant="primary" size="sm"><span slot="icon" style="font-size: var(--bs-scale-250)">${icon(ICONS.plus)}</span>New invoice</bs-button>
33
+ ${more}
34
+ `;
35
+ const recordActions = html `
36
+ <bs-button slot="actions" variant="outlined" size="sm"><span slot="icon" style="font-size: var(--bs-scale-250)">${icon(ICONS.mail)}</span>Send reminder</bs-button>
37
+ <bs-button slot="actions" variant="primary" size="sm">Register payment</bs-button>
38
+ ${more}
39
+ `;
40
+ const tabs = html `
41
+ <bs-tabs slot="tabs" type="bs-tab" value="overview">
42
+ <bs-tab value="overview" selected>Overview</bs-tab>
43
+ <bs-tab value="lines">Lines</bs-tab>
44
+ <bs-tab value="payments">Payments</bs-tab>
45
+ <bs-tab value="activity">Activity</bs-tab>
46
+ <bs-tab value="attachments">Attachments</bs-tab>
47
+ </bs-tabs>
48
+ `;
49
+ const meta = {
50
+ title: 'Components/bs-page-header',
51
+ excludeStories: /^[A-Z0-9_]+$/,
52
+ parameters: { layout: 'fullscreen', docs: { description: { component: componentDescription('bs-page-header') } } },
53
+ argTypes: {
54
+ heading: { control: 'text' },
55
+ headingLevel: { control: { type: 'number', min: 1, max: 6 } },
56
+ meta: { control: 'text' },
57
+ compact: { control: 'boolean' },
58
+ back: { control: 'boolean' },
59
+ favoritable: { control: 'boolean' },
60
+ favorite: { control: 'boolean' },
61
+ backLabel: { control: 'text' },
62
+ favoriteLabel: { control: 'text' },
63
+ },
64
+ args: { heading: SAMPLE.heading, headingLevel: 1, meta: SAMPLE.listMeta, compact: false, back: false, favoritable: false, favorite: false, backLabel: 'Back', favoriteLabel: 'Favourite' },
65
+ render: args => html `
66
+ <bs-page-header
67
+ .heading=${args.heading}
68
+ .headingLevel=${args.headingLevel}
69
+ .meta=${args.meta}
70
+ .compact=${args.compact}
71
+ .back=${args.back}
72
+ .favoritable=${args.favoritable}
73
+ .favorite=${args.favorite}
74
+ .backLabel=${args.backLabel}
75
+ .favoriteLabel=${args.favoriteLabel}
76
+ >
77
+ ${trail(false)} ${listActions}
78
+ </bs-page-header>
79
+ `,
80
+ };
81
+ export default meta;
82
+ /** Type "List page": breadcrumb, title, a meta line and the page actions on the right. */
83
+ export const ListPage = { name: 'List page' };
84
+ /** Type "Record": back button, status chip and favourite toggle beside the title; the meta line lines up with the title. */
85
+ export const Record = {
86
+ args: { back: true, favoritable: true, meta: SAMPLE.listMeta },
87
+ render: args => html `
88
+ <bs-page-header .heading=${args.heading} .headingLevel=${args.headingLevel} .meta=${args.meta} back favoritable .favorite=${args.favorite}>
89
+ ${trail(true)} ${status} ${recordActions}
90
+ </bs-page-header>
91
+ `,
92
+ };
93
+ /** Type "Record with tabs": a `bs-tabs` row under the meta line with a full-width divider below it. */
94
+ export const RecordWithTabs = {
95
+ name: 'Record with tabs',
96
+ args: { back: true, favoritable: true },
97
+ render: args => html `
98
+ <bs-page-header .heading=${args.heading} .headingLevel=${args.headingLevel} .meta=${args.meta} back favoritable .favorite=${args.favorite}>
99
+ ${trail(true)} ${status} ${recordActions} ${tabs}
100
+ </bs-page-header>
101
+ `,
102
+ };
103
+ /** Type "Sticky compact": one row with an inline meta and a level 2 shadow. Scroll the box: the header stays at the top. */
104
+ export const StickyCompact = {
105
+ name: 'Sticky compact',
106
+ args: { compact: true, back: true, meta: SAMPLE.customerMeta },
107
+ render: args => html `
108
+ <div
109
+ role="region"
110
+ aria-label="Scrollable page (sample)"
111
+ tabindex="0"
112
+ style="height: 360px; overflow: auto; scroll-padding-top: 80px; background: var(--bs-surface-base);"
113
+ >
114
+ <bs-page-header compact .heading=${args.heading} .headingLevel=${args.headingLevel} .meta=${args.meta} back>
115
+ ${status} ${recordActions}
116
+ </bs-page-header>
117
+ <div style="padding: var(--bs-spacing-300) var(--bs-spacing-200); font-family: sans-serif; color: var(--bs-text-secondary);">
118
+ ${Array.from({ length: 14 }, (_, i) => html `<p>Page content (sample), paragraph ${i + 1}. The compact header stays at the top while this scrolls.</p>`)}
119
+ </div>
120
+ </div>
121
+ `,
122
+ };
123
+ /** A favourited record: the star is filled and the button reports `aria-pressed="true"`. */
124
+ export const Favourited = {
125
+ args: { back: true, favoritable: true, favorite: true },
126
+ render: args => html `
127
+ <bs-page-header .heading=${args.heading} .meta=${args.meta} back favoritable .favorite=${args.favorite}>
128
+ ${trail(true)} ${status} ${recordActions}
129
+ </bs-page-header>
130
+ `,
131
+ };
132
+ /** No actions and no status: the title block and the meta line only. */
133
+ export const NoActions = {
134
+ name: 'No actions',
135
+ render: args => html `<bs-page-header .heading=${args.heading} .meta=${args.meta}>${trail(false)}</bs-page-header>`,
136
+ };
137
+ /** A long title wraps inside the title block; the status, favourite toggle and actions stay in place. */
138
+ export const LongTitle = {
139
+ name: 'Long title',
140
+ args: {
141
+ back: true,
142
+ favoritable: true,
143
+ heading: 'Invoice INV-2041 for Nordlys Handel AS, delivery of seasonal goods for the autumn campaign and winter stock',
144
+ meta: 'Issued 3 September · due 3 October · 4 250,00 kr',
145
+ },
146
+ render: args => html `
147
+ <bs-page-header .heading=${args.heading} .meta=${args.meta} back favoritable>${trail(true)} ${status} ${recordActions}</bs-page-header>
148
+ `,
149
+ };
150
+ const PHONE_VIEWPORT = {
151
+ options: { phone375: { name: 'Phone (375px)', styles: { width: '375px', height: '812px' }, type: 'mobile' } },
152
+ };
153
+ /** The Record with tabs at 375px: actions wrap below the title, buttons are 44px tall, the tabs scroll inside their row. */
154
+ export const Mobile = {
155
+ parameters: { layout: 'fullscreen', viewport: PHONE_VIEWPORT },
156
+ globals: { viewport: { value: 'phone375', isRotated: false } },
157
+ args: { back: true, favoritable: true },
158
+ render: args => html `
159
+ <bs-page-header .heading=${args.heading} .meta=${args.meta} back favoritable>${trail(true)} ${status} ${recordActions} ${tabs}</bs-page-header>
160
+ `,
161
+ };
162
+ /** Wired up: click back or the star; the last event is printed below. `bsFavoriteChange` is cancelable. */
163
+ export const Interactive = {
164
+ args: { back: true, favoritable: true },
165
+ render: args => {
166
+ const wrap = document.createElement('div');
167
+ const out = document.createElement('output');
168
+ out.style.cssText = 'display:block;padding:8px 16px;font:14px/20px monospace;color:var(--bs-text-secondary)';
169
+ out.textContent = 'Click the back arrow or the star.';
170
+ const ph = document.createElement('bs-page-header');
171
+ Object.assign(ph, { heading: args.heading, meta: args.meta, back: true, favoritable: true });
172
+ ph.addEventListener('bsBack', () => (out.textContent = 'bsBack'));
173
+ ph.addEventListener('bsFavoriteChange', e => (out.textContent = `bsFavoriteChange favorite=${e.detail.favorite}`));
174
+ wrap.append(ph, out);
175
+ return wrap;
176
+ },
177
+ };
@@ -91,7 +91,7 @@ export class BsPagination {
91
91
  }
92
92
  render() {
93
93
  const pageList = this.getPageList();
94
- return (h("nav", { key: '75dc1aebd26bfde72fc782d2a6cc90470d17300b', "aria-label": this.navLabel }, h("ul", { key: 'b278033a46239b2f980982acba26d07cd607588a', part: "list", class: "bs-pagination__list" }, h("li", { key: '23b6606829b277afcd3cf513c653c9d74aefda91', part: "item", class: "bs-pagination__item" }, h("button", { key: '6c476e3baa00f2f2ed35f544b092b4d338a95070', part: "prev", type: "button", class: "bs-pagination__control", "aria-label": this.previousLabel, disabled: this.currentPage <= 1, onClick: () => this.goToPage(this.currentPage - 1) }, h(ChevronLeftIcon, { key: '410770d471173960224a52b70ec05561ad0ccec0' }))), pageList.map((item, index) => item === 'ellipsis' ? (h("li", { part: "item", class: "bs-pagination__item", key: `ellipsis-${index}` }, h("span", { part: "ellipsis", class: "bs-pagination__ellipsis", "aria-hidden": "true" }, h(EllipsisIcon, null)))) : (h("li", { part: "item", class: "bs-pagination__item", key: item }, h("button", { part: item === this.currentPage ? 'page current' : 'page', type: "button", class: `bs-pagination__control bs-pagination__page ${item === this.currentPage ? 'bs-pagination__page--current' : ''}`, "aria-label": `${this.pageLabel} ${item}`, "aria-current": item === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(item) }, item)))), h("li", { key: 'aaf337dd6800ab752d99bf74d4326f49036d93cb', part: "item", class: "bs-pagination__item" }, h("button", { key: 'faa08c19e7b57de953c61d94acda1002046d7462', part: "next", type: "button", class: "bs-pagination__control", "aria-label": this.nextLabel, disabled: this.currentPage >= this.safeTotalPages, onClick: () => this.goToPage(this.currentPage + 1) }, h(ChevronRightIcon, { key: '1b6c790301b9e68b64854a8c989777d98134048a' }))))));
94
+ return (h("nav", { key: 'ea5d0b85f962dd1e92533f6995072f048b562026', "aria-label": this.navLabel }, h("ul", { key: 'd8bd25cb99175486a7d47b10a01dec6e84d31000', part: "list", class: "bs-pagination__list" }, h("li", { key: 'cb00b60f5a1b2b3b6da3e8ca8c3842694377a60d', part: "item", class: "bs-pagination__item" }, h("button", { key: '567d93ab292428f0f84fa0e006d76214cfc39e22', part: "prev", type: "button", class: "bs-pagination__control", "aria-label": this.previousLabel, disabled: this.currentPage <= 1, onClick: () => this.goToPage(this.currentPage - 1) }, h(ChevronLeftIcon, { key: 'd83a3dc7a3e913a7b302bb9e5beab31c5bc2987c' }))), pageList.map((item, index) => item === 'ellipsis' ? (h("li", { part: "item", class: "bs-pagination__item", key: `ellipsis-${index}` }, h("span", { part: "ellipsis", class: "bs-pagination__ellipsis", "aria-hidden": "true" }, h(EllipsisIcon, null)))) : (h("li", { part: "item", class: "bs-pagination__item", key: item }, h("button", { part: item === this.currentPage ? 'page current' : 'page', type: "button", class: `bs-pagination__control bs-pagination__page ${item === this.currentPage ? 'bs-pagination__page--current' : ''}`, "aria-label": `${this.pageLabel} ${item}`, "aria-current": item === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(item) }, item)))), h("li", { key: '4904d32b1ce60efff4810a0a47453dcf6d1a515b', part: "item", class: "bs-pagination__item" }, h("button", { key: '4eb744abe27134d51fbf80bbedb3d0281afb7f71', part: "next", type: "button", class: "bs-pagination__control", "aria-label": this.nextLabel, disabled: this.currentPage >= this.safeTotalPages, onClick: () => this.goToPage(this.currentPage + 1) }, h(ChevronRightIcon, { key: 'e7b62fd1cbf5263c94fa3482ebc094b367f5e6ca' }))))));
95
95
  }
96
96
  static get is() { return "bs-pagination"; }
97
97
  static get encapsulation() { return "shadow"; }
@@ -152,7 +152,7 @@ export class BsPopover {
152
152
  }
153
153
  };
154
154
  render() {
155
- return (h("div", { key: '230678d7440e218c133a315f4a15f7136043fd44', class: "bs-popover" }, h("div", { key: 'dd514d3e6771a4adc2a90bbe097736db3df7e2e0', part: "trigger", class: "bs-popover__trigger", "aria-haspopup": "true", "aria-expanded": String(this.open), "aria-controls": this.popupId, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown }, h("slot", { key: 'ff258cd0e061ae599371f72599599d84d2a4e8a1', name: "trigger", ref: el => (this.triggerSlot = el) })), h("div", { key: '13396ff2f4e4bd65d725dd32dd0e39c072f32a79', part: "popup", id: this.popupId, class: "bs-popover__popup", tabindex: "-1", hidden: !this.open, ref: el => (this.popupEl = el) }, h("slot", { key: 'af116fe77709a8121e0c4bb4a3d49bd93bdc7c30' }))));
155
+ return (h("div", { key: 'a98416df7a3b9edbbac835ea99150bd22e21d0b1', class: "bs-popover" }, h("div", { key: 'd69eb18d28a99bd22d14a40167c1a5f9d4ed09e5', part: "trigger", class: "bs-popover__trigger", "aria-haspopup": "true", "aria-expanded": String(this.open), "aria-controls": this.popupId, onClick: this.onTriggerClick, onKeyDown: this.onTriggerKeyDown }, h("slot", { key: '3b6242971ba9f2bcccfdddfe15b564b3deef1eec', name: "trigger", ref: el => (this.triggerSlot = el) })), h("div", { key: '0d815e6f7ec731e5643891784b35df2cb635a6a9', part: "popup", id: this.popupId, class: "bs-popover__popup", tabindex: "-1", hidden: !this.open, ref: el => (this.popupEl = el) }, h("slot", { key: '8e455726291b8f4faaaf1f1fee190047cbd9525b' }))));
156
156
  }
157
157
  static get is() { return "bs-popover"; }
158
158
  static get encapsulation() { return "shadow"; }
@@ -69,7 +69,7 @@ export class BsProgress {
69
69
  const isDeterminate = this.type === 'determinate';
70
70
  const value = this.clampedValue;
71
71
  const dashOffset = circumference * (1 - value / 100);
72
- return (h("div", { key: 'afa27ec8f954d6ff71f774e7de4f150e49df143c', part: "container", class: "bs-progress" }, h("div", { key: '31429f8a7e2e641b4de0ef7eb8e2d718107f4157', class: "bs-progress__box", style: { width: `${diameter}px`, height: `${diameter}px` }, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (h("svg", { class: "bs-progress__ring", width: diameter, height: diameter, viewBox: `0 0 ${diameter} ${diameter}` }, h("circle", { part: "track", class: "bs-progress__track", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none" }), h("circle", { part: "arc", class: "bs-progress__arc", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none", "stroke-linecap": "round", "stroke-dasharray": circumference, "stroke-dashoffset": dashOffset }))) : (
72
+ return (h("div", { key: '76f9b0175af7e6300a901f8c0e26da4b9de2a192', part: "container", class: "bs-progress" }, h("div", { key: '10d34faab3d49fa21e72d0cf2bd1d1c2804ef442', class: "bs-progress__box", style: { width: `${diameter}px`, height: `${diameter}px` }, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (h("svg", { class: "bs-progress__ring", width: diameter, height: diameter, viewBox: `0 0 ${diameter} ${diameter}` }, h("circle", { part: "track", class: "bs-progress__track", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none" }), h("circle", { part: "arc", class: "bs-progress__arc", cx: diameter / 2, cy: diameter / 2, r: radius, "stroke-width": this.strokeWidth, fill: "none", "stroke-linecap": "round", "stroke-dasharray": circumference, "stroke-dashoffset": dashOffset }))) : (
73
73
  // Figma's indeterminate ring is a fading "comet tail" (transparent -> solid color),
74
74
  // not a flat-colored partial arc -- SVG has no angular/conic gradient primitive, so a
75
75
  // CSS conic-gradient (color varying by angle) + a radial-gradient mask (carving the
@@ -78,7 +78,7 @@ export class BsProgress {
78
78
  h("div", { part: "arc", class: "bs-progress__spinner", style: {
79
79
  '--bs-progress-spinner-stroke-width': `${this.strokeWidth}px`,
80
80
  '--bs-progress-spinner-sweep': `${INDETERMINATE_SWEEP_DEGREES}deg`,
81
- } }))), isDeterminate && this.showLabel && (h("span", { key: '85634f6af94208a13bd46483b4d3465a64e89a42', part: "label", class: `bs-progress__label bs-progress__label--${this.size}` }, value, "%"))));
81
+ } }))), isDeterminate && this.showLabel && (h("span", { key: 'bfc9b155c8b8d68255a0ad223e31bc25f79566b8', part: "label", class: `bs-progress__label bs-progress__label--${this.size}` }, value, "%"))));
82
82
  }
83
83
  static get is() { return "bs-progress"; }
84
84
  static get encapsulation() { return "shadow"; }
@@ -51,13 +51,13 @@ export class BsProgressLinear {
51
51
  render() {
52
52
  const isDeterminate = this.type === 'determinate';
53
53
  const value = this.clampedValue;
54
- return (h("div", { key: 'a4393415d974b0f8a90db37007dfa934ba388043', part: "container", class: "bs-progress-linear" }, h("div", { key: '253c0fc25a269378c3c80710d1366d990691506b', part: "track", class: `bs-progress-linear__track bs-progress-linear__track--${this.size}`, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (h("div", { part: "fill", class: "bs-progress-linear__fill", style: { width: `${value}%` } })) : (
54
+ return (h("div", { key: '8cb0ed265f5fae4146ace2ff2cb4e9876b0011c6', part: "container", class: "bs-progress-linear" }, h("div", { key: '62b448cc83f5b317b41277c414cf7712ef4ee1b5', part: "track", class: `bs-progress-linear__track bs-progress-linear__track--${this.size}`, role: "progressbar", "aria-label": this.ariaLabel, "aria-valuemin": isDeterminate ? '0' : undefined, "aria-valuemax": isDeterminate ? '100' : undefined, "aria-valuenow": isDeterminate ? String(value) : undefined, "aria-busy": isDeterminate ? undefined : 'true' }, isDeterminate ? (h("div", { part: "fill", class: "bs-progress-linear__fill", style: { width: `${value}%` } })) : (
55
55
  // Figma's indeterminate bar is a soft "comet" gradient segment (transparent -> blue ->
56
56
  // transparent) sliding left-to-right across the track's full width in a loop -- the
57
57
  // same fade concept as bs-progress's indeterminate ring's conic-gradient comet tail,
58
58
  // but along a straight line via a linear-gradient + `transform: translateX(...)`
59
59
  // keyframe animation instead of a rotating conic-gradient.
60
- h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (h("span", { key: '95aeb588e3ac6c1a1b96217826617a1347507350', part: "label", class: "bs-progress-linear__label" }, h("slot", { key: '6afaff0a710a6c16c42cd0e1b92910f8bec0503b' })))));
60
+ h("div", { part: "fill", class: "bs-progress-linear__fill bs-progress-linear__fill--indeterminate" }))), this.showLabel && this.hasLabelContent && (h("span", { key: '26e60beb19a7f45a903667928d7256a4d24875c9', part: "label", class: "bs-progress-linear__label" }, h("slot", { key: 'ca9c57dc3b3ee22eedf489ee4e6b3444f85b59df' })))));
61
61
  }
62
62
  // The default slot's assigned content lives in the host's light DOM regardless of whether a
63
63
  // <slot> is currently rendered in the shadow tree, so this can be computed directly from the
@@ -168,7 +168,7 @@ export class BsQrCode {
168
168
  const buttonSize = this.size === 'sm' ? 'sm' : 'md';
169
169
  // Figma shows the unavailable actions as filled-disabled (grey) rather than a faded outline,
170
170
  // which is what bs-button's disabled primary looks like.
171
- return (h("bs-card", { key: '8a78a58e189863a37ac0824e84c8da50d0f82c4c', part: "container", class: "bs-qr-code", surface: "base" }, this.closable && (h("bs-icon-button", { key: 'e771194dc383c40cbc9b4b6e2316d787dfda9e0f', part: "close", class: "bs-qr-code__close", variant: "subtle", size: "sm", ariaLabel: this.closeLabel, onClick: () => this.bsClose.emit() }, h("svg", { key: '2ee3bc0a83ec9c44f15ad906abc40d6f88598fec', viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", "stroke-width": "1.6", "stroke-linecap": "round", "aria-hidden": "true" }, h("path", { key: 'acb73db86f4af7c81c6aa8c71c458c3a1381c9ed', d: "M5 5L15 15M15 5L5 15" })))), h("div", { key: '48d25ac25dd6c3cd0b77d800cddc11b1f1a57206', class: "bs-qr-code__body" }, h("div", { key: '340cd0dc7d945b6b3dedd103909067d7c8e5ae91', part: "head", class: "bs-qr-code__head" }, h("p", { key: '022fda836023d01aee585926bfe1f227b1789bae', part: "title", class: "bs-qr-code__title" }, this.heading), this.description && (h("p", { key: 'f72976f2aafa5f66adf77db3ed21380ef26f3e0c', part: "description", class: "bs-qr-code__description" }, this.description))), h("div", { key: '865fcb97b32fea2fd3cfaa71e6fd91358906ec8f', part: "qr", class: "bs-qr-code__qr" }, h("div", { key: '295e823796a723e4a9ead87ab178133596920cd2', part: "code", class: "bs-qr-code__code" }, h("slot", { key: '26a87b0ec43d5b08dbabeb0addab57e698813918', name: "code" }, this.renderMatrix()), h("div", { key: 'd7355f6fc021333d12f70a2c75fc1cea1052120c', part: "logo", class: { 'bs-qr-code__logo': true, 'bs-qr-code__logo--visible': this.hasLogo } }, h("slot", { key: 'edecfcdc96b623d01dee5c18de4191051ea4f40b', name: "logo", onSlotchange: (ev) => (this.hasLogo = ev.target.assignedNodes().length > 0) }))), this.renderOverlay()), this.type === 'payment' && this.amount && (h("div", { key: '2efac5db58bbe7bfd1dc3d42ef3ce12d85bb42a5', part: "amount", class: "bs-qr-code__amount" }, this.amountLabel && h("p", { key: '0765abe8467bc7a1f312b71b043f05e365f1f9b3', class: "bs-qr-code__amount-label" }, this.amountLabel), h("p", { key: '65f41dcaf4f167cda93ce750e072ab94a38921eb', class: "bs-qr-code__amount-value" }, this.amount))), this.type === 'default' && this.url && (h("div", { key: 'da32b3ac2acfaf7523c24ce11cbca43236b196dd', part: "url", class: "bs-qr-code__url" }, this.url)), this.expiry && (h("bs-chip-informative", { key: '409328cdc5859c9c8e3d2be87b90b73cfc873cc2', part: "expiry", size: "md" }, h(TimerIcon, { key: '3752627cec20d06f351476da803d013aae832ea6', slot: "icon" }), this.expiry)), showActions && (h("div", { key: 'ad00fe126c5f5dfd9e6a713aa0bdd4cd70a869ca', part: "actions", class: "bs-qr-code__actions" }, !this.hideDownload && (h("bs-button", { key: '0964029df2c3a97a561b368dd167ccf1770a251f', part: "download", variant: interactive ? 'outlined' : 'primary', size: buttonSize, disabled: !interactive, onClick: () => interactive && this.bsDownload.emit() }, h(DownloadIcon, { key: 'e30c02777793dc41ea3437c58d0b229b7bb75510', slot: "icon" }), this.downloadLabel)), !this.hideCopy && (h("bs-button", { key: 'c845423f9652d79a099cd4466d06aa29152636ad', part: "copy", variant: interactive ? 'outlined' : 'primary', size: buttonSize, disabled: !interactive, onClick: () => interactive && this.onCopy() }, h(CopyIcon, { key: '443d3070916468e1bc1b015496ecaff3311b6565', slot: "icon" }), this.copyLabel)))))));
171
+ return (h("bs-card", { key: 'c69bffccb96c2c76fabc8a68caa33598d330925c', part: "container", class: "bs-qr-code", surface: "base" }, this.closable && (h("bs-icon-button", { key: 'eddf5fd0434ef1d4a79c65cb76e643f5607c3690', part: "close", class: "bs-qr-code__close", variant: "subtle", size: "sm", ariaLabel: this.closeLabel, onClick: () => this.bsClose.emit() }, h("svg", { key: '04751b373bc8ccf24b0777646598f6b0b594dd1d', viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", "stroke-width": "1.6", "stroke-linecap": "round", "aria-hidden": "true" }, h("path", { key: 'e40257103cb9c062af6806874a44cc4050b91a09', d: "M5 5L15 15M15 5L5 15" })))), h("div", { key: '55689fd3950bf8a52fcc13e51447b329414c846d', class: "bs-qr-code__body" }, h("div", { key: '7335ae0ae9f42fe3b99b1dc8096338c1b0d12fc4', part: "head", class: "bs-qr-code__head" }, h("p", { key: '1d6288133f9619f865782d75352e02ffbd4b3cb3', part: "title", class: "bs-qr-code__title" }, this.heading), this.description && (h("p", { key: '2ac5a838cc0d524b726363a5711fcfd3558e7738', part: "description", class: "bs-qr-code__description" }, this.description))), h("div", { key: '2412e4792a4ba605c3e8c68652600901f00fbd9c', part: "qr", class: "bs-qr-code__qr" }, h("div", { key: '480f7b27bdb7521592cf200fa2e8a36b89742d94', part: "code", class: "bs-qr-code__code" }, h("slot", { key: 'cc20adaeea528bdaddc2187fd48d8c33b6c29984', name: "code" }, this.renderMatrix()), h("div", { key: '98ad7405250536002da78c856fe34f29101d6b8b', part: "logo", class: { 'bs-qr-code__logo': true, 'bs-qr-code__logo--visible': this.hasLogo } }, h("slot", { key: 'fa3ad80018891516474a16cdc74f7c40b3ff7193', name: "logo", onSlotchange: (ev) => (this.hasLogo = ev.target.assignedNodes().length > 0) }))), this.renderOverlay()), this.type === 'payment' && this.amount && (h("div", { key: '16aea140dffc0b85679923c72ff68f73496cd382', part: "amount", class: "bs-qr-code__amount" }, this.amountLabel && h("p", { key: '4b6c14f95fbc75fa750361bedb63e06f6cf8fbfa', class: "bs-qr-code__amount-label" }, this.amountLabel), h("p", { key: '23ef126293fe71e364e2fe6d8bf7e9570a0a8073', class: "bs-qr-code__amount-value" }, this.amount))), this.type === 'default' && this.url && (h("div", { key: '055769372c728d26f4a7b0ca15b4c1e9d9182f85', part: "url", class: "bs-qr-code__url" }, this.url)), this.expiry && (h("bs-chip-informative", { key: '2bda390d9e14ba387015619c5d51c136f344d42c', part: "expiry", size: "md" }, h(TimerIcon, { key: 'daa9d8dd4b9dbbc3f0a01d4c203020a7a128e3e4', slot: "icon" }), this.expiry)), showActions && (h("div", { key: '42fdca6de6985912a93580b60a69b06de86ab240', part: "actions", class: "bs-qr-code__actions" }, !this.hideDownload && (h("bs-button", { key: 'da9f965b3c996842c2f7c853b12baa7cd1523d0b', part: "download", variant: interactive ? 'outlined' : 'primary', size: buttonSize, disabled: !interactive, onClick: () => interactive && this.bsDownload.emit() }, h(DownloadIcon, { key: 'c0ff457c873583ba21dc0ef936b5b75723170921', slot: "icon" }), this.downloadLabel)), !this.hideCopy && (h("bs-button", { key: '023df4653bdbcf8440c511818a27f8363218c202', part: "copy", variant: interactive ? 'outlined' : 'primary', size: buttonSize, disabled: !interactive, onClick: () => interactive && this.onCopy() }, h(CopyIcon, { key: '0abdffdb59b543625340be0af0bfabd21fa57bca', slot: "icon" }), this.copyLabel)))))));
172
172
  }
173
173
  static get is() { return "bs-qr-code"; }
174
174
  static get encapsulation() { return "shadow"; }