@brandsync/wc 1.13.0 → 1.14.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 (201) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/REFERENCE.md +31 -0
  3. package/custom-elements.json +204 -0
  4. package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
  5. package/dist/brandsync-wc/{p-c3da3080.entry.js → p-056608f0.entry.js} +1 -1
  6. package/dist/brandsync-wc/{p-cd53bba9.entry.js → p-0e738622.entry.js} +1 -1
  7. package/dist/brandsync-wc/{p-4ea9b6a1.entry.js → p-16c78ff6.entry.js} +1 -1
  8. package/dist/brandsync-wc/{p-3f6682f8.entry.js → p-204cc690.entry.js} +1 -1
  9. package/dist/brandsync-wc/p-221244a9.entry.js +1 -0
  10. package/dist/brandsync-wc/{p-ed5c2d97.entry.js → p-227a5182.entry.js} +1 -1
  11. package/dist/brandsync-wc/{p-9b58c0c5.entry.js → p-2967240d.entry.js} +1 -1
  12. package/dist/brandsync-wc/{p-68f0be29.entry.js → p-2c1efaa1.entry.js} +1 -1
  13. package/dist/brandsync-wc/{p-cceb8484.entry.js → p-2e68b76e.entry.js} +1 -1
  14. package/dist/brandsync-wc/{p-23cc532f.entry.js → p-315b510c.entry.js} +1 -1
  15. package/dist/brandsync-wc/{p-53362609.entry.js → p-31cd66e0.entry.js} +1 -1
  16. package/dist/brandsync-wc/p-3477539c.entry.js +1 -0
  17. package/dist/brandsync-wc/{p-0e940ee1.entry.js → p-3dabf202.entry.js} +1 -1
  18. package/dist/brandsync-wc/{p-d64cae57.entry.js → p-4b40a596.entry.js} +1 -1
  19. package/dist/brandsync-wc/{p-f134a502.entry.js → p-51f40972.entry.js} +1 -1
  20. package/dist/brandsync-wc/{p-9cf8274a.entry.js → p-617bd76d.entry.js} +1 -1
  21. package/dist/brandsync-wc/{p-f8d47004.entry.js → p-686297f1.entry.js} +1 -1
  22. package/dist/brandsync-wc/{p-86028548.entry.js → p-80700878.entry.js} +1 -1
  23. package/dist/brandsync-wc/{p-b0b2e525.entry.js → p-833f9dc4.entry.js} +1 -1
  24. package/dist/brandsync-wc/{p-fb4d0093.entry.js → p-9fa67924.entry.js} +1 -1
  25. package/dist/brandsync-wc/{p-fa34fe20.entry.js → p-a2e59aca.entry.js} +1 -1
  26. package/dist/brandsync-wc/{p-95f034fc.entry.js → p-b793a0d6.entry.js} +1 -1
  27. package/dist/brandsync-wc/{p-ab07c9b5.entry.js → p-c488cc8b.entry.js} +1 -1
  28. package/dist/brandsync-wc/p-c67bc817.entry.js +1 -0
  29. package/dist/brandsync-wc/{p-4ea435a6.entry.js → p-cc1055e6.entry.js} +1 -1
  30. package/dist/brandsync-wc/{p-c679b631.entry.js → p-cc25ee67.entry.js} +1 -1
  31. package/dist/brandsync-wc/{p-07966676.entry.js → p-d892277f.entry.js} +1 -1
  32. package/dist/brandsync-wc/{p-e0504a4b.entry.js → p-dd52209a.entry.js} +1 -1
  33. package/dist/brandsync-wc/{p-694fe468.entry.js → p-df3e7973.entry.js} +1 -1
  34. package/dist/brandsync-wc/{p-7e24dbd7.entry.js → p-e0927a9a.entry.js} +1 -1
  35. package/dist/brandsync-wc/{p-4054a944.entry.js → p-e6fc2cd4.entry.js} +1 -1
  36. package/dist/cjs/brandsync-wc.cjs.js +1 -1
  37. package/dist/cjs/bs-accordion-group.cjs.entry.js +1 -1
  38. package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
  39. package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
  40. package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
  41. package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
  42. package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
  43. package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
  44. package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
  45. package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
  46. package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
  47. package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
  48. package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
  49. package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
  50. package/dist/cjs/bs-citation-preview.cjs.entry.js +1 -1
  51. package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
  52. package/dist/cjs/bs-input_3.cjs.entry.js +4 -4
  53. package/dist/cjs/bs-message-list.cjs.entry.js +1 -1
  54. package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
  55. package/dist/cjs/bs-navigation-drawer.cjs.entry.js +2 -2
  56. package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
  57. package/dist/cjs/bs-radio.cjs.entry.js +1 -1
  58. package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
  59. package/dist/cjs/bs-split-pane.cjs.entry.js +193 -0
  60. package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
  61. package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
  62. package/dist/cjs/bs-switch.cjs.entry.js +1 -1
  63. package/dist/cjs/bs-tab_3.cjs.entry.js +3 -3
  64. package/dist/cjs/bs-timepicker.cjs.entry.js +2 -2
  65. package/dist/cjs/bs-toast.cjs.entry.js +1 -1
  66. package/dist/cjs/bs-tooltip-trigger.cjs.entry.js +1 -1
  67. package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
  68. package/dist/cjs/loader.cjs.js +1 -1
  69. package/dist/collection/collection-manifest.json +1 -0
  70. package/dist/collection/components/bs-accordion-group/bs-accordion-group.js +1 -1
  71. package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
  72. package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
  73. package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
  74. package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
  75. package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
  76. package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
  77. package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
  78. package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
  79. package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
  80. package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
  81. package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
  82. package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
  83. package/dist/collection/components/bs-citation-preview/bs-citation-preview.js +1 -1
  84. package/dist/collection/components/bs-input/bs-input.js +2 -2
  85. package/dist/collection/components/bs-menu/bs-menu.js +1 -1
  86. package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
  87. package/dist/collection/components/bs-message-list/bs-message-list.js +1 -1
  88. package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
  89. package/dist/collection/components/bs-radio/bs-radio.js +1 -1
  90. package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
  91. package/dist/collection/components/bs-split-pane/bs-split-pane.cmp.test.js +107 -0
  92. package/dist/collection/components/bs-split-pane/bs-split-pane.css +108 -0
  93. package/dist/collection/components/bs-split-pane/bs-split-pane.js +404 -0
  94. package/dist/collection/components/bs-split-pane/bs-split-pane.stories.js +47 -0
  95. package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
  96. package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +1 -1
  97. package/dist/collection/components/bs-switch/bs-switch.js +1 -1
  98. package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
  99. package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +1 -1
  100. package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +1 -1
  101. package/dist/collection/components/bs-timepicker/bs-timepicker.js +2 -2
  102. package/dist/collection/components/bs-toast/bs-toast.js +1 -1
  103. package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
  104. package/dist/collection/components/bs-tooltip-trigger/bs-tooltip-trigger.js +1 -1
  105. package/dist/collection/components/bs-whats-new-entry/bs-whats-new-entry.js +1 -1
  106. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +2 -2
  107. package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
  108. package/dist/components/bs-accordion-group.js +1 -1
  109. package/dist/components/bs-ai-disclaimer.js +1 -1
  110. package/dist/components/bs-ai-greeting.js +1 -1
  111. package/dist/components/bs-ai-thinking.js +1 -1
  112. package/dist/components/bs-attachment-list.js +1 -1
  113. package/dist/components/bs-breadcrumb-overflow.js +1 -1
  114. package/dist/components/bs-breadcrumbs.js +1 -1
  115. package/dist/components/bs-button-skeleton.js +1 -1
  116. package/dist/components/bs-carousel.js +1 -1
  117. package/dist/components/bs-chatbot-feedback.js +1 -1
  118. package/dist/components/bs-chatbot-header.js +1 -1
  119. package/dist/components/bs-chatbot-response-action.js +1 -1
  120. package/dist/components/bs-chatbot-sources-drawer.js +1 -1
  121. package/dist/components/bs-chatbot-suggestion-button.js +1 -1
  122. package/dist/components/bs-checkbox-skeleton.js +1 -1
  123. package/dist/components/bs-citation-preview.js +1 -1
  124. package/dist/components/bs-cookie-consent.js +1 -1
  125. package/dist/components/bs-datepicker.js +1 -1
  126. package/dist/components/bs-inline-tab.js +1 -1
  127. package/dist/components/bs-input.js +1 -1
  128. package/dist/components/bs-menu-item.js +1 -1
  129. package/dist/components/bs-menu.js +1 -1
  130. package/dist/components/bs-message-list.js +1 -1
  131. package/dist/components/bs-navigation-drawer-item.js +1 -1
  132. package/dist/components/bs-navigation-drawer.js +1 -1
  133. package/dist/components/bs-pagination.js +1 -1
  134. package/dist/components/bs-radio.js +1 -1
  135. package/dist/components/bs-session-timeout.js +1 -1
  136. package/dist/components/bs-source-link.js +1 -1
  137. package/dist/components/bs-split-pane.d.ts +11 -0
  138. package/dist/components/bs-split-pane.js +1 -0
  139. package/dist/components/bs-stepper-step.js +1 -1
  140. package/dist/components/bs-stepper.js +1 -1
  141. package/dist/components/bs-switch.js +1 -1
  142. package/dist/components/bs-tab.js +1 -1
  143. package/dist/components/bs-tabs.js +1 -1
  144. package/dist/components/bs-timepicker.js +1 -1
  145. package/dist/components/bs-toast.js +1 -1
  146. package/dist/components/bs-tooltip-trigger.js +1 -1
  147. package/dist/components/bs-tooltip.js +1 -1
  148. package/dist/components/bs-whats-new-entry.js +1 -1
  149. package/dist/components/bs-whats-new.js +1 -1
  150. package/dist/components/{p-Bfq5YVOv.js → p-BESyTlfT.js} +1 -1
  151. package/dist/components/{p-C9jIMBG3.js → p-BIW9eUic.js} +1 -1
  152. package/dist/components/{p-owdeCW0M.js → p-BJR8KVFc.js} +1 -1
  153. package/dist/components/{p-BVhF8cZQ.js → p-CDYw4Eyj.js} +1 -1
  154. package/dist/components/{p-C2NR1v3p.js → p-CiSEDtbE.js} +1 -1
  155. package/dist/components/{p-DfzrJKwN.js → p-Dm3TqgV_.js} +1 -1
  156. package/dist/components/{p-uHvS81XA.js → p-HAmR4gM2.js} +1 -1
  157. package/dist/components/{p-DqXI9V2A.js → p-HzaOqQ0U.js} +1 -1
  158. package/dist/components/{p-Dqg8l1y6.js → p-nC2VxRNo.js} +1 -1
  159. package/dist/components/{p-Cu-aeY9t.js → p-zscW5LNR.js} +1 -1
  160. package/dist/esm/brandsync-wc.js +1 -1
  161. package/dist/esm/bs-accordion-group.entry.js +1 -1
  162. package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
  163. package/dist/esm/bs-ai-greeting.entry.js +1 -1
  164. package/dist/esm/bs-ai-thinking.entry.js +1 -1
  165. package/dist/esm/bs-attachment-list.entry.js +1 -1
  166. package/dist/esm/bs-breadcrumbs.entry.js +1 -1
  167. package/dist/esm/bs-button-skeleton.entry.js +1 -1
  168. package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
  169. package/dist/esm/bs-chatbot-header.entry.js +1 -1
  170. package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
  171. package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
  172. package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
  173. package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
  174. package/dist/esm/bs-citation-preview.entry.js +1 -1
  175. package/dist/esm/bs-inline-tab.entry.js +1 -1
  176. package/dist/esm/bs-input_3.entry.js +4 -4
  177. package/dist/esm/bs-message-list.entry.js +1 -1
  178. package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
  179. package/dist/esm/bs-navigation-drawer.entry.js +2 -2
  180. package/dist/esm/bs-pagination.entry.js +1 -1
  181. package/dist/esm/bs-radio.entry.js +1 -1
  182. package/dist/esm/bs-source-link.entry.js +2 -2
  183. package/dist/esm/bs-split-pane.entry.js +191 -0
  184. package/dist/esm/bs-stepper-step.entry.js +1 -1
  185. package/dist/esm/bs-stepper.entry.js +1 -1
  186. package/dist/esm/bs-switch.entry.js +1 -1
  187. package/dist/esm/bs-tab_3.entry.js +3 -3
  188. package/dist/esm/bs-timepicker.entry.js +2 -2
  189. package/dist/esm/bs-toast.entry.js +1 -1
  190. package/dist/esm/bs-tooltip-trigger.entry.js +1 -1
  191. package/dist/esm/bs-tooltip.entry.js +1 -1
  192. package/dist/esm/loader.js +1 -1
  193. package/dist/types/components/bs-split-pane/bs-split-pane.cmp.test.d.ts +1 -0
  194. package/dist/types/components/bs-split-pane/bs-split-pane.d.ts +85 -0
  195. package/dist/types/components/bs-split-pane/bs-split-pane.stories.d.ts +15 -0
  196. package/dist/types/components.d.ts +216 -0
  197. package/package.json +1 -1
  198. package/reference.d.ts +3 -0
  199. package/reference.json +108 -0
  200. package/dist/brandsync-wc/p-4bbc4809.entry.js +0 -1
  201. package/dist/brandsync-wc/p-bf8bd386.entry.js +0 -1
@@ -47,6 +47,7 @@ import { BsSkeletonVariant } from "./components/bs-skeleton/bs-skeleton";
47
47
  import { BsSliderType } from "./components/bs-slider/bs-slider";
48
48
  import { BsSnackbarVariant } from "./components/bs-snackbar/bs-snackbar";
49
49
  import { BsSpinnerSize } from "./components/bs-spinner/bs-spinner";
50
+ import { BsSplitPaneOrientation } from "./components/bs-split-pane/bs-split-pane";
50
51
  import { BsStepperDirection } from "./components/bs-stepper/bs-stepper-step/bs-stepper-step";
51
52
  import { BsStepperDirection as BsStepperDirection1, BsStepperStepComputedState } from "./components/bs-stepper/bs-stepper-step/bs-stepper-step";
52
53
  import { BsSwitchSize } from "./components/bs-switch/bs-switch";
@@ -100,6 +101,7 @@ export { BsSkeletonVariant } from "./components/bs-skeleton/bs-skeleton";
100
101
  export { BsSliderType } from "./components/bs-slider/bs-slider";
101
102
  export { BsSnackbarVariant } from "./components/bs-snackbar/bs-snackbar";
102
103
  export { BsSpinnerSize } from "./components/bs-spinner/bs-spinner";
104
+ export { BsSplitPaneOrientation } from "./components/bs-split-pane/bs-split-pane";
103
105
  export { BsStepperDirection } from "./components/bs-stepper/bs-stepper-step/bs-stepper-step";
104
106
  export { BsStepperDirection as BsStepperDirection1, BsStepperStepComputedState } from "./components/bs-stepper/bs-stepper-step/bs-stepper-step";
105
107
  export { BsSwitchSize } from "./components/bs-switch/bs-switch";
@@ -3464,6 +3466,66 @@ export namespace Components {
3464
3466
  */
3465
3467
  "size": BsSpinnerSize;
3466
3468
  }
3469
+ /**
3470
+ * A resizable layout of two or three panes separated by draggable, keyboard-operable dividers
3471
+ * (the WAI-ARIA "window splitter" pattern). Content goes into the named slots `pane-1`, `pane-2`
3472
+ * and (optionally) `pane-3`; the pane count follows which slots have content.
3473
+ * `orientation="horizontal"` places panes side by side (vertical dividers); `"vertical"` stacks
3474
+ * them (horizontal dividers). The first pane has a fixed size (`--bs-split-pane-first-size`) that
3475
+ * the user can change by dragging; the last pane absorbs the remaining space. `collapsed` shrinks
3476
+ * the first pane to a narrow rail (`--bs-split-pane-collapsed-size`) -- the component reflects the
3477
+ * attribute so slotted content can switch to its compact rendering (e.g. icon-only list items).
3478
+ * ## When to use
3479
+ * - Master/detail layouts: a navigation or list pane next to one or two detail panes.
3480
+ * ## When not to use
3481
+ * - A temporary overlay panel (use `bs-side-panel`).
3482
+ * - A fixed, non-resizable two-column layout (plain CSS grid; or set `resizable="false"` to keep
3483
+ * the dividers purely visual).
3484
+ * @prop --bs-split-pane-radius - Corner radius of the container. Aliased to `--bs-border-radius-100`.
3485
+ * @prop --bs-split-pane-bg - Pane background. Aliased to `--bs-surface-base`.
3486
+ * @prop --bs-split-pane-color - Text colour inherited by slotted content. Aliased to `--bs-text-default`.
3487
+ * @prop --bs-split-pane-first-size - Initial size of the first pane along the layout axis. Defaults to `333px` (Figma).
3488
+ * @prop --bs-split-pane-collapsed-size - Size of the first pane while `collapsed`. Defaults to `106px` (Figma).
3489
+ * @prop --bs-split-pane-min-size - Smallest size a resized pane may take. Defaults to `96px`.
3490
+ * @prop --bs-split-pane-divider-size - Thickness of a divider. Aliased to `--bs-spacing-75`.
3491
+ * @prop --bs-split-pane-divider-bg - Divider track colour. Aliased to `--bs-surface-container`.
3492
+ * @prop --bs-split-pane-divider-thumb - Divider thumb colour. Aliased to `--bs-border-neutral-container`.
3493
+ * @prop --bs-split-pane-divider-thumb-active - Divider thumb colour on hover, focus and drag. Aliased to `--bs-border-neutral-hover`.
3494
+ * @prop --bs-split-pane-divider-thumb-length - Length of the divider thumb. Defaults to `250px` (Figma).
3495
+ * @prop --bs-split-pane-border - Border between the first pane and the rest when dividers are not resizable. Aliased to `--bs-border-neutral-container`.
3496
+ * @prop --bs-split-pane-focus-ring - Divider focus ring colour. Aliased to `--bs-border-neutral-focus`.
3497
+ */
3498
+ interface BsSplitPane {
3499
+ /**
3500
+ * Collapses the first pane to a narrow rail. Mutable: the Enter key on the first divider toggles it.
3501
+ * @default false
3502
+ */
3503
+ "collapsed": boolean;
3504
+ /**
3505
+ * Accessible name of each divider.
3506
+ * @default 'Resize panes'
3507
+ */
3508
+ "dividerLabel": string;
3509
+ /**
3510
+ * `horizontal` = panes side by side, `vertical` = panes stacked.
3511
+ * @default 'horizontal'
3512
+ */
3513
+ "orientation": BsSplitPaneOrientation;
3514
+ /**
3515
+ * Whether the dividers can be dragged / operated by keyboard. `false` keeps them as visual separators.
3516
+ * @default true
3517
+ */
3518
+ "resizable": boolean;
3519
+ /**
3520
+ * Pixels moved per arrow-key press (Shift multiplies by 4).
3521
+ * @default 16
3522
+ */
3523
+ "step": number;
3524
+ /**
3525
+ * Toggles `collapsed` and emits `bsCollapsedChange`.
3526
+ */
3527
+ "toggleCollapsed": () => Promise<void>;
3528
+ }
3467
3529
  /**
3468
3530
  * A sequence of named steps showing overall progress through a multi-step flow (e.g. a checkout,
3469
3531
  * an onboarding wizard) -- each step reads as enabled (not yet reached), current, done, error, or
@@ -4196,6 +4258,10 @@ export interface BsSourceLinkCustomEvent<T> extends CustomEvent<T> {
4196
4258
  detail: T;
4197
4259
  target: HTMLBsSourceLinkElement;
4198
4260
  }
4261
+ export interface BsSplitPaneCustomEvent<T> extends CustomEvent<T> {
4262
+ detail: T;
4263
+ target: HTMLBsSplitPaneElement;
4264
+ }
4199
4265
  export interface BsSwitchCustomEvent<T> extends CustomEvent<T> {
4200
4266
  detail: T;
4201
4267
  target: HTMLBsSwitchElement;
@@ -6346,6 +6412,53 @@ declare global {
6346
6412
  prototype: HTMLBsSpinnerElement;
6347
6413
  new (): HTMLBsSpinnerElement;
6348
6414
  };
6415
+ interface HTMLBsSplitPaneElementEventMap {
6416
+ "bsResize": number[];
6417
+ "bsCollapsedChange": boolean;
6418
+ }
6419
+ /**
6420
+ * A resizable layout of two or three panes separated by draggable, keyboard-operable dividers
6421
+ * (the WAI-ARIA "window splitter" pattern). Content goes into the named slots `pane-1`, `pane-2`
6422
+ * and (optionally) `pane-3`; the pane count follows which slots have content.
6423
+ * `orientation="horizontal"` places panes side by side (vertical dividers); `"vertical"` stacks
6424
+ * them (horizontal dividers). The first pane has a fixed size (`--bs-split-pane-first-size`) that
6425
+ * the user can change by dragging; the last pane absorbs the remaining space. `collapsed` shrinks
6426
+ * the first pane to a narrow rail (`--bs-split-pane-collapsed-size`) -- the component reflects the
6427
+ * attribute so slotted content can switch to its compact rendering (e.g. icon-only list items).
6428
+ * ## When to use
6429
+ * - Master/detail layouts: a navigation or list pane next to one or two detail panes.
6430
+ * ## When not to use
6431
+ * - A temporary overlay panel (use `bs-side-panel`).
6432
+ * - A fixed, non-resizable two-column layout (plain CSS grid; or set `resizable="false"` to keep
6433
+ * the dividers purely visual).
6434
+ * @prop --bs-split-pane-radius - Corner radius of the container. Aliased to `--bs-border-radius-100`.
6435
+ * @prop --bs-split-pane-bg - Pane background. Aliased to `--bs-surface-base`.
6436
+ * @prop --bs-split-pane-color - Text colour inherited by slotted content. Aliased to `--bs-text-default`.
6437
+ * @prop --bs-split-pane-first-size - Initial size of the first pane along the layout axis. Defaults to `333px` (Figma).
6438
+ * @prop --bs-split-pane-collapsed-size - Size of the first pane while `collapsed`. Defaults to `106px` (Figma).
6439
+ * @prop --bs-split-pane-min-size - Smallest size a resized pane may take. Defaults to `96px`.
6440
+ * @prop --bs-split-pane-divider-size - Thickness of a divider. Aliased to `--bs-spacing-75`.
6441
+ * @prop --bs-split-pane-divider-bg - Divider track colour. Aliased to `--bs-surface-container`.
6442
+ * @prop --bs-split-pane-divider-thumb - Divider thumb colour. Aliased to `--bs-border-neutral-container`.
6443
+ * @prop --bs-split-pane-divider-thumb-active - Divider thumb colour on hover, focus and drag. Aliased to `--bs-border-neutral-hover`.
6444
+ * @prop --bs-split-pane-divider-thumb-length - Length of the divider thumb. Defaults to `250px` (Figma).
6445
+ * @prop --bs-split-pane-border - Border between the first pane and the rest when dividers are not resizable. Aliased to `--bs-border-neutral-container`.
6446
+ * @prop --bs-split-pane-focus-ring - Divider focus ring colour. Aliased to `--bs-border-neutral-focus`.
6447
+ */
6448
+ interface HTMLBsSplitPaneElement extends Components.BsSplitPane, HTMLStencilElement {
6449
+ addEventListener<K extends keyof HTMLBsSplitPaneElementEventMap>(type: K, listener: (this: HTMLBsSplitPaneElement, ev: BsSplitPaneCustomEvent<HTMLBsSplitPaneElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
6450
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6451
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
6452
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
6453
+ removeEventListener<K extends keyof HTMLBsSplitPaneElementEventMap>(type: K, listener: (this: HTMLBsSplitPaneElement, ev: BsSplitPaneCustomEvent<HTMLBsSplitPaneElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
6454
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6455
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
6456
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
6457
+ }
6458
+ var HTMLBsSplitPaneElement: {
6459
+ prototype: HTMLBsSplitPaneElement;
6460
+ new (): HTMLBsSplitPaneElement;
6461
+ };
6349
6462
  /**
6350
6463
  * A sequence of named steps showing overall progress through a multi-step flow (e.g. a checkout,
6351
6464
  * an onboarding wizard) -- each step reads as enabled (not yet reached), current, done, error, or
@@ -6737,6 +6850,7 @@ declare global {
6737
6850
  "bs-snackbar": HTMLBsSnackbarElement;
6738
6851
  "bs-source-link": HTMLBsSourceLinkElement;
6739
6852
  "bs-spinner": HTMLBsSpinnerElement;
6853
+ "bs-split-pane": HTMLBsSplitPaneElement;
6740
6854
  "bs-stepper": HTMLBsStepperElement;
6741
6855
  "bs-stepper-step": HTMLBsStepperStepElement;
6742
6856
  "bs-switch": HTMLBsSwitchElement;
@@ -10504,6 +10618,70 @@ declare namespace LocalJSX {
10504
10618
  */
10505
10619
  "size"?: BsSpinnerSize;
10506
10620
  }
10621
+ /**
10622
+ * A resizable layout of two or three panes separated by draggable, keyboard-operable dividers
10623
+ * (the WAI-ARIA "window splitter" pattern). Content goes into the named slots `pane-1`, `pane-2`
10624
+ * and (optionally) `pane-3`; the pane count follows which slots have content.
10625
+ * `orientation="horizontal"` places panes side by side (vertical dividers); `"vertical"` stacks
10626
+ * them (horizontal dividers). The first pane has a fixed size (`--bs-split-pane-first-size`) that
10627
+ * the user can change by dragging; the last pane absorbs the remaining space. `collapsed` shrinks
10628
+ * the first pane to a narrow rail (`--bs-split-pane-collapsed-size`) -- the component reflects the
10629
+ * attribute so slotted content can switch to its compact rendering (e.g. icon-only list items).
10630
+ * ## When to use
10631
+ * - Master/detail layouts: a navigation or list pane next to one or two detail panes.
10632
+ * ## When not to use
10633
+ * - A temporary overlay panel (use `bs-side-panel`).
10634
+ * - A fixed, non-resizable two-column layout (plain CSS grid; or set `resizable="false"` to keep
10635
+ * the dividers purely visual).
10636
+ * @prop --bs-split-pane-radius - Corner radius of the container. Aliased to `--bs-border-radius-100`.
10637
+ * @prop --bs-split-pane-bg - Pane background. Aliased to `--bs-surface-base`.
10638
+ * @prop --bs-split-pane-color - Text colour inherited by slotted content. Aliased to `--bs-text-default`.
10639
+ * @prop --bs-split-pane-first-size - Initial size of the first pane along the layout axis. Defaults to `333px` (Figma).
10640
+ * @prop --bs-split-pane-collapsed-size - Size of the first pane while `collapsed`. Defaults to `106px` (Figma).
10641
+ * @prop --bs-split-pane-min-size - Smallest size a resized pane may take. Defaults to `96px`.
10642
+ * @prop --bs-split-pane-divider-size - Thickness of a divider. Aliased to `--bs-spacing-75`.
10643
+ * @prop --bs-split-pane-divider-bg - Divider track colour. Aliased to `--bs-surface-container`.
10644
+ * @prop --bs-split-pane-divider-thumb - Divider thumb colour. Aliased to `--bs-border-neutral-container`.
10645
+ * @prop --bs-split-pane-divider-thumb-active - Divider thumb colour on hover, focus and drag. Aliased to `--bs-border-neutral-hover`.
10646
+ * @prop --bs-split-pane-divider-thumb-length - Length of the divider thumb. Defaults to `250px` (Figma).
10647
+ * @prop --bs-split-pane-border - Border between the first pane and the rest when dividers are not resizable. Aliased to `--bs-border-neutral-container`.
10648
+ * @prop --bs-split-pane-focus-ring - Divider focus ring colour. Aliased to `--bs-border-neutral-focus`.
10649
+ */
10650
+ interface BsSplitPane {
10651
+ /**
10652
+ * Collapses the first pane to a narrow rail. Mutable: the Enter key on the first divider toggles it.
10653
+ * @default false
10654
+ */
10655
+ "collapsed"?: boolean;
10656
+ /**
10657
+ * Accessible name of each divider.
10658
+ * @default 'Resize panes'
10659
+ */
10660
+ "dividerLabel"?: string;
10661
+ /**
10662
+ * Fires when `collapsed` changes through user interaction.
10663
+ */
10664
+ "onBsCollapsedChange"?: (event: BsSplitPaneCustomEvent<boolean>) => void;
10665
+ /**
10666
+ * Fires after a resize (pointer release or key press) with the pixel size of every pane except the last.
10667
+ */
10668
+ "onBsResize"?: (event: BsSplitPaneCustomEvent<number[]>) => void;
10669
+ /**
10670
+ * `horizontal` = panes side by side, `vertical` = panes stacked.
10671
+ * @default 'horizontal'
10672
+ */
10673
+ "orientation"?: BsSplitPaneOrientation;
10674
+ /**
10675
+ * Whether the dividers can be dragged / operated by keyboard. `false` keeps them as visual separators.
10676
+ * @default true
10677
+ */
10678
+ "resizable"?: boolean;
10679
+ /**
10680
+ * Pixels moved per arrow-key press (Shift multiplies by 4).
10681
+ * @default 16
10682
+ */
10683
+ "step"?: number;
10684
+ }
10507
10685
  /**
10508
10686
  * A sequence of named steps showing overall progress through a multi-step flow (e.g. a checkout,
10509
10687
  * an onboarding wizard) -- each step reads as enabled (not yet reached), current, done, error, or
@@ -11680,6 +11858,13 @@ declare namespace LocalJSX {
11680
11858
  "size": BsSpinnerSize;
11681
11859
  "label": string;
11682
11860
  }
11861
+ interface BsSplitPaneAttributes {
11862
+ "orientation": BsSplitPaneOrientation;
11863
+ "collapsed": boolean;
11864
+ "resizable": boolean;
11865
+ "dividerLabel": string;
11866
+ "step": number;
11867
+ }
11683
11868
  interface BsStepperAttributes {
11684
11869
  "currentStep": number;
11685
11870
  "direction": BsStepperDirection;
@@ -11842,6 +12027,7 @@ declare namespace LocalJSX {
11842
12027
  "bs-snackbar": Omit<BsSnackbar, keyof BsSnackbarAttributes> & { [K in keyof BsSnackbar & keyof BsSnackbarAttributes]?: BsSnackbar[K] } & { [K in keyof BsSnackbar & keyof BsSnackbarAttributes as `attr:${K}`]?: BsSnackbarAttributes[K] } & { [K in keyof BsSnackbar & keyof BsSnackbarAttributes as `prop:${K}`]?: BsSnackbar[K] };
11843
12028
  "bs-source-link": Omit<BsSourceLink, keyof BsSourceLinkAttributes> & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes]?: BsSourceLink[K] } & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes as `attr:${K}`]?: BsSourceLinkAttributes[K] } & { [K in keyof BsSourceLink & keyof BsSourceLinkAttributes as `prop:${K}`]?: BsSourceLink[K] };
11844
12029
  "bs-spinner": Omit<BsSpinner, keyof BsSpinnerAttributes> & { [K in keyof BsSpinner & keyof BsSpinnerAttributes]?: BsSpinner[K] } & { [K in keyof BsSpinner & keyof BsSpinnerAttributes as `attr:${K}`]?: BsSpinnerAttributes[K] } & { [K in keyof BsSpinner & keyof BsSpinnerAttributes as `prop:${K}`]?: BsSpinner[K] };
12030
+ "bs-split-pane": Omit<BsSplitPane, keyof BsSplitPaneAttributes> & { [K in keyof BsSplitPane & keyof BsSplitPaneAttributes]?: BsSplitPane[K] } & { [K in keyof BsSplitPane & keyof BsSplitPaneAttributes as `attr:${K}`]?: BsSplitPaneAttributes[K] } & { [K in keyof BsSplitPane & keyof BsSplitPaneAttributes as `prop:${K}`]?: BsSplitPane[K] };
11845
12031
  "bs-stepper": Omit<BsStepper, keyof BsStepperAttributes> & { [K in keyof BsStepper & keyof BsStepperAttributes]?: BsStepper[K] } & { [K in keyof BsStepper & keyof BsStepperAttributes as `attr:${K}`]?: BsStepperAttributes[K] } & { [K in keyof BsStepper & keyof BsStepperAttributes as `prop:${K}`]?: BsStepper[K] };
11846
12032
  "bs-stepper-step": Omit<BsStepperStep, keyof BsStepperStepAttributes> & { [K in keyof BsStepperStep & keyof BsStepperStepAttributes]?: BsStepperStep[K] } & { [K in keyof BsStepperStep & keyof BsStepperStepAttributes as `attr:${K}`]?: BsStepperStepAttributes[K] } & { [K in keyof BsStepperStep & keyof BsStepperStepAttributes as `prop:${K}`]?: BsStepperStep[K] };
11847
12033
  "bs-switch": Omit<BsSwitch, keyof BsSwitchAttributes> & { [K in keyof BsSwitch & keyof BsSwitchAttributes]?: BsSwitch[K] } & { [K in keyof BsSwitch & keyof BsSwitchAttributes as `attr:${K}`]?: BsSwitchAttributes[K] } & { [K in keyof BsSwitch & keyof BsSwitchAttributes as `prop:${K}`]?: BsSwitch[K] };
@@ -13169,6 +13355,36 @@ declare module "@stencil/core" {
13169
13355
  * @prop --bs-spinner-duration - Rotation duration. Defaults to `0.8s`.
13170
13356
  */
13171
13357
  "bs-spinner": LocalJSX.IntrinsicElements["bs-spinner"] & JSXBase.HTMLAttributes<HTMLBsSpinnerElement>;
13358
+ /**
13359
+ * A resizable layout of two or three panes separated by draggable, keyboard-operable dividers
13360
+ * (the WAI-ARIA "window splitter" pattern). Content goes into the named slots `pane-1`, `pane-2`
13361
+ * and (optionally) `pane-3`; the pane count follows which slots have content.
13362
+ * `orientation="horizontal"` places panes side by side (vertical dividers); `"vertical"` stacks
13363
+ * them (horizontal dividers). The first pane has a fixed size (`--bs-split-pane-first-size`) that
13364
+ * the user can change by dragging; the last pane absorbs the remaining space. `collapsed` shrinks
13365
+ * the first pane to a narrow rail (`--bs-split-pane-collapsed-size`) -- the component reflects the
13366
+ * attribute so slotted content can switch to its compact rendering (e.g. icon-only list items).
13367
+ * ## When to use
13368
+ * - Master/detail layouts: a navigation or list pane next to one or two detail panes.
13369
+ * ## When not to use
13370
+ * - A temporary overlay panel (use `bs-side-panel`).
13371
+ * - A fixed, non-resizable two-column layout (plain CSS grid; or set `resizable="false"` to keep
13372
+ * the dividers purely visual).
13373
+ * @prop --bs-split-pane-radius - Corner radius of the container. Aliased to `--bs-border-radius-100`.
13374
+ * @prop --bs-split-pane-bg - Pane background. Aliased to `--bs-surface-base`.
13375
+ * @prop --bs-split-pane-color - Text colour inherited by slotted content. Aliased to `--bs-text-default`.
13376
+ * @prop --bs-split-pane-first-size - Initial size of the first pane along the layout axis. Defaults to `333px` (Figma).
13377
+ * @prop --bs-split-pane-collapsed-size - Size of the first pane while `collapsed`. Defaults to `106px` (Figma).
13378
+ * @prop --bs-split-pane-min-size - Smallest size a resized pane may take. Defaults to `96px`.
13379
+ * @prop --bs-split-pane-divider-size - Thickness of a divider. Aliased to `--bs-spacing-75`.
13380
+ * @prop --bs-split-pane-divider-bg - Divider track colour. Aliased to `--bs-surface-container`.
13381
+ * @prop --bs-split-pane-divider-thumb - Divider thumb colour. Aliased to `--bs-border-neutral-container`.
13382
+ * @prop --bs-split-pane-divider-thumb-active - Divider thumb colour on hover, focus and drag. Aliased to `--bs-border-neutral-hover`.
13383
+ * @prop --bs-split-pane-divider-thumb-length - Length of the divider thumb. Defaults to `250px` (Figma).
13384
+ * @prop --bs-split-pane-border - Border between the first pane and the rest when dividers are not resizable. Aliased to `--bs-border-neutral-container`.
13385
+ * @prop --bs-split-pane-focus-ring - Divider focus ring colour. Aliased to `--bs-border-neutral-focus`.
13386
+ */
13387
+ "bs-split-pane": LocalJSX.IntrinsicElements["bs-split-pane"] & JSXBase.HTMLAttributes<HTMLBsSplitPaneElement>;
13172
13388
  /**
13173
13389
  * A sequence of named steps showing overall progress through a multi-step flow (e.g. a checkout,
13174
13390
  * an onboarding wizard) -- each step reads as enabled (not yet reached), current, done, error, or
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brandsync/wc",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/reference.d.ts CHANGED
@@ -61,6 +61,7 @@ export interface BsParts {
61
61
  "bs-snackbar": "container" | "icon" | "message" | "action" | "close";
62
62
  "bs-source-link": "icon" | "filename" | "source" | "version" | "arrow";
63
63
  "bs-spinner": "container" | "svg";
64
+ "bs-split-pane": "container" | "pane" | "divider" | "divider-thumb";
64
65
  "bs-stepper": never;
65
66
  "bs-stepper-step": "icon" | "label" | "name" | "description" | "connector";
66
67
  "bs-switch": "track" | "knob" | "label";
@@ -139,6 +140,7 @@ export interface BsSlots {
139
140
  "bs-snackbar": "(default)";
140
141
  "bs-source-link": "icon";
141
142
  "bs-spinner": never;
143
+ "bs-split-pane": "pane-1" | "pane-2" | "pane-3";
142
144
  "bs-stepper": "(default)";
143
145
  "bs-stepper-step": "(default)";
144
146
  "bs-switch": "(default)";
@@ -217,6 +219,7 @@ export interface BsCssProperties {
217
219
  "bs-snackbar": never;
218
220
  "bs-source-link": "--bs-source-link-radius" | "--bs-source-link-padding" | "--bs-source-link-gap" | "--bs-source-link-icon-gap" | "--bs-source-link-hover" | "--bs-source-link-pressed" | "--bs-source-link-focus" | "--bs-source-link-filename-color" | "--bs-source-link-meta-color" | "--bs-source-link-icon-color" | "--bs-source-link-dot-color";
219
221
  "bs-spinner": "--bs-spinner-size-xs" | "--bs-spinner-size-sm" | "--bs-spinner-size-md" | "--bs-spinner-color" | "--bs-spinner-track-opacity" | "--bs-spinner-duration";
222
+ "bs-split-pane": "--bs-split-pane-radius" | "--bs-split-pane-bg" | "--bs-split-pane-color" | "--bs-split-pane-first-size" | "--bs-split-pane-collapsed-size" | "--bs-split-pane-min-size" | "--bs-split-pane-divider-size" | "--bs-split-pane-divider-bg" | "--bs-split-pane-divider-thumb" | "--bs-split-pane-divider-thumb-active" | "--bs-split-pane-divider-thumb-length" | "--bs-split-pane-border" | "--bs-split-pane-focus-ring";
220
223
  "bs-stepper": never;
221
224
  "bs-stepper-step": never;
222
225
  "bs-switch": never;
package/reference.json CHANGED
@@ -3508,6 +3508,114 @@
3508
3508
  }
3509
3509
  ]
3510
3510
  },
3511
+ "bs-split-pane": {
3512
+ "slots": [
3513
+ {
3514
+ "kind": "slot",
3515
+ "name": "pane-1",
3516
+ "description": "The first pane (the one that collapses)."
3517
+ },
3518
+ {
3519
+ "kind": "slot",
3520
+ "name": "pane-2",
3521
+ "description": "The second pane."
3522
+ },
3523
+ {
3524
+ "kind": "slot",
3525
+ "name": "pane-3",
3526
+ "description": "Optional third pane."
3527
+ }
3528
+ ],
3529
+ "parts": [
3530
+ {
3531
+ "kind": "part",
3532
+ "name": "container",
3533
+ "description": "The flex wrapper around all panes and dividers."
3534
+ },
3535
+ {
3536
+ "kind": "part",
3537
+ "name": "pane",
3538
+ "description": "Every pane wrapper (`pane-1`, `pane-2`, `pane-3` are also exposed as separate parts)."
3539
+ },
3540
+ {
3541
+ "kind": "part",
3542
+ "name": "divider",
3543
+ "description": "Every divider (the focusable `role=\"separator\"` element)."
3544
+ },
3545
+ {
3546
+ "kind": "part",
3547
+ "name": "divider-thumb",
3548
+ "description": "The visible thumb on a divider."
3549
+ }
3550
+ ],
3551
+ "cssProperties": [
3552
+ {
3553
+ "kind": "prop",
3554
+ "name": "--bs-split-pane-radius",
3555
+ "description": "Corner radius of the container. Aliased to `--bs-border-radius-100`."
3556
+ },
3557
+ {
3558
+ "kind": "prop",
3559
+ "name": "--bs-split-pane-bg",
3560
+ "description": "Pane background. Aliased to `--bs-surface-base`."
3561
+ },
3562
+ {
3563
+ "kind": "prop",
3564
+ "name": "--bs-split-pane-color",
3565
+ "description": "Text colour inherited by slotted content. Aliased to `--bs-text-default`."
3566
+ },
3567
+ {
3568
+ "kind": "prop",
3569
+ "name": "--bs-split-pane-first-size",
3570
+ "description": "Initial size of the first pane along the layout axis. Defaults to `333px` (Figma)."
3571
+ },
3572
+ {
3573
+ "kind": "prop",
3574
+ "name": "--bs-split-pane-collapsed-size",
3575
+ "description": "Size of the first pane while `collapsed`. Defaults to `106px` (Figma)."
3576
+ },
3577
+ {
3578
+ "kind": "prop",
3579
+ "name": "--bs-split-pane-min-size",
3580
+ "description": "Smallest size a resized pane may take. Defaults to `96px`."
3581
+ },
3582
+ {
3583
+ "kind": "prop",
3584
+ "name": "--bs-split-pane-divider-size",
3585
+ "description": "Thickness of a divider. Aliased to `--bs-spacing-75`."
3586
+ },
3587
+ {
3588
+ "kind": "prop",
3589
+ "name": "--bs-split-pane-divider-bg",
3590
+ "description": "Divider track colour. Aliased to `--bs-surface-container`."
3591
+ },
3592
+ {
3593
+ "kind": "prop",
3594
+ "name": "--bs-split-pane-divider-thumb",
3595
+ "description": "Divider thumb colour. Aliased to `--bs-border-neutral-container`."
3596
+ },
3597
+ {
3598
+ "kind": "prop",
3599
+ "name": "--bs-split-pane-divider-thumb-active",
3600
+ "description": "Divider thumb colour on hover, focus and drag. Aliased to `--bs-border-neutral-hover`."
3601
+ },
3602
+ {
3603
+ "kind": "prop",
3604
+ "name": "--bs-split-pane-divider-thumb-length",
3605
+ "description": "Length of the divider thumb. Defaults to `250px` (Figma)."
3606
+ },
3607
+ {
3608
+ "kind": "prop",
3609
+ "name": "--bs-split-pane-border",
3610
+ "description": "Border between the first pane and the rest when dividers are not resizable. Aliased to `--bs-border-neutral-container`."
3611
+ },
3612
+ {
3613
+ "kind": "prop",
3614
+ "name": "--bs-split-pane-focus-ring",
3615
+ "description": "Divider focus ring colour. Aliased to `--bs-border-neutral-focus`."
3616
+ }
3617
+ ]
3618
+ },
3511
3619
  "bs-stepper": {
3512
3620
  "slots": [
3513
3621
  {
@@ -1 +0,0 @@
1
- import{r as a,c as r,a as i,h as e}from"./p-D3SkQJpw.js";const s=class{constructor(i){a(this,i),this.bsChange=r(this,"bsChange"),i.$hostElement$["s-ei"]?this.internals=i.$hostElement$["s-ei"]:(this.internals=i.$hostElement$.attachInternals(),i.$hostElement$["s-ei"]=this.internals)}get el(){return i(this)}name;value;checked=!1;disabled=!1;bsChange;internals;initialChecked=!1;groupHasChecked=!1;groupMembers(){if(!this.name)return[this.el];const a=this.el.getRootNode();return Array.from(a.querySelectorAll("bs-radio")).filter((a=>a.name===this.name))}onCheckedChange(){this.internals?.setFormValue?.(this.checked?this.value??"on":null),this.checked&&this.groupMembers().forEach((a=>{a!==this.el&&a.checked&&(a.checked=!1)})),this.refreshGroupState()}onAnyRadioChange(){this.refreshGroupState()}refreshGroupState(){this.groupHasChecked=this.groupMembers().some((a=>a.checked))}componentWillLoad(){this.initialChecked=this.checked,this.internals?.setFormValue?.(this.checked?this.value??"on":null)}componentDidLoad(){this.refreshGroupState()}formResetCallback(){this.checked=this.initialChecked}onKeyDown=a=>{const r="ArrowRight"===a.key||"ArrowDown"===a.key;if(!r&&"ArrowLeft"!==a.key&&"ArrowUp"!==a.key)return;const i=this.groupMembers().filter((a=>!a.disabled));if(i.length<2)return;a.preventDefault();const e=i.indexOf(this.el),s=i[(e+(r?1:-1)+i.length)%i.length],o=s.shadowRoot?.querySelector("input");o?.click(),o?.focus()};onChange=a=>{const r=a.target.checked;this.checked=r,r&&this.bsChange.emit(this.value)};render(){return e("label",{key:"f02d321e89bfff6bf56aa3f28dbe04082de6892d",class:"bs-radio "+(this.disabled?"bs-radio--disabled":"")},e("input",{key:"81085f1ccf0c341b8827b4516da4971eca708ba8",class:"bs-radio__input",type:"radio",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,tabIndex:this.checked||!this.groupHasChecked?0:-1,onKeyDown:this.onKeyDown,onChange:this.onChange}),e("span",{key:"7bbe2f5e7f391aa811377aac1173d6b2a3ef7161",class:"bs-radio__hit-area"},e("span",{key:"7c9e6d0d8b16ec338ffb9daa496ca7aa524d5f08",class:"bs-radio__state-layer"},e("span",{key:"26dc982e2691a8fc2db174a7ea53a56cd331b0c9",part:"circle",class:"bs-radio__circle "+(this.checked?"bs-radio__circle--selected":"")},this.checked&&e("span",{key:"f6335bd0f5b200e510bca2fcd04507cd6d2a2dc0",part:"dot",class:"bs-radio__dot"})))),e("span",{key:"859d9f7ed854b2df6884bb5217a3889063d38689",part:"label",class:"bs-radio__label"},e("slot",{key:"771222d57afd4a11ef56fda1b549441356e3fa22"})))}static get delegatesFocus(){return!0}static get formAssociated(){return!0}static get watchers(){return{checked:[{onCheckedChange:0}],value:[{onCheckedChange:0}]}}};s.style=":host{display:inline-block;--bs-radio-size:var(--bs-spacing-300);--bs-radio-border-width:2px;--bs-radio-state-layer-size:40px;--bs-radio-hit-area-size:48px;--bs-radio-gap:var(--bs-spacing-100)}.bs-radio{position:relative;display:inline-flex;align-items:center;gap:var(--bs-radio-gap);font-family:inherit;cursor:pointer}.bs-radio--disabled{cursor:not-allowed}.bs-radio__input{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.bs-radio__input:disabled{cursor:not-allowed}.bs-radio__hit-area{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--bs-radio-hit-area-size);height:var(--bs-radio-hit-area-size)}.bs-radio__state-layer{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:var(--bs-radio-state-layer-size);height:var(--bs-radio-state-layer-size);border-radius:50%;background:var(--bs-radio-bg-default)}.bs-radio__circle{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--bs-radio-size);height:var(--bs-radio-size);border:var(--bs-radio-border-width) solid var(--bs-radio-enabled-border-default);border-radius:50%;background:transparent}.bs-radio__circle--selected{border-color:var(--bs-radio-selected-border-default)}.bs-radio__dot{width:50%;height:50%;border-radius:50%;background:var(--bs-radio-icon-checked)}.bs-radio__input:hover:not(:disabled)~.bs-radio__hit-area .bs-radio__state-layer{background:var(--bs-radio-bg-hover)}.bs-radio__input:hover:not(:disabled)~.bs-radio__hit-area .bs-radio__circle{border-color:var(--bs-radio-enabled-border-hover)}.bs-radio__input:hover:not(:disabled)~.bs-radio__hit-area .bs-radio__circle--selected{border-color:var(--bs-radio-selected-border-hover)}.bs-radio__input:hover:not(:disabled)~.bs-radio__hit-area .bs-radio__circle--selected .bs-radio__dot{background:var(--bs-radio-icon-hover)}.bs-radio__input:focus-visible~.bs-radio__hit-area .bs-radio__state-layer{background:var(--bs-radio-bg-focus);outline:2px solid var(--bs-radio-focus-ring);outline-offset:2px}.bs-radio__input:focus-visible~.bs-radio__hit-area .bs-radio__circle{border-color:var(--bs-radio-enabled-border-focus)}.bs-radio__input:focus-visible~.bs-radio__hit-area .bs-radio__circle--selected{border-color:var(--bs-radio-selected-border-focus)}.bs-radio__input:active:not(:disabled)~.bs-radio__hit-area .bs-radio__state-layer{background:var(--bs-radio-bg-pressed)}.bs-radio__input:active:not(:disabled)~.bs-radio__hit-area .bs-radio__circle{border-color:var(--bs-radio-enabled-border-pressed)}.bs-radio__input:active:not(:disabled)~.bs-radio__hit-area .bs-radio__circle--selected{border-color:var(--bs-radio-selected-border-pressed)}.bs-radio__input:disabled~.bs-radio__hit-area .bs-radio__state-layer{background:var(--bs-radio-bg-disabled)}.bs-radio__input:disabled~.bs-radio__hit-area .bs-radio__circle{border-color:var(--bs-radio-border-disabled)}.bs-radio__input:disabled~.bs-radio__hit-area .bs-radio__circle--selected .bs-radio__dot{background:var(--bs-radio-icon-disabled)}.bs-radio__label{font-size:var(--bs-font-size-md);color:var(--bs-radio-label-default)}.bs-radio--disabled .bs-radio__label{color:var(--bs-radio-label-disabled)}@media (forced-colors: active){.bs-radio__circle{border:2px solid ButtonText;forced-color-adjust:none;background:Canvas}.bs-radio__dot{background:Highlight}}";export{s as bs_radio}
@@ -1 +0,0 @@
1
- import{r as o,a as r,h as c}from"./p-D3SkQJpw.js";const a=class{constructor(r){o(this,r)}get el(){return r(this)}multiple=!1;onToggle(o){const r=o.target;if(!r||"bs-accordion"!==r.tagName.toLowerCase())return;const c=o.detail;r.expanded=c,c&&!this.multiple&&Array.from(this.el.querySelectorAll("bs-accordion")).forEach((o=>{o!==r&&(o.expanded=!1)}))}render(){return c("div",{key:"fb67e69d63c6eb30093cf9b74a035a498d4b38b1",part:"group",class:"bs-accordion-group"},c("slot",{key:"ddc57ac0aa2fb44f866000c6abe255e416fa19b8"}))}};a.style=":host{display:block;--bs-accordion-group-gap:0}.bs-accordion-group{display:flex;flex-direction:column;gap:var(--bs-accordion-group-gap)}";export{a as bs_accordion_group}