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
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
'common-input-wrapper--warnings': showWarning,
|
|
20
20
|
'common-input-wrapper--loading': loading,
|
|
21
21
|
'common-input-wrapper--readonly': readonly,
|
|
22
|
+
[`common-input-wrapper--${variant}`]: variant !== 'none',
|
|
22
23
|
}"
|
|
23
24
|
>
|
|
24
25
|
<slot name="prepend-outer" />
|
|
@@ -94,6 +95,7 @@ const props = withDefaults(defineProps<CommonInputWrapperProps>(), {
|
|
|
94
95
|
// catches null/undefined). default: undefined keeps it undefined when unset
|
|
95
96
|
// so consumers that don't forward it still get the intended "assume value".
|
|
96
97
|
hasValue: undefined,
|
|
98
|
+
variant: 'outline',
|
|
97
99
|
});
|
|
98
100
|
const emit = defineEmits<CommonInputWrapperEvents>();
|
|
99
101
|
|
|
@@ -177,6 +179,7 @@ const onClickClear = () => {
|
|
|
177
179
|
|
|
178
180
|
```ts
|
|
179
181
|
import type { IconType } from '@/types/Icon';
|
|
182
|
+
import type { InputVariantType } from '@/types/InputVariant';
|
|
180
183
|
|
|
181
184
|
export type CommonInputWrapperProps = {
|
|
182
185
|
/**
|
|
@@ -246,6 +249,16 @@ export type CommonInputWrapperProps = {
|
|
|
246
249
|
* Whether the input is readonly.
|
|
247
250
|
*/
|
|
248
251
|
readonly?: boolean;
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Visual variant of the field box. Controls colours only — background,
|
|
255
|
+
* border colour, focus border — while height, padding and border WIDTH
|
|
256
|
+
* stay identical across variants, so switching one never reflows a form.
|
|
257
|
+
* Mirrors the equally named `BbButton` variants.
|
|
258
|
+
*
|
|
259
|
+
* @defaultValue `'outline'`
|
|
260
|
+
*/
|
|
261
|
+
variant?: InputVariantType;
|
|
249
262
|
};
|
|
250
263
|
|
|
251
264
|
export type CommonInputWrapperEvents = {
|
|
@@ -295,7 +308,37 @@ export type CommonInputWrapperSlots = {
|
|
|
295
308
|
|
|
296
309
|
```css
|
|
297
310
|
/* @inherit --h — read off embedded .bb-button elements, which define it */
|
|
311
|
+
/*
|
|
312
|
+
* STRUCTURE vs LOOK. The inner box's geometry — height, padding, radius and
|
|
313
|
+
* border WIDTH — is declared once and never varies. Everything a variant may
|
|
314
|
+
* change is a colour, routed through the five look variables below, so
|
|
315
|
+
* `variant="ghost"` and `variant="outline"` measure the same to the pixel and
|
|
316
|
+
* switching one never reflows a form. `--<variant>` modifiers only assign
|
|
317
|
+
* those variables; a custom variant registered via `inputVariants` does the
|
|
318
|
+
* same from a project stylesheet.
|
|
319
|
+
*
|
|
320
|
+
* State (errors, warnings) contributes ONE input to the look: `--state-border`.
|
|
321
|
+
* A variant that shows a border reads it (`var(--state-border, <rest>)`); a
|
|
322
|
+
* variant with no border ignores it. That is how ghost stays borderless under
|
|
323
|
+
* errors without a `:not(--ghost)` on every state rule (owner ruling
|
|
324
|
+
* 2026-09-10: the icon and the messages carry the state). The ring colour is
|
|
325
|
+
* state-owned and applies to every variant.
|
|
326
|
+
*/
|
|
298
327
|
.common-input-wrapper {
|
|
328
|
+
/* Look variables — the `none` variant is exactly these fallbacks:
|
|
329
|
+
geometry intact, every colour transparent, and NO ring (`none` opts out
|
|
330
|
+
of variant styling, and a ring is styling — owner, 2026-09-10). The ring
|
|
331
|
+
COLOUR stays state-owned (`--ring-color`); whether a ring is drawn at all
|
|
332
|
+
is the variant's call, through `--ring-size`. */
|
|
333
|
+
--bg: transparent;
|
|
334
|
+
--bg-hover: var(--bg);
|
|
335
|
+
--bg-focus: var(--bg);
|
|
336
|
+
--bg-disabled: var(--bg);
|
|
337
|
+
--border-color: transparent;
|
|
338
|
+
--border-focus: var(--border-color);
|
|
339
|
+
--ring-size: 0px;
|
|
340
|
+
--ring-color: var(--bb-ring);
|
|
341
|
+
|
|
299
342
|
align-items: center;
|
|
300
343
|
display: inline-flex;
|
|
301
344
|
/* Grid/flex item: without this its automatic minimum is the trigger's
|
|
@@ -303,9 +346,50 @@ export type CommonInputWrapperSlots = {
|
|
|
303
346
|
See the note on `.bb-base-input-container`. */
|
|
304
347
|
min-width: 0;
|
|
305
348
|
|
|
349
|
+
/* ── Variants: the same names and tokens as BbButton ─────────────────── */
|
|
350
|
+
|
|
351
|
+
/* The default. A raised panel with the neutral border — inputs are
|
|
352
|
+
surfaces, so unlike the transparent button outline the box keeps
|
|
353
|
+
`--bb-panel`; the border, focus and ring match the button. */
|
|
354
|
+
&--outline {
|
|
355
|
+
--bg: var(--bb-panel);
|
|
356
|
+
--bg-disabled: var(--bb-muted);
|
|
357
|
+
--border-color: var(--state-border, var(--bb-outline-border));
|
|
358
|
+
--border-focus: var(--state-border, var(--bb-primary));
|
|
359
|
+
--ring-size: var(--bb-ring-size);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/* A soft tinted surface with a faint border, for fields on a panel that
|
|
363
|
+
should sit back from primary content. Focus keeps the hover wash, as the
|
|
364
|
+
secondary button does. */
|
|
365
|
+
&--secondary {
|
|
366
|
+
--bg: var(--bb-secondary);
|
|
367
|
+
--bg-hover: var(--bb-secondary-hover);
|
|
368
|
+
--bg-focus: var(--bb-secondary-hover);
|
|
369
|
+
--bg-disabled: var(--bb-muted);
|
|
370
|
+
--border-color: var(--state-border, var(--bb-secondary-border));
|
|
371
|
+
--border-focus: var(--state-border, var(--bb-primary));
|
|
372
|
+
--ring-size: var(--bb-ring-size);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/* Chrome-less until engaged: no border in ANY state (not even errors), a
|
|
376
|
+
hover wash as the affordance, and the SAME wash under the focus ring —
|
|
377
|
+
a ring around nothing reads as a glitch (owner, 2026-09-10; the ghost
|
|
378
|
+
button does the same). The inline-edit cell. */
|
|
379
|
+
&--ghost {
|
|
380
|
+
--bg: var(--bb-ghost);
|
|
381
|
+
--bg-hover: var(--bb-ghost-hover);
|
|
382
|
+
--bg-focus: var(--bb-ghost-hover);
|
|
383
|
+
--bg-disabled: transparent;
|
|
384
|
+
--border-color: var(--bb-ghost-border);
|
|
385
|
+
--border-focus: var(--bb-ghost-border);
|
|
386
|
+
--ring-size: var(--bb-ring-size);
|
|
387
|
+
}
|
|
388
|
+
|
|
306
389
|
&--active > .common-input-wrapper__inner {
|
|
307
|
-
|
|
308
|
-
|
|
390
|
+
background-color: var(--bg-focus);
|
|
391
|
+
border-color: var(--border-focus);
|
|
392
|
+
box-shadow: 0px 0px 0px var(--ring-size) var(--ring-color);
|
|
309
393
|
}
|
|
310
394
|
|
|
311
395
|
&--compact {
|
|
@@ -318,44 +402,24 @@ export type CommonInputWrapperSlots = {
|
|
|
318
402
|
}
|
|
319
403
|
}
|
|
320
404
|
|
|
321
|
-
&--
|
|
322
|
-
background-color: var(--bb-muted);
|
|
323
|
-
|
|
324
|
-
input,
|
|
325
|
-
textarea {
|
|
326
|
-
color: var(--bb-text-muted);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
&:focus-within {
|
|
330
|
-
border-color: var(--bb-border);
|
|
331
|
-
box-shadow: 0px 0px 0px 0px var(--bb-ring);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
&--errors .common-input-wrapper__inner {
|
|
405
|
+
&--errors {
|
|
336
406
|
--ring-color: var(--bb-ring-danger);
|
|
337
|
-
border
|
|
338
|
-
|
|
339
|
-
&:focus-within {
|
|
340
|
-
border-color: var(--bb-danger);
|
|
341
|
-
}
|
|
407
|
+
--state-border: var(--bb-danger);
|
|
342
408
|
}
|
|
343
409
|
|
|
344
|
-
&--warnings
|
|
410
|
+
&--warnings {
|
|
345
411
|
--ring-color: var(--bb-ring-warn);
|
|
346
|
-
border
|
|
347
|
-
|
|
348
|
-
&:focus-within {
|
|
349
|
-
border-color: var(--bb-warn);
|
|
350
|
-
}
|
|
412
|
+
--state-border: var(--bb-warn);
|
|
351
413
|
}
|
|
352
414
|
|
|
353
415
|
&__inner {
|
|
354
|
-
--ring-color: var(--bb-ring);
|
|
355
416
|
--inside-label-clearance: 0px;
|
|
356
417
|
align-items: center;
|
|
357
|
-
background-color: var(--
|
|
358
|
-
|
|
418
|
+
background-color: var(--bg);
|
|
419
|
+
/* The width is structure and is the same for every variant — a
|
|
420
|
+
transparent border keeps the box height where a removed one would
|
|
421
|
+
not. Variants set only the colour. */
|
|
422
|
+
border: var(--bb-border-w) solid var(--border-color);
|
|
359
423
|
border-radius: var(--bb-radius);
|
|
360
424
|
box-shadow: 0px 0px 0px 0px var(--bb-ring);
|
|
361
425
|
display: inline-flex;
|
|
@@ -379,9 +443,14 @@ export type CommonInputWrapperSlots = {
|
|
|
379
443
|
min-height var(--bb-transition-medium) var(--bb-ease),
|
|
380
444
|
padding-top var(--bb-transition-medium) var(--bb-ease);
|
|
381
445
|
|
|
446
|
+
&:hover {
|
|
447
|
+
background-color: var(--bg-hover);
|
|
448
|
+
}
|
|
449
|
+
|
|
382
450
|
&:focus-within {
|
|
383
|
-
|
|
384
|
-
|
|
451
|
+
background-color: var(--bg-focus);
|
|
452
|
+
border-color: var(--border-focus);
|
|
453
|
+
box-shadow: 0px 0px 0px var(--ring-size) var(--ring-color);
|
|
385
454
|
}
|
|
386
455
|
|
|
387
456
|
input,
|
|
@@ -471,6 +540,11 @@ export type CommonInputWrapperSlots = {
|
|
|
471
540
|
align-self: stretch;
|
|
472
541
|
color: var(--bb-text-muted);
|
|
473
542
|
display: inline-grid;
|
|
543
|
+
/* Never shrink. The input's flex basis claims the row, so as a default
|
|
544
|
+
flex item the affix shrank below its text and — being end-justified —
|
|
545
|
+
spilled it LEFT, where the box clips (`https://` rendered `ttps://`).
|
|
546
|
+
The input is the one that gives way; it keeps its 50px floor. */
|
|
547
|
+
flex: none;
|
|
474
548
|
font-size: var(--bb-input-fs);
|
|
475
549
|
height: calc(var(--bb-input-h) - var(--bb-border-w) * 2);
|
|
476
550
|
min-width: var(--bb-input-prefix-w);
|
|
@@ -495,6 +569,27 @@ export type CommonInputWrapperSlots = {
|
|
|
495
569
|
margin-right: calc(var(--bb-input-px) * -1);
|
|
496
570
|
}
|
|
497
571
|
|
|
572
|
+
/* Disabled — after the variants and the inner hover/focus rules so it wins
|
|
573
|
+
the cascade at equal specificity: no hover wash, no ring, rest border. */
|
|
574
|
+
&--disabled .common-input-wrapper__inner {
|
|
575
|
+
background-color: var(--bg-disabled);
|
|
576
|
+
|
|
577
|
+
input,
|
|
578
|
+
textarea {
|
|
579
|
+
color: var(--bb-text-muted);
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
&:hover {
|
|
583
|
+
background-color: var(--bg-disabled);
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
&:focus-within {
|
|
587
|
+
background-color: var(--bg-disabled);
|
|
588
|
+
border-color: var(--border-color);
|
|
589
|
+
box-shadow: 0px 0px 0px 0px var(--bb-ring);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
|
|
498
593
|
.bb-clearable-button {
|
|
499
594
|
color: var(--bb-text-muted);
|
|
500
595
|
}
|
|
@@ -250,6 +250,13 @@ watch(selectedExamplePath, (examplePath) => {
|
|
|
250
250
|
</script>
|
|
251
251
|
|
|
252
252
|
<style scoped lang="postcss">
|
|
253
|
+
/*
|
|
254
|
+
* Tailwind v4: an SFC \3c style> block is its own PostCSS pass, so `@apply`
|
|
255
|
+
* cannot see the theme or the class-based `dark` variant without this.
|
|
256
|
+
* Emits nothing itself — it only makes the utilities resolvable.
|
|
257
|
+
*/
|
|
258
|
+
@reference '../../assets/css/index.css';
|
|
259
|
+
|
|
253
260
|
.guides-component {
|
|
254
261
|
@apply overflow-hidden border text-[color:var(--bb-text)];
|
|
255
262
|
background: var(--bb-panel);
|
|
@@ -278,7 +285,7 @@ watch(selectedExamplePath, (examplePath) => {
|
|
|
278
285
|
}
|
|
279
286
|
|
|
280
287
|
.guides-component__code {
|
|
281
|
-
@apply rounded px-1 py-0.5 font-mono text-[13px];
|
|
288
|
+
@apply rounded-sm px-1 py-0.5 font-mono text-[13px];
|
|
282
289
|
background: var(--bb-muted);
|
|
283
290
|
color: var(--bb-text);
|
|
284
291
|
}
|
|
@@ -288,12 +295,12 @@ watch(selectedExamplePath, (examplePath) => {
|
|
|
288
295
|
}
|
|
289
296
|
|
|
290
297
|
.guides-component__select-label {
|
|
291
|
-
@apply text-[11px] font-semibold
|
|
298
|
+
@apply text-[11px] font-semibold tracking-[0.06em] uppercase;
|
|
292
299
|
color: var(--bb-text-muted);
|
|
293
300
|
}
|
|
294
301
|
|
|
295
302
|
.guides-component__select {
|
|
296
|
-
@apply w-full px-3 py-2 text-sm outline-
|
|
303
|
+
@apply w-full px-3 py-2 text-sm outline-hidden;
|
|
297
304
|
background: var(--bb-panel);
|
|
298
305
|
border: var(--bb-border-w) solid var(--bb-border);
|
|
299
306
|
border-radius: var(--bb-radius);
|
|
@@ -311,7 +318,7 @@ watch(selectedExamplePath, (examplePath) => {
|
|
|
311
318
|
}
|
|
312
319
|
|
|
313
320
|
.guides-component__tab {
|
|
314
|
-
@apply
|
|
321
|
+
@apply px-2.5 py-1.5 text-[13px] whitespace-nowrap transition-colors;
|
|
315
322
|
border-radius: var(--bb-radius);
|
|
316
323
|
color: var(--bb-text-muted);
|
|
317
324
|
}
|
|
@@ -343,7 +350,7 @@ watch(selectedExamplePath, (examplePath) => {
|
|
|
343
350
|
}
|
|
344
351
|
|
|
345
352
|
.guides-component__preview-card {
|
|
346
|
-
@apply border-b lg:border-
|
|
353
|
+
@apply border-b lg:border-r lg:border-b-0;
|
|
347
354
|
border-color: var(--bb-border);
|
|
348
355
|
}
|
|
349
356
|
|
|
@@ -352,7 +359,7 @@ watch(selectedExamplePath, (examplePath) => {
|
|
|
352
359
|
}
|
|
353
360
|
|
|
354
361
|
.guides-component__preview-title {
|
|
355
|
-
@apply text-[11px] font-semibold
|
|
362
|
+
@apply text-[11px] font-semibold tracking-[0.06em] uppercase;
|
|
356
363
|
color: var(--bb-text-muted);
|
|
357
364
|
}
|
|
358
365
|
|
|
@@ -369,7 +376,7 @@ watch(selectedExamplePath, (examplePath) => {
|
|
|
369
376
|
}
|
|
370
377
|
|
|
371
378
|
.guides-component__source {
|
|
372
|
-
@apply m-0 max-h-
|
|
379
|
+
@apply m-0 max-h-112 overflow-auto p-3 font-mono text-[13px] leading-relaxed;
|
|
373
380
|
background: color-mix(in oklab, var(--bb-text) 90%, transparent);
|
|
374
381
|
border-radius: var(--bb-radius);
|
|
375
382
|
color: color-mix(in oklab, var(--bb-panel) 90%, white);
|
|
@@ -4,7 +4,7 @@ import n from "../BbSpinner/BbSpinner.vue.js";
|
|
|
4
4
|
import { useBadgeHost as r } from "./badgeButtonContext.js";
|
|
5
5
|
import { Fragment as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, defineComponent as l, openBlock as u, renderSlot as d, unref as f } from "vue";
|
|
6
6
|
//#region src/components/BbBadge/BadgeBodyContent.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
-
var p = { class: "bb-badge__content sr-only" }, m = { class: "bb-badge__content" }, h = /*@__PURE__*/ l({
|
|
7
|
+
var p = { class: "bb-badge__content bb-sr-only" }, m = { class: "bb-badge__content" }, h = /*@__PURE__*/ l({
|
|
8
8
|
__name: "BadgeBodyContent",
|
|
9
9
|
setup(l) {
|
|
10
10
|
let h = r() ?? e().throw("[BbBadge] internal body renderer mounted outside a badge — this is a bug.");
|
package/dist/components/BbBaseColorInput/BbBaseColorInput.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -41,6 +41,7 @@ var S = [
|
|
|
41
41
|
autofocus: {},
|
|
42
42
|
clearable: { type: Boolean },
|
|
43
43
|
compact: { type: Boolean },
|
|
44
|
+
variant: {},
|
|
44
45
|
disabled: { type: Boolean },
|
|
45
46
|
hasErrors: { type: Boolean },
|
|
46
47
|
hasWarning: { type: Boolean },
|
|
@@ -108,6 +109,7 @@ var S = [
|
|
|
108
109
|
loading: E.loading,
|
|
109
110
|
"prepend:icon": E["prepend:icon"],
|
|
110
111
|
readonly: E.readonly,
|
|
112
|
+
variant: E.variant,
|
|
111
113
|
"onClick:clear": t[1] ||= (t) => e.$emit("update:modelValue", null)
|
|
112
114
|
}, d({
|
|
113
115
|
"prepend-outer": y(() => [_(e.$slots, "prepend-outer")]),
|
|
@@ -176,7 +178,8 @@ var S = [
|
|
|
176
178
|
"has-warning",
|
|
177
179
|
"loading",
|
|
178
180
|
"prepend:icon",
|
|
179
|
-
"readonly"
|
|
181
|
+
"readonly",
|
|
182
|
+
"variant"
|
|
180
183
|
]));
|
|
181
184
|
}
|
|
182
185
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputVariantType } from '../../types/InputVariant';
|
|
1
2
|
import { IconType } from '../../types/Icon';
|
|
2
3
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
3
4
|
/**
|
|
@@ -48,6 +49,10 @@ export type BaseColorInputProps = {
|
|
|
48
49
|
* Display the component in a compact layout.
|
|
49
50
|
*/
|
|
50
51
|
compact?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Visual variant of the field box, forwarded to `CommonInputWrapper`.
|
|
54
|
+
*/
|
|
55
|
+
variant?: InputVariantType;
|
|
51
56
|
/**
|
|
52
57
|
* Disable all interactions.
|
|
53
58
|
*/
|
package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -27,14 +27,14 @@ import Te from "dayjs/plugin/weekOfYear";
|
|
|
27
27
|
//#region src/components/BbBaseDatePicker/BbBaseDatePicker.vue?vue&type=script&setup=true&lang.ts
|
|
28
28
|
var Ee = {
|
|
29
29
|
"aria-live": "polite",
|
|
30
|
-
class: "sr-only"
|
|
30
|
+
class: "bb-sr-only"
|
|
31
31
|
}, De = {
|
|
32
32
|
"aria-live": "polite",
|
|
33
|
-
class: "sr-only"
|
|
33
|
+
class: "bb-sr-only"
|
|
34
34
|
}, Oe = { class: "bb-base-date-picker__body" }, ke = {
|
|
35
35
|
key: 0,
|
|
36
36
|
class: "bb-base-date-picker__controls"
|
|
37
|
-
}, Ae = { class: "sr-only" }, je = { class: "bb-base-date-picker__nav-center" }, Me = { class: "sr-only" }, Ne = { class: "bb-base-date-picker__content" }, Pe = ["id"], w = /*@__PURE__*/ ge({
|
|
37
|
+
}, Ae = { class: "bb-sr-only" }, je = { class: "bb-base-date-picker__nav-center" }, Me = { class: "bb-sr-only" }, Ne = { class: "bb-base-date-picker__content" }, Pe = ["id"], w = /*@__PURE__*/ ge({
|
|
38
38
|
__name: "BbBaseDatePicker",
|
|
39
39
|
props: {
|
|
40
40
|
disabled: { type: Boolean },
|
|
@@ -397,7 +397,7 @@ var Ee = {
|
|
|
397
397
|
id: `${b(Le)}-status`,
|
|
398
398
|
"aria-atomic": "true",
|
|
399
399
|
"aria-live": "polite",
|
|
400
|
-
class: "sr-only",
|
|
400
|
+
class: "bb-sr-only",
|
|
401
401
|
role: "status"
|
|
402
402
|
}, y(We.value), 9, Pe)
|
|
403
403
|
], 6));
|
|
@@ -24,7 +24,7 @@ var ne = ["aria-label", "onKeydown"], re = {
|
|
|
24
24
|
"tabindex"
|
|
25
25
|
], M = { class: "bb-base-date-picker__date-append" }, N = {
|
|
26
26
|
"aria-live": "polite",
|
|
27
|
-
class: "sr-only",
|
|
27
|
+
class: "bb-sr-only",
|
|
28
28
|
role: "status"
|
|
29
29
|
}, se = 366, P = /*@__PURE__*/ b({
|
|
30
30
|
__name: "BbBaseDatePickerInputDaySelector",
|
|
@@ -61,6 +61,7 @@ var we = ["data-value"], Te = [
|
|
|
61
61
|
autofocus: {},
|
|
62
62
|
clearable: { type: Boolean },
|
|
63
63
|
compact: { type: Boolean },
|
|
64
|
+
variant: {},
|
|
64
65
|
disabled: { type: Boolean },
|
|
65
66
|
firstDayOfWeek: {},
|
|
66
67
|
floating: { type: Boolean },
|
|
@@ -589,6 +590,7 @@ var we = ["data-value"], Te = [
|
|
|
589
590
|
loading: T.loading,
|
|
590
591
|
"prepend:icon": T["prepend:icon"],
|
|
591
592
|
readonly: T.readonly,
|
|
593
|
+
variant: T.variant,
|
|
592
594
|
"onClick:clear": it,
|
|
593
595
|
onFocusin: Je
|
|
594
596
|
}, le({
|
|
@@ -706,7 +708,7 @@ var we = ["data-value"], Te = [
|
|
|
706
708
|
onClick: (e) => x(yt)(U.value[n + 1], { select: !0 })
|
|
707
709
|
}, b(pt(U.value[n], U.value[n + 1])), 11, Ee)) : ce("", !0)], 64))), 128))], 6), h("span", {
|
|
708
710
|
id: Pe,
|
|
709
|
-
class: "bb-base-date-picker-input__accessible-description sr-only"
|
|
711
|
+
class: "bb-base-date-picker-input__accessible-description bb-sr-only"
|
|
710
712
|
}, b(x(A)("baseDatePickerInput.dateFormat")) + " " + b(Lt.value), 1)]),
|
|
711
713
|
_: 2
|
|
712
714
|
}, [e.$slots.prefix ? {
|
|
@@ -729,7 +731,8 @@ var we = ["data-value"], Te = [
|
|
|
729
731
|
"has-warning",
|
|
730
732
|
"loading",
|
|
731
733
|
"prepend:icon",
|
|
732
|
-
"readonly"
|
|
734
|
+
"readonly",
|
|
735
|
+
"variant"
|
|
733
736
|
]));
|
|
734
737
|
}
|
|
735
738
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputVariantType } from '../../types/InputVariant';
|
|
1
2
|
import { DatePickerType } from '../../types/DatePickerType';
|
|
2
3
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
3
4
|
import { IconType } from '../../types/Icon';
|
|
@@ -53,6 +54,10 @@ export type BaseDatePickerInputProps = {
|
|
|
53
54
|
* Applies the compact density styles to the control.
|
|
54
55
|
*/
|
|
55
56
|
compact?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Visual variant of the field box, forwarded to `CommonInputWrapper`.
|
|
59
|
+
*/
|
|
60
|
+
variant?: InputVariantType;
|
|
56
61
|
/**
|
|
57
62
|
* Disables the input, calendar trigger, and popover.
|
|
58
63
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BaseInputContainerProps, BaseInputContainerSlots } from './types';
|
|
2
2
|
type __VLS_Slots = BaseInputContainerSlots;
|
|
3
3
|
declare const __VLS_base: import('vue').DefineComponent<BaseInputContainerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<BaseInputContainerProps> & Readonly<{}>, {
|
|
4
|
+
reverse: boolean;
|
|
4
5
|
labelPosition: "left" | "center" | "right";
|
|
5
6
|
direction: import('../..').InputDirection;
|
|
6
7
|
tag: import('../../types/CommonProps').ContainerTag;
|
|
7
|
-
reverse: boolean;
|
|
8
8
|
labelTag: import('../../types/CommonProps').LabelTag;
|
|
9
9
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -30,6 +30,7 @@ var v = [
|
|
|
30
30
|
autofocus: {},
|
|
31
31
|
clearable: { type: Boolean },
|
|
32
32
|
compact: { type: Boolean },
|
|
33
|
+
variant: {},
|
|
33
34
|
disabled: { type: Boolean },
|
|
34
35
|
hasErrors: { type: Boolean },
|
|
35
36
|
hasWarning: { type: Boolean },
|
|
@@ -139,6 +140,7 @@ var v = [
|
|
|
139
140
|
"prepend:icon": x["prepend:icon"],
|
|
140
141
|
readonly: x.readonly,
|
|
141
142
|
"reserve-append-space": x.clearable,
|
|
143
|
+
variant: x.variant,
|
|
142
144
|
"onClick:clear": n[0] ||= (t) => e.$emit("update:modelValue", null)
|
|
143
145
|
}, s({
|
|
144
146
|
"prepend-outer": g(() => [p(e.$slots, "prepend-outer", {
|
|
@@ -207,7 +209,8 @@ var v = [
|
|
|
207
209
|
"loading",
|
|
208
210
|
"prepend:icon",
|
|
209
211
|
"readonly",
|
|
210
|
-
"reserve-append-space"
|
|
212
|
+
"reserve-append-space",
|
|
213
|
+
"variant"
|
|
211
214
|
]));
|
|
212
215
|
}
|
|
213
216
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputVariantType } from '../../types/InputVariant';
|
|
1
2
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
2
3
|
import { IconType } from '../../types/Icon';
|
|
3
4
|
/**
|
|
@@ -29,6 +30,10 @@ export type BaseNumberInputProps = {
|
|
|
29
30
|
* Apply the compact density variant.
|
|
30
31
|
*/
|
|
31
32
|
compact?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Visual variant of the field box, forwarded to `CommonInputWrapper`.
|
|
35
|
+
*/
|
|
36
|
+
variant?: InputVariantType;
|
|
32
37
|
/**
|
|
33
38
|
* Disable manual input and the exposed increase/decrease helpers.
|
|
34
39
|
*/
|
|
@@ -92,7 +92,7 @@ var m = /*@__PURE__*/ o({
|
|
|
92
92
|
"bb-base-radio--focused": v.value,
|
|
93
93
|
"bb-base-radio--focus-visible": y.value,
|
|
94
94
|
"bb-base-radio--readonly": e.readonly
|
|
95
|
-
}]) }, [i("input", c(C.value, { class: "sr-only" }), null, 16), p(e.$slots, "icon", u(s(w.value)), () => [a(t, {
|
|
95
|
+
}]) }, [i("input", c(C.value, { class: "bb-sr-only" }), null, 16), p(e.$slots, "icon", u(s(w.value)), () => [a(t, {
|
|
96
96
|
checked: _.value,
|
|
97
97
|
disabled: !!e.disabled,
|
|
98
98
|
"focus-visible": y.value,
|
|
@@ -13,7 +13,7 @@ var w = [
|
|
|
13
13
|
"aria-labelledby",
|
|
14
14
|
"aria-readonly",
|
|
15
15
|
"role"
|
|
16
|
-
], T = ["id"], E = { class: "bb-base-rating__label-text sr-only" }, D = [
|
|
16
|
+
], T = ["id"], E = { class: "bb-base-rating__label-text bb-sr-only" }, D = [
|
|
17
17
|
"id",
|
|
18
18
|
"aria-describedby",
|
|
19
19
|
"autofocus",
|
|
@@ -142,7 +142,7 @@ var w = [
|
|
|
142
142
|
V.value ? (_(), f("span", {
|
|
143
143
|
key: 0,
|
|
144
144
|
id: S(R),
|
|
145
|
-
class: "sr-only"
|
|
145
|
+
class: "bb-sr-only"
|
|
146
146
|
}, x(S(H)), 9, T)) : d("", !0),
|
|
147
147
|
(_(!0), f(l, null, y(Y.value, (n, r) => (_(), f("label", {
|
|
148
148
|
key: n.value,
|
|
@@ -159,7 +159,7 @@ var w = [
|
|
|
159
159
|
"aria-describedby": U.value,
|
|
160
160
|
autofocus: e.autofocus && !r,
|
|
161
161
|
checked: n.checked,
|
|
162
|
-
class: "sr-only",
|
|
162
|
+
class: "bb-sr-only",
|
|
163
163
|
disabled: n.disabled,
|
|
164
164
|
name: n.name,
|
|
165
165
|
required: e.required,
|
|
@@ -36,6 +36,7 @@ var re = ["id"], ie = [
|
|
|
36
36
|
clearable: { type: Boolean },
|
|
37
37
|
comma: { type: Boolean },
|
|
38
38
|
compact: { type: Boolean },
|
|
39
|
+
variant: {},
|
|
39
40
|
dependencies: {},
|
|
40
41
|
depsDebounceTime: {},
|
|
41
42
|
disabled: { type: Boolean },
|
|
@@ -203,6 +204,7 @@ var re = ["id"], ie = [
|
|
|
203
204
|
loading: i,
|
|
204
205
|
"prepend:icon": P["prepend:icon"],
|
|
205
206
|
readonly: e.readonly,
|
|
207
|
+
variant: e.variant,
|
|
206
208
|
"onClick:clear": () => {
|
|
207
209
|
s(), x(le);
|
|
208
210
|
},
|
|
@@ -270,7 +272,7 @@ var re = ["id"], ie = [
|
|
|
270
272
|
class: S(["bb-base-select__display-value", [{ "bb-base-select__placeholder": !a }]])
|
|
271
273
|
}, A(a || e.placeholder), 3))], 8, re), m("span", {
|
|
272
274
|
id: `${j(z)}__selection`,
|
|
273
|
-
class: "sr-only"
|
|
275
|
+
class: "bb-sr-only"
|
|
274
276
|
}, A(ue(a)), 9, oe)]),
|
|
275
277
|
_: 2
|
|
276
278
|
}, [e.$slots.prefix ? {
|
|
@@ -294,6 +296,7 @@ var re = ["id"], ie = [
|
|
|
294
296
|
"loading",
|
|
295
297
|
"prepend:icon",
|
|
296
298
|
"readonly",
|
|
299
|
+
"variant",
|
|
297
300
|
"onClick:clear",
|
|
298
301
|
"onContainer:click"
|
|
299
302
|
]), (E(!0), p(l, null, O(me.value, (e) => (E(), p("input", b({
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InputVariantType } from '../../types/InputVariant';
|
|
1
2
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
2
3
|
import { IconType } from '../../types/Icon';
|
|
3
4
|
import { BbSelectResolvedOption } from '../BbSelectPopover/types';
|
|
@@ -55,6 +56,10 @@ export type BaseSelectProps<Item = any> = {
|
|
|
55
56
|
* Apply the compact density variant.
|
|
56
57
|
*/
|
|
57
58
|
compact?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Visual variant of the field box, forwarded to `CommonInputWrapper`.
|
|
61
|
+
*/
|
|
62
|
+
variant?: InputVariantType;
|
|
58
63
|
/**
|
|
59
64
|
* Additional dependencies that trigger item reloading when changed.
|
|
60
65
|
* @defaultValue `[]`
|
|
@@ -238,7 +238,7 @@ var le = {
|
|
|
238
238
|
id: e.id,
|
|
239
239
|
ref_key: "hiddenInput",
|
|
240
240
|
ref: j,
|
|
241
|
-
class: "sr-only",
|
|
241
|
+
class: "bb-sr-only",
|
|
242
242
|
disabled: e.disabled,
|
|
243
243
|
name: e.name,
|
|
244
244
|
readonly: !0,
|
|
@@ -328,10 +328,10 @@ var le = {
|
|
|
328
328
|
}),
|
|
329
329
|
S.range && S.id ? (_(), f(l, { key: 0 }, [p("span", {
|
|
330
330
|
id: `${S.id}__thumb_label_lower`,
|
|
331
|
-
class: "sr-only"
|
|
331
|
+
class: "bb-sr-only"
|
|
332
332
|
}, b(x(T)("slider.minimumThumb").value), 9, pe), p("span", {
|
|
333
333
|
id: `${S.id}__thumb_label_higher`,
|
|
334
|
-
class: "sr-only"
|
|
334
|
+
class: "bb-sr-only"
|
|
335
335
|
}, b(x(T)("slider.maximumThumb").value), 9, me)], 64)) : d("", !0)
|
|
336
336
|
], 16));
|
|
337
337
|
}
|