[{"data":1,"prerenderedAt":1697},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":124,"api-none":352,"page-en-\u002Fcomponents\u002Fbb-text-input":353,"pt-showcase-BbTextInput":1260},{"\u002Fit\u002Fcomponenti\u002Fbb-accordion":4,"\u002Fen\u002Fcomponents\u002Fbb-accordion":5,"\u002Fit\u002Fcomponenti\u002Fbb-alert":6,"\u002Fen\u002Fcomponents\u002Fbb-alert":7,"\u002Fit\u002Fcomponenti\u002Fbb-asterisk":8,"\u002Fen\u002Fcomponents\u002Fbb-asterisk":9,"\u002Fit\u002Fcomponenti\u002Fbb-avatar":10,"\u002Fen\u002Fcomponents\u002Fbb-avatar":11,"\u002Fit\u002Fcomponenti\u002Fbb-badge":12,"\u002Fen\u002Fcomponents\u002Fbb-badge":13,"\u002Fit\u002Fcomponenti\u002Fbb-base-button":14,"\u002Fen\u002Fcomponents\u002Fbb-base-button":15,"\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs":16,"\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs":17,"\u002Fit\u002Fcomponenti\u002Fbb-button":18,"\u002Fen\u002Fcomponents\u002Fbb-button":19,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":20,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":21,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":22,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":23,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":24,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":25,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":26,"\u002Fen\u002Fcomponents\u002Fbb-color-input":27,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":28,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":29,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":30,"\u002Fen\u002Fcomponents\u002Fbb-confirm":31,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":32,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":33,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":34,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":35,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":36,"\u002Fen\u002Fcomponents\u002Fbb-dialog":37,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":38,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":39,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":40,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":41,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":42,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":43,"\u002Fit\u002Fcomponenti\u002Fbb-form":44,"\u002Fen\u002Fcomponents\u002Fbb-form":45,"\u002Fit\u002Fcomponenti\u002Fbb-icon":46,"\u002Fen\u002Fcomponents\u002Fbb-icon":47,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":48,"\u002Fen\u002Fcomponents\u002Fbb-indicator":49,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":50,"\u002Fen\u002Fcomponents\u002Fbb-number-input":51,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":52,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":53,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":54,"\u002Fen\u002Fcomponents\u002Fbb-pagination":55,"\u002Fit\u002Fcomponenti\u002Fbb-popover":56,"\u002Fen\u002Fcomponents\u002Fbb-popover":57,"\u002Fit\u002Fcomponenti\u002Fbb-progress":58,"\u002Fen\u002Fcomponents\u002Fbb-progress":59,"\u002Fit\u002Fcomponenti\u002Fbb-radio":60,"\u002Fen\u002Fcomponents\u002Fbb-radio":61,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":62,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":63,"\u002Fit\u002Fcomponenti\u002Fbb-rating":64,"\u002Fen\u002Fcomponents\u002Fbb-rating":65,"\u002Fit\u002Fcomponenti\u002Fbb-select":66,"\u002Fen\u002Fcomponents\u002Fbb-select":67,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":68,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":69,"\u002Fit\u002Fcomponenti\u002Fbb-slider":70,"\u002Fen\u002Fcomponents\u002Fbb-slider":71,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":72,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":73,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":74,"\u002Fen\u002Fcomponents\u002Fbb-spinner":75,"\u002Fit\u002Fcomponenti\u002Fbb-switch":76,"\u002Fen\u002Fcomponents\u002Fbb-switch":77,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":78,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":79,"\u002Fit\u002Fcomponenti\u002Fbb-table":80,"\u002Fen\u002Fcomponents\u002Fbb-table":81,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":82,"\u002Fen\u002Fcomponents\u002Fbb-tabs":83,"\u002Fit\u002Fcomponenti\u002Fbb-tag":84,"\u002Fen\u002Fcomponents\u002Fbb-tag":85,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":86,"\u002Fen\u002Fcomponents\u002Fbb-text-input":87,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":88,"\u002Fen\u002Fcomponents\u002Fbb-textarea":89,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":90,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":91,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":92,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":93,"\u002Fit\u002Fcomponenti\u002Fbb-toast":94,"\u002Fen\u002Fcomponents\u002Fbb-toast":95,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":96,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":97,"\u002Fit\u002Fcomponenti\u002Fbb-tree":98,"\u002Fen\u002Fcomponents\u002Fbb-tree":99,"\u002Fit\u002Fguide\u002Fai-agents":100,"\u002Fen\u002Fguides\u002Fai-agents":101,"\u002Fit\u002Fguide\u002Fcoherence":102,"\u002Fen\u002Fguides\u002Fcoherence":103,"\u002Fit\u002Fguide\u002Fdesign-language":104,"\u002Fen\u002Fguides\u002Fdesign-language":105,"\u002Fit\u002Fguide\u002Fdesign-tokens":106,"\u002Fen\u002Fguides\u002Fdesign-tokens":107,"\u002Fit\u002Fguide\u002Ffetching-data":108,"\u002Fen\u002Fguides\u002Ffetching-data":109,"\u002Fit\u002Fguide\u002Ficons":110,"\u002Fen\u002Fguides\u002Ficons":111,"\u002Fit\u002Fguide\u002Finertia":112,"\u002Fen\u002Fguides\u002Finertia":113,"\u002Fit\u002Fguide\u002Finstallation":114,"\u002Fen\u002Fguides\u002Finstallation":115,"\u002Fit\u002Fguide\u002Fmigration":116,"\u002Fen\u002Fguides\u002Fmigration":117,"\u002Fit\u002Fguide\u002Fnuxt":118,"\u002Fen\u002Fguides\u002Fnuxt":119,"\u002Fit\u002Fguide\u002Foptions-and-items":120,"\u002Fen\u002Fguides\u002Foptions-and-items":121,"\u002Fit\u002Fguide\u002Fvalidated-forms":122,"\u002Fen\u002Fguides\u002Fvalidated-forms":123},"\u002Fen\u002Fcomponents\u002Fbb-accordion","\u002Fit\u002Fcomponenti\u002Fbb-accordion","\u002Fen\u002Fcomponents\u002Fbb-alert","\u002Fit\u002Fcomponenti\u002Fbb-alert","\u002Fen\u002Fcomponents\u002Fbb-asterisk","\u002Fit\u002Fcomponenti\u002Fbb-asterisk","\u002Fen\u002Fcomponents\u002Fbb-avatar","\u002Fit\u002Fcomponenti\u002Fbb-avatar","\u002Fen\u002Fcomponents\u002Fbb-badge","\u002Fit\u002Fcomponenti\u002Fbb-badge","\u002Fen\u002Fcomponents\u002Fbb-base-button","\u002Fit\u002Fcomponenti\u002Fbb-base-button","\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs","\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs","\u002Fen\u002Fcomponents\u002Fbb-button","\u002Fit\u002Fcomponenti\u002Fbb-button","\u002Fen\u002Fcomponents\u002Fbb-checkbox","\u002Fit\u002Fcomponenti\u002Fbb-checkbox","\u002Fen\u002Fcomponents\u002Fbb-checkbox-group","\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group","\u002Fen\u002Fcomponents\u002Fbb-collapsible","\u002Fit\u002Fcomponenti\u002Fbb-collapsible","\u002Fen\u002Fcomponents\u002Fbb-color-input","\u002Fit\u002Fcomponenti\u002Fbb-color-input","\u002Fen\u002Fcomponents\u002Fbb-color-palette","\u002Fit\u002Fcomponenti\u002Fbb-color-palette","\u002Fen\u002Fcomponents\u002Fbb-confirm","\u002Fit\u002Fcomponenti\u002Fbb-confirm","\u002Fen\u002Fcomponents\u002Fbb-date-picker","\u002Fit\u002Fcomponenti\u002Fbb-date-picker","\u002Fen\u002Fcomponents\u002Fbb-date-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input","\u002Fen\u002Fcomponents\u002Fbb-dialog","\u002Fit\u002Fcomponenti\u002Fbb-dialog","\u002Fen\u002Fcomponents\u002Fbb-dropdown","\u002Fit\u002Fcomponenti\u002Fbb-dropdown","\u002Fen\u002Fcomponents\u002Fbb-dropdown-button","\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button","\u002Fen\u002Fcomponents\u002Fbb-dropzone","\u002Fit\u002Fcomponenti\u002Fbb-dropzone","\u002Fen\u002Fcomponents\u002Fbb-form","\u002Fit\u002Fcomponenti\u002Fbb-form","\u002Fen\u002Fcomponents\u002Fbb-icon","\u002Fit\u002Fcomponenti\u002Fbb-icon","\u002Fen\u002Fcomponents\u002Fbb-indicator","\u002Fit\u002Fcomponenti\u002Fbb-indicator","\u002Fen\u002Fcomponents\u002Fbb-number-input","\u002Fit\u002Fcomponenti\u002Fbb-number-input","\u002Fen\u002Fcomponents\u002Fbb-off-canvas","\u002Fit\u002Fcomponenti\u002Fbb-off-canvas","\u002Fen\u002Fcomponents\u002Fbb-pagination","\u002Fit\u002Fcomponenti\u002Fbb-pagination","\u002Fen\u002Fcomponents\u002Fbb-popover","\u002Fit\u002Fcomponenti\u002Fbb-popover","\u002Fen\u002Fcomponents\u002Fbb-progress","\u002Fit\u002Fcomponenti\u002Fbb-progress","\u002Fen\u002Fcomponents\u002Fbb-radio","\u002Fit\u002Fcomponenti\u002Fbb-radio","\u002Fen\u002Fcomponents\u002Fbb-radio-group","\u002Fit\u002Fcomponenti\u002Fbb-radio-group","\u002Fen\u002Fcomponents\u002Fbb-rating","\u002Fit\u002Fcomponenti\u002Fbb-rating","\u002Fen\u002Fcomponents\u002Fbb-select","\u002Fit\u002Fcomponenti\u002Fbb-select","\u002Fen\u002Fcomponents\u002Fbb-select-popover","\u002Fit\u002Fcomponenti\u002Fbb-select-popover","\u002Fen\u002Fcomponents\u002Fbb-slider","\u002Fit\u002Fcomponenti\u002Fbb-slider","\u002Fen\u002Fcomponents\u002Fbb-smooth-height","\u002Fit\u002Fcomponenti\u002Fbb-smooth-height","\u002Fen\u002Fcomponents\u002Fbb-spinner","\u002Fit\u002Fcomponenti\u002Fbb-spinner","\u002Fen\u002Fcomponents\u002Fbb-switch","\u002Fit\u002Fcomponenti\u002Fbb-switch","\u002Fen\u002Fcomponents\u002Fbb-switch-group","\u002Fit\u002Fcomponenti\u002Fbb-switch-group","\u002Fen\u002Fcomponents\u002Fbb-table","\u002Fit\u002Fcomponenti\u002Fbb-table","\u002Fen\u002Fcomponents\u002Fbb-tabs","\u002Fit\u002Fcomponenti\u002Fbb-tabs","\u002Fen\u002Fcomponents\u002Fbb-tag","\u002Fit\u002Fcomponenti\u002Fbb-tag","\u002Fen\u002Fcomponents\u002Fbb-text-input","\u002Fit\u002Fcomponenti\u002Fbb-text-input","\u002Fen\u002Fcomponents\u002Fbb-textarea","\u002Fit\u002Fcomponenti\u002Fbb-textarea","\u002Fen\u002Fcomponents\u002Fbb-time-picker","\u002Fit\u002Fcomponenti\u002Fbb-time-picker","\u002Fen\u002Fcomponents\u002Fbb-time-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input","\u002Fen\u002Fcomponents\u002Fbb-toast","\u002Fit\u002Fcomponenti\u002Fbb-toast","\u002Fen\u002Fcomponents\u002Fbb-tooltip","\u002Fit\u002Fcomponenti\u002Fbb-tooltip","\u002Fen\u002Fcomponents\u002Fbb-tree","\u002Fit\u002Fcomponenti\u002Fbb-tree","\u002Fen\u002Fguides\u002Fai-agents","\u002Fit\u002Fguide\u002Fai-agents","\u002Fen\u002Fguides\u002Fcoherence","\u002Fit\u002Fguide\u002Fcoherence","\u002Fen\u002Fguides\u002Fdesign-language","\u002Fit\u002Fguide\u002Fdesign-language","\u002Fen\u002Fguides\u002Fdesign-tokens","\u002Fit\u002Fguide\u002Fdesign-tokens","\u002Fen\u002Fguides\u002Ffetching-data","\u002Fit\u002Fguide\u002Ffetching-data","\u002Fen\u002Fguides\u002Ficons","\u002Fit\u002Fguide\u002Ficons","\u002Fen\u002Fguides\u002Finertia","\u002Fit\u002Fguide\u002Finertia","\u002Fen\u002Fguides\u002Finstallation","\u002Fit\u002Fguide\u002Finstallation","\u002Fen\u002Fguides\u002Fmigration","\u002Fit\u002Fguide\u002Fmigration","\u002Fen\u002Fguides\u002Fnuxt","\u002Fit\u002Fguide\u002Fnuxt","\u002Fen\u002Fguides\u002Foptions-and-items","\u002Fit\u002Fguide\u002Foptions-and-items","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",[125,136,145,166,178,220,253,286,307,328,340,346],{"label":126,"entries":127},"Getting started",[128,132],{"title":129,"path":130,"order":131},"Installation","\u002Fguides\u002Finstallation",1,{"title":133,"path":134,"order":135},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"label":137,"entries":138},"Design system",[139,142],{"title":140,"path":141,"order":131},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":143,"path":144,"order":135},"Design language","\u002Fguides\u002Fdesign-language",{"label":146,"entries":147},"Playbooks",[148,151,154,158,162],{"title":149,"path":150,"order":131},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":152,"path":153,"order":135},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":155,"path":156,"order":157},"Coherence","\u002Fguides\u002Fcoherence",3,{"title":159,"path":160,"order":161},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":163,"path":164,"order":165},"Icons","\u002Fguides\u002Ficons",5,{"label":167,"entries":168},"Ecosystem",[169,172,175],{"title":170,"path":171,"order":131},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":173,"path":174,"order":135},"Nuxt","\u002Fguides\u002Fnuxt",{"title":176,"path":177,"order":157},"AI agents","\u002Fguides\u002Fai-agents",{"label":179,"entries":180},"Inputs",[181,184,187,190,193,196,200,204,208,212,216],{"title":182,"path":183,"component":182,"order":131},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":185,"path":186,"component":185,"order":135},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":188,"path":189,"component":188,"order":157},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":191,"path":192,"component":191,"order":161},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":194,"path":195,"component":194,"order":165},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":197,"path":198,"component":197,"order":199},"BbForm","\u002Fcomponents\u002Fbb-form",6,{"title":201,"path":202,"component":201,"order":203},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":205,"path":206,"component":205,"order":207},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":209,"path":210,"component":209,"order":211},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":213,"path":214,"component":213,"order":215},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":217,"path":218,"component":217,"order":219},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":221,"entries":222},"Selection",[223,226,229,232,235,238,241,244,247,250],{"title":224,"path":225,"component":224,"order":131},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":227,"path":228,"component":227,"order":135},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":230,"path":231,"component":230,"order":157},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":233,"path":234,"component":233,"order":161},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":236,"path":237,"component":236,"order":165},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":239,"path":240,"component":239,"order":199},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":242,"path":243,"component":242,"order":203},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":245,"path":246,"component":245,"order":207},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":248,"path":249,"component":248,"order":211},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":251,"path":252,"component":251,"order":215},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":254,"entries":255},"Overlay",[256,259,262,265,268,271,274,277,280,283],{"title":257,"path":258,"component":257,"order":131},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":260,"path":261,"component":260,"order":135},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":263,"path":264,"component":263,"order":157},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":266,"path":267,"component":266,"order":161},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":269,"path":270,"component":269,"order":165},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":272,"path":273,"component":272,"order":199},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":275,"path":276,"component":275,"order":203},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":278,"path":279,"component":278,"order":207},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":281,"path":282,"component":281,"order":211},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":284,"path":285,"component":284,"order":215},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":287,"entries":288},"Navigation",[289,292,295,298,301,304],{"title":290,"path":291,"component":290,"order":131},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":293,"path":294,"component":293,"order":135},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":296,"path":297,"component":296,"order":157},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":299,"path":300,"component":299,"order":161},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":302,"path":303,"component":302,"order":165},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":305,"path":306,"component":305,"order":199},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":308,"entries":309},"Feedback",[310,313,316,319,322,325],{"title":311,"path":312,"component":311,"order":131},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":314,"path":315,"component":314,"order":135},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":317,"path":318,"component":317,"order":157},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":320,"path":321,"component":320,"order":161},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":323,"path":324,"component":323,"order":165},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":326,"path":327,"component":326,"order":199},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":329,"entries":330},"Data Display",[331,334,337],{"title":332,"path":333,"component":332,"order":131},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":335,"path":336,"component":335,"order":135},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":338,"path":339,"component":338,"order":157},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":341,"entries":342},"Layout & Utility",[343],{"title":344,"path":345,"component":344,"order":131},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":347,"entries":348},"Other",[349],{"title":350,"path":351,"component":350,"order":131},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",null,{"id":354,"title":213,"body":355,"component":213,"description":1244,"extension":1245,"group":179,"meta":1246,"navigation":634,"order":215,"path":214,"sections":1247,"seo":1257,"stem":1258,"__hash__":1259},"docs_en\u002Fcomponents\u002Fbb-text-input.md",{"type":356,"value":357,"toc":1233},"minimark",[358,411,414,422,433,437,456,472,498,503,521,524,534,544,563,572,578,604,615,646,657,671,674,685,691,703,706,729,736,742,761,764,774,780,790,793,800,806,809,895,902,1045,1056,1062,1065,1068,1089,1095,1119,1122,1128,1146,1152,1158,1176,1179,1205,1229],[359,360,361,369],"when",{},[362,363,364,365,368],"p",{},"Reach for ",[366,367,213],"code",{}," for any short, single-line string: a name, an email, a\nURL, a coupon code, a search box.",[370,371,373],"template",{"v-slot:else":372},"",[374,375,376,385,392,399],"ul",{},[377,378,379,384],"li",{},[380,381,382],"a",{"href":88},[366,383,209],{},", when the text runs to a second\nline",[377,386,387,391],{},[380,388,389],{"href":50},[366,390,201],{},", when it is a number you\nclamp or step",[377,393,394,398],{},[380,395,396],{"href":34},[366,397,191],{},", when it is a\ncalendar date",[377,400,401,405,406,410],{},[380,402,403],{"href":66},[366,404,239],{}," or\n",[380,407,408],{"href":62},[366,409,233],{},", when the value comes from a\nknown set",[362,412,413],{},"This page also defines the shared field chrome used by the other inputs.",[415,416,418],"h2",{"id":417},"default",[419,420,421],"span",{},"Default",[362,423,424,425,428,429,432],{},"Pass a ",[366,426,427],{},"label"," and bind ",[366,430,431],{},"v-model",".",[434,435],"demo",{"name":436},"BbTextInput\u002FBasic",[362,438,439,440,443,444,447,448,451,452,455],{},"The model is ",[366,441,442],{},"string | null",". An emptied field emits ",[366,445,446],{},"null",", never ",[366,449,450],{},"''",", so\nwrite ",[366,453,454],{},"value ?? ''"," for an API that insists on a string.",[362,457,458,460,461,464,465,467,468,471],{},[366,459,427],{}," does not set ",[366,462,463],{},"name",". Pass ",[366,466,463],{}," for native form submission and an\nexplicit ",[366,469,470],{},"id"," for stable prerendered markup.",[473,474,476],"migration",{"title":475},"template ref removed",[362,477,478,479,482,483,486,487,490,491,494,495,497],{},"v3 removed the imperative handle. A leftover ",[366,480,481],{},"inputRef.value?.focus()"," is\n",[366,484,485],{},"undefined"," at runtime, not a compile error. Use ",[366,488,489],{},"autofocus"," for focus on mount,\nand reach the native ",[366,492,493],{},"\u003Cinput>"," by its ",[366,496,470],{}," for anything else.",[415,499,500],{"id":427},[419,501,502],{},"Label modes",[362,504,505,508,509,512,513,516,517,520],{},[366,506,507],{},"label-mode"," puts the label above the field (",[366,510,511],{},"outside",", the default), resting\ninside it like a placeholder (",[366,514,515],{},"floating","), or pinned small inside the top edge\n(",[366,518,519],{},"inside",").",[434,522],{"name":523},"BbTextInput\u002FLabelModes",[362,525,526,527,530,531,533],{},"Set the product default with ",[366,528,529],{},"defaultInputLabelMode",". Do not combine ",[366,532,515],{},"\nwith a placeholder; both occupy the same space.",[362,535,536,537,539,540,543],{},"One spelling is worth committing to memory. ",[366,538,515],{}," is not a prop and never\nwas, neither in v3 nor in v2. Written bare it lands on the root element through\n",[366,541,542],{},"$attrs"," and does nothing at all.",[545,546,550],"pre",{"className":547,"code":548,"language":549,"meta":372,"style":372},"language-diff shiki shiki-themes github-light-high-contrast github-dark-high-contrast","- \u003CBbTextInput v-model=\"email\" label=\"Email\" floating \u002F>\n+ \u003CBbTextInput v-model=\"email\" label=\"Email\" label-mode=\"floating\" \u002F>\n","diff",[366,551,552,558],{"__ignoreMap":372},[419,553,555],{"class":554,"line":131},"line",[419,556,557],{},"- \u003CBbTextInput v-model=\"email\" label=\"Email\" floating \u002F>\n",[419,559,560],{"class":554,"line":135},[419,561,562],{},"+ \u003CBbTextInput v-model=\"email\" label=\"Email\" label-mode=\"floating\" \u002F>\n",[362,564,565,568,569,571],{},[366,566,567],{},"hide-label"," drops the label from view and keeps the accessible name, which is\nwhat a search box with nothing but a placeholder wants. Dropping ",[366,570,427],{}," itself\nis never the answer.",[415,573,575],{"id":574},"type",[419,576,577],{},"Type and keyboard",[362,579,580,582,583,586,587,586,590,593,594,586,597,586,600,603],{},[366,581,574],{}," tells the browser what kind of text this is: ",[366,584,585],{},"text",", ",[366,588,589],{},"email",[366,591,592],{},"url",",\n",[366,595,596],{},"tel",[366,598,599],{},"search",[366,601,602],{},"password",". That is the whole list.",[362,605,606,607,610,611,614],{},"v3 narrowed it to those six. ",[366,608,609],{},"type=\"number\""," and ",[366,612,613],{},"type=\"date\""," no longer\ncompile, and the fix is a different component rather than a different value:",[545,616,618],{"className":547,"code":617,"language":549,"meta":372,"style":372},"- \u003CBbTextInput v-model=\"qty\" type=\"number\" label=\"Quantity\" \u002F>\n+ \u003CBbNumberInput v-model=\"qty\" label=\"Quantity\" \u002F>\n\n- \u003CBbTextInput v-model=\"due\" type=\"date\" label=\"Due date\" \u002F>\n+ \u003CBbDatePickerInput v-model=\"due\" label=\"Due date\" \u002F>\n",[366,619,620,625,630,636,641],{"__ignoreMap":372},[419,621,622],{"class":554,"line":131},[419,623,624],{},"- \u003CBbTextInput v-model=\"qty\" type=\"number\" label=\"Quantity\" \u002F>\n",[419,626,627],{"class":554,"line":135},[419,628,629],{},"+ \u003CBbNumberInput v-model=\"qty\" label=\"Quantity\" \u002F>\n",[419,631,632],{"class":554,"line":157},[419,633,635],{"emptyLinePlaceholder":634},true,"\n",[419,637,638],{"class":554,"line":161},[419,639,640],{},"- \u003CBbTextInput v-model=\"due\" type=\"date\" label=\"Due date\" \u002F>\n",[419,642,643],{"class":554,"line":165},[419,644,645],{},"+ \u003CBbDatePickerInput v-model=\"due\" label=\"Due date\" \u002F>\n",[362,647,648,649,652,653,656],{},"Set ",[366,650,651],{},"autocomplete"," in auth and checkout flows. Use ",[366,654,655],{},"input-mode"," to request the\nright mobile keyboard without changing the value type.",[362,658,659,660,663,664,666,667,670],{},"There is no ",[366,661,662],{},"revealable"," prop. A reveal toggle is a ",[366,665,574],{}," that changes plus a\nbutton in the ",[366,668,669],{},"#append"," slot.",[434,672],{"name":673},"BbTextInput\u002FPasswordReveal",[362,675,676,677,680,681,684],{},"Native attributes that are not component props, such as ",[366,678,679],{},"maxlength"," and\n",[366,682,683],{},"pattern",", land on the outer container and do not constrain the input.",[415,686,688],{"id":687},"mask",[419,689,690],{},"Masks",[362,692,424,693,699,700,702],{},[380,694,698],{"href":695,"rel":696},"https:\u002F\u002Fbeholdr.github.io\u002Fmaska\u002Fv3",[697],"nofollow","maska"," config to ",[366,701,687],{}," and the\nfield formats as the user types: card numbers, VAT ids, licence keys.",[434,704],{"name":705},"BbTextInput\u002FMask",[362,707,708,709,713,714,586,717,719,720,464,723,726,727,432],{},"By default the model holds the ",[710,711,712],"strong",{},"unmasked"," value: the field shows\n",[366,715,716],{},"4242 4242 4242 4242",[366,718,431],{}," holds ",[366,721,722],{},"4242424242424242",[366,724,725],{},"emit-masked","\nwhen the formatted string is the value, as it is for a VAT id people copy and\npaste. Either way an emptied field emits ",[366,728,446],{},[362,730,731,732,432],{},"Masks format, they do not validate. A complete but wrong card number passes the\nmask and still needs an ",[380,733,735],{"href":734},"#validation","error",[415,737,739],{"id":738},"messaging",[419,740,741],{},"Description and hint",[362,743,744,745,748,749,752,753,756,757,760],{},"Two channels sit around the field, and the difference is timing. ",[366,746,747],{},"description","\nis always visible between the label and the field, read ",[710,750,751],{},"before"," typing.\n",[366,754,755],{},"hint"," appears below the field on focus, read ",[710,758,759],{},"while"," typing.",[434,762],{"name":763},"BbTextInput\u002FDescriptionAndHint",[362,765,766,769,770,773],{},[366,767,768],{},"persistent-hint"," keeps the hint visible. Both channels are connected through\n",[366,771,772],{},"aria-describedby",", so keep them useful and concise.",[415,775,777],{"id":776},"validation",[419,778,779],{},"Errors and warnings",[362,781,782,785,786,789],{},[366,783,784],{},"errors"," says the value cannot be accepted. ",[366,787,788],{},"warnings"," says the value is\naccepted and worth a second look. Two channels, not one channel with a severity\nflag.",[434,791],{"name":792},"BbTextInput\u002FValidationStates",[362,794,795,796,799],{},"Non-empty messages imply their visual state. Errors set ",[366,797,798],{},"aria-invalid",";\nwarnings do not. When both exist, errors win.",[362,801,802,805],{},[366,803,804],{},"required"," forwards to the native input and produces no message of its own.",[362,807,808],{},"Bind server-side errors straight in. With Inertia:",[545,810,814],{"className":811,"code":812,"language":813,"meta":372,"style":372},"language-vue shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u003CBbTextInput\n    v-model=\"form.email\"\n    label=\"Billing email\"\n    type=\"email\"\n    autocomplete=\"email\"\n    :errors=\"form.errors.email\"\n\u002F>\n","vue",[366,815,816,826,844,855,865,874,890],{"__ignoreMap":372},[419,817,818,822],{"class":554,"line":131},[419,819,821],{"class":820},"suds8","\u003C",[419,823,825],{"class":824},"sne4z","BbTextInput\n",[419,827,828,832,835,838,841],{"class":554,"line":135},[419,829,831],{"class":830},"s-5SL","    v-model",[419,833,834],{"class":820},"=",[419,836,837],{"class":820},"\"",[419,839,840],{"class":820},"form.email",[419,842,843],{"class":820},"\"\n",[419,845,846,849,851],{"class":554,"line":157},[419,847,848],{"class":830},"    label",[419,850,834],{"class":820},[419,852,854],{"class":853},"sT6z2","\"Billing email\"\n",[419,856,857,860,862],{"class":554,"line":161},[419,858,859],{"class":830},"    type",[419,861,834],{"class":820},[419,863,864],{"class":853},"\"email\"\n",[419,866,867,870,872],{"class":554,"line":165},[419,868,869],{"class":830},"    autocomplete",[419,871,834],{"class":820},[419,873,864],{"class":853},[419,875,876,879,881,883,885,888],{"class":554,"line":199},[419,877,878],{"class":820},"    :",[419,880,784],{"class":830},[419,882,834],{"class":820},[419,884,837],{"class":820},[419,886,887],{"class":820},"form.errors.email",[419,889,843],{"class":820},[419,891,892],{"class":554,"line":203},[419,893,894],{"class":820},"\u002F>\n",[362,896,897,898,901],{},"For client rules, import the component from ",[366,899,900],{},"bitboss-ui\u002Fvalidated",":",[545,903,905],{"className":811,"code":904,"language":813,"meta":372,"style":372},"\u003Cscript setup lang=\"ts\">\nimport { BbForm, BbTextInput } from 'bitboss-ui\u002Fvalidated';\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n    \u003CBbForm @submit=\"save\">\n        \u003CBbTextInput v-model=\"form.email\" label=\"Email\" rules=\"required|email\" \u002F>\n    \u003C\u002FBbForm>\n\u003C\u002Ftemplate>\n",[366,906,907,928,946,955,959,967,991,1028,1037],{"__ignoreMap":372},[419,908,909,911,914,917,920,922,925],{"class":554,"line":131},[419,910,821],{"class":820},[419,912,913],{"class":824},"script",[419,915,916],{"class":830}," setup",[419,918,919],{"class":830}," lang",[419,921,834],{"class":820},[419,923,924],{"class":853},"\"ts\"",[419,926,927],{"class":820},">\n",[419,929,930,934,937,940,943],{"class":554,"line":135},[419,931,933],{"class":932},"sHUrx","import",[419,935,936],{"class":820}," { BbForm, BbTextInput } ",[419,938,939],{"class":932},"from",[419,941,942],{"class":853}," 'bitboss-ui\u002Fvalidated'",[419,944,945],{"class":820},";\n",[419,947,948,951,953],{"class":554,"line":157},[419,949,950],{"class":820},"\u003C\u002F",[419,952,913],{"class":824},[419,954,927],{"class":820},[419,956,957],{"class":554,"line":161},[419,958,635],{"emptyLinePlaceholder":634},[419,960,961,963,965],{"class":554,"line":165},[419,962,821],{"class":820},[419,964,370],{"class":824},[419,966,927],{"class":820},[419,968,969,972,974,977,980,982,984,987,989],{"class":554,"line":199},[419,970,971],{"class":820},"    \u003C",[419,973,197],{"class":824},[419,975,976],{"class":820}," @",[419,978,979],{"class":830},"submit",[419,981,834],{"class":820},[419,983,837],{"class":820},[419,985,986],{"class":820},"save",[419,988,837],{"class":820},[419,990,927],{"class":820},[419,992,993,996,998,1001,1003,1005,1007,1009,1012,1014,1017,1020,1022,1025],{"class":554,"line":203},[419,994,995],{"class":820},"        \u003C",[419,997,213],{"class":824},[419,999,1000],{"class":830}," v-model",[419,1002,834],{"class":820},[419,1004,837],{"class":820},[419,1006,840],{"class":820},[419,1008,837],{"class":820},[419,1010,1011],{"class":830}," label",[419,1013,834],{"class":820},[419,1015,1016],{"class":853},"\"Email\"",[419,1018,1019],{"class":830}," rules",[419,1021,834],{"class":820},[419,1023,1024],{"class":853},"\"required|email\"",[419,1026,1027],{"class":820}," \u002F>\n",[419,1029,1030,1033,1035],{"class":554,"line":207},[419,1031,1032],{"class":820},"    \u003C\u002F",[419,1034,197],{"class":824},[419,1036,927],{"class":820},[419,1038,1039,1041,1043],{"class":554,"line":211},[419,1040,950],{"class":820},[419,1042,370],{"class":824},[419,1044,927],{"class":820},[362,1046,1047,1048,1050,1051,1055],{},"Your ",[366,1049,784],{}," merge with rule messages. ",[380,1052,1053],{"href":44},[366,1054,197],{}," has\nthe full setup.",[415,1057,1059],{"id":1058},"states",[419,1060,1061],{},"Clearable, loading, disabled and readonly",[362,1063,1064],{},"Four flags change what the field lets you do, and only two of them stop\nanything.",[434,1066],{"name":1067},"BbTextInput\u002FStates",[362,1069,1070,1073,1074,1076,1077,1080,1081,1084,1085,1088],{},[366,1071,1072],{},"clearable"," emits ",[366,1075,446],{}," and restores focus. ",[366,1078,1079],{},"loading"," only shows status; it\ndoes not lock the field. ",[366,1082,1083],{},"disabled"," removes interaction, while ",[366,1086,1087],{},"readonly"," keeps\nthe value focusable and copyable.",[415,1090,1092],{"id":1091},"affixes",[419,1093,1094],{},"Icons and affixes",[362,1096,1097,1098,610,1101,1104,1105,610,1108,1111,1112,680,1115,1118],{},"The slots ring the field from the value outward. ",[366,1099,1100],{},"prefix",[366,1102,1103],{},"suffix"," hug the\ntyped text, ",[366,1106,1107],{},"prepend",[366,1109,1110],{},"append"," sit inside the chrome, ",[366,1113,1114],{},"prepend-outer",[366,1116,1117],{},"append-outer"," sit beside the field entirely.",[434,1120],{"name":1121},"BbTextInput\u002FAffixes",[362,1123,1124,1125,1127],{},"Icons in the inner positions are decorative. Put interactive content in\n",[366,1126,1117],{},", outside the field chrome.",[362,1129,1130,1131,1137,1138,1140,1141,1143,1144,432],{},"One position is contested. The append slot shows exactly one thing, by priority:\n",[710,1132,1133,1134],{},"clear button → spinner → error or warning icon → your ",[366,1135,1136],{},"append:icon",". An\n",[366,1139,1136],{}," on a field that is also ",[366,1142,1072],{}," or validated disappears\nexactly when the field gets interesting. Put anything that must stay visible in\n",[366,1145,1117],{},[415,1147,1149],{"id":1148},"layout",[419,1150,1151],{},"Density and layout",[362,1153,1154,1157],{},[366,1155,1156],{},"compact"," reduces the control height. Use one density across a form.",[362,1159,1160,1163,1164,1167,1168,1171,1172,1175],{},[366,1161,1162],{},"direction"," puts the label beside the field instead of above it.\n",[366,1165,1166],{},"direction=\"horizontal\""," splits the row 50\u002F50, and two space-separated tokens\nread as a ratio, so ",[366,1169,1170],{},"\"xx xxxxxx\""," gives a quarter to the label. ",[366,1173,1174],{},"reverse"," swaps\nthe two columns.",[434,1177],{"name":1178},"BbTextInput\u002FLayout",[362,1180,1181,1183,1184,1187,1188,1190,1191,1198,1199,1201,1202,1204],{},[366,1182,1162],{}," applies only while the ",[710,1185,1186],{},"resolved"," label mode is ",[366,1189,511],{},", which\nis the library default. ",[380,1192,1194,610,1196],{"href":1193},"#label",[366,1195,515],{},[366,1197,519],{}," put the label inside\nthe field, force the vertical layout, and ignore ",[366,1200,1162],{}," without a warning.\nCheck ",[366,1203,529],{}," before concluding the prop is broken.",[473,1206,1208],{"title":1207},"input wrapper classes",[362,1209,1210,1211,1214,1215,1218,1219,1222,1223,1226,1227,432],{},"Selectors on ",[366,1212,1213],{},".bb-common-input-inner-container*"," move to\n",[366,1216,1217],{},".common-input-wrapper--*",". The layout class\n",[366,1220,1221],{},"bb-base-input-container__layout--hidden-label"," is gone as well: it always\nappeared on exactly the same condition as ",[366,1224,1225],{},"--reverse",", and nothing in the\nlibrary ever painted it. Target ",[366,1228,1225],{},[1230,1231,1232],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .suds8, html code.shiki .suds8{--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sne4z, html code.shiki .sne4z{--shiki-default:#024C1A;--shiki-dark:#72F088}html pre.shiki code .s-5SL, html code.shiki .s-5SL{--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .sT6z2, html code.shiki .sT6z2{--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .sHUrx, html code.shiki .sHUrx{--shiki-default:#A0111F;--shiki-dark:#FF9492}",{"title":372,"searchDepth":157,"depth":157,"links":1234},[1235,1236,1237,1238,1239,1240,1241,1242,1243],{"id":417,"depth":135,"text":421},{"id":427,"depth":135,"text":502},{"id":574,"depth":135,"text":577},{"id":687,"depth":135,"text":690},{"id":738,"depth":135,"text":741},{"id":776,"depth":135,"text":779},{"id":1058,"depth":135,"text":1061},{"id":1091,"depth":135,"text":1094},{"id":1148,"depth":135,"text":1151},"The single-line text field, and the chrome every other input in the family shares.","md",{},[1248,1249,1250,1251,1252,1253,1254,1255,1256],{"id":417,"title":421},{"id":427,"title":502},{"id":574,"title":577},{"id":687,"title":690},{"id":738,"title":741},{"id":776,"title":779},{"id":1058,"title":1061},{"id":1091,"title":1094},{"id":1148,"title":1151},{"title":213,"description":1244},"components\u002Fbb-text-input","pezp-fM3sCVgpThHwKxe6nCJUv35xeS7Rd1N-2Bfj60",{"name":213,"slug":1261,"group":179,"description":1262,"entrypoint":1263,"docs":1264,"props":1267,"models":1557,"events":1560,"slots":1601,"exposed":1624,"pt":1625,"validated":1671,"migration":1686},"bb-text-input","Captures single-line text values.","bitboss-ui",{"contract":1265,"source":1266},"ai\u002FBbTextInput.md","ai\u002Fsource\u002FBbTextInput.md",[1268,1273,1276,1280,1285,1288,1291,1295,1298,1302,1306,1310,1314,1318,1321,1323,1328,1332,1337,1341,1344,1348,1351,1354,1357,1360,1363,1367,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1539,1542,1544,1549,1554],{"name":1136,"type":1269,"required":1270,"default":352,"description":1271,"note":1272,"demo":1091},"string | undefined",false,"Name of the icon to be added at the end of the input.","The append position shows one thing at a time, by priority: clear button, then spinner, then the error or warning icon, then this. On a `clearable` or validated field it disappears exactly when the field gets interesting — put anything that must stay visible in `append-outer`.",{"name":651,"type":1269,"required":1270,"default":352,"description":1274,"note":1275,"demo":574},"Guides to the browser as to the type of information expected in the field.","Set it on every field in an auth or checkout flow. Search and filter boxes need `autocomplete=\"off\"` just as much: they are text inputs on a page that has seen a login, so the browser offers a saved email over the results being filtered.",{"name":489,"type":1277,"required":1270,"default":352,"description":1278,"note":1279,"demo":417},"Booleanish | undefined","Sets autofocus on page load.","The replacement for the template-ref API v3 removed: there is no exposed `focus()` \u002F `blur()` \u002F `select()`, and a leftover call is `undefined` at runtime rather than a compile error. Use at most one per view, and reach the native `\u003Cinput>` by `id` for anything more.",{"name":1072,"type":1281,"required":1270,"default":1282,"description":1283,"note":1284,"demo":1058},"boolean | undefined","false","Displays a clear button when the input has a value and is being interacted with.","There is no `clear` event — the button emits `null` through the model, so watch the model instead. Suppressed on `disabled` and `readonly` fields, and never worth rebuilding in an `append` slot.",{"name":1156,"type":1281,"required":1270,"default":1282,"description":1286,"note":1287,"demo":1148},"Displays the component in a compact version.","A property of a view, not of a field. Two densities in one form read as a seam.",{"name":747,"type":1269,"required":1270,"default":352,"description":1289,"note":1290,"demo":738},"Descriptive text displayed below the label and above the input. Unlike the hint it is always\nvisible, and it is linked to the input via `aria-describedby` (after any\n`errors` \u002F `warnings`, before the `hint`).","Always visible, and read before typing — the place for an instruction. `hint` is the one that speaks while the field has focus.",{"name":1162,"type":1292,"required":1270,"default":352,"description":1293,"note":1294,"demo":1148},"InputDirection | undefined","Direction of the layout of the component. Can either be a predefined value or a\npattern separated by a space like `xx xxxxx`.","Applies only while the resolved label mode is `outside`. `floating` and `inside` embed the label in the field and force the vertical layout, ignoring this silently — check `defaultInputLabelMode` before concluding the prop is broken.",{"name":1083,"type":1281,"required":1270,"default":1282,"description":1296,"note":1297,"demo":1058},"Disables the component.","Blocks the keyboard too, so a disabled value is unreachable for someone navigating that way. Prefer `readonly` for derived or provisioned values.",{"name":1299,"type":1281,"required":1270,"default":1282,"description":1300,"note":1301,"demo":687},"emitMasked","Emits the masked value of the input.","Off by default, so the model holds the digits while the field shows the separators. Turn it on when the formatted string is the value you store — and do not strip formatting server-side that was never sent.",{"name":784,"type":1303,"required":1270,"default":352,"description":1304,"note":1305,"demo":776},"string | string[] | undefined","Can be a string or an array of string containing the messages to display.\nThey render in an `aria-live=\"polite\"` region (announced when they appear)\nand, while the list is non-empty, are referenced FIRST from the control's\n`aria-describedby`, so the reason the field is invalid is re-read whenever\nthe control regains focus.","A non-empty value implies the error state, so `has-errors` is only for when the message lives elsewhere. Rendered in an `aria-live` region and referenced first from `aria-describedby`, so it is announced on change and re-read on focus.",{"name":1307,"type":1281,"required":1270,"default":1282,"description":1308,"note":1309,"demo":776},"hasErrors","Define if the component should be in an error state.\nIt usually attaches a CSS class for styling purposes.","Sets `aria-invalid` and the error chrome without a message — for a field whose error is reported by a form-level summary.",{"name":1311,"type":1281,"required":1270,"default":1282,"description":1312,"note":1313,"demo":776},"hasWarnings","Define if the component should be in a warning state.\nSame chrome as errors with `--bb-warn`; errors take priority.","The warning counterpart of `has-errors`: amber chrome, no `aria-invalid`. Errors win when both states are set.",{"name":1315,"type":1281,"required":1270,"default":1282,"description":1316,"note":1317,"demo":427},"hideLabel","Visually hides the label of the input while maintaining accessibility.","Keeps the accessible name and removes only the visible text. It is the answer for a search box that shows just a placeholder; omitting `label` is not the same thing and never is.",{"name":755,"type":1269,"required":1270,"default":352,"description":1319,"note":1320,"demo":738},"Text box to be displayed near the input, usually to indicate instructions.","Shown while the field has focus, unless `persistent-hint` keeps it. A form where every field carries permanent text below it is a form nobody reads.",{"name":470,"type":1269,"required":1270,"default":352,"description":1322,"note":352,"demo":352},"The identifier of the component.",{"name":1324,"type":1325,"required":1270,"default":352,"description":1326,"note":1327,"demo":574},"inputMode","\"text\" | \"none\" | \"search\" | \"email\" | \"url\" | \"tel\" | \"numeric\" | \"decimal\" | undefined","The inputmode of the input.","Steers the mobile keyboard independently of `type` — how a masked code field stays `type=\"text\"` and still gets a number pad.",{"name":427,"type":1329,"required":634,"default":352,"description":1330,"note":1331,"demo":417},"string","Text content of the label of the element.","Required, and display and accessibility only: it does not set the `name` attribute. Hide it with `hide-label` rather than dropping it.",{"name":1333,"type":1334,"required":1270,"default":352,"description":1335,"note":1336,"demo":427},"labelMode","\"outside\" | \"floating\" | \"inside\" | undefined","Label rendering mode.","A bare `floating` attribute is not a prop and never was — it falls through `$attrs` and does nothing. The spelling is `label-mode=\"floating\"`. Unset, the value comes from `defaultInputLabelMode` in the plugin config, so a project can float every field without touching call sites.",{"name":1338,"type":1339,"required":1270,"default":352,"description":1340,"note":352,"demo":352},"labelPosition","\"left\" | \"center\" | \"right\" | undefined","Sets the text alignment of the label.",{"name":1079,"type":1281,"required":1270,"default":1282,"description":1342,"note":1343,"demo":1058},"Sets the component in a loading state, usually triggering some visual styles.","Visual only: the field stays editable. If the value must not change while an async check runs, write that guard yourself and tag requests so a stale response cannot overwrite a newer one.",{"name":687,"type":1345,"required":1270,"default":352,"description":1346,"note":1347,"demo":687},"MaskInputOptions | undefined","The mask to be applied to the input.\nPlease visit https:\u002F\u002Fbeholdr.github.io\u002Fmaska\u002Fv3 for syntax examples.","A [maska](https:\u002F\u002Fbeholdr.github.io\u002Fmaska\u002Fv3) config, live-reactive — changing the options reformats the current value. Masks format, they do not validate: a complete-but-wrong value still needs an error.",{"name":1349,"type":442,"required":634,"default":352,"description":1350,"note":352,"demo":352},"modelValue","Used by v-model.",{"name":463,"type":1269,"required":1270,"default":352,"description":1352,"note":1353,"demo":417},"Defines the name of the input.","Unset, the rendered `\u003Cinput>` carries no name at all, so a native form post or a `FormData` read drops the value silently. `label` does not fill this in.",{"name":1355,"type":1281,"required":1270,"default":1282,"description":1356,"note":352,"demo":352},"persistentHint","Keeps the hint displayed.",{"name":1358,"type":1269,"required":1270,"default":352,"description":1359,"note":352,"demo":352},"placeholder","String displayed when there's no data.",{"name":1361,"type":1269,"required":1270,"default":352,"description":1362,"note":352,"demo":352},"prepend:icon","Name of the icon to be added at the start of the input.",{"name":1364,"type":1365,"required":1270,"default":352,"description":1366,"note":352,"demo":352},"pt","PtMap\u003CTextControlPtPart, FormControlPtState> | undefined","Passthrough, object form: `{ box: '…', 'box:errors': '…' }` — the same\nkeys as the `pt:*` attributes without the prefix. See the `pt:\u003Cpart>` row.",{"name":1368,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:box","PtValue | undefined",{"name":1371,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:box:disabled",{"name":1373,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:box:errors",{"name":1375,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:box:has-value",{"name":1377,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:box:loading",{"name":1379,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:box:readonly",{"name":1381,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:box:warnings",{"name":1383,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:clear",{"name":1385,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:clear:disabled",{"name":1387,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:clear:errors",{"name":1389,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:clear:has-value",{"name":1391,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:clear:loading",{"name":1393,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:clear:readonly",{"name":1395,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:clear:warnings",{"name":1397,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:description",{"name":1399,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:description:disabled",{"name":1401,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:description:errors",{"name":1403,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:description:has-value",{"name":1405,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:description:loading",{"name":1407,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:description:readonly",{"name":1409,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:description:warnings",{"name":1411,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:hint",{"name":1413,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:hint:disabled",{"name":1415,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:hint:errors",{"name":1417,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:hint:has-value",{"name":1419,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:hint:loading",{"name":1421,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:hint:readonly",{"name":1423,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:hint:warnings",{"name":1425,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:icon",{"name":1427,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:icon:disabled",{"name":1429,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:icon:errors",{"name":1431,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:icon:has-value",{"name":1433,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:icon:loading",{"name":1435,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:icon:readonly",{"name":1437,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:icon:warnings",{"name":1439,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:input",{"name":1441,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:input:disabled",{"name":1443,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:input:errors",{"name":1445,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:input:has-value",{"name":1447,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:input:loading",{"name":1449,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:input:readonly",{"name":1451,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:input:warnings",{"name":1453,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:label",{"name":1455,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:label:disabled",{"name":1457,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:label:errors",{"name":1459,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:label:has-value",{"name":1461,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:label:loading",{"name":1463,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:label:readonly",{"name":1465,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:label:warnings",{"name":1467,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:message",{"name":1469,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:message:disabled",{"name":1471,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:message:errors",{"name":1473,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:message:has-value",{"name":1475,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:message:loading",{"name":1477,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:message:readonly",{"name":1479,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:message:warnings",{"name":1481,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:prefix",{"name":1483,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:prefix:disabled",{"name":1485,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:prefix:errors",{"name":1487,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:prefix:has-value",{"name":1489,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:prefix:loading",{"name":1491,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:prefix:readonly",{"name":1493,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:prefix:warnings",{"name":1495,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:root",{"name":1497,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:root:disabled",{"name":1499,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:root:errors",{"name":1501,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:root:has-value",{"name":1503,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:root:loading",{"name":1505,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:root:readonly",{"name":1507,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:root:warnings",{"name":1509,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:spinner",{"name":1511,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:spinner:disabled",{"name":1513,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:spinner:errors",{"name":1515,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:spinner:has-value",{"name":1517,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:spinner:loading",{"name":1519,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:spinner:readonly",{"name":1521,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:spinner:warnings",{"name":1523,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:suffix",{"name":1525,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:suffix:disabled",{"name":1527,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:suffix:errors",{"name":1529,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:suffix:has-value",{"name":1531,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:suffix:loading",{"name":1533,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:suffix:readonly",{"name":1535,"type":1369,"required":1270,"default":352,"description":352,"note":352,"demo":352},"pt:suffix:warnings",{"name":1087,"type":1281,"required":1270,"default":1282,"description":1537,"note":1538,"demo":1058},"Sets the input in a readonly state.","Keeps the value focusable, selectable and copyable while refusing edits — the honest choice for a value the user did not set but may need to read or copy.",{"name":804,"type":1281,"required":1270,"default":1282,"description":1540,"note":1541,"demo":776},"Sets the input as required.","Forwards to the native input for the browser's own validation. It does not produce a message: `errors` still owns that.",{"name":1174,"type":1281,"required":1270,"default":1282,"description":1543,"note":352,"demo":352},"Reverses the layout. Applicable in every direction the order of the label and\nthe input is swapped.",{"name":574,"type":1545,"required":1270,"default":1546,"description":1547,"note":1548,"demo":574},"\"text\" | \"search\" | \"email\" | \"url\" | \"tel\" | \"password\" | undefined","\"text\"","Type of the input. Restricted to the textual input types this component\nsupports — use `BbNumberInput` for numbers and `BbDatePickerInput` for dates.","Narrowed in v3 to the text-like types. `type=\"number\"` and `type=\"date\"` no longer compile — those values move to `BbNumberInput` and `BbDatePickerInput`. There is no `revealable`: a password toggle is a `type` that changes plus a button in `#append`.",{"name":1550,"type":1551,"required":1270,"default":1552,"description":1553,"note":352,"demo":352},"variant","InputVariantType | undefined","'outline'","Visual variant of the field box — the same names and tokens as the\n`BbButton` variants. Colours only: height, padding and border width are\nidentical across variants, so a form never reflows when one changes.\n`'ghost'` has no border in any state (errors and warnings show through\nthe icon and the messages); every variant keeps the focus ring.\nRegister extra names with the plugin's `inputVariants` option.",{"name":788,"type":1303,"required":1270,"default":352,"description":1555,"note":1556,"demo":776},"Warning messages to display beneath the field, in their own `aria-live`\nregion and amber (`--bb-text-warn`). A string or array; a non-empty list\nimplies the warning state. Errors suppress warnings when both are set.\nWhile displayed they are also referenced from the control's\n`aria-describedby`, after any errors and before the description\u002Fhint.","The amber channel, for a value that is accepted and still worth a second look. Unlike `errors` it does not set `aria-invalid`, and it is suppressed entirely when the field also has errors.",[1558],{"name":1349,"type":442,"note":1559,"demo":417},"`string | null`: an emptied field emits `null`, never `''`. Write `value ?? ''` when feeding an API that insists on a string.",[1561,1564,1568,1571,1574,1577,1580,1583,1586,1589,1592,1595,1598],{"name":1562,"signature":1563,"description":352,"note":352,"demo":352},"blur","(event: \"blur\", event: FocusEvent): void",{"name":1565,"signature":1566,"description":352,"note":1567,"demo":352},"change","(event: \"change\", event: Event): void","Fires on commit — blur or Enter — which makes it the right hook for an expensive side effect. `input` fires on every keystroke.",{"name":1569,"signature":1570,"description":352,"note":352,"demo":352},"click","(event: \"click\", event: MouseEvent): void",{"name":1572,"signature":1573,"description":352,"note":352,"demo":352},"compositionend","(event: \"compositionend\", event: CompositionEvent): void",{"name":1575,"signature":1576,"description":352,"note":352,"demo":352},"compositionstart","(event: \"compositionstart\", event: CompositionEvent): void",{"name":1578,"signature":1579,"description":352,"note":352,"demo":352},"focus","(event: \"focus\", event: FocusEvent): void",{"name":1581,"signature":1582,"description":352,"note":352,"demo":352},"input","(event: \"input\", event: Event): void",{"name":1584,"signature":1585,"description":352,"note":352,"demo":352},"keydown","(event: \"keydown\", event: KeyboardEvent): void",{"name":1587,"signature":1588,"description":352,"note":352,"demo":352},"keyup","(event: \"keyup\", event: KeyboardEvent): void",{"name":1590,"signature":1591,"description":352,"note":352,"demo":352},"mousedown","(event: \"mousedown\", event: MouseEvent): void",{"name":1593,"signature":1594,"description":352,"note":352,"demo":352},"mouseup","(event: \"mouseup\", event: MouseEvent): void",{"name":1596,"signature":1597,"description":352,"note":352,"demo":352},"paste","(event: \"paste\", event: ClipboardEvent): void",{"name":1599,"signature":1600,"description":352,"note":352,"demo":352},"update:modelValue","(event: \"update:modelValue\", value: string | null): void",[1602,1605,1608,1611,1615,1618,1620,1622],{"name":1110,"type":1603,"description":1604,"note":352,"demo":352},"object","Content rendered after the text input, at the end of the field box.",{"name":1117,"type":1603,"description":1606,"note":1607,"demo":1091},"Content rendered after the entire text input control, outside the input chrome.","Outside the field chrome, and the only affix position that may hold something interactive.",{"name":747,"type":1609,"description":1610,"note":352,"demo":352},"BbTextInputDescriptionSlotProps","Replaces the description text. Provided alone (no `description` prop) it still\nrenders the description region and wires it into `aria-describedby`.",{"name":427,"type":1612,"description":1613,"note":1614,"demo":427},"BbTextInputLabelSlotProps","Replaces the default label text rendered above the input.","Receives `{ text, hasErrors, hasWarnings }`, so a custom label can react to the field state. Rarely needed — a required marker is what `BbAsterisk` and the `requiredAsterisk` plugin option are for.",{"name":1100,"type":1603,"description":1616,"note":1617,"demo":1091},"Inline content rendered at the start of the input field area, before the typed text.","Short inline text hugging the value. Affixes never take focus, so a click here lands in the input — which makes this the wrong home for a button and `append-outer` the right one.",{"name":1107,"type":1603,"description":1619,"note":352,"demo":352},"Content rendered before the text input, at the start of the field box.",{"name":1114,"type":1603,"description":1621,"note":352,"demo":352},"Content rendered before the entire text input control, outside the input chrome.",{"name":1103,"type":1603,"description":1623,"note":352,"demo":1091},"Inline content rendered at the end of the input field area, after the typed text.",[],{"parts":1626,"states":1657},[1627,1630,1632,1634,1637,1639,1642,1644,1647,1650,1652,1654],{"name":1628,"description":1629},"root","The field's outer container: the label, the box and the lines under it.",{"name":427,"description":1631},"The label text above the box (the `label` prop).",{"name":747,"description":1633},"The muted line under the label (the `description` prop).",{"name":1635,"description":1636},"message","The errors \u002F warnings line under the box. A node of its own: it can show at the same time as `hint`.",{"name":755,"description":1638},"The helper line (the `hint` prop), shown on focus, or always with `persistent-hint`.",{"name":1640,"description":1641},"box","The bordered box around the input — border, background and radius; the `variant` paints here.",{"name":1581,"description":1643},"The native input element inside the box.",{"name":1645,"description":1646},"icon","The content icons, prepend and append — a broadcast. Chrome (the clear ✕, a chevron, the error \u002F warning glyph) is never in it.",{"name":1648,"description":1649},"spinner","The spinner inside the box while `loading`.",{"name":1100,"description":1651},"The `#prefix` slot's wrapper, inside the box before the input.",{"name":1103,"description":1653},"The `#suffix` slot's wrapper, inside the box after the input.",{"name":1655,"description":1656},"clear","The ✕ that empties this control (`clearable`) — one node, never a chip's own ✕.",[1658,1660,1662,1665,1667,1669],{"name":1083,"description":1659},"Component-wide: the control is `disabled`.",{"name":784,"description":1661},"Component-wide: the control is in its error state (`errors` \u002F `has-errors`, or its validation) — the message line and the box turn red.",{"name":1663,"description":1664},"has-value","Component-wide: the control holds a value, by its own rule (`0` counts on `BbNumberInput`, `''` on `BbColorInput`).",{"name":1079,"description":1666},"Component-wide: `loading` is on; the box shows its `spinner`.",{"name":1087,"description":1668},"Component-wide: the control is `readonly` — shown, focusable, not editable.",{"name":788,"description":1670},"Component-wide: the control is in its warning state (`warnings` \u002F `has-warnings`) and not in an error state — errors win, so the two are never on together.",{"entrypoint":900,"props":1672},[1673,1678,1683],{"name":1674,"type":1675,"required":1270,"default":352,"description":1676,"note":1677,"demo":352},"rules","RuleExpression\u003Cstring | null>","vee-validate rules for this field.","Only on the `bitboss-ui\u002Fvalidated` build of this component, inside a `BbForm`. Whatever you pass to the base `errors` prop is merged with the rule messages rather than replaced, so server errors and client rules show together.",{"name":1679,"type":1680,"required":1270,"default":1681,"description":1682,"note":352,"demo":352},"validateOn","ValidateTiming[] | undefined","[\"blur\"]","Which interactions trigger validation (see\n`ValidatedFieldProps.validateOn` for the timing vocabulary).",{"name":1684,"type":1269,"required":1270,"default":352,"description":1685,"note":352,"demo":352},"vid","Explicit vee-validate field name. **Usually omit it** — the name is derived\nautomatically from the control's `label`\u002F`legend`. Only set `vid` when that\nderivation wouldn't be unique (e.g. v-for rows, or array `v-model`s that\nshare a label). A control with no `label`\u002F`legend` (like `BbDropzone`) must\nprovide it.",{"removed":1687,"renamed":1694},[1688],{"name":1689,"replacedBy":1311,"since":1690,"migration":1691,"silent":634,"fix":1692},"hasWarning","3.0.0-unreleased","ai\u002Fguides\u002Fmigration\u002Fv2-to-v3.md",{"kind":1693},"rename",[1695],{"from":1689,"to":1311,"since":1690,"migration":1691,"fix":1696},{"kind":1693},1790005166807]