bitboss-ui 3.0.0-beta.21 → 3.0.0-beta.22

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 (183) hide show
  1. package/README.md +55 -3
  2. package/bin/bitboss-ui-mcp.mjs +419 -9
  3. package/bin/bitboss-ui.mjs +293 -22
  4. package/dist/ai/BbAccordion.md +21 -23
  5. package/dist/ai/BbAlert.md +6 -12
  6. package/dist/ai/BbAvatar.md +60 -24
  7. package/dist/ai/BbBadge.md +12 -20
  8. package/dist/ai/BbBaseButton.md +14 -16
  9. package/dist/ai/BbBaseCheckboxIcon.md +6 -10
  10. package/dist/ai/BbBaseRadioIcon.md +6 -10
  11. package/dist/ai/BbBaseSwitchIcon.md +5 -9
  12. package/dist/ai/BbBreadcrumbs.md +23 -34
  13. package/dist/ai/BbButton.md +35 -47
  14. package/dist/ai/BbCheckbox.md +21 -37
  15. package/dist/ai/BbCheckboxGroup.md +13 -13
  16. package/dist/ai/BbCollapsible.md +14 -26
  17. package/dist/ai/BbColorInput.md +13 -23
  18. package/dist/ai/BbColorPalette.md +23 -35
  19. package/dist/ai/BbConfirm.md +17 -32
  20. package/dist/ai/BbDatePickerInput.md +15 -21
  21. package/dist/ai/BbDialog.md +159 -62
  22. package/dist/ai/BbDropdown.md +21 -25
  23. package/dist/ai/BbDropdownButton.md +13 -30
  24. package/dist/ai/BbDropzone.md +9 -11
  25. package/dist/ai/BbIcon.md +44 -33
  26. package/dist/ai/BbIndicator.md +2 -2
  27. package/dist/ai/BbNumberInput.md +18 -20
  28. package/dist/ai/BbOffCanvas.md +42 -42
  29. package/dist/ai/BbPagination.md +21 -23
  30. package/dist/ai/BbPopover.md +15 -17
  31. package/dist/ai/BbProgress.md +40 -51
  32. package/dist/ai/BbRadio.md +9 -9
  33. package/dist/ai/BbRadioGroup.md +7 -11
  34. package/dist/ai/BbRating.md +8 -12
  35. package/dist/ai/BbSelect.md +32 -36
  36. package/dist/ai/BbSelectPopover.md +19 -31
  37. package/dist/ai/BbSlider.md +15 -19
  38. package/dist/ai/BbSmoothHeight.md +16 -31
  39. package/dist/ai/BbSpinner.md +118 -74
  40. package/dist/ai/BbSwitch.md +25 -18
  41. package/dist/ai/BbSwitchGroup.md +9 -14
  42. package/dist/ai/BbTable.md +102 -55
  43. package/dist/ai/BbTabs.md +59 -82
  44. package/dist/ai/BbTag.md +12 -23
  45. package/dist/ai/BbTextInput.md +20 -26
  46. package/dist/ai/BbTextarea.md +28 -34
  47. package/dist/ai/BbToast.md +14 -34
  48. package/dist/ai/BbTooltip.md +22 -20
  49. package/dist/ai/BbTree.md +46 -72
  50. package/dist/ai/changelog.json +169 -62
  51. package/dist/ai/components.json +1467 -9
  52. package/dist/ai/composables/useConfirm.md +5 -2
  53. package/dist/ai/composables/useToast.md +4 -2
  54. package/dist/ai/guides/agent-contract.md +7 -4
  55. package/dist/ai/guides/ai-router.md +37 -22
  56. package/dist/ai/guides/component-picker.md +23 -18
  57. package/dist/ai/guides/design-language.md +141 -13
  58. package/dist/ai/guides/design-tokens.md +29 -4
  59. package/dist/ai/guides/icons-policy.md +46 -21
  60. package/dist/ai/guides/installation-and-plugin-setup.md +253 -17
  61. package/dist/ai/guides/migration/components/bb-rating.md +26 -1
  62. package/dist/ai/guides/migration/components/bb-tooltip.md +18 -0
  63. package/dist/ai/guides/migration/v2-to-v3.md +50 -23
  64. package/dist/ai/index.md +1 -1
  65. package/dist/ai/recipes/inertia/approvals-inbox.md +3 -3
  66. package/dist/ai/recipes/inertia/inline-edit-workspace.md +2 -2
  67. package/dist/ai/recipes/inertia/onboarding.md +2 -2
  68. package/dist/ai/recipes/inertia/ownership-atlas.md +6 -6
  69. package/dist/ai/recipes/inertia/record-form.md +5 -5
  70. package/dist/ai/recipes/inertia/records-workspace.md +4 -4
  71. package/dist/ai/recipes/inertia/upload-center.md +6 -6
  72. package/dist/ai/recipes/inertia/wizard-form.md +5 -5
  73. package/dist/ai/recipes/nuxt/approvals-inbox.md +3 -3
  74. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +2 -2
  75. package/dist/ai/recipes/nuxt/onboarding.md +2 -2
  76. package/dist/ai/recipes/nuxt/record-form.md +5 -5
  77. package/dist/ai/recipes/nuxt/records-workspace.md +4 -4
  78. package/dist/ai/recipes/nuxt/upload-center.md +6 -6
  79. package/dist/ai/recipes/nuxt/wizard-form.md +5 -5
  80. package/dist/ai/recipes/vue/approvals-inbox.md +3 -3
  81. package/dist/ai/recipes/vue/inline-edit-workspace.md +2 -2
  82. package/dist/ai/recipes/vue/onboarding.md +2 -2
  83. package/dist/ai/recipes/vue/record-form.md +10 -10
  84. package/dist/ai/recipes/vue/records-workspace.md +4 -4
  85. package/dist/ai/recipes/vue/upload-center.md +6 -6
  86. package/dist/ai/recipes/vue/wizard-form.md +5 -5
  87. package/dist/ai/source/BbBadge.md +1 -1
  88. package/dist/ai/source/BbBaseCheckbox.md +1 -1
  89. package/dist/ai/source/BbBaseDatePicker.md +5 -5
  90. package/dist/ai/source/BbBaseDatePickerInput.md +2 -2
  91. package/dist/ai/source/BbBaseRadio.md +1 -1
  92. package/dist/ai/source/BbBaseRating.md +5 -5
  93. package/dist/ai/source/BbBaseSelect.md +1 -1
  94. package/dist/ai/source/BbBaseSlider.md +5 -5
  95. package/dist/ai/source/BbBaseSwitch.md +1 -1
  96. package/dist/ai/source/BbBaseTimePickerInput.md +1 -1
  97. package/dist/ai/source/BbBreadcrumbs.md +20 -1
  98. package/dist/ai/source/BbButton.md +2 -2
  99. package/dist/ai/source/BbDialog.md +39 -8
  100. package/dist/ai/source/BbDropdown.md +1 -1
  101. package/dist/ai/source/BbDropzone.md +5 -5
  102. package/dist/ai/source/BbIcon.md +23 -10
  103. package/dist/ai/source/BbOffCanvas.md +50 -28
  104. package/dist/ai/source/BbPagination.md +2 -2
  105. package/dist/ai/source/BbPopover.md +12 -1
  106. package/dist/ai/source/BbSelectPopover.md +45 -7
  107. package/dist/ai/source/BbSpinner.md +2 -2
  108. package/dist/ai/source/BbTable.md +11 -11
  109. package/dist/ai/source/BbTooltip.md +57 -10
  110. package/dist/ai/source/ChipsBox.md +1 -1
  111. package/dist/ai/source/CommaBox.md +1 -1
  112. package/dist/ai/source/GuidesComponent.md +14 -7
  113. package/dist/ai/source/OptionsContainer.md +1 -1
  114. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +1 -1
  115. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +1 -1
  116. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +1 -1
  117. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +4 -4
  118. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +1 -1
  119. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +1 -1
  120. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.d.ts +1 -1
  121. package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +1 -1
  122. package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +3 -3
  123. package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +1 -1
  124. package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +3 -3
  125. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +1 -1
  126. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +1 -1
  127. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +71 -71
  128. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +2 -2
  129. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +102 -97
  130. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +1 -1
  131. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +58 -58
  132. package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +2 -2
  133. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +33 -35
  134. package/dist/components/BbIcon/iconCache.d.ts +30 -0
  135. package/dist/components/BbIcon/iconCache.js +21 -3
  136. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +57 -56
  137. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +2 -2
  138. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +138 -138
  139. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +43 -43
  140. package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +1 -1
  141. package/dist/components/BbSpinner/types.d.ts +1 -1
  142. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +8 -8
  143. package/dist/components/BbTable/BbTableDataRow.js +2 -2
  144. package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +62 -62
  145. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +81 -78
  146. package/dist/components/BbTooltip/types.d.ts +8 -1
  147. package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +1 -1
  148. package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +1 -1
  149. package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +1 -1
  150. package/dist/composables/useConfirm.d.ts +22 -0
  151. package/dist/composables/useConfirm.js +43 -40
  152. package/dist/composables/useSafeAreaInternal.js +1 -1
  153. package/dist/composables/useToast.d.ts +16 -0
  154. package/dist/composables/useToast.js +20 -16
  155. package/dist/composables/useViewportWidth.d.ts +20 -6
  156. package/dist/composables/useViewportWidth.js +8 -7
  157. package/dist/icon-scan.d.ts +276 -0
  158. package/dist/icon-scan.js +485 -0
  159. package/dist/icons-whitelist.d.ts +5 -4
  160. package/dist/llms-full.txt +1979 -1527
  161. package/dist/llms-medium.txt +461 -74
  162. package/dist/llms.txt +1 -1
  163. package/dist/nuxt.js +10 -7
  164. package/dist/plugin.js +1 -0
  165. package/dist/runtime/nuxt-plugin.js +2 -1
  166. package/dist/styles.css +1 -1
  167. package/dist/types/Config.d.ts +18 -0
  168. package/dist/utils/cssLayers.d.ts +91 -0
  169. package/dist/utils/cssLayers.js +43 -0
  170. package/dist/utils/injectLibraryStyles.d.ts +3 -1
  171. package/dist/utils/injectLibraryStyles.js +24 -23
  172. package/dist/vite-plugin.d.ts +74 -11
  173. package/dist/vite.js +292 -253
  174. package/llms.txt +1 -1
  175. package/package.json +7 -5
  176. package/scripts/lib/ensure-manifest.mjs +28 -5
  177. package/scripts/lib/eslint-plugin.d.ts +35 -0
  178. package/scripts/lib/eslint-plugin.mjs +299 -3
  179. package/scripts/lib/hand-roll-hints.mjs +50 -6
  180. package/scripts/lib/html-attributes.mjs +42 -0
  181. package/scripts/lib/mcp-config.mjs +38 -34
  182. package/scripts/lib/public-type-exports.mjs +246 -0
  183. package/scripts/lib/validate-bb-markup.mjs +205 -12
@@ -25,7 +25,7 @@ var Te = [
25
25
  ], Ee = {
26
26
  key: 0,
27
27
  class: "bb-dialog__header"
28
- }, De = { class: "bb-dialog__body scrollbar-border" }, Oe = { class: "bb-dialog__body-content" }, ke = { class: "bb-dialog__footer" }, Ae = 4, S = /*@__PURE__*/ u({
28
+ }, De = { class: "bb-dialog__body scrollbar-border" }, Oe = { class: "bb-dialog__body-content" }, ke = { class: "bb-dialog__footer" }, S = 4, C = /*@__PURE__*/ u({
29
29
  __name: "BbDialog",
30
30
  props: /*@__PURE__*/ f({
31
31
  description: {},
@@ -58,101 +58,105 @@ var Te = [
58
58
  "hidden"
59
59
  ], ["update:modelValue"]),
60
60
  setup(n, { emit: u }) {
61
- let f = Se(n, "modelValue"), S = n, C = u, w = Ce(), T = e();
61
+ let f = Se(n, "modelValue"), C = n, w = u, T = Ce(), E = e();
62
62
  process.env.NODE_ENV !== "production" && re("BbDialog", te("BbDialog"));
63
- let { t: E } = ue(), { isMobile: D } = ce(), { resolve: je } = fe(), O = () => (S.adaptive ?? T.adaptive) && D.value ? "canvas" : "dialog", k = _(O());
64
- b([() => S.adaptive, D], () => {
65
- f.value || (k.value = O());
63
+ let { t: D } = ue(), { isMobile: O } = ce(), { resolve: Ae } = fe(), k = () => (C.adaptive ?? E.adaptive) && O.value ? "canvas" : "dialog", A = _(k());
64
+ b([() => C.adaptive, O], () => {
65
+ f.value || (A.value = k());
66
66
  });
67
- let Me = i(() => ({
68
- description: S.description,
69
- disabled: S.disabled,
70
- eager: S.eager,
71
- focusTarget: S.focusTarget,
72
- fullscreen: S.fullscreen,
73
- hideClose: S.hideClose,
74
- persistent: S.persistent,
75
- stack: S.stack,
76
- title: S.title,
77
- transitionDuration: S.transitionDuration,
67
+ let je = i(() => ({
68
+ description: C.description,
69
+ disabled: C.disabled,
70
+ eager: C.eager,
71
+ focusTarget: C.focusTarget,
72
+ fullscreen: C.fullscreen,
73
+ hideClose: C.hideClose,
74
+ persistent: C.persistent,
75
+ stack: C.stack,
76
+ title: C.title,
77
+ transitionDuration: C.transitionDuration,
78
78
  side: "bottom",
79
79
  draggable: !0,
80
80
  size: "auto",
81
- ...S.offCanvasProps
82
- })), A = _(null), j = `title_${t().id.value}`, M = `desc_${t().id.value}`, N = () => !!S.description || !!w.description, P = () => !!S.title || !!w.title, F = () => P() || N(), I = ee(() => f.value || S.eager, { initialValue: f.value || S.eager }), L = i(() => S.fullscreen === !0 || S.fullscreen === "mobile" && D.value), R = () => typeof document < "u", Ne = i(() => !!(S.disabled || S.persistent)), z = _(!1), B = _(null), V = () => {
83
- B.value = null;
84
- }, Pe = (e) => {
85
- B.value = {
81
+ ...C.offCanvasProps
82
+ })), j = _(null), M = `title_${t().id.value}`, N = `desc_${t().id.value}`, P = () => !!C.description || !!T.description, F = () => !!C.title || !!T.title, I = () => F() || P(), L = ee(() => f.value || C.eager, { initialValue: f.value || C.eager }), R = i(() => C.fullscreen === !0 || C.fullscreen === "mobile" && O.value), z = () => typeof document < "u", B = i(() => !!(C.disabled || C.persistent)), V = _(!1), H = _(null), U = () => {
83
+ H.value = null;
84
+ }, Me = (e) => {
85
+ H.value = {
86
86
  startX: e.clientX,
87
87
  startY: e.clientY,
88
88
  startedOnBackdrop: e.target === e.currentTarget
89
89
  };
90
- }, Fe = (e) => {
91
- let t = B.value;
92
- V(), !(t && !t.startedOnBackdrop) && (t && (Math.abs(e.clientX - t.startX) > Ae || Math.abs(e.clientY - t.startY) > Ae) || Ge(e));
93
- }, H, U = (e) => {
94
- clearTimeout(H), z.value = !0, H = setTimeout(() => {
95
- z.value = !1;
90
+ }, Ne = (e) => {
91
+ let t = H.value;
92
+ U(), !(t && !t.startedOnBackdrop) && (t && (Math.abs(e.clientX - t.startX) > S || Math.abs(e.clientY - t.startY) > S) || qe(e));
93
+ }, W, G = (e) => {
94
+ clearTimeout(W), V.value = !0, W = setTimeout(() => {
95
+ V.value = !1;
96
96
  }, e);
97
- }, W = Symbol("bb-dialog-escape"), Ie = () => {
98
- oe(W), R() && document.addEventListener("keydown", K, { capture: !0 });
99
- }, G = () => {
100
- se(W), R() && document.removeEventListener("keydown", K, { capture: !0 });
101
- }, Le = () => {
102
- if (!S.focusTarget) return;
103
- let e = A.value?.querySelector(S.focusTarget);
97
+ }, K = Symbol("bb-dialog-escape"), Pe = () => {
98
+ oe(K), z() && document.addEventListener("keydown", Le, { capture: !0 });
99
+ }, Fe = () => {
100
+ se(K), z() && document.removeEventListener("keydown", Le, { capture: !0 });
101
+ }, Ie = () => {
102
+ if (!C.focusTarget) return;
103
+ let e = j.value?.querySelector(C.focusTarget);
104
104
  e instanceof HTMLElement && e.focus();
105
- }, K = (e) => {
106
- if (e.key === "Escape" && !Z.value && ae(W) && (e.stopImmediatePropagation(), Ne.value)) return e.preventDefault(), U(200), !1;
105
+ }, Le = (e) => {
106
+ if (e.key === "Escape" && !X.value && ae(K) && (e.stopImmediatePropagation(), B.value)) return e.preventDefault(), G(200), !1;
107
107
  }, q = _(0), J = _(!1), Y = Symbol("bb-dialog"), { stacks: Re, enter: ze, leave: Be } = he(), Ve = () => {
108
- S.stack && ze(S.stack, Y);
109
- }, X = () => {
110
- S.stack && Be(S.stack, Y);
111
- }, Z = i(() => {
112
- if (!S.stack) return !1;
113
- let e = Re.value[S.stack];
108
+ C.stack && ze(C.stack, Y);
109
+ }, He = () => {
110
+ C.stack && Be(C.stack, Y);
111
+ }, X = i(() => {
112
+ if (!C.stack) return !1;
113
+ let e = Re.value[C.stack];
114
114
  return !e || !e.includes(Y) ? !1 : e[e.length - 1] !== Y;
115
- }), Q = null, He = async (e) => {
116
- if (e) C("show"), q.value++, R() && !document.documentElement.style.getPropertyValue("--scrollbar-width") && document.documentElement.style.setProperty("--scrollbar-width", `${qe()}px`), Ie(), await m(), J.value = !0, A.value && !A.value.open && A.value.showModal(), Ve(), A.value && (Q = pe(A.value)), Le(), C("shown");
115
+ }), Ue = i(() => {
116
+ if (!C.stack) return !1;
117
+ let e = Re.value[C.stack];
118
+ return !e || !e.includes(Y) ? !1 : e[0] !== Y;
119
+ }), Z = null, We = async (e) => {
120
+ if (e) w("show"), q.value++, z() && !document.documentElement.style.getPropertyValue("--scrollbar-width") && document.documentElement.style.setProperty("--scrollbar-width", `${Je()}px`), Pe(), await m(), J.value = !0, j.value && !j.value.open && j.value.showModal(), Ve(), j.value && (Z = pe(j.value)), Ie(), w("shown");
117
121
  else {
118
- C("hide");
122
+ w("hide"), He();
119
123
  let e = q.value;
120
- if (await le(S.transitionDuration), e !== q.value) return;
121
- G(), X(), A.value?.close(), Q?.(), Q = null, J.value = !1, C("hidden");
124
+ if (await le(C.transitionDuration), e !== q.value) return;
125
+ Fe(), j.value?.close(), Z?.(), Z = null, J.value = !1, w("hidden");
122
126
  }
123
- }, Ue = () => {
124
- process.env.NODE_ENV !== "production" && (!w.header || S.title || m(() => {
125
- !A.value || document.getElementById(j) || ne().warn(`BbDialog: the #header slot does not contain an element with id="${j}", so aria-labelledby points at nothing and the dialog announces as unnamed. Bind the slot's \`titleId\` to your heading: <template #header="{ titleId }"><h2 :id="titleId">…</h2></template>.`);
127
+ }, Ge = () => {
128
+ process.env.NODE_ENV !== "production" && (!T.header || C.title || m(() => {
129
+ !j.value || document.getElementById(M) || ne().warn(`BbDialog: the #header slot does not contain an element with id="${M}", so aria-labelledby points at nothing and the dialog announces as unnamed. Bind the slot's \`titleId\` to your heading: <template #header="{ titleId }"><h2 :id="titleId">…</h2></template>.`);
126
130
  }));
127
131
  };
128
132
  b(f, (e) => {
129
- e && (k.value = O()), k.value === "dialog" && He(e);
133
+ e && (A.value = k()), A.value === "dialog" && We(e);
130
134
  }), ye(() => {
131
- f.value && k.value === "dialog" && He(!0), Ue();
135
+ f.value && A.value === "dialog" && We(!0), Ge();
132
136
  }), ve(() => {
133
- clearTimeout(H), G(), X(), Q?.(), Q = null;
137
+ clearTimeout(W), Fe(), He(), Z?.(), Z = null;
134
138
  });
135
- let We = i(() => L.value ? "100%" : de(je(S.size), T.dialogDefaultSizes)), Ge = (e) => {
136
- if (e.preventDefault(), Ne.value) return U(300), !1;
137
- $();
138
- }, $ = () => {
139
+ let Ke = i(() => R.value ? "100%" : de(Ae(C.size), E.dialogDefaultSizes)), qe = (e) => {
140
+ if (e.preventDefault(), B.value) return G(300), !1;
141
+ Q();
142
+ }, Q = () => {
139
143
  f.value = !1;
140
- }, Ke = () => {
141
- if (S.disabled) {
142
- U(300);
144
+ }, $ = () => {
145
+ if (C.disabled) {
146
+ G(300);
143
147
  return;
144
148
  }
145
- $();
146
- }, qe = () => R() ? window.innerWidth - document.documentElement.clientWidth : 0;
147
- return (e, t) => k.value === "canvas" ? (g(), a(me, p({
149
+ Q();
150
+ }, Je = () => z() ? window.innerWidth - document.documentElement.clientWidth : 0;
151
+ return (e, t) => A.value === "canvas" ? (g(), a(me, p({
148
152
  key: 0,
149
153
  modelValue: f.value,
150
154
  "onUpdate:modelValue": t[0] ||= (e) => f.value = e
151
- }, Me.value, {
152
- onHidden: t[1] ||= (e) => C("hidden"),
153
- onHide: t[2] ||= (e) => C("hide"),
154
- onShow: t[3] ||= (e) => C("show"),
155
- onShown: t[4] ||= (e) => C("shown")
155
+ }, je.value, {
156
+ onHidden: t[1] ||= (e) => w("hidden"),
157
+ onHide: t[2] ||= (e) => w("hide"),
158
+ onShow: t[3] ||= (e) => w("show"),
159
+ onShown: t[4] ||= (e) => w("shown")
156
160
  }), _e({ _: 2 }, [
157
161
  e.$slots.default ? {
158
162
  name: "default",
@@ -182,57 +186,58 @@ var Te = [
182
186
  ]), 1040, ["modelValue"])) : (g(), s("dialog", p({
183
187
  key: 1,
184
188
  ref_key: "dialog",
185
- ref: A,
186
- "aria-describedby": y(I) && N() ? M : void 0,
187
- "aria-labelledby": y(I) && (P() || e.$slots.header) ? j : void 0,
189
+ ref: j,
190
+ "aria-describedby": y(L) && P() ? N : void 0,
191
+ "aria-labelledby": y(L) && (F() || e.$slots.header) ? M : void 0,
188
192
  class: ["bb-dialog", {
189
193
  "bb-dialog--open": f.value,
190
194
  "bb-dialog--visible": J.value,
191
- "bb-dialog--fullscreen": L.value,
192
- "bb-dialog--mobile": y(D),
193
- "bb-dialog--deny-close": z.value,
194
- "bb-dialog--covered": Z.value
195
+ "bb-dialog--fullscreen": R.value,
196
+ "bb-dialog--mobile": y(O),
197
+ "bb-dialog--deny-close": V.value,
198
+ "bb-dialog--covered": X.value,
199
+ "bb-dialog--stacked": Ue.value
195
200
  }],
196
- inert: !f.value && !J.value || Z.value,
201
+ inert: !f.value && !J.value || X.value,
197
202
  style: {
198
- "--max-width": We.value,
199
- "--transition-duration": `${S.transitionDuration}ms`
203
+ "--max-width": Ke.value,
204
+ "--transition-duration": `${C.transitionDuration}ms`
200
205
  }
201
206
  }, xe(y(ie), !0), {
202
- onCancel: Ge,
203
- onClick: we(Fe, ["self"]),
204
- onPointercancel: V,
205
- onPointerdown: Pe
206
- }), [y(I) ? (g(), s(ge, { key: 0 }, [
207
- F() || e.$slots.header ? (g(), s("div", Ee, [v(e.$slots, "header", {
208
- close: $,
207
+ onCancel: qe,
208
+ onClick: we(Ne, ["self"]),
209
+ onPointercancel: U,
210
+ onPointerdown: Me
211
+ }), [y(L) ? (g(), s(ge, { key: 0 }, [
212
+ I() || e.$slots.header ? (g(), s("div", Ee, [v(e.$slots, "header", {
213
+ close: Q,
209
214
  title: e.title,
210
- titleId: j
215
+ titleId: M
211
216
  }, () => [
212
- P() ? (g(), s("span", {
217
+ F() ? (g(), s("span", {
213
218
  key: 0,
214
- id: j,
219
+ id: M,
215
220
  class: "bb-dialog__title"
216
221
  }, [v(e.$slots, "title", { text: e.title }, () => [l(be(e.title), 1)])])) : o("", !0),
217
- N() ? (g(), s("p", {
222
+ P() ? (g(), s("p", {
218
223
  key: 1,
219
- id: M,
224
+ id: N,
220
225
  class: "bb-dialog__description"
221
226
  }, [v(e.$slots, "description", { text: e.description }, () => [l(be(e.description), 1)])])) : o("", !0),
222
227
  e.hideClose ? o("", !0) : (g(), a(r, {
223
228
  key: 2,
224
- "aria-label": y(E)("dialog.closeLabel").value,
225
- onClick: Ke
229
+ "aria-label": y(D)("dialog.closeLabel").value,
230
+ onClick: $
226
231
  }, null, 8, ["aria-label"]))
227
232
  ])])) : o("", !0),
228
- c("div", De, [c("div", Oe, [!F() && !e.$slots.header && !e.hideClose ? (g(), a(r, {
233
+ c("div", De, [c("div", Oe, [!I() && !e.$slots.header && !e.hideClose ? (g(), a(r, {
229
234
  key: 0,
230
- "aria-label": y(E)("dialog.closeLabel").value,
231
- onClick: Ke
232
- }, null, 8, ["aria-label"])) : o("", !0), v(e.$slots, "default", { close: $ })])]),
235
+ "aria-label": y(D)("dialog.closeLabel").value,
236
+ onClick: $
237
+ }, null, 8, ["aria-label"])) : o("", !0), v(e.$slots, "default", { close: Q })])]),
233
238
  c("div", ke, [v(e.$slots, "footer")])
234
239
  ], 64)) : o("", !0)], 16, Te));
235
240
  }
236
241
  });
237
242
  //#endregion
238
- export { S as default };
243
+ export { C as default };
@@ -19,7 +19,7 @@ var M = { class: "bb-offcanvas__title bb-dropdown__nav-title" }, N = {
19
19
  "aria-labelledby",
20
20
  "role"
21
21
  ], F = {
22
- class: "sr-only",
22
+ class: "bb-sr-only",
23
23
  role: "status"
24
24
  }, I = /*@__PURE__*/ v({
25
25
  __name: "AdaptiveDropdown",
@@ -5,23 +5,23 @@ import { removedPropsFor as r } from "../../deprecation/removedProps.js";
5
5
  import { useLogger as i } from "../../composables/useLogger.js";
6
6
  import { warnRemovedAttrs as a } from "../../utilities/functions/warnRemovedAttrs.js";
7
7
  import { extractDomContainer as o } from "../../utilities/functions/extractDomContainer.js";
8
- import { transitions as ee } from "../../utilities/misc/transitions.js";
9
- import s from "../CommonPopover/CommonPopover.vue.js";
10
- import { parseWidthString as te } from "../../utilities/functions/parseWidthString.js";
11
- import { isTopEscapeEntry as ne, pushEscapeEntry as re, removeEscapeEntry as ie } from "../../utils/overlayEscapeStack.js";
12
- import { useBbDropdownContextHost as ae } from "../../composables/useBbDropdownContext.js";
13
- import { useMobile as oe } from "../../composables/useMobile.js";
14
- import { provideSheetSurface as se } from "../../composables/useSheetSurface.js";
15
- import { useClosingInert as ce } from "../../composables/useClosingInert.js";
16
- import { wait as c } from "../../utilities/functions/wait.js";
8
+ import { transitions as s } from "../../utilities/misc/transitions.js";
9
+ import c from "../CommonPopover/CommonPopover.vue.js";
10
+ import { isTopEscapeEntry as ee, pushEscapeEntry as te, removeEscapeEntry as ne } from "../../utils/overlayEscapeStack.js";
11
+ import { useBbDropdownContextHost as re } from "../../composables/useBbDropdownContext.js";
12
+ import { useMobile as ie } from "../../composables/useMobile.js";
13
+ import { provideSheetSurface as ae } from "../../composables/useSheetSurface.js";
14
+ import { useClosingInert as oe } from "../../composables/useClosingInert.js";
15
+ import { wait as se } from "../../utilities/functions/wait.js";
17
16
  import { groupItemsAsArray as l, isGroup as u } from "./types.js";
18
- import { levelHasSearch as le, normalizeGroups as ue } from "./normalizeGroups.js";
19
- import { provideDropdownContext as de } from "./useDropdownContext.js";
20
- import fe from "./BbDropdownList.vue.js";
21
- import { hash as pe } from "../../utilities/functions/hash.js";
22
- import me from "./AdaptiveDropdown.vue.js";
23
- import { provideDropdownGroupRegistry as he } from "./useDropdownGroupRegistry.js";
24
- import ge from "./DropdownPipelineResolver.vue.js";
17
+ import { levelHasSearch as ce, normalizeGroups as le } from "./normalizeGroups.js";
18
+ import { provideDropdownContext as ue } from "./useDropdownContext.js";
19
+ import de from "./BbDropdownList.vue.js";
20
+ import { hash as fe } from "../../utilities/functions/hash.js";
21
+ import pe from "./AdaptiveDropdown.vue.js";
22
+ import { provideDropdownGroupRegistry as me } from "./useDropdownGroupRegistry.js";
23
+ import he from "./DropdownPipelineResolver.vue.js";
24
+ import { parseWidthString as ge } from "../../utilities/functions/parseWidthString.js";
25
25
  import { Fragment as _e, computed as d, createBlock as ve, createCommentVNode as ye, createElementBlock as f, createElementVNode as be, createVNode as xe, defineComponent as Se, mergeProps as Ce, normalizeClass as we, normalizeProps as Te, normalizeStyle as Ee, onBeforeUnmount as De, openBlock as p, reactive as m, ref as h, renderList as Oe, renderSlot as g, toDisplayString as ke, unref as _, useSlots as Ae, useTemplateRef as je, watch as v, withCtx as Me } from "vue";
26
26
  import { useElementSize as Ne, useIntersectionObserver as Pe } from "@vueuse/core";
27
27
  //#region src/components/BbDropdown/BbDropdown.vue?vue&type=script&setup=true&lang.ts
@@ -39,7 +39,7 @@ var Fe = [
39
39
  "aria-labelledby",
40
40
  "role"
41
41
  ], Re = {
42
- class: "sr-only",
42
+ class: "bb-sr-only",
43
43
  role: "status"
44
44
  }, ze = {
45
45
  key: 1,
@@ -68,22 +68,22 @@ var Fe = [
68
68
  padding: { default: 10 },
69
69
  placement: { default: "bottom" },
70
70
  queryDebounceTime: { default: 300 },
71
- transitionDuration: { default: ee.fast },
71
+ transitionDuration: { default: s.fast },
72
72
  trigger: { default: "click" },
73
73
  width: { default: "auto" }
74
74
  },
75
75
  emits: ["item:selected", "item:unselected"],
76
- setup(ee, { emit: Se }) {
77
- let y = ee, Ue = Se, We = e();
76
+ setup(s, { emit: Se }) {
77
+ let y = s, b = Se, Ue = e();
78
78
  process.env.NODE_ENV !== "production" && a("BbDropdown", r("BbDropdown"));
79
- let Ge = i(), b = y.id ?? `bb_${t().id.value}`, x = Symbol("bb-dropdown-escape"), S = h(b), C = h(), Ke = d(() => o(C.value)), qe = d(() => y.activator != null), w = h(!1), Je = n(w, { initialValue: y.eager }), Ye = ce(w, () => y.transitionDuration), T = m({}), Xe = m(/* @__PURE__ */ new Set()), { isMobile: Ze } = oe(), Qe = () => (y.adaptive ?? We.adaptive) && Ze.value ? "canvas" : "popover", $e = h(Qe()), E = d(() => $e.value === "canvas");
79
+ let We = i(), x = y.id ?? `bb_${t().id.value}`, Ge = Symbol("bb-dropdown-escape"), S = h(x), C = h(), Ke = d(() => o(C.value)), qe = d(() => y.activator != null), w = h(!1), Je = n(w, { initialValue: y.eager }), Ye = oe(w, () => y.transitionDuration), T = m({}), Xe = m(/* @__PURE__ */ new Set()), { isMobile: Ze } = ie(), Qe = () => (y.adaptive ?? Ue.adaptive) && Ze.value ? "canvas" : "popover", $e = h(Qe()), E = d(() => $e.value === "canvas");
80
80
  v([
81
81
  () => y.adaptive,
82
82
  Ze,
83
83
  w
84
84
  ], () => {
85
85
  w.value || ($e.value = Qe());
86
- }), se(E);
86
+ }), ae(E);
87
87
  let et = d(() => ({
88
88
  side: "bottom",
89
89
  size: "auto",
@@ -225,15 +225,15 @@ var Fe = [
225
225
  let e = [...y.items ?? []];
226
226
  for (let t of dt.value) {
227
227
  let n = A(e, t.key);
228
- !n && !t.items?.length && (j(e, t.key) === "item" && Ge.throw(`[BbDropdownGroup] "${t.key}" refers to a menu item, not a selectable group. \`<BbDropdownGroup>\` can only attach to a group (an entry with \`selectable\`, \`multiple\`, or \`group: true\`). Point \`id\` at a group key.`), Ge.throw(`[BbDropdownGroup] Missing minimum config for group "${t.key}". Provide \`items\`, \`selectable\`, \`multiple\`, or \`group\` keys in order to identify a group or define a baseline group with the same key in \`BbDropdown.items\`.`));
228
+ !n && !t.items?.length && (j(e, t.key) === "item" && We.throw(`[BbDropdownGroup] "${t.key}" refers to a menu item, not a selectable group. \`<BbDropdownGroup>\` can only attach to a group (an entry with \`selectable\`, \`multiple\`, or \`group: true\`). Point \`id\` at a group key.`), We.throw(`[BbDropdownGroup] Missing minimum config for group "${t.key}". Provide \`items\`, \`selectable\`, \`multiple\`, or \`group\` keys in order to identify a group or define a baseline group with the same key in \`BbDropdown.items\`.`));
229
229
  let r = pt(t, n), i = M(e, r);
230
230
  e = i.found ? i.items : [...i.items, r];
231
231
  }
232
232
  return e;
233
- }), P = d(() => ue(N.value).map((e) => e.selectable ? {
233
+ }), P = d(() => le(N.value).map((e) => e.selectable ? {
234
234
  ...e,
235
235
  selected: O[e.key ?? ""] ?? []
236
- } : e)), F = d(() => le(P.value)), I = h(), mt = d(() => F.value || E.value ? "dialog" : "menu"), ht = d(() => F.value && !E.value ? `dialog_${b}` : `menu_${b}`), gt = (e) => typeof e.items == "function" || e.itemText != null || e.itemValue != null || e.max != null, L = (e, t = []) => {
236
+ } : e)), F = d(() => ce(P.value)), I = h(), mt = d(() => F.value || E.value ? "dialog" : "menu"), ht = d(() => F.value && !E.value ? `dialog_${x}` : `menu_${x}`), gt = (e) => typeof e.items == "function" || e.itemText != null || e.itemValue != null || e.max != null, L = (e, t = []) => {
237
237
  for (let n of e) if (u(n)) {
238
238
  n.key && gt(n) && t.push(n.key);
239
239
  for (let e of l(n.items)) for (let n of Array.isArray(e) ? e : [e]) n.items && L(n.items, t);
@@ -247,7 +247,7 @@ var Fe = [
247
247
  };
248
248
  }, V = (e) => {
249
249
  let t = (n) => {
250
- for (let r of ue(n)) {
250
+ for (let r of le(n)) {
251
251
  if (r.key === e) return r;
252
252
  for (let e of r.items) if (e.items) {
253
253
  let n = t(e.items);
@@ -256,12 +256,12 @@ var Fe = [
256
256
  }
257
257
  };
258
258
  return t(N.value);
259
- }, xt = (e, t) => R.value.includes(e) ? pe(t) : t, St = (e) => {
259
+ }, xt = (e, t) => R.value.includes(e) ? fe(t) : t, St = (e) => {
260
260
  if (k.has(e)) return k.get(e);
261
261
  let t = (O[e] ?? []).map((t) => B(e, t));
262
262
  return bt(e)?.multiple ? t : t[0] ?? null;
263
263
  };
264
- he({
264
+ me({
265
265
  register: (e, t) => ut.set(e, t),
266
266
  unregister: (e) => ut.delete(e),
267
267
  seed: (e, t) => {
@@ -303,9 +303,9 @@ var Fe = [
303
303
  }, Ct = d(() => {
304
304
  let e = {};
305
305
  for (let t of H(N.value)) {
306
- let n = St(t), r = [].concat(n).filter((e) => e != null), i = z[t], a = V(t), o = A(N.value, t), { items: ee, ...s } = o ?? {};
306
+ let n = St(t), r = [].concat(n).filter((e) => e != null), i = z[t], a = V(t), o = A(N.value, t), { items: s, ...c } = o ?? {};
307
307
  e[t] = {
308
- ...s,
308
+ ...c,
309
309
  key: t,
310
310
  value: n,
311
311
  multiple: o?.multiple ?? !1,
@@ -323,7 +323,7 @@ var Fe = [
323
323
  }
324
324
  return e;
325
325
  });
326
- ae(() => y.id, {
326
+ re(() => y.id, {
327
327
  open: () => w.value,
328
328
  groups: () => Ct.value
329
329
  });
@@ -334,18 +334,18 @@ var Fe = [
334
334
  e.multiple ? i.has(t.key) ? i.delete(t.key) : i.add(t.key) : i.has(t.key) ? i.clear() : (i.clear(), i.add(t.key));
335
335
  let a = [...i];
336
336
  O[n] = a;
337
- let o = a.filter((e) => !r.includes(e)), ee = r.filter((e) => !a.includes(e)), s = (t) => e.items.find((e) => e.key === t);
337
+ let o = a.filter((e) => !r.includes(e)), s = r.filter((e) => !a.includes(e)), c = (t) => e.items.find((e) => e.key === t);
338
338
  o.forEach((e) => {
339
- s(e) && Ue("item:selected", B(n, e));
340
- }), ee.forEach((e) => {
341
- s(e) && Ue("item:unselected", B(n, e));
339
+ c(e) && b("item:selected", B(n, e));
340
+ }), s.forEach((e) => {
341
+ c(e) && b("item:unselected", B(n, e));
342
342
  });
343
- let te = wt.value === 1 && P.value.some((e) => e.selectable && e.key === n);
344
- o.length && !e.multiple && te && (Q(), G());
343
+ let ee = wt.value === 1 && P.value.some((e) => e.selectable && e.key === n);
344
+ o.length && !e.multiple && ee && (Q(), G());
345
345
  }, U = m(/* @__PURE__ */ new Set()), Et = (e) => U.has(e), Dt = d(() => U.size > 0), Ot = (e) => e != null && (typeof e == "object" || typeof e == "function") && typeof e.then == "function", kt = async () => {
346
346
  await Q();
347
347
  let e = document.activeElement;
348
- e instanceof HTMLElement && e !== document.body && !e.closest(`[data-bb-dropdown-surface="${b}"]`) || G();
348
+ e instanceof HTMLElement && e !== document.body && !e.closest(`[data-bb-dropdown-surface="${x}"]`) || G();
349
349
  }, At = async (e, t, { close: n = !1 } = {}) => {
350
350
  let r = e.onClick?.(t);
351
351
  if (n && await kt(), Ot(r)) {
@@ -359,8 +359,8 @@ var Fe = [
359
359
  }, W = je("rootList"), G = () => {
360
360
  (C.value ?? (S.value ? document.getElementById(S.value) : null))?.focus();
361
361
  };
362
- de({
363
- rootId: b,
362
+ ue({
363
+ rootId: x,
364
364
  activatorId: S,
365
365
  setStatus: (e) => {
366
366
  I.value = e;
@@ -394,7 +394,7 @@ var Fe = [
394
394
  },
395
395
  deselect: (e, t) => {
396
396
  let n = O[e] ?? [];
397
- n.includes(t) && (O[e] = n.filter((e) => e !== t), Ue("item:unselected", B(e, t)));
397
+ n.includes(t) && (O[e] = n.filter((e) => e !== t), b("item:unselected", B(e, t)));
398
398
  },
399
399
  close: () => Q(),
400
400
  focusActivator: G,
@@ -416,7 +416,7 @@ var Fe = [
416
416
  if (e.preventDefault(), e.stopPropagation(), y.placement === "cursor") {
417
417
  let t = nt(e.clientX, e.clientY);
418
418
  if (w.value) {
419
- await Q(), await c(y.transitionDuration), D.value = t, await Z();
419
+ await Q(), await se(y.transitionDuration), D.value = t, await Z();
420
420
  return;
421
421
  }
422
422
  D.value = t;
@@ -439,24 +439,24 @@ var Fe = [
439
439
  }, Y = () => {
440
440
  J();
441
441
  }, It = async (e) => {
442
- y.disabled || (e.key === "ArrowDown" ? (e.preventDefault(), w.value || await Z(), await c(0), W.value?.focusFirst()) : e.key === "ArrowUp" ? (e.preventDefault(), w.value || await Z(), await c(0), W.value?.focusLast()) : e.key === "Tab" && w.value && !e.shiftKey && (e.preventDefault(), W.value?.focusFirst()));
442
+ y.disabled || (e.key === "ArrowDown" ? (e.preventDefault(), w.value || await Z(), await se(0), W.value?.focusFirst()) : e.key === "ArrowUp" ? (e.preventDefault(), w.value || await Z(), await se(0), W.value?.focusLast()) : e.key === "Tab" && w.value && !e.shiftKey && (e.preventDefault(), W.value?.focusFirst()));
443
443
  }, X = (e) => {
444
444
  let t = e.target;
445
- t instanceof HTMLElement && (t.closest(`[data-bb-dropdown-surface="${b}"]`) || Q());
445
+ t instanceof HTMLElement && (t.closest(`[data-bb-dropdown-surface="${x}"]`) || Q());
446
446
  }, Lt = (e) => {
447
447
  let t = e.detail;
448
- !t || t.surfaceId === b || t.activator?.closest(`[data-bb-dropdown-surface="${b}"]`) || Q();
448
+ !t || t.surfaceId === x || t.activator?.closest(`[data-bb-dropdown-surface="${x}"]`) || Q();
449
449
  }, Rt = (e) => {
450
- !w.value || e.key !== "Escape" || ne(x) && (e.stopImmediatePropagation(), e.preventDefault(), document.activeElement !== C.value && G(), Q());
450
+ !w.value || e.key !== "Escape" || ee(Ge) && (e.stopImmediatePropagation(), e.preventDefault(), document.activeElement !== C.value && G(), Q());
451
451
  }, Z = async () => {
452
452
  $e.value = Qe(), st = !0, w.value = !0, document.dispatchEvent(new CustomEvent(Be, { detail: {
453
- surfaceId: b,
453
+ surfaceId: x,
454
454
  activator: C.value
455
- } })), !E.value && (ct(), re(x), document.addEventListener("click", X, { passive: !0 }), document.addEventListener("contextmenu", X, { passive: !0 }), document.addEventListener("focusin", X, { passive: !0 }), document.addEventListener("keydown", Rt, { capture: !0 }), document.addEventListener(Be, Lt));
455
+ } })), !E.value && (ct(), te(Ge), document.addEventListener("click", X, { passive: !0 }), document.addEventListener("contextmenu", X, { passive: !0 }), document.addEventListener("focusin", X, { passive: !0 }), document.addEventListener("keydown", Rt, { capture: !0 }), document.addEventListener(Be, Lt));
456
456
  }, Q = async () => {
457
457
  w.value = !1, lt();
458
458
  }, zt = () => {
459
- ie(x), document.removeEventListener("click", X), document.removeEventListener("contextmenu", X), document.removeEventListener("focusin", X), document.removeEventListener("keydown", Rt, { capture: !0 }), document.removeEventListener(Be, Lt);
459
+ ne(Ge), document.removeEventListener("click", X), document.removeEventListener("contextmenu", X), document.removeEventListener("focusin", X), document.removeEventListener("keydown", Rt, { capture: !0 }), document.removeEventListener(Be, Lt);
460
460
  };
461
461
  v(w, (e) => {
462
462
  if (!e) {
@@ -470,7 +470,7 @@ var Fe = [
470
470
  v([C, tt], ([e, t]) => {
471
471
  if ($ &&= ($(), null), !e) return;
472
472
  let n = !1;
473
- e.id || (e.id = b, n = !0), S.value = e.id;
473
+ e.id || (e.id = x, n = !0), S.value = e.id;
474
474
  let r = [];
475
475
  t.has("click") && (e.addEventListener("click", jt), r.push(() => e.removeEventListener("click", jt))), t.has("contextMenu") && (e.addEventListener("contextmenu", Mt), e.addEventListener("pointerdown", Pt), e.addEventListener("pointermove", Ft), e.addEventListener("pointerup", Y), e.addEventListener("pointercancel", Y), r.push(() => {
476
476
  e.removeEventListener("contextmenu", Mt), e.removeEventListener("pointerdown", Pt), e.removeEventListener("pointermove", Ft), e.removeEventListener("pointerup", Y), e.removeEventListener("pointercancel", Y), J();
@@ -494,7 +494,7 @@ var Fe = [
494
494
  }, { box: "border-box" }), Ht = d(() => {
495
495
  if (y.width !== "auto") {
496
496
  if (y.width) {
497
- let { value: e, unit: t } = te(y.width);
497
+ let { value: e, unit: t } = ge(y.width);
498
498
  return t === "%" ? it.value ? `${Vt.value * (e / 100)}px` : "0px" : `${e}px`;
499
499
  }
500
500
  return "0px";
@@ -509,11 +509,11 @@ var Fe = [
509
509
  placement: e.placement
510
510
  }))),
511
511
  g(e.$slots, "default"),
512
- (p(!0), f(_e, null, Oe(R.value, (e) => (p(), ve(ge, {
512
+ (p(!0), f(_e, null, Oe(R.value, (e) => (p(), ve(he, {
513
513
  id: e,
514
514
  key: e
515
515
  }, null, 8, ["id"]))), 128)),
516
- E.value ? (p(), ve(me, {
516
+ E.value ? (p(), ve(pe, {
517
517
  key: 1,
518
518
  modelValue: w.value,
519
519
  "onUpdate:modelValue": t[0] ||= (e) => w.value = e,
@@ -525,7 +525,7 @@ var Fe = [
525
525
  "compact",
526
526
  "off-canvas-props",
527
527
  "root-groups"
528
- ])) : (p(), ve(s, Ce({
528
+ ])) : (p(), ve(c, Ce({
529
529
  key: 2,
530
530
  modelValue: w.value,
531
531
  "onUpdate:modelValue": t[1] ||= (e) => w.value = e,
@@ -543,10 +543,10 @@ var Fe = [
543
543
  "transition-duration": e.transitionDuration
544
544
  }, e.$attrs), {
545
545
  default: Me(({ availableHeight: t }) => [be("span", {
546
- id: F.value ? `dialog_${_(b)}` : void 0,
546
+ id: F.value ? `dialog_${_(x)}` : void 0,
547
547
  "aria-labelledby": F.value ? S.value : void 0,
548
548
  class: we(["bb-dropdown__panel", { "bb-dropdown__panel--reserve-check": Bt.value }]),
549
- "data-bb-dropdown-surface": _(b),
549
+ "data-bb-dropdown-surface": _(x),
550
550
  inert: _(Ye),
551
551
  role: F.value ? "dialog" : void 0,
552
552
  style: Ee({
@@ -560,11 +560,11 @@ var Fe = [
560
560
  placement: e.placement
561
561
  })])) : ye("", !0),
562
562
  be("span", {
563
- id: `menu_${_(b)}`,
563
+ id: `menu_${_(x)}`,
564
564
  "aria-labelledby": F.value ? void 0 : S.value,
565
565
  class: "bb-dropdown__items-container scrollbar-border",
566
566
  role: F.value ? "none" : "menu"
567
- }, [xe(fe, {
567
+ }, [xe(de, {
568
568
  ref_key: "rootList",
569
569
  ref: W,
570
570
  groups: P.value
@@ -249,7 +249,7 @@ var de = ["for"], fe = [
249
249
  "aria-label": E.value,
250
250
  "aria-labelledby": Ce.value,
251
251
  autofocus: e.autofocus,
252
- class: "sr-only",
252
+ class: "bb-sr-only",
253
253
  disabled: e.disabled,
254
254
  multiple: e.multiple,
255
255
  type: "file",
@@ -261,7 +261,7 @@ var de = ["for"], fe = [
261
261
  W.value ? (d(), c("span", {
262
262
  key: 0,
263
263
  id: B,
264
- class: "sr-only"
264
+ class: "bb-sr-only"
265
265
  }, m(E.value), 1)) : s("", !0)
266
266
  ], 40, de),
267
267
  e.name ? (d(), c("label", pe, [te(m(he.value) + " ", 1), l("input", {