[{"data":1,"prerenderedAt":1266},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":134,"api-none":377,"page-en-\u002Fcomponents\u002Fbb-textarea":378,"pt-showcase-BbTextarea":945},{"\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-calendar":20,"\u002Fen\u002Fcomponents\u002Fbb-calendar":21,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":22,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":23,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":24,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":25,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":26,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":27,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":28,"\u002Fen\u002Fcomponents\u002Fbb-color-input":29,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":30,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":31,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":32,"\u002Fen\u002Fcomponents\u002Fbb-confirm":33,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":34,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":35,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":36,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":37,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":38,"\u002Fen\u002Fcomponents\u002Fbb-dialog":39,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":40,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":41,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":42,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":43,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":44,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":45,"\u002Fit\u002Fcomponenti\u002Fbb-form":46,"\u002Fen\u002Fcomponents\u002Fbb-form":47,"\u002Fit\u002Fcomponenti\u002Fbb-hover-card":48,"\u002Fen\u002Fcomponents\u002Fbb-hover-card":49,"\u002Fit\u002Fcomponenti\u002Fbb-icon":50,"\u002Fen\u002Fcomponents\u002Fbb-icon":51,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":52,"\u002Fen\u002Fcomponents\u002Fbb-indicator":53,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":54,"\u002Fen\u002Fcomponents\u002Fbb-number-input":55,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":56,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":57,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":58,"\u002Fen\u002Fcomponents\u002Fbb-pagination":59,"\u002Fit\u002Fcomponenti\u002Fbb-popover":60,"\u002Fen\u002Fcomponents\u002Fbb-popover":61,"\u002Fit\u002Fcomponenti\u002Fbb-progress":62,"\u002Fen\u002Fcomponents\u002Fbb-progress":63,"\u002Fit\u002Fcomponenti\u002Fbb-radio":64,"\u002Fen\u002Fcomponents\u002Fbb-radio":65,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":66,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":67,"\u002Fit\u002Fcomponenti\u002Fbb-rating":68,"\u002Fen\u002Fcomponents\u002Fbb-rating":69,"\u002Fit\u002Fcomponenti\u002Fbb-select":70,"\u002Fen\u002Fcomponents\u002Fbb-select":71,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":72,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":73,"\u002Fit\u002Fcomponenti\u002Fbb-slider":74,"\u002Fen\u002Fcomponents\u002Fbb-slider":75,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":76,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":77,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":78,"\u002Fen\u002Fcomponents\u002Fbb-spinner":79,"\u002Fit\u002Fcomponenti\u002Fbb-switch":80,"\u002Fen\u002Fcomponents\u002Fbb-switch":81,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":82,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":83,"\u002Fit\u002Fcomponenti\u002Fbb-table":84,"\u002Fen\u002Fcomponents\u002Fbb-table":85,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":86,"\u002Fen\u002Fcomponents\u002Fbb-tabs":87,"\u002Fit\u002Fcomponenti\u002Fbb-tag":88,"\u002Fen\u002Fcomponents\u002Fbb-tag":89,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":90,"\u002Fen\u002Fcomponents\u002Fbb-text-input":91,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":92,"\u002Fen\u002Fcomponents\u002Fbb-textarea":93,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":94,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":95,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":96,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":97,"\u002Fit\u002Fcomponenti\u002Fbb-toast":98,"\u002Fen\u002Fcomponents\u002Fbb-toast":99,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":100,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":101,"\u002Fit\u002Fcomponenti\u002Fbb-tree":102,"\u002Fen\u002Fcomponents\u002Fbb-tree":103,"\u002Fit\u002Fguide\u002Fadoption-checklist":104,"\u002Fen\u002Fguides\u002Fadoption-checklist":105,"\u002Fit\u002Fguide\u002Fai-agents":106,"\u002Fen\u002Fguides\u002Fai-agents":107,"\u002Fit\u002Fguide\u002Fcoherence":108,"\u002Fen\u002Fguides\u002Fcoherence":109,"\u002Fit\u002Fguide\u002Fdesign-language":110,"\u002Fen\u002Fguides\u002Fdesign-language":111,"\u002Fit\u002Fguide\u002Fdesign-tokens":112,"\u002Fen\u002Fguides\u002Fdesign-tokens":113,"\u002Fit\u002Fguide\u002Ffetching-data":114,"\u002Fen\u002Fguides\u002Ffetching-data":115,"\u002Fit\u002Fguide\u002Ficons":116,"\u002Fen\u002Fguides\u002Ficons":117,"\u002Fit\u002Fguide\u002Finertia":118,"\u002Fen\u002Fguides\u002Finertia":119,"\u002Fit\u002Fguide\u002Finstallation":120,"\u002Fen\u002Fguides\u002Finstallation":121,"\u002Fit\u002Fguide\u002Fmigration":122,"\u002Fen\u002Fguides\u002Fmigration":123,"\u002Fit\u002Fguide\u002Fnuxt":124,"\u002Fen\u002Fguides\u002Fnuxt":125,"\u002Fit\u002Fguide\u002Foptions-and-items":126,"\u002Fen\u002Fguides\u002Foptions-and-items":127,"\u002Fit\u002Fguide\u002Fpassthrough":128,"\u002Fen\u002Fguides\u002Fpassthrough":129,"\u002Fit\u002Fguide\u002Fpreset-components":130,"\u002Fen\u002Fguides\u002Fpreset-components":131,"\u002Fit\u002Fguide\u002Fvalidated-forms":132,"\u002Fen\u002Fguides\u002Fvalidated-forms":133},"\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-calendar","\u002Fit\u002Fcomponenti\u002Fbb-calendar","\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-hover-card","\u002Fit\u002Fcomponenti\u002Fbb-hover-card","\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\u002Fadoption-checklist","\u002Fit\u002Fguide\u002Fadoption-checklist","\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\u002Fpassthrough","\u002Fit\u002Fguide\u002Fpassthrough","\u002Fen\u002Fguides\u002Fpreset-components","\u002Fit\u002Fguide\u002Fpreset-components","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",[135,150,162,186,198,242,275,311,332,353,365,371],{"label":136,"entries":137},"Getting started",[138,142,146],{"title":139,"path":140,"order":141},"Installation","\u002Fguides\u002Finstallation",1,{"title":143,"path":144,"order":145},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"title":147,"path":148,"order":149},"Adoption checklist","\u002Fguides\u002Fadoption-checklist",3,{"label":151,"entries":152},"Design system",[153,156,159],{"title":154,"path":155,"order":141},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":157,"path":158,"order":145},"Design language","\u002Fguides\u002Fdesign-language",{"title":160,"path":161,"order":149},"Passthrough","\u002Fguides\u002Fpassthrough",{"label":163,"entries":164},"Playbooks",[165,168,171,174,178,182],{"title":166,"path":167,"order":141},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":169,"path":170,"order":145},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":172,"path":173,"order":149},"Coherence","\u002Fguides\u002Fcoherence",{"title":175,"path":176,"order":177},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":179,"path":180,"order":181},"Icons","\u002Fguides\u002Ficons",5,{"title":183,"path":184,"order":185},"Preset components","\u002Fguides\u002Fpreset-components",6,{"label":187,"entries":188},"Ecosystem",[189,192,195],{"title":190,"path":191,"order":141},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":193,"path":194,"order":145},"Nuxt","\u002Fguides\u002Fnuxt",{"title":196,"path":197,"order":149},"AI agents","\u002Fguides\u002Fai-agents",{"label":199,"entries":200},"Inputs",[201,204,207,210,213,216,219,222,226,230,234,238],{"title":202,"path":203,"component":202,"order":141},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":205,"path":206,"component":205,"order":145},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":208,"path":209,"component":208,"order":149},"BbCalendar","\u002Fcomponents\u002Fbb-calendar",{"title":211,"path":212,"component":211,"order":149},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":214,"path":215,"component":214,"order":177},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":217,"path":218,"component":217,"order":181},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":220,"path":221,"component":220,"order":185},"BbForm","\u002Fcomponents\u002Fbb-form",{"title":223,"path":224,"component":223,"order":225},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":227,"path":228,"component":227,"order":229},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":231,"path":232,"component":231,"order":233},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":235,"path":236,"component":235,"order":237},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":239,"path":240,"component":239,"order":241},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":243,"entries":244},"Selection",[245,248,251,254,257,260,263,266,269,272],{"title":246,"path":247,"component":246,"order":141},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":249,"path":250,"component":249,"order":145},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":252,"path":253,"component":252,"order":149},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":255,"path":256,"component":255,"order":177},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":258,"path":259,"component":258,"order":181},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":261,"path":262,"component":261,"order":185},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":264,"path":265,"component":264,"order":225},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":267,"path":268,"component":267,"order":229},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":270,"path":271,"component":270,"order":233},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":273,"path":274,"component":273,"order":237},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":276,"entries":277},"Overlay",[278,281,284,287,290,293,296,299,302,305,308],{"title":279,"path":280,"component":279,"order":141},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":282,"path":283,"component":282,"order":145},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":285,"path":286,"component":285,"order":149},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":288,"path":289,"component":288,"order":177},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":291,"path":292,"component":291,"order":181},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":294,"path":295,"component":294,"order":185},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":297,"path":298,"component":297,"order":225},"BbHoverCard","\u002Fcomponents\u002Fbb-hover-card",{"title":300,"path":301,"component":300,"order":225},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":303,"path":304,"component":303,"order":229},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":306,"path":307,"component":306,"order":233},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":309,"path":310,"component":309,"order":237},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":312,"entries":313},"Navigation",[314,317,320,323,326,329],{"title":315,"path":316,"component":315,"order":141},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":318,"path":319,"component":318,"order":145},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":321,"path":322,"component":321,"order":149},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":324,"path":325,"component":324,"order":177},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":327,"path":328,"component":327,"order":181},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":330,"path":331,"component":330,"order":185},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":333,"entries":334},"Feedback",[335,338,341,344,347,350],{"title":336,"path":337,"component":336,"order":141},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":339,"path":340,"component":339,"order":145},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":342,"path":343,"component":342,"order":149},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":345,"path":346,"component":345,"order":177},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":348,"path":349,"component":348,"order":181},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":351,"path":352,"component":351,"order":185},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":354,"entries":355},"Data Display",[356,359,362],{"title":357,"path":358,"component":357,"order":141},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":360,"path":361,"component":360,"order":145},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":363,"path":364,"component":363,"order":149},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":366,"entries":367},"Layout & Utility",[368],{"title":369,"path":370,"component":369,"order":141},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":372,"entries":373},"Other",[374],{"title":375,"path":376,"component":375,"order":141},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",null,{"id":379,"title":231,"body":380,"component":231,"description":932,"extension":892,"group":199,"meta":933,"navigation":934,"order":233,"path":232,"sections":935,"seo":942,"stem":943,"__hash__":944},"docs_en\u002Fcomponents\u002Fbb-textarea.md",{"type":381,"value":382,"toc":924},"minimark",[383,431,437,440,451,459,476,480,526,545,551,562,565,573,584,594,600,606,609,612,699,734,772,778,781,784,803,809,833,836,839,853,861,867,893,896,903],[384,385,386,394],"when",{},[387,388,389,390,393],"p",{},"Reach for ",[391,392,231],"code",{}," when the text runs to more than one line: a comment, a\nbio, release notes, a support message, a postal address.",[395,396,398],"template",{"v-slot:else":397},"",[399,400,401,410,417,424],"ul",{},[402,403,404,409],"li",{},[405,406,407],"a",{"href":90},[391,408,235],{},", when it is one short string",[402,411,412,416],{},[405,413,414],{"href":54},[391,415,223],{},", when it is a number",[402,418,419,423],{},[405,420,421],{"href":36},[391,422,214],{},", when it is a date",[402,425,426,430],{},[405,427,428],{"href":70},[391,429,261],{},", when the value comes from a known set",[387,432,433,434,436],{},"Also see: ",[405,435,175],{"href":132},".",[387,438,439],{},"Ask whether someone will ever want a second line, not whether the value happens\nto be long today.",[387,441,442,444,445,447,448,450],{},[391,443,231],{}," is ",[391,446,235],{}," with a taller box, and it shares the whole input\nchrome. That vocabulary is documented once, on\n",[405,449,235],{"href":90},". This page covers what is different:\nheight, Enter, and counters.",[452,453,455],"h2",{"id":454},"default",[456,457,458],"span",{},"Default",[387,460,461,462,468,469,475],{},"A ",[405,463,465],{"href":464},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-label",[391,466,467],{},"label"," and a ",[405,470,472],{"href":471},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#model-modelValue",[391,473,474],{},"v-model",", exactly as on a text input.",[477,478],"demo",{"name":479},"BbTextarea\u002FBasic",[387,481,482,483,486,487,490,491,494,495,501,502,505,506,508,509,515,516,486,519,525],{},"Same model contract too: ",[391,484,485],{},"string | null",", and ",[391,488,489],{},"null"," once the field is emptied\n(",[391,492,493],{},"''"," if you set the plugin option\n",[405,496,498],{"href":497},"\u002Fen\u002Fguides\u002Finstallation#options",[391,499,500],{},"formControls.textareaNullValue"," to ",[391,503,504],{},"'string'","). ",[391,507,467],{}," is display and accessibility only, so pass ",[405,510,512],{"href":511},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-name",[391,513,514],{},"name"," whenever\nthe value is submitted natively or read from ",[391,517,518],{},"FormData",[405,520,522],{"href":521},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-id",[391,523,524],{},"id"," to keep\nprerendered markup stable.",[387,527,528,529,532,533,536,537,540,541,544],{},"There is no ",[391,530,531],{},"type"," and no ",[391,534,535],{},"mask"," here. ",[391,538,539],{},"input-mode"," still reaches the\n",[391,542,543],{},"\u003Ctextarea>"," if you need a specific mobile keyboard.",[452,546,548],{"id":547},"sizing",[456,549,550],{},"Rows and auto-grow",[387,552,553,554,557,558,561],{},"Pick ",[391,555,556],{},"rows"," for a fixed box, ",[391,559,560],{},"auto-grow"," to fit the text, or both for a growing\nbox with a floor.",[477,563],{"name":564},"BbTextarea\u002FRowsAndAutoGrow",[387,566,567,572],{},[405,568,570],{"href":569},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-rows",[391,571,556],{}," on its own fixes the visible height: the box is that many lines tall and\nthe content scrolls. There is no resize handle. Choose it when a stable form\nlayout matters more than seeing every line at once.",[387,574,575,580,581,583],{},[405,576,578],{"href":577},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-autoGrow",[391,579,560],{}," on its own drops the handle and grows the field to fit its content,\nanimated through ",[391,582,369],{},". Empty, it is exactly one text input tall, so\nit sits flush in a row of text inputs. Choose it when people should see\neverything they wrote: a composer, a review, a message.",[387,585,586,587,589,590,593],{},"Together, ",[391,588,556],{}," becomes a floor. The field starts at that height, grows past it\nas the content demands, and never shrinks below it. Use it instead of a CSS\n",[391,591,592],{},"min-height",", which fights the growth calculation. With neither prop, the box is\na fixed 150px.",[387,595,596,597,599],{},"The trade-off: ",[391,598,560],{}," moves everything below the field while someone types.\nIn a long form that is a page that will not sit still, so keep it for the field\npeople actually write in.",[452,601,603],{"id":602},"chrome",[456,604,605],{},"The shared field chrome",[387,607,608],{},"Description, hint, errors and warnings work as on BbTextInput.",[477,610],{"name":611},"BbTextarea\u002FFieldChrome",[387,613,614,620,621,627,628,634,635,641,642,648,649,651,652,655,656,660,661,667,668,674,675,681,682,684,685,687,688,691,692,698],{},[405,615,617],{"href":616},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-description",[391,618,619],{},"description"," sits above the field and is read before typing. ",[405,622,624],{"href":623},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-hint",[391,625,626],{},"hint"," appears\nbelow it on focus, and ",[405,629,631],{"href":630},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-persistentHint",[391,632,633],{},"persistent-hint"," keeps it there. ",[405,636,638],{"href":637},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-errors",[391,639,640],{},"errors"," and ",[405,643,645],{"href":644},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-warnings",[391,646,647],{},"warnings","\nare the red and the amber channel, both wired to the ",[391,650,543],{}," through\n",[391,653,654],{},"aria-describedby",". ",[405,657,659],{"href":658},"\u002Fen\u002Fcomponents\u002Fbb-text-input#validation","Errors and\nwarnings"," has the full account,\nincluding ",[405,662,664],{"href":663},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-rules",[391,665,666],{},"rules",",\n",[405,669,671],{"href":670},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-formless",[391,672,673],{},"formless"," and\n",[405,676,678],{"href":677},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-validationLabel",[391,679,680],{},"validation-label",".\nA field joined to a ",[391,683,220],{}," by its ",[391,686,514],{}," is required through\n",[391,689,690],{},"rules=\"required\""," or the schema, not the\n",[405,693,695],{"href":694},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-required",[391,696,697],{},"required"," prop, which is for a\nfield outside a form.",[387,700,701,707,708,707,714,641,720,726,727,655,731,733],{},[405,702,704],{"href":703},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-clearable",[391,705,706],{},"clearable",", ",[405,709,711],{"href":710},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-loading",[391,712,713],{},"loading",[405,715,717],{"href":716},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-disabled",[391,718,719],{},"disabled",[405,721,723],{"href":722},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-readonly",[391,724,725],{},"readonly"," behave as they do on a\n",[405,728,730],{"href":729},"\u002Fen\u002Fcomponents\u002Fbb-text-input#states","text input",[391,732,725],{}," is the useful one\nhere: a long block of terms or generated text is something people select and\ncopy.",[387,735,736,742,743,746,747,674,753,759,760,764,765,768,769,436],{},[405,737,739],{"href":738},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-variant",[391,740,741],{},"variant"," (including the blank ",[391,744,745],{},"none","), ",[405,748,750],{"href":749},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-compact",[391,751,752],{},"compact",[405,754,756],{"href":755},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-labelMode",[391,757,758],{},"label-mode"," work as in ",[405,761,763],{"href":762},"\u002Fen\u002Fcomponents\u002Fbb-text-input#layout","Variants, density and\nlayout",". A ",[391,766,767],{},"floating"," label on a tall box\nis a stronger effect than on one line, so pick the mode for the product, through\n",[391,770,771],{},"defaultInputLabelMode",[452,773,775],{"id":774},"submitting",[456,776,777],{},"Enter is a new line",[387,779,780],{},"In a textarea Enter means \"new line\", and the component makes sure of it: a\nplain Enter stops at the field, so a form never submits on it.",[477,782],{"name":783},"BbTextarea\u002FCommentComposer",[387,785,786,787,790,791,641,797,802],{},"Only a plain Enter is stopped. Every other key bubbles as usual. A\n⌘\u002FCtrl+Enter send shortcut or a ⌘+S bound on the form fires while focus is in\nthis field, and so does a wrapper that closes on Escape. ",[391,788,789],{},"input"," events bubble\ntoo. Still give the action a visible button. The component's own\n",[405,792,794],{"href":793},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#event-keydown",[391,795,796],{},"keydown",[405,798,800],{"href":799},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#event-input",[391,801,789],{}," events fire as well.",[452,804,806],{"id":805},"counter",[456,807,808],{},"Character counters",[387,810,811,812,817,818,821,822,825,826,829,830,832],{},"Add ",[405,813,815],{"href":814},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-counter",[391,816,805],{}," and the field counts\nits characters at the end of the hint row: ",[391,819,820],{},"42",", or ",[391,823,824],{},"42 \u002F 160"," when you also pass\nthe native ",[391,827,828],{},"maxlength",". That attribute reaches the ",[391,831,543],{},", which stops\ninput and cuts a paste at the cap, and the counter reads the same number.",[477,834],{"name":835},"BbTextarea\u002FCounter",[387,837,838],{},"The count turns to body text from 90% of the limit and to the warning colour at\nit. A full field is not an error, so the box does not change. A screen reader\nhears the count as part of the field's description, and a polite live region\nannounces it only near and at the limit, never on every keystroke.",[387,840,841,842,844,845,847,848,852],{},"For a soft limit, keep ",[391,843,805],{}," and leave ",[391,846,828],{}," off: nothing stops the\ntyping, and the overflow goes in ",[405,849,850],{"href":637},[391,851,640],{},". The text\nstays, and the field says what to cut.",[387,854,855,856,860],{},"The rest of the affix ring is the same as on a text input, including the priority\norder of the append icon position. ",[405,857,859],{"href":858},"\u002Fen\u002Fcomponents\u002Fbb-text-input#affixes","Icons and\naffixes"," covers it.",[452,862,864],{"id":863},"layout",[456,865,866],{},"Density and layout",[387,868,869,874,875,878,879,885,886,889,890,436],{},[405,870,872],{"href":871},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-layout",[391,873,863],{}," puts the label beside the box instead of above it:\n",[391,876,877],{},"layout=\"horizontal\""," for a 50\u002F50 split, two space-separated tokens for a\nratio, ",[405,880,882],{"href":881},"\u002Fen\u002Fcomponents\u002Fbb-textarea\u002Fapi#prop-reverse",[391,883,884],{},"reverse"," to swap the columns. The label beside the field keeps a\npanel scannable when one row is four lines tall. Use the same ratio on every\nrow so the boxes line up. Keep it to a wide container: on a phone the box gets\ntoo narrow, so the demo passes a per-breakpoint map,\n",[391,887,888],{},"{ default: 'vertical', md: 'xx xxxxx' }",", and stacks below ",[391,891,892],{},"md",[477,894],{"name":895},"BbTextarea\u002FLayout",[387,897,898,902],{},[405,899,900],{"href":749},[391,901,752],{}," tightens each row, as in the panel above. Set it per view, not per field.",[387,904,905,906,908,909,655,912,641,914,917,918,920,921,923],{},"As everywhere in the family, ",[391,907,863],{}," applies only while the resolved label\nmode is ",[391,910,911],{},"outside",[391,913,767],{},[391,915,916],{},"inside"," embed the label in the field and\nalways stack vertically. The resolved mode is ",[391,919,758],{},", or\n",[391,922,771],{}," when the prop is unset.",{"title":397,"searchDepth":149,"depth":149,"links":925},[926,927,928,929,930,931],{"id":454,"depth":145,"text":458},{"id":547,"depth":145,"text":550},{"id":602,"depth":145,"text":605},{"id":774,"depth":145,"text":777},{"id":805,"depth":145,"text":808},{"id":863,"depth":145,"text":866},"The multi-line text field: fixed rows, auto-growing height and character limits.",{},true,[936,937,938,939,940,941],{"id":454,"title":458},{"id":547,"title":550},{"id":602,"title":605},{"id":774,"title":777},{"id":805,"title":808},{"id":863,"title":866},{"title":231,"description":932},"components\u002Fbb-textarea","779EEckSqPJUfXnSCi2XRpsJxPYWE-tvyJmGK0GIrKg",{"name":231,"slug":946,"group":199,"description":947,"entrypoint":948,"docs":949,"props":952,"models":1084,"events":1087,"slots":1133,"exposed":1160,"pt":1161,"validated":377,"migration":1224},"bb-textarea","Captures multi-line text values.","bitboss-ui",{"contract":950,"source":951},"ai\u002FBbTextarea.md","ai\u002Fsource\u002FBbTextarea.md",[953,958,961,965,971,974,976,978,980,982,986,988,991,994,997,999,1001,1005,1009,1012,1017,1021,1025,1028,1032,1035,1039,1042,1045,1048,1052,1057,1059,1061,1063,1067,1071,1074,1078,1082],{"name":954,"type":955,"required":956,"default":377,"description":957,"note":377,"demo":377},"append:icon","string | undefined",false,"Name of the icon to be added at the end of the input.",{"name":959,"type":955,"required":956,"default":377,"description":960,"note":377,"demo":377},"autocomplete","Guides to the browser as to the type of information expected in the field.",{"name":962,"type":963,"required":956,"default":377,"description":964,"note":377,"demo":377},"autofocus","Booleanish | undefined","Focuses the field when it mounts (a dialog already open included), unless the user is typing in another field.",{"name":966,"type":967,"required":956,"default":968,"description":969,"note":970,"demo":547},"autoGrow","boolean | undefined","false","Expands the textarea to match its content. Empty, it is one BbTextInput tall (text on the same line); it never shrinks below that, or below `rows`.","Drops the native resize handle and grows the field to fit its content, animated through `BbSmoothHeight`. Combine it with `rows` instead of a CSS `min-height`: a `min-height` fights the growth calculation, `rows` feeds it.",{"name":706,"type":967,"required":956,"default":968,"description":972,"note":973,"demo":602},"Displays a clear button when the input has a value and is being interacted with.","Same behaviour as on BbTextInput: no `clear` event, the model simply goes `null`.",{"name":752,"type":967,"required":956,"default":968,"description":975,"note":377,"demo":863},"Compact density: the field uses the `-compact` twins of `--bb-input-h`, `--bb-input-py` and `--bb-label-spacing-y`, so a `--bb-input-h` set on the component is ignored while it is on. Size a compact field with `--bb-input-h-compact` (and `--bb-input-py-compact`).",{"name":805,"type":967,"required":956,"default":968,"description":977,"note":377,"demo":377},"Shows a character count at the end of the hint row: `42`, or `42 \u002F 140` with the native `maxlength` (which also stops input). It brightens from 90 % and takes the warning colour at the limit; screen readers hear it only when it crosses 90 % or the limit.",{"name":619,"type":955,"required":956,"default":377,"description":979,"note":377,"demo":602},"Text between the label and the input. Unlike the hint it is always visible; it joins the input's `aria-describedby` after any `errors` \u002F `warnings`, before the `hint`.",{"name":719,"type":967,"required":956,"default":968,"description":981,"note":377,"demo":377},"Disables the component.",{"name":640,"type":983,"required":956,"default":377,"description":984,"note":985,"demo":805},"string | string[] | undefined","Error messages under the field, a string or array, in an `aria-live=\"polite\"` region and first in the control's `aria-describedby`, so they are re-read when it regains focus.","The home for a soft character limit: leave `maxlength` off and say what to cut here. A `suffix` counter is visual only.",{"name":673,"type":967,"required":956,"default":968,"description":987,"note":377,"demo":377},"Keep this control out of the enclosing `BbForm` entirely: not submitted, not dirty, not reset, not validated. For a control that is not form data (a filter, a \"show advanced\" switch).",{"name":989,"type":967,"required":956,"default":968,"description":990,"note":377,"demo":377},"hasErrors","Define if the component should be in an error state. It usually attaches a CSS class for styling purposes.",{"name":992,"type":967,"required":956,"default":968,"description":993,"note":377,"demo":377},"hasWarnings","Define if the component should be in a warning state. Same chrome as errors with `--bb-warn`; errors take priority.",{"name":995,"type":967,"required":956,"default":968,"description":996,"note":377,"demo":377},"hideLabel","Visually hides the label of the input while maintaining accessibility.",{"name":626,"type":955,"required":956,"default":377,"description":998,"note":377,"demo":602},"Text box to be displayed near the input, usually to indicate instructions.",{"name":524,"type":955,"required":956,"default":377,"description":1000,"note":377,"demo":377},"The `id` of the native control; the label's `for` and the description and message ids derive from it. Generated when omitted.",{"name":1002,"type":1003,"required":956,"default":377,"description":1004,"note":377,"demo":377},"inputAlign","FieldCrossAlign | undefined","Vertical position of the control in a side-by-side row; not `inputPosition`, the horizontal one. Omitted, the control's first line meets the label's.",{"name":467,"type":1006,"required":934,"default":377,"description":1007,"note":1008,"demo":454},"string","Text content of the label of the element.","Required, and display and accessibility only: it does not set `name`.",{"name":1010,"type":1003,"required":956,"default":377,"description":1011,"note":377,"demo":377},"labelAlign","Vertical position of the label block in a side-by-side row; not `labelPosition`, the horizontal one. Omitted, the label's first line meets the control's.",{"name":1013,"type":1014,"required":956,"default":377,"description":1015,"note":1016,"demo":602},"labelMode","\"outside\" | \"floating\" | \"inside\" | undefined","Label rendering mode. `'outside'` (default) sits the label above\u002Fbeside the field; `'floating'`\u002F`'inside'` overlay it, like the other text inputs.","Works exactly as on BbTextInput, including the `defaultInputLabelMode` fallback. A bare `floating` attribute is not a prop: write `label-mode=\"floating\"`.",{"name":1018,"type":1019,"required":956,"default":377,"description":1020,"note":377,"demo":377},"labelPosition","\"left\" | \"center\" | \"right\" | undefined","Sets the text alignment of the label.",{"name":863,"type":1022,"required":956,"default":377,"description":1023,"note":1024,"demo":863},"Responsive\u003CFieldLayout> | undefined","How label and input sit together: `'vertical'`, `'horizontal'` (50\u002F50), `'auto'`, `'label-fill'`, `'input-fill'`, a ratio like `'xx xxxxx'`, or a per-breakpoint map (`{ default: 'vertical', md: 'xx xxxxx' }`).","Applies only while the resolved label mode is `outside`; `floating` and `inside` force the vertical layout and ignore it silently. A label beside a four-line box is what makes this component good for settings rows.",{"name":713,"type":967,"required":956,"default":968,"description":1026,"note":1027,"demo":602},"Sets the component in a loading state, usually triggering some visual styles.","Visual only: the field stays editable during an autosave round-trip.",{"name":1029,"type":1030,"required":956,"default":377,"description":1031,"note":377,"demo":377},"modelValue","string | null | undefined","Used by v-model.",{"name":514,"type":955,"required":956,"default":377,"description":1033,"note":1034,"demo":454},"Defines the name of the input.","Unset, the rendered `\u003Ctextarea>` carries no name, so a native form post drops the value silently.",{"name":1036,"type":1037,"required":956,"default":377,"description":1038,"note":377,"demo":377},"nullValue","E | undefined","What the field emits once the user empties it (typing it empty, the clear button): `'null'` emits `null`, `'string'` emits `''`. Unset, the app's `formControls.textareaNullValue` applies (`'null'` by default). Also types the `update:modelValue` payload: with `'string'` it is `string`.",{"name":1040,"type":967,"required":956,"default":968,"description":1041,"note":377,"demo":377},"persistentHint","Keeps the hint displayed.",{"name":1043,"type":955,"required":956,"default":377,"description":1044,"note":377,"demo":377},"placeholder","Text shown while the field is empty.",{"name":1046,"type":955,"required":956,"default":377,"description":1047,"note":377,"demo":377},"prepend:icon","Name of the icon to be added at the start of the input.",{"name":1049,"type":1050,"required":956,"default":377,"description":1051,"note":377,"demo":377},"pt","(PtMap\u003CBbTextareaPtPart, BbTextareaPtState> & { \"root:outline\"?: PtValue | undefined; \"icon:outline\"?: PtValue | undefined; \"root:secondary\"?: PtValue | undefined; \"icon:secondary\"?: PtValue | undefined; \"spinner:outline\"?: PtValue | undefined; \"spinner:secondary\"?: PtValue | undefined; \"clear:outline\"?: PtValue | undefined; \"clear:secondary\"?: PtValue | undefined; \"root:ghost\"?: PtValue | undefined; \"icon:ghost\"?: PtValue | undefined; \"spinner:ghost\"?: PtValue | undefined; \"clear:ghost\"?: PtValue | undefined; \"label:outline\"?: PtValue | undefined; \"label:secondary\"?: PtValue | undefined; \"label:ghost\"?: PtValue | undefined; \"description:outline\"?: PtValue | undefined; \"description:secondary\"?: PtValue | undefined; \"description:ghost\"?: PtValue | undefined; \"message:outline\"?: PtValue | undefined; \"message:secondary\"?: PtValue | undefined; \"message:ghost\"?: PtValue | undefined; \"hint:outline\"?: PtValue | undefined; \"hint:secondary\"?: PtValue | undefined; \"hint:ghost\"?: PtValue | undefined; \"input:outline\"?: PtValue | undefined; \"input:secondary\"?: PtValue | undefined; \"input:ghost\"?: PtValue | undefined; \"box:outline\"?: PtValue | undefined; \"box:secondary\"?: PtValue | undefined; \"box:ghost\"?: PtValue | undefined; \"prefix:outline\"?: PtValue | undefined; \"prefix:secondary\"?: PtValue | undefined; \"prefix:ghost\"?: PtValue | undefined; \"suffix:outline\"?: PtValue | undefined; \"suffix:secondary\"?: PtValue | undefined; \"suffix:ghost\"?: PtValue | undefined; }) | undefined","Passthrough, object form: `{ box: '…', 'box:errors': '…' }` — the same keys as the `pt:*` attributes without the prefix. See the `pt:\u003Cpart>` row.",{"name":1053,"type":1054,"required":956,"default":377,"description":1055,"note":377,"demo":1056},"pt:\u003Cpart>","PtValue | undefined","Passthrough, attribute form: one attribute per part, `pt:\u003Cpart>`, and per part and state, `pt:\u003Cpart>:\u003Cstate>`. Parts: `box`, `clear`, `counter`, `description`, `hint`, `icon`, `input`, `label`, `message`, `prefix`, `root`, `spinner`, `suffix`. States: `atLimit`, `disabled`, `errors`, `ghost`, `hasValue`, `loading`, `nearLimit`, `outline`, `readonly`, `secondary`, `warnings`.","passthrough",{"name":725,"type":967,"required":956,"default":968,"description":1058,"note":377,"demo":377},"Sets the input in a readonly state.",{"name":697,"type":967,"required":956,"default":968,"description":1060,"note":377,"demo":377},"Sets the input as required. Outside a BbForm it forwards to the native textarea; inside one it only marks the field (asterisk, aria-required) and nothing enforces it: use `rules=\"required\"` or the form schema.",{"name":884,"type":967,"required":956,"default":968,"description":1062,"note":377,"demo":377},"Reverses the layout. Applicable in every direction the order of the label and the input is swapped.",{"name":556,"type":1064,"required":956,"default":377,"description":1065,"note":1066,"demo":547},"string | number | undefined","Sets the number of visible text lines for the control.","On its own, a fixed height with the native resize handle. With `auto-grow`, the floor the field starts at and never shrinks below. With neither, the box is a fixed 150px.",{"name":666,"type":1068,"required":956,"default":377,"description":1069,"note":1070,"demo":377},"RuleExpression\u003Cstring | null>","vee-validate rules for this field. Only inside a `BbForm`.","Read only inside a `BbForm`; outside one they do nothing. The field checks itself when you leave it (`validation-mode=\"balanced\"`), then on every keystroke while it shows an error.",{"name":1072,"type":955,"required":956,"default":377,"description":1073,"note":377,"demo":377},"validationLabel","The field's name in validation messages (`{field}`): \"Email is not valid\". Defaults to the `label` (or `legend`), then \"This field\"; never the `name`. Set it when the label is hidden or reads badly in a sentence (icon-only, a question). `BbForm` only.",{"name":1075,"type":1076,"required":956,"default":377,"description":1077,"note":377,"demo":377},"validationMode","ValidationMode | undefined","When the field validates: `aggressive` (each change), `balanced` (on leave, then live while in error), `lazy` (on leave), `submit-only`, `submit-live`. Unset: the `BbForm`'s `validation-mode`, then `formControls.validationMode` (`'balanced'`). `BbForm` only.",{"name":741,"type":1079,"required":956,"default":1080,"description":1081,"note":377,"demo":377},"InputVariantType | undefined","'outline'","The field box's look, with `BbButton`'s names and tokens. Colours only, so a form never reflows; `'ghost'` has no border in any state, `'none'` no look at all (you own hover, focus and the states). Register more with the plugin's `inputVariants`.",{"name":647,"type":983,"required":956,"default":377,"description":1083,"note":377,"demo":602},"Warning messages under the field, a string or array: amber, in their own `aria-live` region and in the control's `aria-describedby` after the errors. Non-empty turns on the warning state; errors win when both are set.",[1085],{"name":1029,"type":1030,"note":1086,"demo":454},"`string | null`, like every field in the family: emptied means `null`, or `''` with the plugin option `formControls.textareaNullValue`. Optional inside a `BbForm`, which holds the value under `name`.",[1088,1092,1096,1100,1104,1107,1110,1113,1117,1119,1122,1125,1129],{"name":1089,"signature":1090,"description":1091,"note":377,"demo":377},"blur","(event: FocusEvent): void","Emitted when the native textarea loses focus. Forwards the original DOM `FocusEvent`.",{"name":1093,"signature":1094,"description":1095,"note":377,"demo":377},"change","(event: Event): void","Emitted when the native textarea fires a change event. Forwards the original DOM `Event`.",{"name":1097,"signature":1098,"description":1099,"note":377,"demo":377},"click","(event: MouseEvent): void","Emitted when the textarea receives a click interaction. Forwards the original DOM `MouseEvent`.",{"name":1101,"signature":1102,"description":1103,"note":377,"demo":377},"compositionend","(event: CompositionEvent): void","An IME composition ended. Forwards the original DOM `CompositionEvent`.",{"name":1105,"signature":1102,"description":1106,"note":377,"demo":377},"compositionstart","An IME composition started. Forwards the original DOM `CompositionEvent`.",{"name":1108,"signature":1090,"description":1109,"note":377,"demo":377},"focus","Emitted when the native textarea gains focus. Forwards the original DOM `FocusEvent`.",{"name":789,"signature":1094,"description":1111,"note":1112,"demo":774},"Emitted on native input events from the textarea. Forwards the original DOM `Event`.","Also `stopPropagation()`d, so an ancestor listening across a whole form will not hear this field. Bind here, or watch the model.",{"name":796,"signature":1114,"description":1115,"note":1116,"demo":774},"(event: KeyboardEvent): void","Emitted for keyboard interaction on the textarea. Forwards the original DOM `KeyboardEvent`.","Forwarded, but not bubbled: the component calls `stopPropagation()` on `keydown`, so no ancestor handler sees the key: not a form-level ⌘+Enter shortcut, not a dialog listening for Escape. Wire the action to a button.",{"name":1118,"signature":1114,"description":1115,"note":377,"demo":377},"keyup",{"name":1120,"signature":1098,"description":1121,"note":377,"demo":377},"mousedown","Emitted when a pointing device button is pressed over the textarea. Forwards the original DOM `MouseEvent`.",{"name":1123,"signature":1098,"description":1124,"note":377,"demo":377},"mouseup","Emitted when a pointing device button is released over the textarea. Forwards the original DOM `MouseEvent`.",{"name":1126,"signature":1127,"description":1128,"note":377,"demo":377},"paste","(event: ClipboardEvent): void","Native clipboard paste. Forwards the original DOM `ClipboardEvent`.",{"name":1130,"signature":1131,"description":1132,"note":377,"demo":377},"update:modelValue","(value: string | NullValueOf\u003CE>): void","Emitted when the value changes. Carries the new text, or the empty value (`null-value`, else the app's, `null` by default) when emptied.",[1134,1138,1141,1144,1147,1150,1153,1156],{"name":1135,"type":1136,"description":1137,"note":377,"demo":377},"append","Record\u003Cstring, never>","Content rendered after the textarea, at the end of the inner container.",{"name":1139,"type":1136,"description":1140,"note":377,"demo":377},"append:outer","Content rendered after the entire textarea control, outside the input chrome.",{"name":619,"type":1142,"description":1143,"note":377,"demo":377},"BbTextareaDescriptionSlotProps","Replaces the description text. Provided alone (no `description` prop) it still renders the description region and wires it into `aria-describedby`.",{"name":467,"type":1145,"description":1146,"note":377,"demo":377},"BbTextareaLabelSlotProps","Replaces the default label text rendered above the textarea.",{"name":1148,"type":1136,"description":1149,"note":377,"demo":377},"prefix","Inline content rendered at the start of the textarea field area, before the text.",{"name":1151,"type":1136,"description":1152,"note":377,"demo":377},"prepend","Content rendered before the textarea, at the start of the inner container.",{"name":1154,"type":1136,"description":1155,"note":377,"demo":377},"prepend:outer","Content rendered before the entire textarea control, outside the input chrome.",{"name":1157,"type":1136,"description":1158,"note":1159,"demo":805},"suffix","Inline content rendered at the end of the textarea field area, after the text.","The home for a character counter: beside the value rather than below it, where it would compete with the hint.",[],{"parts":1162,"states":1195},[1163,1166,1168,1170,1173,1175,1178,1180,1183,1186,1188,1190,1193],{"name":1164,"description":1165},"root","The field's outer container: the label, the box and the lines under it.",{"name":467,"description":1167},"The label text above the box (the `label` prop).",{"name":619,"description":1169},"The muted line under the label (the `description` prop).",{"name":1171,"description":1172},"message","The errors \u002F warnings line under the box. A node of its own: it can show at the same time as `hint`.",{"name":626,"description":1174},"The helper line (the `hint` prop), shown on focus, or always with `persistent-hint`.",{"name":1176,"description":1177},"box","The bordered box around the input — border, background and radius; the `variant` paints here.",{"name":789,"description":1179},"The native input element inside the box.",{"name":1181,"description":1182},"icon","The content icons, prepend and append — a broadcast. Chrome (the clear ✕, a chevron, the error \u002F warning glyph) is never in it.",{"name":1184,"description":1185},"spinner","The spinner inside the box while `loading`.",{"name":1148,"description":1187},"The `#prefix` slot's wrapper, inside the box before the input.",{"name":1157,"description":1189},"The `#suffix` slot's wrapper, inside the box after the input.",{"name":1191,"description":1192},"clear","The ✕ that empties this control (`clearable`) — one node, never a chip's own ✕.",{"name":805,"description":1194},"The character count at the end of the hint row (`counter`): `42`, or `42 \u002F 140` with `maxlength`.",[1196,1199,1201,1203,1206,1209,1211,1214,1217,1219,1222],{"name":1197,"description":1198},"atLimit","Component-wide: with `counter` and `maxlength`, the value has reached the limit.",{"name":719,"description":1200},"Component-wide: the control is `disabled`.",{"name":640,"description":1202},"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":1204,"description":1205},"ghost","On the field's parts: `variant: 'ghost'`. Below the real states, like every variant.",{"name":1207,"description":1208},"hasValue","Component-wide: the control holds a value, by its own rule (`0` counts on `BbNumberInput`, `''` on `BbColorInput`).",{"name":713,"description":1210},"Component-wide: `loading` is on; the box shows its `spinner`.",{"name":1212,"description":1213},"nearLimit","Component-wide: with `counter` and `maxlength`, the value is at 90 % of the limit or more, and still below it.",{"name":1215,"description":1216},"outline","On the field's parts: `variant: 'outline'`. Merged after the part's base entry and before its states, so the real states still win.",{"name":725,"description":1218},"Component-wide: the control is `readonly` — shown, focusable, not editable.",{"name":1220,"description":1221},"secondary","On the field's parts: `variant: 'secondary'`. Below the real states, like every variant.",{"name":647,"description":1223},"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.",{"removed":1225,"renamed":1255},[1226,1233,1238,1242,1245,1250],{"name":1227,"surface":1228,"replacedBy":1139,"hint":377,"since":1229,"migration":1230,"silent":934,"fix":1231},"append-outer","slot","3.0.0-beta.41","ai\u002Fguides\u002Fmigration\u002Fv2-to-v3.md",{"kind":1232},"rename",{"name":1234,"surface":1235,"replacedBy":863,"hint":377,"since":1236,"migration":1230,"silent":934,"fix":1237},"direction","prop","3.0.0-beta.33",{"kind":1232},{"name":1239,"surface":1235,"replacedBy":992,"hint":377,"since":1240,"migration":1230,"silent":934,"fix":1241},"hasWarning","3.0.0-beta.26",{"kind":1232},{"name":1243,"surface":1228,"replacedBy":1154,"hint":377,"since":1229,"migration":1230,"silent":934,"fix":1244},"prepend-outer",{"kind":1232},{"name":1246,"surface":1235,"replacedBy":1075,"hint":1247,"since":1229,"migration":1230,"silent":934,"fix":1248},"validateOn","an array of events became one mode (`aggressive` | `balanced` | `lazy` | `submit-only` | `submit-live`). The old defaults (`['blur']`, `['inactive']`, a toggle's `['update:modelValue', 'change', 'blur']`) are `balanced`, the new default: delete the prop. A text field on `['update:modelValue']` is `validation-mode=\"aggressive\"`. Set it once on `\u003CBbForm validation-mode>` instead of per field",{"kind":1249},"manual",{"name":1251,"surface":1235,"replacedBy":377,"hint":1252,"since":1229,"migration":1230,"silent":934,"fix":1253},"vid","a display name (v2: `vid=\"Email address\"`) is now `validation-label`; a field path (3.0 betas: `vid=\"address.city\"`) is now `name` (brackets for a native post: `address[city]`). `check --fix` picks by the value",{"kind":1254,"display":1072,"key":514},"byValue",[1256,1258,1260,1262,1264],{"from":1227,"to":1139,"surface":1228,"since":1229,"migration":1230,"fix":1257},{"kind":1232},{"from":1234,"to":863,"surface":1235,"since":1236,"migration":1230,"fix":1259},{"kind":1232},{"from":1239,"to":992,"surface":1235,"since":1240,"migration":1230,"fix":1261},{"kind":1232},{"from":1243,"to":1154,"surface":1228,"since":1229,"migration":1230,"fix":1263},{"kind":1232},{"from":1246,"to":1075,"surface":1235,"since":1229,"migration":1230,"fix":1265},{"kind":1249},1793055146705]