bitboss-ui 3.0.0-beta.21 → 3.0.0-beta.23
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.
- package/README.md +55 -3
- package/bin/bitboss-ui-mcp.mjs +419 -9
- package/bin/bitboss-ui.mjs +293 -22
- package/dist/ai/BbAccordion.md +21 -23
- package/dist/ai/BbAlert.md +6 -12
- package/dist/ai/BbAvatar.md +60 -24
- package/dist/ai/BbBadge.md +12 -20
- package/dist/ai/BbBaseButton.md +14 -16
- package/dist/ai/BbBaseCheckboxIcon.md +6 -10
- package/dist/ai/BbBaseColorInput.md +1 -0
- package/dist/ai/BbBaseDatePickerInput.md +1 -0
- package/dist/ai/BbBaseNumberInput.md +1 -0
- package/dist/ai/BbBaseRadioIcon.md +6 -10
- package/dist/ai/BbBaseSelect.md +1 -0
- package/dist/ai/BbBaseSwitchIcon.md +5 -9
- package/dist/ai/BbBaseTag.md +1 -0
- package/dist/ai/BbBaseTextInput.md +2 -1
- package/dist/ai/BbBaseTextarea.md +1 -0
- package/dist/ai/BbBaseTimePickerInput.md +1 -0
- package/dist/ai/BbBreadcrumbs.md +23 -34
- package/dist/ai/BbButton.md +35 -47
- package/dist/ai/BbCheckbox.md +21 -37
- package/dist/ai/BbCheckboxGroup.md +13 -13
- package/dist/ai/BbCollapsible.md +14 -26
- package/dist/ai/BbColorInput.md +27 -23
- package/dist/ai/BbColorPalette.md +23 -35
- package/dist/ai/BbConfirm.md +17 -32
- package/dist/ai/BbDatePickerInput.md +29 -21
- package/dist/ai/BbDialog.md +159 -62
- package/dist/ai/BbDropdown.md +21 -25
- package/dist/ai/BbDropdownButton.md +13 -30
- package/dist/ai/BbDropzone.md +9 -11
- package/dist/ai/BbIcon.md +44 -33
- package/dist/ai/BbIndicator.md +2 -2
- package/dist/ai/BbNumberInput.md +32 -20
- package/dist/ai/BbOffCanvas.md +42 -42
- package/dist/ai/BbPagination.md +21 -23
- package/dist/ai/BbPopover.md +15 -17
- package/dist/ai/BbProgress.md +40 -51
- package/dist/ai/BbRadio.md +9 -9
- package/dist/ai/BbRadioGroup.md +7 -11
- package/dist/ai/BbRating.md +8 -12
- package/dist/ai/BbSelect.md +46 -36
- package/dist/ai/BbSelectPopover.md +19 -31
- package/dist/ai/BbSlider.md +15 -19
- package/dist/ai/BbSmoothHeight.md +16 -31
- package/dist/ai/BbSpinner.md +118 -74
- package/dist/ai/BbSwitch.md +25 -18
- package/dist/ai/BbSwitchGroup.md +9 -14
- package/dist/ai/BbTable.md +102 -55
- package/dist/ai/BbTabs.md +59 -82
- package/dist/ai/BbTag.md +26 -23
- package/dist/ai/BbTextInput.md +63 -27
- package/dist/ai/BbTextarea.md +42 -34
- package/dist/ai/BbTimePickerInput.md +14 -0
- package/dist/ai/BbToast.md +14 -34
- package/dist/ai/BbTooltip.md +22 -20
- package/dist/ai/BbTree.md +46 -72
- package/dist/ai/CommonInputWrapper.md +1 -0
- package/dist/ai/changelog.json +170 -62
- package/dist/ai/components.json +1678 -11
- package/dist/ai/composables/useConfirm.md +5 -2
- package/dist/ai/composables/useToast.md +4 -2
- package/dist/ai/guides/agent-contract.md +7 -4
- package/dist/ai/guides/ai-router.md +37 -22
- package/dist/ai/guides/component-picker.md +23 -18
- package/dist/ai/guides/design-language.md +151 -21
- package/dist/ai/guides/design-tokens.md +29 -4
- package/dist/ai/guides/icons-policy.md +46 -21
- package/dist/ai/guides/installation-and-plugin-setup.md +286 -17
- package/dist/ai/guides/migration/components/bb-rating.md +26 -1
- package/dist/ai/guides/migration/components/bb-tooltip.md +18 -0
- package/dist/ai/guides/migration/v2-to-v3.md +50 -23
- package/dist/ai/index.md +1 -1
- package/dist/ai/recipes/inertia/approvals-inbox.md +3 -3
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/inertia/onboarding.md +2 -2
- package/dist/ai/recipes/inertia/ownership-atlas.md +6 -6
- package/dist/ai/recipes/inertia/record-form.md +5 -5
- package/dist/ai/recipes/inertia/records-workspace.md +4 -4
- package/dist/ai/recipes/inertia/upload-center.md +6 -6
- package/dist/ai/recipes/inertia/wizard-form.md +5 -5
- package/dist/ai/recipes/nuxt/approvals-inbox.md +3 -3
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/nuxt/onboarding.md +2 -2
- package/dist/ai/recipes/nuxt/record-form.md +5 -5
- package/dist/ai/recipes/nuxt/records-workspace.md +4 -4
- package/dist/ai/recipes/nuxt/upload-center.md +6 -6
- package/dist/ai/recipes/nuxt/wizard-form.md +5 -5
- package/dist/ai/recipes/vue/approvals-inbox.md +3 -3
- package/dist/ai/recipes/vue/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/vue/onboarding.md +2 -2
- package/dist/ai/recipes/vue/record-form.md +10 -10
- package/dist/ai/recipes/vue/records-workspace.md +4 -4
- package/dist/ai/recipes/vue/upload-center.md +6 -6
- package/dist/ai/recipes/vue/wizard-form.md +5 -5
- package/dist/ai/source/BbBadge.md +1 -1
- package/dist/ai/source/BbBaseCheckbox.md +1 -1
- package/dist/ai/source/BbBaseColorInput.md +7 -0
- package/dist/ai/source/BbBaseDatePicker.md +5 -5
- package/dist/ai/source/BbBaseDatePickerInput.md +9 -2
- package/dist/ai/source/BbBaseNumberInput.md +7 -0
- package/dist/ai/source/BbBaseRadio.md +1 -1
- package/dist/ai/source/BbBaseRating.md +5 -5
- package/dist/ai/source/BbBaseSelect.md +8 -1
- package/dist/ai/source/BbBaseSlider.md +5 -5
- package/dist/ai/source/BbBaseSwitch.md +1 -1
- package/dist/ai/source/BbBaseTag.md +7 -0
- package/dist/ai/source/BbBaseTextInput.md +7 -0
- package/dist/ai/source/BbBaseTextarea.md +7 -0
- package/dist/ai/source/BbBaseTimePickerInput.md +8 -1
- package/dist/ai/source/BbBreadcrumbs.md +20 -1
- package/dist/ai/source/BbButton.md +2 -2
- package/dist/ai/source/BbColorInput.md +14 -0
- package/dist/ai/source/BbDatePickerInput.md +14 -0
- package/dist/ai/source/BbDialog.md +39 -8
- package/dist/ai/source/BbDropdown.md +1 -1
- package/dist/ai/source/BbDropzone.md +5 -5
- package/dist/ai/source/BbIcon.md +23 -10
- package/dist/ai/source/BbNumberInput.md +14 -0
- package/dist/ai/source/BbOffCanvas.md +50 -28
- package/dist/ai/source/BbPagination.md +2 -2
- package/dist/ai/source/BbPopover.md +12 -1
- package/dist/ai/source/BbSelect.md +14 -0
- package/dist/ai/source/BbSelectPopover.md +45 -7
- package/dist/ai/source/BbSpinner.md +2 -2
- package/dist/ai/source/BbTable.md +11 -11
- package/dist/ai/source/BbTag.md +14 -0
- package/dist/ai/source/BbTextInput.md +14 -0
- package/dist/ai/source/BbTextarea.md +14 -0
- package/dist/ai/source/BbTimePickerInput.md +14 -0
- package/dist/ai/source/BbTooltip.md +57 -10
- package/dist/ai/source/ChipsBox.md +1 -1
- package/dist/ai/source/CommaBox.md +1 -1
- package/dist/ai/source/CommonInputWrapper.md +128 -33
- package/dist/ai/source/GuidesComponent.md +14 -7
- package/dist/ai/source/OptionsContainer.md +1 -1
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseColorInput/BbBaseColorInput.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseColorInput/types.d.ts +5 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbBaseDatePickerInput/types.d.ts +5 -0
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.d.ts +1 -1
- package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseNumberInput/types.d.ts +5 -0
- package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseSelect/types.d.ts +5 -0
- package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseTag/BbBaseTag.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseTag/types.d.ts +5 -0
- package/dist/components/BbBaseTextInput/BbBaseTextInput.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseTextInput/types.d.ts +5 -0
- package/dist/components/BbBaseTextarea/BbBaseTextarea.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseTextarea/types.d.ts +5 -0
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbBaseTimePickerInput/types.d.ts +5 -0
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +71 -71
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbColorInput/types.d.ts +12 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/BbDatePickerInput/types.d.ts +12 -0
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +102 -97
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +58 -58
- package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +33 -35
- package/dist/components/BbIcon/iconCache.d.ts +30 -0
- package/dist/components/BbIcon/iconCache.js +21 -3
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbNumberInput/types.d.ts +12 -0
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +57 -56
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +138 -138
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/BbSelect/types.d.ts +12 -0
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +43 -43
- package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbSpinner/types.d.ts +1 -1
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/BbTable/BbTableDataRow.js +2 -2
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbTag/types.d.ts +12 -0
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbTextInput/types.d.ts +12 -0
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbTextarea/types.d.ts +12 -0
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/BbTimePickerInput/types.d.ts +12 -0
- package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +62 -62
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +81 -78
- package/dist/components/BbTooltip/types.d.ts +8 -1
- package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue.d.ts +1 -0
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/CommonInputWrapper/types.d.ts +10 -0
- package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/composables/useConfirm.d.ts +22 -0
- package/dist/composables/useConfirm.js +43 -40
- package/dist/composables/useSafeAreaInternal.js +1 -1
- package/dist/composables/useToast.d.ts +16 -0
- package/dist/composables/useToast.js +20 -16
- package/dist/composables/useViewportWidth.d.ts +20 -6
- package/dist/composables/useViewportWidth.js +8 -7
- package/dist/icon-scan.d.ts +276 -0
- package/dist/icon-scan.js +485 -0
- package/dist/icons-whitelist.d.ts +5 -4
- package/dist/index.d.ts +2 -0
- package/dist/input-variants.d.ts +18 -0
- package/dist/llms-full.txt +2173 -1537
- package/dist/llms-medium.txt +504 -82
- package/dist/llms.txt +1 -1
- package/dist/nuxt-module.d.ts +1 -0
- package/dist/nuxt.js +10 -7
- package/dist/plugin.js +1 -0
- package/dist/runtime/nuxt-plugin.js +2 -1
- package/dist/styles.css +1 -1
- package/dist/types/Config.d.ts +18 -0
- package/dist/types/InputVariant.d.ts +22 -0
- package/dist/utils/cssLayers.d.ts +91 -0
- package/dist/utils/cssLayers.js +43 -0
- package/dist/utils/injectLibraryStyles.d.ts +3 -1
- package/dist/utils/injectLibraryStyles.js +24 -23
- package/dist/validated/BbColorInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbNumberInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbTag.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbTextInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbTextarea.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/index.d.ts +1 -0
- package/dist/vite-plugin.d.ts +89 -12
- package/dist/vite.js +331 -281
- package/llms.txt +1 -1
- package/package.json +7 -5
- package/scripts/lib/ensure-manifest.mjs +28 -5
- package/scripts/lib/eslint-plugin.d.ts +35 -0
- package/scripts/lib/eslint-plugin.mjs +299 -3
- package/scripts/lib/hand-roll-hints.mjs +50 -6
- package/scripts/lib/html-attributes.mjs +42 -0
- package/scripts/lib/mcp-config.mjs +38 -34
- package/scripts/lib/public-type-exports.mjs +246 -0
- package/scripts/lib/validate-bb-markup.mjs +205 -12
package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -8,26 +8,26 @@ import { extractDomContainer as o } from "../../utilities/functions/extractDomCo
|
|
|
8
8
|
import { waitFor as s } from "../../utilities/functions/waitFor.js";
|
|
9
9
|
import { transitions as ee } from "../../utilities/misc/transitions.js";
|
|
10
10
|
import te from "../CommonPopover/CommonPopover.vue.js";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { useClosingInert as ce } from "../../composables/useClosingInert.js";
|
|
11
|
+
import { isTopEscapeEntry as ne, pushEscapeEntry as re, removeEscapeEntry as ie } from "../../utils/overlayEscapeStack.js";
|
|
12
|
+
import { useMobile as ae } from "../../composables/useMobile.js";
|
|
13
|
+
import { provideSheetSurface as oe } from "../../composables/useSheetSurface.js";
|
|
14
|
+
import { useClosingInert as se } from "../../composables/useClosingInert.js";
|
|
16
15
|
import { wait as c } from "../../utilities/functions/wait.js";
|
|
17
|
-
import { get as
|
|
18
|
-
import { useLocale as
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import { isNil as
|
|
22
|
-
import { matchAnyKey as
|
|
23
|
-
import
|
|
24
|
-
import { useImeDismissBlur as
|
|
25
|
-
import
|
|
26
|
-
import
|
|
27
|
-
import { hash as
|
|
28
|
-
import { useArray as
|
|
29
|
-
import { useItemsGetter as
|
|
30
|
-
import { useHashedWatcher as
|
|
16
|
+
import { get as ce } from "../../utilities/functions/get.js";
|
|
17
|
+
import { useLocale as le } from "../../composables/useLocale.js";
|
|
18
|
+
import ue from "../BbIcon/BbIcon.vue.js";
|
|
19
|
+
import de from "../BbBadge/BbBadge.vue.js";
|
|
20
|
+
import { isNil as fe } from "../../utilities/functions/isNil.js";
|
|
21
|
+
import { matchAnyKey as pe } from "../../utilities/functions/matchAnyKey.js";
|
|
22
|
+
import me from "../../assets/svgs/search.svg_raw.js";
|
|
23
|
+
import { useImeDismissBlur as he } from "../../composables/useImeDismissBlur.js";
|
|
24
|
+
import ge from "../BbOffCanvas/BbOffCanvas.vue.js";
|
|
25
|
+
import _e from "../BbSmoothHeight/BbSmoothHeight.vue.js";
|
|
26
|
+
import { hash as ve } from "../../utilities/functions/hash.js";
|
|
27
|
+
import { useArray as ye } from "../../composables/useArray.js";
|
|
28
|
+
import { useItemsGetter as be } from "../../composables/useItemsGetter.js";
|
|
29
|
+
import { useHashedWatcher as xe } from "../../composables/useHashedWatcher.js";
|
|
30
|
+
import { parseWidthString as Se } from "../../utilities/functions/parseWidthString.js";
|
|
31
31
|
import Ce from "../ClearableButton/ClearableButton.vue.js";
|
|
32
32
|
import { useIndexById as we } from "../../composables/useIndexById.js";
|
|
33
33
|
import { useBaseOptions as Te } from "../../composables/useBaseOptions.js";
|
|
@@ -162,7 +162,7 @@ var qe = {
|
|
|
162
162
|
S(() => E.activator, (e) => {
|
|
163
163
|
e && ct(e);
|
|
164
164
|
}, { immediate: !0 });
|
|
165
|
-
let { isMobile: P } =
|
|
165
|
+
let { isMobile: P } = ae(), F = l(() => E.disableWriting === "mobile" ? !P.value : E.disableWriting === "desktop" ? P.value : !E.disableWriting), lt = l(() => E.disableWriting === "mobile" && P.value || E.disableWriting === "desktop" && !P.value ? "none" : void 0), { t: ut } = le(), dt = l(() => E.searchInputAriaLabel ?? ut("select.searchLabel").value), ft = l(() => !!E.clearable && (H.value.length > 0 || (E.multiple ? Array.isArray(E.modelValue) && E.modelValue.length > 0 : !fe(E.modelValue)))), I = E.id || t().id.value, pt = l(() => E.ariaInvalid ?? !!E.hasErrors ? "true" : void 0), mt = l(() => {
|
|
166
166
|
let e = E.ariaDescribedby;
|
|
167
167
|
if (Array.isArray(e)) return e.map((e) => e.trim()).filter(Boolean).join(" ") || void 0;
|
|
168
168
|
if (typeof e == "string") return e.trim() || void 0;
|
|
@@ -179,7 +179,7 @@ var qe = {
|
|
|
179
179
|
if (E.width === "auto") return "auto";
|
|
180
180
|
if (E.width == null || E.width === "") return N.value ? `${N.value}px` : "320px";
|
|
181
181
|
try {
|
|
182
|
-
let { value: e, unit: t } =
|
|
182
|
+
let { value: e, unit: t } = Se(E.width);
|
|
183
183
|
return t === "%" ? N.value ? `${N.value * (e / 100)}px` : "320px" : `${e}${t}`;
|
|
184
184
|
} catch {
|
|
185
185
|
return typeof E.width == "string" ? E.width.trim() : N.value ? `${N.value}px` : "320px";
|
|
@@ -215,7 +215,7 @@ var qe = {
|
|
|
215
215
|
let t = e.target instanceof Element ? e.target : e.target instanceof Text ? e.target.parentElement : null;
|
|
216
216
|
if (!t) return;
|
|
217
217
|
let n = M.value?.contains(t), r = !!t.closest(".bb-common-popover");
|
|
218
|
-
if (n || r) return;
|
|
218
|
+
if (n || r || e.type === "focusin" && M.value && t.contains(M.value)) return;
|
|
219
219
|
let i = t instanceof HTMLLabelElement ? t : t.closest("label");
|
|
220
220
|
i?.control && M.value?.contains(i.control) || (await Y(), On());
|
|
221
221
|
}, kt = l(() => !(E.readonly || E.disabled || G.value && !Ut.value.length)), At = new AbortController(), jt = async () => s(() => !!k.value, {
|
|
@@ -254,11 +254,11 @@ var qe = {
|
|
|
254
254
|
}, B = async () => {
|
|
255
255
|
K.value && (await Y(), L());
|
|
256
256
|
}, V = Symbol("bb-select-popover-escape"), Lt = (e) => {
|
|
257
|
-
!K.value || e.key !== "Escape" ||
|
|
258
|
-
}, H = v(""), Rt = v(!1), { getter: zt, debouncedGetter: Bt, clientReproducible: Vt, hydratedFromSsr: Ht, items: Ut, loading: Wt } =
|
|
257
|
+
!K.value || e.key !== "Escape" || ne(V) && (e.stopImmediatePropagation(), e.preventDefault(), B());
|
|
258
|
+
}, H = v(""), Rt = v(!1), { getter: zt, debouncedGetter: Bt, clientReproducible: Vt, hydratedFromSsr: Ht, items: Ut, loading: Wt } = be({
|
|
259
259
|
items: b(E, "items"),
|
|
260
260
|
debounce: E.queryDebounceTime
|
|
261
|
-
}), { array: Gt, add: Kt, remove: qt, set: Jt } =
|
|
261
|
+
}), { array: Gt, add: Kt, remove: qt, set: Jt } = ye(), Yt = l(() => E.multiple ? !!E.modelValue?.length : !fe(E.modelValue)), Xt = l(() => E.prefill === !1 && !Array.isArray(E.items) && F.value && !Yt.value), Zt = l(() => Xt.value && !H.value ? ut("select.searchToStart").value : E.noDataText), { hasPrefilled: Qt, isPrefilling: $t, canLoad: en, prefill: tn, markPrefilled: nn } = De({
|
|
262
262
|
alreadyLoaded: Ht,
|
|
263
263
|
clientReproducible: Vt,
|
|
264
264
|
trigger: l(() => Array.isArray(E.items) || E.prefill === !0 || E.enforceCoherence && Yt.value || E.prefill === "interaction" && Rt.value),
|
|
@@ -281,17 +281,17 @@ var qe = {
|
|
|
281
281
|
}), { coherent: sn, coherentValue: cn } = Ee({
|
|
282
282
|
modelValue: b(E, "modelValue"),
|
|
283
283
|
multiple: E.multiple,
|
|
284
|
-
iteratee: (e) => !!on.value[
|
|
285
|
-
}), W = l(() => [].concat(E.modelValue).map((e) => on.value[
|
|
284
|
+
iteratee: (e) => !!on.value[ve(e)]
|
|
285
|
+
}), W = l(() => [].concat(E.modelValue).map((e) => on.value[ve(e)]).filter(Boolean)), ln = (e) => ({
|
|
286
286
|
item: e.item,
|
|
287
287
|
text: e.text,
|
|
288
288
|
value: e.value,
|
|
289
289
|
selected: e.selected ?? !0,
|
|
290
290
|
disabled: e.disabled ?? !1
|
|
291
291
|
}), un = l(() => W.value.map(ln)), G = l(() => !!(Wt.value || E.loading)), dn = l(() => G.value && U.value.length > 0), fn = l(() => !!E.hasErrors), pn = l(() => !!E.hasWarning && !fn.value), mn = l(() => W.value.map((e) => e.text).filter(Boolean).join(", ") || "");
|
|
292
|
-
|
|
292
|
+
xe(() => E.modelValue, async () => {
|
|
293
293
|
en.value && (sn.value || (await zt(H.value, !0, E.modelValue), E.enforceCoherence && (D("update:modelValue", cn.value), k.value?.blur())));
|
|
294
|
-
}, { debounce: E.modelValueDebounceTime }),
|
|
294
|
+
}, { debounce: E.modelValueDebounceTime }), xe(() => [E.dependencies, E.items], async () => {
|
|
295
295
|
en.value && (await zt(H.value, !0, E.modelValue), E.enforceCoherence && !sn.value && (D("update:modelValue", cn.value), k.value?.blur()));
|
|
296
296
|
}, { debounce: E.depsDebounceTime });
|
|
297
297
|
let hn = async (e) => {
|
|
@@ -309,11 +309,11 @@ var qe = {
|
|
|
309
309
|
}, _n = l(() => {
|
|
310
310
|
if (!H.value || !E.multiple && W.value.some((e) => e.text === H.value)) return U.value;
|
|
311
311
|
let e = H.value.trim();
|
|
312
|
-
return E.filterBy.length ? U.value.filter((t) =>
|
|
313
|
-
}), vn = Symbol("default"), yn = (e) =>
|
|
312
|
+
return E.filterBy.length ? U.value.filter((t) => pe(t.item, E.filterBy, e)) : U.value.filter((t) => pe(t, ["text"], e));
|
|
313
|
+
}), vn = Symbol("default"), yn = (e) => fe(E.groupBy) ? vn : typeof E.groupBy == "function" ? E.groupBy(e.item) : ce(e.item, E.groupBy), bn = l(() => {
|
|
314
314
|
let e = {};
|
|
315
315
|
for (let t of _n.value) {
|
|
316
|
-
let n = yn(t), r =
|
|
316
|
+
let n = yn(t), r = ve(n);
|
|
317
317
|
e[r] || (e[r] = {
|
|
318
318
|
id: r,
|
|
319
319
|
data: n ?? null,
|
|
@@ -321,14 +321,14 @@ var qe = {
|
|
|
321
321
|
}), e[r].options.push(t);
|
|
322
322
|
}
|
|
323
323
|
return Object.values(e).filter((e) => e.options.length);
|
|
324
|
-
}), K = v(!1), xn = n(K), Sn =
|
|
324
|
+
}), K = v(!1), xn = n(K), Sn = se(K, () => E.transitionDuration), Cn = () => (E.adaptive ?? tt.adaptive) && P.value ? "canvas" : "popover", wn = v(Cn()), q = l(() => wn.value === "canvas");
|
|
325
325
|
S([
|
|
326
326
|
() => E.adaptive,
|
|
327
327
|
P,
|
|
328
328
|
K
|
|
329
329
|
], () => {
|
|
330
330
|
K.value || (wn.value = Cn());
|
|
331
|
-
}),
|
|
331
|
+
}), oe(q), he({
|
|
332
332
|
active: () => K.value && q.value,
|
|
333
333
|
input: () => A.value
|
|
334
334
|
});
|
|
@@ -343,9 +343,9 @@ var qe = {
|
|
|
343
343
|
...E.offCanvasProps?.title ? {} : { "aria-labelledby": Pn.value },
|
|
344
344
|
...E.offCanvasProps
|
|
345
345
|
})), J = async ({ focusPopoverContent: e = !0 } = {}) => {
|
|
346
|
-
E.disabled || E.readonly || K.value || (wn.value = Cn(), Rt.value = !0, K.value = !0, !(!Qt.value && !$t.value && !Xt.value && (await tn(), !K.value)) && (await Ie(), K.value && (q.value || (ht = !0, gt(),
|
|
346
|
+
E.disabled || E.readonly || K.value || (wn.value = Cn(), Rt.value = !0, K.value = !0, !(!Qt.value && !$t.value && !Xt.value && (await tn(), !K.value)) && (await Ie(), K.value && (q.value || (ht = !0, gt(), re(V), document.addEventListener("click", z, { capture: !0 }), document.addEventListener("focusin", z, { capture: !0 }), document.addEventListener("keydown", Lt, { capture: !0 }), e && (await c(0), K.value && (F.value ? R() : bt()))))));
|
|
347
347
|
}, Y = async () => {
|
|
348
|
-
K.value && (K.value = !1, k.value?.blur(), j.value = void 0, H.value = "", !q.value && (_t(),
|
|
348
|
+
K.value && (K.value = !1, k.value?.blur(), j.value = void 0, H.value = "", !q.value && (_t(), ie(V), document.removeEventListener("click", z, { capture: !0 }), document.removeEventListener("focusin", z, { capture: !0 }), document.removeEventListener("keydown", Lt, { capture: !0 })));
|
|
349
349
|
}, En = () => {
|
|
350
350
|
k.value?.blur(), j.value = void 0, H.value = "", On(), L();
|
|
351
351
|
}, Dn = () => K.value ? Y() : J(), X = v(!1), Z = () => {
|
|
@@ -436,7 +436,7 @@ var qe = {
|
|
|
436
436
|
], ([e, t, n, r, i, a, o, s]) => {
|
|
437
437
|
e && (e.setAttribute("aria-expanded", String(t)), o || e.setAttribute("aria-label", s), r == null ? e.removeAttribute("aria-invalid") : e.setAttribute("aria-invalid", r), n ? e.setAttribute("aria-controls", `${I}_listbox`) : e.removeAttribute("aria-controls"), i == null ? e.removeAttribute("aria-describedby") : e.setAttribute("aria-describedby", i), t && a ? e.setAttribute("aria-activedescendant", a) : e.removeAttribute("aria-activedescendant"));
|
|
438
438
|
}, { immediate: !0 }), ze(() => {
|
|
439
|
-
clearTimeout(An), $?.(), At.abort(),
|
|
439
|
+
clearTimeout(An), $?.(), At.abort(), ie(V), document.removeEventListener("click", z, { capture: !0 }), document.removeEventListener("focusin", z, { capture: !0 }), document.removeEventListener("keydown", Lt, { capture: !0 });
|
|
440
440
|
}), (e, t) => (_(), f(je, null, [
|
|
441
441
|
st.value ? d("", !0) : y(e.$slots, "activator", g(h({ key: 0 }, {
|
|
442
442
|
props: { ref: ct },
|
|
@@ -493,11 +493,11 @@ var qe = {
|
|
|
493
493
|
class: "bb-select-popover__search-warning-icon",
|
|
494
494
|
focusable: "false"
|
|
495
495
|
}),
|
|
496
|
-
p(
|
|
496
|
+
p(ue, {
|
|
497
497
|
"aria-hidden": "true",
|
|
498
498
|
class: "bb-select-popover__search-icon",
|
|
499
499
|
focusable: "false",
|
|
500
|
-
icon: x(
|
|
500
|
+
icon: x(me)
|
|
501
501
|
}, null, 8, ["icon"]),
|
|
502
502
|
e.clearable ? (_(), u(Ce, {
|
|
503
503
|
key: 0,
|
|
@@ -517,7 +517,7 @@ var qe = {
|
|
|
517
517
|
"aria-expanded": "true",
|
|
518
518
|
"aria-invalid": pt.value,
|
|
519
519
|
"aria-label": dt.value,
|
|
520
|
-
class: "bb-select-popover__focus-proxy sr-only",
|
|
520
|
+
class: "bb-select-popover__focus-proxy bb-sr-only",
|
|
521
521
|
role: "combobox",
|
|
522
522
|
tabindex: "-1",
|
|
523
523
|
type: "button",
|
|
@@ -573,7 +573,7 @@ var qe = {
|
|
|
573
573
|
])]),
|
|
574
574
|
_: 3
|
|
575
575
|
}),
|
|
576
|
-
q.value ? (_(), u(
|
|
576
|
+
q.value ? (_(), u(ge, h({
|
|
577
577
|
key: 1,
|
|
578
578
|
modelValue: K.value,
|
|
579
579
|
"onUpdate:modelValue": t[3] ||= (e) => K.value = e,
|
|
@@ -592,7 +592,7 @@ var qe = {
|
|
|
592
592
|
}]),
|
|
593
593
|
tabindex: "-1"
|
|
594
594
|
}, [
|
|
595
|
-
e.multiple && W.value.length ? (_(), f("div", Ze, [Me("div", Qe, [(_(!0), f(je, null, Be(W.value, (n) => (_(), u(
|
|
595
|
+
e.multiple && W.value.length ? (_(), f("div", Ze, [Me("div", Qe, [(_(!0), f(je, null, Be(W.value, (n) => (_(), u(de, {
|
|
596
596
|
key: n.valueHash,
|
|
597
597
|
class: "bb-select-popover__sheet-chip",
|
|
598
598
|
clearable: !e.disabled && !e.readonly,
|
|
@@ -605,7 +605,7 @@ var qe = {
|
|
|
605
605
|
_: 2
|
|
606
606
|
}, 1032, ["clearable", "onClick:clear"]))), 128))])])) : d("", !0),
|
|
607
607
|
p(x(rt)),
|
|
608
|
-
p(
|
|
608
|
+
p(_e, null, {
|
|
609
609
|
default: C(() => [p(x(at))]),
|
|
610
610
|
_: 1
|
|
611
611
|
})
|
|
@@ -7,7 +7,7 @@ import { createBlock as i, createElementBlock as a, createElementVNode as o, cre
|
|
|
7
7
|
var f = {
|
|
8
8
|
key: 0,
|
|
9
9
|
role: "status"
|
|
10
|
-
}, p = { class: "sr-only" }, m = /*@__PURE__*/ c({
|
|
10
|
+
}, p = { class: "bb-sr-only" }, m = /*@__PURE__*/ c({
|
|
11
11
|
__name: "BbSpinner",
|
|
12
12
|
props: {
|
|
13
13
|
size: { default: "md" },
|
|
@@ -7,7 +7,7 @@ export type Size = IconSize;
|
|
|
7
7
|
export type BbSpinnerProps = Pick<BbIconProps, 'size'> & {
|
|
8
8
|
/**
|
|
9
9
|
* Accessible loading announcement. When set, the spinner is wrapped in a
|
|
10
|
-
* `role="status"` element containing this text rendered `sr-only`, so
|
|
10
|
+
* `role="status"` element containing this text rendered `bb-sr-only`, so
|
|
11
11
|
* screen readers announce the loading state. When omitted the markup is
|
|
12
12
|
* unchanged and the spinner is purely decorative.
|
|
13
13
|
*/
|
|
@@ -27,18 +27,18 @@ import { defaultRangeExtractor as Ve, elementScroll as He, observeElementOffset
|
|
|
27
27
|
//#region src/components/BbTable/BbTable.vue?vue&type=script&setup=true&lang.ts
|
|
28
28
|
var Ye = {
|
|
29
29
|
key: 0,
|
|
30
|
-
class: "sr-only"
|
|
30
|
+
class: "bb-sr-only"
|
|
31
31
|
}, Xe = ["id"], Ze = ["id"], Qe = {
|
|
32
32
|
"aria-live": "polite",
|
|
33
|
-
class: "bb-table-loading__text sr-only",
|
|
33
|
+
class: "bb-table-loading__text bb-sr-only",
|
|
34
34
|
role: "status"
|
|
35
35
|
}, $e = {
|
|
36
36
|
"aria-live": "polite",
|
|
37
|
-
class: "bb-table__reorder-status sr-only",
|
|
37
|
+
class: "bb-table__reorder-status bb-sr-only",
|
|
38
38
|
role: "status"
|
|
39
|
-
}, et = ["aria-labelledby", "aria-rowcount"], tt = ["inert"], nt = ["aria-rowindex"], rt = { class: "bb-table-header__content" }, it = { class: "bb-table-check__label-text sr-only" }, at = {
|
|
39
|
+
}, et = ["aria-labelledby", "aria-rowcount"], tt = ["inert"], nt = ["aria-rowindex"], rt = { class: "bb-table-header__content" }, it = { class: "bb-table-check__label-text bb-sr-only" }, at = {
|
|
40
40
|
key: 1,
|
|
41
|
-
class: "bb-table-radio__label-text sr-only"
|
|
41
|
+
class: "bb-table-radio__label-text bb-sr-only"
|
|
42
42
|
}, ot = [
|
|
43
43
|
"aria-describedby",
|
|
44
44
|
"aria-sort",
|
|
@@ -50,7 +50,7 @@ var Ye = {
|
|
|
50
50
|
], st = { class: "bb-table-header__content" }, ct = {
|
|
51
51
|
key: 1,
|
|
52
52
|
class: "bb-table-header__content"
|
|
53
|
-
}, lt = ["onDblclick", "onPointerdown"], ut = { class: "bb-table-header__content sr-only" }, dt = ["aria-rowindex"], ft = {
|
|
53
|
+
}, lt = ["onDblclick", "onPointerdown"], ut = { class: "bb-table-header__content bb-sr-only" }, dt = ["aria-rowindex"], ft = {
|
|
54
54
|
key: 0,
|
|
55
55
|
class: "bb-table-skeleton__cell bb-table-skeleton__cell--select",
|
|
56
56
|
role: "cell"
|
|
@@ -1478,12 +1478,12 @@ var Ye = {
|
|
|
1478
1478
|
e.caption ? (S(), _("div", {
|
|
1479
1479
|
key: 1,
|
|
1480
1480
|
id: nn.value,
|
|
1481
|
-
class: b(["bb-table-caption", { "sr-only": !e.displayCaption }])
|
|
1481
|
+
class: b(["bb-table-caption", { "bb-sr-only": !e.displayCaption }])
|
|
1482
1482
|
}, T(e.caption), 11, Xe)) : g("", !0),
|
|
1483
1483
|
e.reorderable || e.resizable ? (S(), _("div", {
|
|
1484
1484
|
key: 2,
|
|
1485
1485
|
id: rn.value,
|
|
1486
|
-
class: "sr-only"
|
|
1486
|
+
class: "bb-sr-only"
|
|
1487
1487
|
}, [e.reorderable ? (S(), _(m, { key: 0 }, [Ce(T(E(L)("table.reorderInstructions").value), 1)], 64)) : g("", !0), e.resizable && !J.value ? (S(), _(m, { key: 1 }, [Ce(T(E(L)("table.resizeInstructions").value), 1)], 64)) : g("", !0)], 8, Ze)) : g("", !0),
|
|
1488
1488
|
v("span", Qe, T(Di.value ? e.loadingText || E(L)("common.loadingText").value : ""), 1),
|
|
1489
1489
|
e.reorderable ? (S(), _(m, { key: 3 }, [v("span", $e, T(fn.value), 1), v("div", {
|
|
@@ -54,7 +54,7 @@ var s = r({
|
|
|
54
54
|
disabled: o.disabled,
|
|
55
55
|
readonly: n.readonly,
|
|
56
56
|
onChange: l
|
|
57
|
-
}), i("span", { class: "bb-table-check__label-text sr-only" }, o.accessibleLabel)]) : i("label", { class: ["bb-table-radio__label", { "bb-table-radio__label--disabled": o.disabled }] }, [i(t, {
|
|
57
|
+
}), i("span", { class: "bb-table-check__label-text bb-sr-only" }, o.accessibleLabel)]) : i("label", { class: ["bb-table-radio__label", { "bb-table-radio__label--disabled": o.disabled }] }, [i(t, {
|
|
58
58
|
checked: o.selected,
|
|
59
59
|
class: "bb-table-radio",
|
|
60
60
|
disabled: o.disabled,
|
|
@@ -62,7 +62,7 @@ var s = r({
|
|
|
62
62
|
readonly: n.readonly,
|
|
63
63
|
value: o.value,
|
|
64
64
|
onChange: l
|
|
65
|
-
}), i("span", { class: "bb-table-radio__label-text sr-only" }, o.accessibleLabel)])]));
|
|
65
|
+
}), i("span", { class: "bb-table-radio__label-text bb-sr-only" }, o.accessibleLabel)])]));
|
|
66
66
|
}, d = () => {
|
|
67
67
|
let { context: e, item: t } = r, s = t.cols.length - 1;
|
|
68
68
|
return t.cols.map((c, l) => i("div", {
|
|
@@ -15,6 +15,7 @@ var g = /*@__PURE__*/ c({
|
|
|
15
15
|
comma: { type: Boolean },
|
|
16
16
|
clearable: { type: Boolean },
|
|
17
17
|
compact: { type: Boolean },
|
|
18
|
+
variant: {},
|
|
18
19
|
description: {},
|
|
19
20
|
direction: {},
|
|
20
21
|
disabled: { type: Boolean },
|
|
@@ -130,7 +131,8 @@ var g = /*@__PURE__*/ c({
|
|
|
130
131
|
placeholder: e.placeholder,
|
|
131
132
|
"prepend:icon": _["prepend:icon"],
|
|
132
133
|
readonly: e.readonly,
|
|
133
|
-
required: e.required
|
|
134
|
+
required: e.required,
|
|
135
|
+
variant: e.variant
|
|
134
136
|
}, w), {
|
|
135
137
|
"prepend-outer": h((t) => [m(e.$slots, "prepend-outer", d(l(t)))]),
|
|
136
138
|
prepend: h((t) => [m(e.$slots, "prepend", d(l(t)))]),
|
|
@@ -160,7 +162,8 @@ var g = /*@__PURE__*/ c({
|
|
|
160
162
|
"placeholder",
|
|
161
163
|
"prepend:icon",
|
|
162
164
|
"readonly",
|
|
163
|
-
"required"
|
|
165
|
+
"required",
|
|
166
|
+
"variant"
|
|
164
167
|
])]),
|
|
165
168
|
_: 3
|
|
166
169
|
}, 8, [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputVariantType } from '../../types/InputVariant';
|
|
1
2
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
2
3
|
import { InputDirection } from '../../types/InputDirection';
|
|
3
4
|
import { IconType } from '../../types/Icon';
|
|
@@ -38,6 +39,17 @@ export type BbTagProps = {
|
|
|
38
39
|
* Sets the component in a compact mode.
|
|
39
40
|
*/
|
|
40
41
|
compact?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Visual variant of the field box — the same names and tokens as the
|
|
44
|
+
* `BbButton` variants. Colours only: height, padding and border width are
|
|
45
|
+
* identical across variants, so a form never reflows when one changes.
|
|
46
|
+
* `'ghost'` has no border in any state (errors and warnings show through
|
|
47
|
+
* the icon and the messages); every variant keeps the focus ring.
|
|
48
|
+
* Register extra names with the plugin's `inputVariants` option.
|
|
49
|
+
*
|
|
50
|
+
* @defaultValue `'outline'`
|
|
51
|
+
*/
|
|
52
|
+
variant?: InputVariantType;
|
|
41
53
|
/**
|
|
42
54
|
* Descriptive text displayed below the label and above the input. Unlike the hint it is always
|
|
43
55
|
* visible, and it is linked to the input via `aria-describedby` (after any
|
|
@@ -13,6 +13,7 @@ var v = /*@__PURE__*/ l({
|
|
|
13
13
|
autofocus: {},
|
|
14
14
|
clearable: { type: Boolean },
|
|
15
15
|
compact: { type: Boolean },
|
|
16
|
+
variant: {},
|
|
16
17
|
description: {},
|
|
17
18
|
direction: {},
|
|
18
19
|
disabled: { type: Boolean },
|
|
@@ -124,7 +125,8 @@ var v = /*@__PURE__*/ l({
|
|
|
124
125
|
"prepend:icon": y["prepend:icon"],
|
|
125
126
|
readonly: e.readonly,
|
|
126
127
|
required: e.required,
|
|
127
|
-
type: e.type
|
|
128
|
+
type: e.type,
|
|
129
|
+
variant: e.variant
|
|
128
130
|
}, O), s({
|
|
129
131
|
"append-outer": _(() => [h(e.$slots, "append-outer")]),
|
|
130
132
|
append: _(() => [h(e.$slots, "append")]),
|
|
@@ -161,7 +163,8 @@ var v = /*@__PURE__*/ l({
|
|
|
161
163
|
"prepend:icon",
|
|
162
164
|
"readonly",
|
|
163
165
|
"required",
|
|
164
|
-
"type"
|
|
166
|
+
"type",
|
|
167
|
+
"variant"
|
|
165
168
|
])]),
|
|
166
169
|
_: 3
|
|
167
170
|
}, 8, [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputVariantType } from '../../types/InputVariant';
|
|
1
2
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
2
3
|
import { InputDirection } from '../../types/InputDirection';
|
|
3
4
|
import { MaskInputOptions } from 'maska';
|
|
@@ -24,6 +25,17 @@ export type BbTextInputProps = {
|
|
|
24
25
|
* Displays the component in a compact version.
|
|
25
26
|
*/
|
|
26
27
|
compact?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Visual variant of the field box — the same names and tokens as the
|
|
30
|
+
* `BbButton` variants. Colours only: height, padding and border width are
|
|
31
|
+
* identical across variants, so a form never reflows when one changes.
|
|
32
|
+
* `'ghost'` has no border in any state (errors and warnings show through
|
|
33
|
+
* the icon and the messages); every variant keeps the focus ring.
|
|
34
|
+
* Register extra names with the plugin's `inputVariants` option.
|
|
35
|
+
*
|
|
36
|
+
* @defaultValue `'outline'`
|
|
37
|
+
*/
|
|
38
|
+
variant?: InputVariantType;
|
|
27
39
|
/**
|
|
28
40
|
* Descriptive text displayed below the label and above the input. Unlike the hint it is always
|
|
29
41
|
* visible, and it is linked to the input via `aria-describedby` (after any
|
|
@@ -13,6 +13,7 @@ var h = /*@__PURE__*/ s({
|
|
|
13
13
|
autoGrow: { type: Boolean },
|
|
14
14
|
clearable: { type: Boolean },
|
|
15
15
|
compact: { type: Boolean },
|
|
16
|
+
variant: {},
|
|
16
17
|
description: {},
|
|
17
18
|
direction: {},
|
|
18
19
|
disabled: { type: Boolean },
|
|
@@ -117,7 +118,8 @@ var h = /*@__PURE__*/ s({
|
|
|
117
118
|
"prepend:icon": g["prepend:icon"],
|
|
118
119
|
readonly: e.readonly,
|
|
119
120
|
required: e.required,
|
|
120
|
-
rows: e.rows
|
|
121
|
+
rows: e.rows,
|
|
122
|
+
variant: e.variant
|
|
121
123
|
}, w), {
|
|
122
124
|
"append-outer": m(() => [p(e.$slots, "append-outer")]),
|
|
123
125
|
append: m(() => [p(e.$slots, "append")]),
|
|
@@ -145,7 +147,8 @@ var h = /*@__PURE__*/ s({
|
|
|
145
147
|
"prepend:icon",
|
|
146
148
|
"readonly",
|
|
147
149
|
"required",
|
|
148
|
-
"rows"
|
|
150
|
+
"rows",
|
|
151
|
+
"variant"
|
|
149
152
|
])]),
|
|
150
153
|
_: 3
|
|
151
154
|
}, 8, [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputVariantType } from '../../types/InputVariant';
|
|
1
2
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
2
3
|
import { InputDirection } from '../../types/InputDirection';
|
|
3
4
|
import { IconType } from '../../types/Icon';
|
|
@@ -27,6 +28,17 @@ export type BbTextareaProps = {
|
|
|
27
28
|
* Sets the component in a compact state.
|
|
28
29
|
*/
|
|
29
30
|
compact?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Visual variant of the field box — the same names and tokens as the
|
|
33
|
+
* `BbButton` variants. Colours only: height, padding and border width are
|
|
34
|
+
* identical across variants, so a form never reflows when one changes.
|
|
35
|
+
* `'ghost'` has no border in any state (errors and warnings show through
|
|
36
|
+
* the icon and the messages); every variant keeps the focus ring.
|
|
37
|
+
* Register extra names with the plugin's `inputVariants` option.
|
|
38
|
+
*
|
|
39
|
+
* @defaultValue `'outline'`
|
|
40
|
+
*/
|
|
41
|
+
variant?: InputVariantType;
|
|
30
42
|
/**
|
|
31
43
|
* Descriptive text displayed below the label and above the input. Unlike the hint it is always
|
|
32
44
|
* visible, and it is linked to the input via `aria-describedby` (after any
|
package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -17,6 +17,7 @@ var _ = /*@__PURE__*/ s({
|
|
|
17
17
|
autofocus: {},
|
|
18
18
|
clearable: { type: Boolean },
|
|
19
19
|
compact: { type: Boolean },
|
|
20
|
+
variant: {},
|
|
20
21
|
description: {},
|
|
21
22
|
direction: {},
|
|
22
23
|
disabled: { type: Boolean },
|
|
@@ -120,7 +121,8 @@ var _ = /*@__PURE__*/ s({
|
|
|
120
121
|
required: e.required,
|
|
121
122
|
seconds: e.seconds,
|
|
122
123
|
step: e.step,
|
|
123
|
-
"transition-duration": e.transitionDuration
|
|
124
|
+
"transition-duration": e.transitionDuration,
|
|
125
|
+
variant: e.variant
|
|
124
126
|
}, E), {
|
|
125
127
|
"prepend-outer": g(() => [h(e.$slots, "prepend-outer")]),
|
|
126
128
|
prepend: g(() => [h(e.$slots, "prepend")]),
|
|
@@ -129,7 +131,7 @@ var _ = /*@__PURE__*/ s({
|
|
|
129
131
|
append: g(() => [h(e.$slots, "append")]),
|
|
130
132
|
"append-outer": g(() => [h(e.$slots, "append-outer")]),
|
|
131
133
|
_: 2
|
|
132
|
-
}, 1040, /* @__PURE__ */ "id.adaptive.ampm.append:icon.aria-describedby.autocomplete.autofocus.clearable.compact.disable-writing.disabled.has-errors.has-warning.loading.max.min.model-value.name.off-canvas-props.placeholder.prepend:icon.range.readonly.required.seconds.step.transition-duration".split("."))]),
|
|
134
|
+
}, 1040, /* @__PURE__ */ "id.adaptive.ampm.append:icon.aria-describedby.autocomplete.autofocus.clearable.compact.disable-writing.disabled.has-errors.has-warning.loading.max.min.model-value.name.off-canvas-props.placeholder.prepend:icon.range.readonly.required.seconds.step.transition-duration.variant".split("."))]),
|
|
133
135
|
_: 3
|
|
134
136
|
}, 8, [
|
|
135
137
|
"id",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputVariantType } from '../../types/InputVariant';
|
|
1
2
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
2
3
|
import { InputDirection } from '../../types/InputDirection';
|
|
3
4
|
import { IconType } from '../../types/Icon';
|
|
@@ -34,6 +35,17 @@ export type BbTimePickerInputProps = {
|
|
|
34
35
|
clearable?: boolean;
|
|
35
36
|
/** Sets the component in a compact state. */
|
|
36
37
|
compact?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Visual variant of the field box — the same names and tokens as the
|
|
40
|
+
* `BbButton` variants. Colours only: height, padding and border width are
|
|
41
|
+
* identical across variants, so a form never reflows when one changes.
|
|
42
|
+
* `'ghost'` has no border in any state (errors and warnings show through
|
|
43
|
+
* the icon and the messages); every variant keeps the focus ring.
|
|
44
|
+
* Register extra names with the plugin's `inputVariants` option.
|
|
45
|
+
*
|
|
46
|
+
* @defaultValue `'outline'`
|
|
47
|
+
*/
|
|
48
|
+
variant?: InputVariantType;
|
|
37
49
|
/**
|
|
38
50
|
* Descriptive text displayed below the label and above the input. Always
|
|
39
51
|
* visible and linked to the input via `aria-describedby` (after any
|