[{"data":1,"prerenderedAt":1398},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":134,"api-none":377,"page-en-\u002Fcomponents\u002Fbb-dropdown-button":378,"pt-showcase-BbDropdownButton":940},{"\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":294,"body":380,"component":294,"description":926,"extension":927,"group":276,"meta":928,"navigation":929,"order":185,"path":295,"sections":930,"seo":937,"stem":938,"__hash__":939},"docs_en\u002Fcomponents\u002Fbb-dropdown-button.md",{"type":381,"value":382,"toc":918},"minimark",[383,417,423,435,443,485,489,542,599,605,632,635,681,706,709,730,746,751,760,763,778,788,793,799,802,809,815,818,821,841,847,882,885,914],[384,385,386,394],"when",{},[387,388,389,390,393],"p",{},"Use ",[391,392,294],"code",{}," when one action is frequent and the menu contains close\nalternatives: Save \u002F Save as draft, Export \u002F Export as CSV, Merge \u002F Squash.",[395,396,398],"template",{"v-slot:else":397},"",[399,400,401,410],"ul",{},[402,403,404,409],"li",{},[405,406,407],"a",{"href":18},[391,408,205],{},": there is one action",[402,411,412,416],{},[405,413,414],{"href":40},[391,415,291],{},": no action clearly dominates",[387,418,419,420,422],{},"Also see: ",[405,421,166],{"href":126},".",[387,424,425,426,430,431,422],{},"Its item model comes from ",[405,427,428],{"href":40},[391,429,291],{},"; variants\nand sizes come from ",[405,432,433],{"href":18},[391,434,205],{},[436,437,439],"h2",{"id":438},"default",[440,441,442],"span",{},"Put the frequent action first",[387,444,445,446,450,451,454,455,458,459,454,462,458,465,454,468,454,471,474,475,477,478,484],{},"The component ",[447,448,449],"strong",{},"is"," the main button: its label is the default slot, and\n",[391,452,453],{},"@click",", ",[391,456,457],{},"href"," \u002F ",[391,460,461],{},"to",[391,463,464],{},"type",[391,466,467],{},"form",[391,469,470],{},"loading",[391,472,473],{},"disabled"," and the icons\nwork exactly as on a ",[391,476,205],{},".\n",[405,479,481],{"href":480},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-items",[391,482,483],{},"items"," is only the menu\nthat opens from the chevron.",[486,487],"demo",{"name":488},"BbDropdownButton\u002FBasic",[399,490,491,500,512,532],{},[402,492,493,496,497,499],{},[447,494,495],{},"Every item is a menu row",", with ",[391,498,291],{},"'s item model, so groups,\nsubmenus, links and descriptions all work there.",[402,501,502,505,506,509,510,422],{},[447,503,504],{},"A list that comes down to nothing"," can stay on the component: with no\nitems (and no ",[391,507,508],{},"#dropdown"," slot) the chevron goes and it renders exactly like a\n",[391,511,205],{},[402,513,514,517,518,521,522,525,526,528,529,531],{},[447,515,516],{},"In a form",", write ",[391,519,520],{},"type=\"submit\""," (and ",[391,523,524],{},"form=\"id\""," from outside it) on the\ncomponent: the main button submits the ",[391,527,220],{}," and spins while its save\nruns, like a submit ",[391,530,205],{},". Menu rows stay plain actions.",[402,533,534,541],{},[447,535,536,537,458,539],{},"Navigation goes on ",[391,538,457],{},[391,540,461],{},", the component's or a row's, never in a\nclick handler.",[543,544,546,580],"migration",{"title":545},"items[0] → the component",[387,547,548,549,552,553,556,557,560,561,563,564,458,566,458,568,458,570,572,573,575,576,579],{},"Up to beta.57, ",[391,550,551],{},"items[0]"," became the main button. It is now the first menu row.\nMove it onto the component: its ",[391,554,555],{},"label"," becomes the default slot, its\n",[391,558,559],{},"onClick"," the component's ",[391,562,453],{},", its ",[391,565,457],{},[391,567,461],{},[391,569,464],{},[391,571,467],{}," \u002F\n",[391,574,473],{}," the component's props. ",[391,577,578],{},"npx bitboss-ui check"," flags a split button\nwith no label.",[581,582,586],"pre",{"className":583,"code":584,"language":585,"meta":397,"style":397},"language-diff shiki shiki-themes github-light-high-contrast github-dark-high-contrast","- \u003CBbDropdownButton :items=\"[{ value: 'save', label: 'Save', onClick: save }, ...alternates]\" \u002F>\n+ \u003CBbDropdownButton :items=\"alternates\" @click=\"save\">Save\u003C\u002FBbDropdownButton>\n","diff",[391,587,588,594],{"__ignoreMap":397},[440,589,591],{"class":590,"line":141},"line",[440,592,593],{},"- \u003CBbDropdownButton :items=\"[{ value: 'save', label: 'Save', onClick: save }, ...alternates]\" \u002F>\n",[440,595,596],{"class":590,"line":145},[440,597,598],{},"+ \u003CBbDropdownButton :items=\"alternates\" @click=\"save\">Save\u003C\u002FBbDropdownButton>\n",[436,600,602],{"id":601},"appearance",[440,603,604],{},"Keep both halves coherent",[387,606,607,608,454,614,454,620,626,627,631],{},"Set ",[405,609,611],{"href":610},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-variant",[391,612,613],{},"variant",[405,615,617],{"href":616},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-size",[391,618,619],{},"size",[405,621,623],{"href":622},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-block",[391,624,625],{},"block"," and ",[405,628,630],{"href":629},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-prepend:icon","icons"," on the component: both halves take them, so they never disagree.",[486,633],{"name":634},"BbDropdownButton\u002FVariantsAndSizes",[387,636,637,638,640,641,626,644,647,648,654,655,454,658,626,661,664,665,670,671,454,673,676,677,680],{},"Every ",[391,639,205],{}," variant and size applies, ",[391,642,643],{},"destructive",[391,645,646],{},"link"," included.\n",[405,649,651],{"href":650},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-toggle:icon",[391,652,653],{},"toggle:icon"," replaces only the toggle chevron.\nThe ",[391,656,657],{},"#icon",[391,659,660],{},"#prepend:icon",[391,662,663],{},"#append:icon"," slots belong to the main button,\nas on ",[405,666,668],{"href":667},"\u002Fen\u002Fcomponents\u002Fbb-button#icons",[391,669,205],{},": they swap its glyph with its\nstates (",[391,672,470],{},[391,674,675],{},"activeLink",", …), inside its ",[391,678,679],{},"icon"," part.",[387,682,683,684,687,688,694,695,698,699,705],{},"To start a style from scratch, ",[391,685,686],{},"variant=\"none\""," gives both halves a blank base\nand your classes draw the rest; you own the hover, the focus ring and the\ndisabled look. Reach each half with ",[405,689,691],{"href":690},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-pt:%3Cpart%3E",[391,692,693],{},"pt:main","\nand ",[391,696,697],{},"pt:toggle",". (On Tailwind v4 your classes win over the button's own rules\nonly with ",[405,700,702],{"href":701},"\u002Fen\u002Fguides\u002Finstallation#runtime",[391,703,704],{},"cssLayers"," set.)",[486,707],{"name":708},"BbDropdownButton\u002FBlankBase",[387,710,711,712,716,717,720,721,725,726,422],{},"When the look recurs, ",[405,713,715],{"href":714},"\u002Fen\u002Fguides\u002Fdesign-language#custom-variant","register it as a variant",":\n",[391,718,719],{},"buttonVariants"," names are valid here too. When the trigger is not a button at\nall, build it from ",[405,722,723],{"href":14},[391,724,202],{}," and\n",[405,727,728],{"href":40},[391,729,291],{},[543,731,733],{"title":732},"theme → variant",[387,734,735,738,739,741,742,745],{},[391,736,737],{},"theme"," is removed; use ",[391,740,613],{},". ",[391,743,744],{},"arrowPadding"," is also removed because the\nmenu has no arrow.",[436,747,748],{"id":470},[440,749,750],{},"Return promises from actions",[387,752,753,754,756,757,759],{},"When the component's ",[391,755,453],{}," returns a promise, the main button shows loading\nand blocks re-entry; a menu row's async ",[391,758,559],{}," does the same to the toggle.",[486,761],{"name":762},"BbDropdownButton\u002FAsyncPrimary",[387,764,389,765,770,771,777],{},[405,766,768],{"href":767},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-loading",[391,769,470],{}," only for external work. ",[405,772,774],{"href":773},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-disableAutoLoading",[391,775,776],{},"disable-auto-loading"," opts the main action\nout; menu actions still drive the toggle.",[543,779,781],{"title":780},"autoLoading → disableAutoLoading",[387,782,783,784,787],{},"The prop was renamed with inverted polarity. ",[391,785,786],{},"disabledWhileLoading"," is removed;\nbusy halves are always disabled.",[436,789,790],{"id":643},[440,791,792],{},"Gate dangerous alternatives",[387,794,795,796,798],{},"Keep irreversible work behind the toggle, mark it ",[391,797,643],{}," and await\nconfirmation before acting.",[486,800],{"name":801},"BbDropdownButton\u002FDestructiveAlternate",[387,803,804,805,808],{},"The confirm renders in the app's one ",[391,806,807],{},"\u003CBbHost \u002F>",", mounted at the root; a page\nwith a split button mounts nothing.",[436,810,812],{"id":811},"selection",[440,813,814],{},"Let the menu configure the action",[387,816,817],{},"A selectable group in the menu can parameterise the main action. Make the\nlabel follow the selection, so it always states what pressing it will do.",[486,819],{"name":820},"BbDropdownButton\u002FMergeMethod",[387,822,823,824,827,828,830,831,626,837,840],{},"Bind the group with a ",[391,825,826],{},"\u003CBbDropdownGroup>"," companion in the ",[391,829,508],{}," slot: the\ndefault slot is the label. The menu's ",[405,832,834],{"href":833},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#event-item:selected",[391,835,836],{},"item:selected",[391,838,839],{},"item:unselected"," reach the split button, so\nlisten there for the moment of a change.",[436,842,844],{"id":843},"dropdown",[440,845,846],{},"Use the inherited menu surface",[387,848,849,850,854,855,454,861,725,867,873,874,876,877,626,879,422],{},"Menu slots, ",[405,851,853],{"href":852},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-placement","placement"," props, ",[405,856,858],{"href":857},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-compact",[391,859,860],{},"compact",[405,862,864],{"href":863},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-adaptive",[391,865,866],{},"adaptive",[405,868,870],{"href":869},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button\u002Fapi#prop-offCanvasProps",[391,871,872],{},"off-canvas-props"," forward to the inner dropdown: every slot but the label\n(",[391,875,438],{},"), ",[391,878,508],{},[391,880,881],{},"activator",[486,883],{"name":884},"BbDropdownButton\u002FForwardedSlots",[387,886,887,890,891,741,894,626,897,900,901,454,904,626,907,910,911,913],{},[391,888,889],{},"item:prepend"," decorates the menu rows only; the main button's icon is its own\n",[391,892,893],{},"prepend:icon",[391,895,896],{},"pt:header",[391,898,899],{},"pt:footer"," style the bands around those two\nslots, on the flyout and the phone sheet alike. The menu aligns to the whole split control;\n",[391,902,903],{},"trigger",[391,905,906],{},"anchor",[391,908,909],{},"boundary"," are not exposed, so use ",[391,912,291],{}," directly\nwhen one of them is required.",[915,916,917],"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);}",{"title":397,"searchDepth":149,"depth":149,"links":919},[920,921,922,923,924,925],{"id":438,"depth":145,"text":442},{"id":601,"depth":145,"text":604},{"id":470,"depth":145,"text":750},{"id":643,"depth":145,"text":792},{"id":811,"depth":145,"text":814},{"id":843,"depth":145,"text":846},"A split button for one frequent action and a short menu of close alternatives.","md",{},true,[931,932,933,934,935,936],{"id":438,"title":442},{"id":601,"title":604},{"id":470,"title":750},{"id":643,"title":792},{"id":811,"title":814},{"id":843,"title":846},{"title":294,"description":926},"components\u002Fbb-dropdown-button","kzlq6E2Pu0A1BonwiJAg6HHBE9ukxeYTDv_LM7fGkAA",{"name":294,"slug":941,"group":276,"description":942,"entrypoint":943,"docs":944,"props":947,"models":1186,"events":1187,"slots":1207,"exposed":1269,"pt":1270,"validated":377,"migration":1347},"bb-dropdown-button","A button with primary action and all other actions collected in a dropdown.","bitboss-ui",{"contract":945,"source":946},"ai\u002FBbDropdownButton.md","ai\u002Fsource\u002FBbDropdownButton.md",[948,953,958,961,966,970,973,977,981,985,988,991,995,999,1002,1006,1009,1012,1016,1019,1021,1024,1026,1028,1031,1034,1037,1041,1044,1048,1053,1058,1062,1065,1069,1073,1076,1079,1082,1085,1089,1092,1095,1099,1103,1108,1112,1115,1119,1123,1126,1130,1135,1140,1143,1148,1153,1156,1159,1162,1165,1169,1172,1177,1180],{"name":949,"type":950,"required":951,"default":377,"description":952,"note":377,"demo":377},"activeClass","string | undefined",false,"Class to apply when the link is active.",{"name":866,"type":954,"required":951,"default":955,"description":956,"note":957,"demo":843},"boolean | undefined","`config.adaptive` (`true`)","On mobile (below `config.mobileMaxWidth`), renders the menu as a bottom sheet that drills into submenus one level at a time instead of hover flyouts; slots and selection are unchanged. Unset: the global `config.adaptive`.","Forwarded to the menu: unset follows the global `adaptive` config, so on a phone the menu is a bottom sheet. Pin it `false` only for a desktop-only dense tool.",{"name":959,"type":950,"required":951,"default":377,"description":960,"note":377,"demo":377},"append:icon","Icon to be added on the right of the text.",{"name":962,"type":963,"required":951,"default":964,"description":965,"note":377,"demo":377},"ariaCurrentValue","\"page\" | \"step\" | \"location\" | \"date\" | \"time\" | \"true\" | \"false\" | undefined","'page'","Value passed to the attribute `aria-current` when the link is exact active.",{"name":967,"type":954,"required":951,"default":968,"description":969,"note":377,"demo":377},"async","false","Inertia: runs the visit without blocking — the page stays interactive and several async visits can be in flight at once.",{"name":625,"type":954,"required":951,"default":968,"description":971,"note":972,"demo":601},"Displays the component as full width.","The extra width goes to the main button; the toggle keeps its own. Useful in a narrow column, not as a way to make the two halves match.",{"name":974,"type":975,"required":951,"default":377,"description":976,"note":377,"demo":377},"cacheFor","string | number | (string | number)[] | undefined","Inertia: how long a prefetched response stays fresh before it is re-fetched. A single duration, or `[staleAfter, expiresAfter]`.\n\nTyped platform-agnostically (matching BbButton) so the library's types never require `@inertiajs\u002Fvue3` to be installed.",{"name":978,"type":979,"required":951,"default":377,"description":980,"note":377,"demo":377},"cacheTags","string | string[] | undefined","Inertia: tags to file this visit's prefetch cache under, so a later request can invalidate the whole tagged group.",{"name":982,"type":954,"required":951,"default":983,"description":984,"note":377,"demo":377},"closeOnSelect","unset (close after a single-choice change)","Whether a selection closes the menu. Unset: a change in a single-choice group closes it (an untick too, at any depth); a `multiple` group stays open. `true`: every selection change closes it. `false`: none does.",{"name":860,"type":954,"required":951,"default":968,"description":986,"note":987,"demo":843},"Compact density, the `BbSelect` ladder: flyout rows 28px → 24px, sheet rows 44px → 36px (a sheet row stays a touch target). The label size does not change.","Menu rows only (28px → 24px on the flyout, 44px → 36px on the sheet); the split button’s own height comes from `size`. Pair it with `size=\"sm\"` in a dense toolbar.",{"name":989,"type":950,"required":951,"default":377,"description":990,"note":377,"demo":377},"component","Inertia: the page component this visit resolves to. Rarely set by hand — the server normally decides it.",{"name":992,"type":993,"required":951,"default":377,"description":994,"note":377,"demo":377},"data","object | undefined","Request payload forwarded to Inertia when navigating via `href` in an Inertia-enabled app. Ignored when not using Inertia.",{"name":996,"type":954,"required":951,"default":968,"description":997,"note":998,"demo":470},"disableAutoLoading","Disables the automatic loading state that tracks async actions (enabled by default). Only affects the main action button: the split toggle half still mirrors the dropdown's internal async-action loading state.","Opts the main button out of tracking its own async `onClick`; the toggle keeps reflecting menu-action state either way. Replaces v2 `autoLoading` with the polarity inverted, so a leftover `:auto-loading=\"false\"` does nothing and nothing warns.",{"name":473,"type":954,"required":951,"default":968,"description":1000,"note":1001,"demo":377},"Disables both halves: the main button and the menu toggle.","Freezes both halves at once. v2 `disabledWhileLoading` is gone: a busy half is always disabled now, which is what stops a second click racing the pending action.",{"name":1003,"type":1004,"required":951,"default":377,"description":1005,"note":377,"demo":377},"download","string | boolean | undefined","Marks an `href` link as a download: renders a plain `\u003Ca download>` doing a native navigation (never an Inertia\u002Frouter visit), so file downloads work. Pass a string for the suggested filename. A native-anchor signal alongside `target` and `external`.",{"name":1007,"type":954,"required":951,"default":968,"description":1008,"note":377,"demo":377},"eager","Renders the menu panel at mount instead of on the first open (the phone sheet's too), and keeps its rows after a close. Without it the rows mount on each open and go once the menu has closed.",{"name":1010,"type":950,"required":951,"default":377,"description":1011,"note":377,"demo":377},"exactActiveClass","Class to apply when the link is exact active.",{"name":1013,"type":1014,"required":951,"default":377,"description":1015,"note":377,"demo":377},"except","string[] | undefined","Inertia: the inverse of `only` — properties to EXCLUDE from a partial reload. Pass one or the other, not both.",{"name":1017,"type":954,"required":951,"default":968,"description":1018,"note":377,"demo":377},"external","Forces an `href` link to render as a plain `\u003Ca>` (native navigation), bypassing Inertia\u002Frouter interception — same intent as Nuxt's `external`. A native-anchor signal alongside `target` and `download`.",{"name":467,"type":950,"required":951,"default":377,"description":1020,"note":377,"demo":377},"The id of the `BbForm` the main button submits from outside it (the native `form` attribute), with `type=\"submit\"`.",{"name":1022,"type":993,"required":951,"default":377,"description":1023,"note":377,"demo":377},"headers","Additional HTTP headers forwarded to Inertia when navigating via `href` in an Inertia-enabled app.",{"name":457,"type":950,"required":951,"default":377,"description":1025,"note":377,"demo":377},"Returns the hyperlink's URL.\n\nCan be set, to change the URL.",{"name":679,"type":950,"required":951,"default":377,"description":1027,"note":377,"demo":377},"Used when only an icon with no text should be displayed.",{"name":1029,"type":950,"required":951,"default":377,"description":1030,"note":377,"demo":377},"id","Names this dropdown: the activator's id (unless it already has one), the menu's `menu_\u003Cid>`, and the key `useBbDropdownContext(id)` and a companion `BbDropdownGroup` pair by. Generated when omitted.",{"name":1032,"type":954,"required":951,"default":968,"description":1033,"note":377,"demo":377},"instant","Inertia: navigate optimistically on click and reconcile when the response lands, instead of waiting for the round trip.",{"name":1035,"type":954,"required":951,"default":968,"description":1036,"note":377,"demo":377},"interactiveWhileLoading","Keeps the button clickable while it is loading. Buttons are disabled while loading by default; this escape hatch exists for toggles that must stay interactive (e.g. the dropdown-button caret).",{"name":483,"type":1038,"required":951,"default":377,"description":1039,"note":1040,"demo":438},"BbDropdownItem[] | undefined","The menu: every entry is a row (BbDropdown's item model, groups and submenus included). The main action is the component itself (its default slot, `@click`, `href` \u002F `to`, `type`), never an item. Unset or empty with no `#dropdown` slot: no toggle, a plain button.","Only the menu: every entry is a row, with BbDropdown’s item model (groups and submenus included). The main action is the component itself: its default slot, `@click`, `href` \u002F `to`, `type`. Before beta.58 `items[0]` was the main button; `bitboss-ui check` flags a split button with no label.",{"name":470,"type":954,"required":951,"default":968,"description":1042,"note":1043,"demo":470},"Triggers a loading indicator. A loading button is soft-disabled on its own (`aria-disabled`, out of the tab order, clicks and navigation blocked) and keeps its variant colours; with `disabled` set too, loading still wins the look.","Drives the main button by hand, for work the component cannot see. It does not touch the toggle.",{"name":1045,"type":1046,"required":951,"default":377,"description":1047,"note":377,"demo":377},"method","\"get\" | \"post\" | \"put\" | \"patch\" | \"delete\" | undefined","HTTP method used for Inertia navigation when `href` is provided in an Inertia-enabled app. Ignored otherwise.",{"name":1049,"type":1050,"required":951,"default":377,"description":1051,"note":1052,"demo":843},"offCanvasProps","Partial\u003CBbOffCanvasProps> | undefined","Props for the phone sheet (the `BbOffCanvas` that `adaptive` renders on mobile), spread over its defaults. A `pt` inside it styles only the sheet (passthrough guide § Inside the sheet). The sheet hides its ✕; `{ hideClose: false }` brings it back.","Reaches the phone sheet only, e.g. a `title`. A `pt` inside it styles that sheet alone and merges after `pt:header` \u002F `pt:footer`.",{"name":1054,"type":1055,"required":951,"default":1056,"description":1057,"note":377,"demo":377},"offset","number | undefined","4","Space the floating container will maintain from the activator.",{"name":1059,"type":1060,"required":951,"default":377,"description":1061,"note":377,"demo":377},"onBefore","(() => void) | undefined","Lifecycle hook invoked by Inertia right before the request is sent.",{"name":1063,"type":1060,"required":951,"default":377,"description":1064,"note":377,"demo":377},"onCancel","Lifecycle hook invoked by Inertia when a request is cancelled.",{"name":1066,"type":1067,"required":951,"default":377,"description":1068,"note":377,"demo":377},"onCancelToken","((cancelToken: unknown) => void) | undefined","Receives the Inertia cancel token source when a request is initiated. Can be used to cancel the request.\n\nTyped platform-agnostically (matching BbButton) so the library's types never require `@inertiajs\u002Fvue3` to be installed.",{"name":1070,"type":1071,"required":951,"default":377,"description":1072,"note":377,"demo":377},"onError","((errors: Record\u003Cstring, string>) => void) | undefined","Inertia's hook for a VALIDATION error answer (the 422 path): the only failure callback `Link` accepts. `onHttpException` (5xx) and `onNetworkError` are `router.visit()` \u002F `useForm()` options, never Link props.",{"name":1074,"type":1060,"required":951,"default":377,"description":1075,"note":377,"demo":377},"onFinish","Lifecycle hook invoked by Inertia after the request has finished (regardless of success or error).",{"name":1077,"type":1014,"required":951,"default":377,"description":1078,"note":377,"demo":377},"only","Limits the properties that are preserved in Inertia partial reloads.",{"name":1080,"type":1060,"required":951,"default":377,"description":1081,"note":377,"demo":377},"onPrefetched","Lifecycle hook invoked by Inertia when a prefetch for this link has completed and is cached.",{"name":1083,"type":1060,"required":951,"default":377,"description":1084,"note":377,"demo":377},"onPrefetching","Lifecycle hook invoked by Inertia when a prefetch for this link starts.",{"name":1086,"type":1087,"required":951,"default":377,"description":1088,"note":377,"demo":377},"onProgress","((progress: { percentage: number | undefined; }) => void) | undefined","Progress callback invoked by Inertia with the upload\u002Fdownload percentage when available.",{"name":1090,"type":1060,"required":951,"default":377,"description":1091,"note":377,"demo":377},"onStart","Lifecycle hook invoked by Inertia when a request starts.",{"name":1093,"type":1060,"required":951,"default":377,"description":1094,"note":377,"demo":377},"onSuccess","Lifecycle hook invoked by Inertia when a request succeeds.",{"name":1096,"type":1055,"required":951,"default":1097,"description":1098,"note":377,"demo":377},"padding","10","Minimum empty space to keep from the edge of the page",{"name":1100,"type":1101,"required":951,"default":377,"description":1102,"note":377,"demo":377},"pageProps","Record\u003Cstring, unknown> | ((currentProps: Record\u003Cstring, unknown>, sharedProps: Record\u003Cstring, unknown>) => Record\u003Cstring, unknown>) | null | undefined","Inertia: props to merge into the next page optimistically, before the server responds. Either an object or a function of the current props.\n\nTyped platform-agnostically (matching BbButton) so the library's types never require `@inertiajs\u002Fvue3` to be installed.",{"name":853,"type":1104,"required":951,"default":1105,"description":1106,"note":1107,"demo":843},"Placement | \"cursor\" | undefined","'bottom'","Position of the dropdown relative to the activator. Use `'cursor'` to anchor at the mouse\u002Ftouch coordinates. (No arrow is drawn either way — arrows are tooltip-only in v3.)","Resolved against the whole split control, not the toggle that opened the menu — so the default `bottom` centres the panel under the pair. `trigger` is not exposed: the toggle always opens on click.",{"name":1109,"type":1110,"required":951,"default":377,"description":1111,"note":377,"demo":377},"prefetch","string | boolean | string[] | undefined","Inertia: fetch and cache this link's page ahead of the click. `true` uses the default trigger; a string or list of strings picks them (`'mount'`, `'hover'`, `'click'`).",{"name":893,"type":950,"required":951,"default":377,"description":1113,"note":1114,"demo":601},"Icon to be added on the left of the text.","Dresses the main button, as on BbButton. A menu row takes its own `prepend:icon` in `items`.",{"name":1116,"type":1117,"required":951,"default":968,"description":1118,"note":377,"demo":377},"preserveScroll","boolean | ((props: Record\u003Cstring, unknown>) => boolean) | undefined","Controls whether Inertia should preserve the current scroll position after navigation. Can be a boolean or a predicate receiving the visit props.",{"name":1120,"type":1121,"required":951,"default":968,"description":1122,"note":377,"demo":377},"preserveState","boolean | ((props: Record\u003Cstring, unknown>) => boolean) | null | undefined","Controls whether Inertia should preserve the current state after navigation. Can be a boolean or a predicate receiving the visit props.",{"name":1124,"type":954,"required":951,"default":968,"description":1125,"note":377,"demo":377},"preserveUrl","Inertia: keep the current URL in the address bar even though the page content changes.",{"name":1127,"type":1128,"required":951,"default":377,"description":1129,"note":377,"demo":377},"pt","BbDropdownButtonPtMap | undefined","Passthrough, object form: the same keys as the `pt:*` attributes without the prefix. See the `pt:\u003Cpart>` row.",{"name":1131,"type":1132,"required":951,"default":377,"description":1133,"note":1134,"demo":601},"pt:\u003Cpart>","PtValue | ((ctx: PtItemCtx\u003CInternalItem, BbDropdownButtonPtState, \"default\" | \"destructive\">) => PtItemResult) | undefined","Passthrough, attribute form: one attribute per part, `pt:\u003Cpart>`, and per part and state, `pt:\u003Cpart>:\u003Cstate>`. Parts: `footer`, `header`, `icon`, `input`, `item`, `itemDescription`, `itemIcon`, `itemText`, `main`, `panel`, `root`, `sheet`, `spinner`, `text`, `toggle`. States: `activeLink`, `default`, `destructive`, `disabled`, `exactActiveLink`, `ghost`, `link`, `loading`, `open`, `outline`, `primary`, `secondary`, `selected`.","`main` and `toggle` are the two halves, each handed to its button as that button’s `pt:root`: `pt:main=\"rounded-l-full\"` plus `pt:toggle=\"rounded-r-full\"` is a pill split button with a square seam. `input` styles every searchable group’s search field in the menu.",{"name":1136,"type":1137,"required":951,"default":1138,"description":1139,"note":377,"demo":377},"queryStringArrayFormat","\"brackets\" | \"indices\" | undefined","'brackets'","Format to use when serializing array values into the query string for Inertia requests.",{"name":1141,"type":954,"required":951,"default":968,"description":1142,"note":377,"demo":377},"replace","Calls `router.replace` instead of `router.push`.",{"name":619,"type":1144,"required":951,"default":1145,"description":1146,"note":1147,"demo":601},"Responsive\u003CSizes> | undefined","\"md\"","Sets the size of the button. When the value is a string, it will be applied to all screen sizes. Otherwise, it will be applied to the screen size specified by the object.","Shared by both halves, and takes the responsive map form (`{ sm: \"sm\", lg: \"md\" }`). One size for the pair, so the halves never disagree.",{"name":1149,"type":1150,"required":951,"default":1151,"description":1152,"note":377,"demo":377},"tag","ButtonTag | undefined","'button'","Element to render for the plain (non-link, non-router) button: `'button'` (default), `'div'`\u002F`'span'` when nesting inside another button or link, or `'label'` for a file-upload trigger. Ignored when `href`\u002F`to` make the button render as a link.",{"name":1154,"type":950,"required":951,"default":377,"description":1155,"note":377,"demo":377},"target","Sets or retrieves the window or frame at which to target content.",{"name":1157,"type":950,"required":951,"default":377,"description":1158,"note":377,"demo":377},"text","Text content of the component.",{"name":461,"type":1160,"required":951,"default":377,"description":1161,"note":377,"demo":377},"string | wt | bt | undefined","Route Location the link should navigate to when clicked on.",{"name":653,"type":950,"required":951,"default":377,"description":1163,"note":1164,"demo":601},"Replaces the chevron shown inside the dropdown toggle button. A constrained alternative to a slot: only the toggle's icon changes, so the button keeps its semantics. Named after the part it sits in (the `toggle`), the way `prepend:icon` \u002F `append:icon` name theirs.","Swaps the toggle’s chevron and nothing else — an overflow \"…\" for a dense row. Deliberately a prop rather than a slot: there is no `activator` slot, because the toggle is part of the contract.",{"name":1166,"type":1055,"required":951,"default":1167,"description":1168,"note":377,"demo":377},"transitionDuration","150","How long the transition has to last in milliseconds. Menus use the fast transition (150) rather than the medium one (250) the other popovers default to: a menu is opened to pick one command and is gone again, so it answers faster than a panel the user reads or edits in.",{"name":464,"type":1170,"required":951,"default":377,"description":1171,"note":377,"demo":377},"\"button\" | \"submit\" | \"reset\" | undefined","Gets the classification and default behavior of the button.",{"name":613,"type":1173,"required":951,"default":1174,"description":1175,"note":1176,"demo":601},"ButtonVariantType | undefined","\"primary\"","Visual variant shared by both buttons of the split control. `'none'` takes no look (you own hover, focus and disabled); register a real one with the plugin's `buttonVariants` and style `.bb-button--\u003Cname>`.","Shared by both halves, from BbButton’s ladder — a name registered through `buttonVariants` works here too. Replaces v2 `theme`. One variant for the pair; a menu row’s own `variant` (`destructive`) styles only that row.",{"name":1178,"type":954,"required":951,"default":968,"description":1179,"note":377,"demo":377},"viewTransition","Inertia: run the page swap inside a View Transition, where the browser supports one.",{"name":1181,"type":1182,"required":951,"default":1183,"description":1184,"note":1185,"demo":843},"width","string | number | undefined","'auto'","Width of the dropdown in pixels, percentage, or 'auto' to fit content.","A percentage resolves against the split control’s width, still floored at the menu’s 128px minimum. `anchor` is not exposed here because it is hard-wired to that control.",[],[1188,1192,1195,1199,1201,1204],{"name":1189,"signature":1190,"description":1191,"note":377,"demo":377},"hidden","(): void","Emitted once the menu has finished closing.",{"name":1193,"signature":1190,"description":1194,"note":377,"demo":377},"hide","Emitted as soon as the menu starts to close.",{"name":836,"signature":1196,"description":1197,"note":1198,"demo":811},"(value: any): void","A row of a selectable group was selected — the menu's own event, re-emitted with the same payload (the item's resolved value).","Re-emitted from the menu with the same payload, the row’s value. Bind the group’s `v-model` for the state; listen here for the moment of a change.",{"name":839,"signature":1196,"description":1200,"note":377,"demo":811},"A row of a selectable group was unselected (same payload as above).",{"name":1202,"signature":1190,"description":1203,"note":377,"demo":377},"show","Emitted as soon as the menu (the popover, or the sheet on a phone) starts to open.",{"name":1205,"signature":1190,"description":1206,"note":377,"demo":377},"shown","Emitted once the menu is open and its open transition has finished.",[1208,1212,1215,1218,1221,1224,1227,1230,1233,1236,1239,1242,1244,1248,1252,1256,1258,1262,1265,1267],{"name":1209,"type":1210,"description":1211,"note":377,"demo":377},"\u003CgroupId>","BbDropdownItemSlotProps","That group's title line (the group is passed as `item`, `groupTitle` is `true`).",{"name":1213,"type":1210,"description":1214,"note":377,"demo":377},"\u003CgroupId>:append","The trailing region of that group's title line.",{"name":1216,"type":1210,"description":1217,"note":377,"demo":377},"\u003CgroupId>:item","The content of every row of that group, and no other; a row's own `#\u003Cvalue>` still wins.",{"name":1219,"type":1210,"description":1220,"note":377,"demo":377},"\u003CgroupId>:item:append","The trailing region of every row of that group; replaces their `append:icon`. The check takes its place on the selected row.",{"name":1222,"type":1210,"description":1223,"note":377,"demo":377},"\u003CgroupId>:item:prepend","The leading region of every row of that group — e.g. an avatar per record, drawn from `item.meta`, while other rows keep their `prepend:icon`.",{"name":1225,"type":1210,"description":1226,"note":377,"demo":377},"\u003CgroupId>:prepend","The leading region of that group's title line.",{"name":1228,"type":1210,"description":1229,"note":377,"demo":377},"\u003Cvalue>","One row's content (label and description), by its value; in a fetched group, by its resolved `itemValue`.",{"name":1231,"type":1210,"description":1232,"note":377,"demo":377},"\u003Cvalue>:append","One row's trailing region; replaces its `append:icon` and its submenu chevron. The check takes its place on the selected row.",{"name":1234,"type":1210,"description":1235,"note":377,"demo":377},"\u003Cvalue>:prepend","One row's leading region; replaces its `prepend:icon`.",{"name":959,"type":1237,"description":1238,"note":377,"demo":377},"BbButtonIconSlotProps","The main button's trailing icon, replacing `append:icon`.",{"name":438,"type":1240,"description":1241,"note":377,"demo":377},"any","The main button's label (falls back to `text`).",{"name":843,"type":1240,"description":1243,"note":377,"demo":377},"Menu companions, forwarded into the dropdown: a `\u003CBbDropdownGroup>` binding a group of `items` by id. A `#dropdown` slot keeps the toggle even with no `items`.",{"name":1245,"type":1246,"description":1247,"note":377,"demo":377},"empty","BbDropdownPlaceholderSlotProps","Replaces the default \"no data\" placeholder row shown in a pipeline group that resolved to no items. Rendered once per empty group. Forwarded to the underlying `BbDropdown`.",{"name":1249,"type":1250,"description":1251,"note":377,"demo":843},"footer","BbDropdownButtonEdgeSlotProps","Content pinned to the bottom of the dropdown panel, outside the scroll area.",{"name":1253,"type":1250,"description":1254,"note":1255,"demo":843},"header","Content pinned to the top of the dropdown panel, outside the scroll area.","Forwarded into the inner dropdown unchanged, along with `footer`, the edge slots and per-row slots. Every slot except the label (`default`), `#dropdown` and `activator` goes there.",{"name":679,"type":1237,"description":1257,"note":377,"demo":377},"The main button's icon, replacing the `icon` prop; inside its `icon` part (`pt:icon`, `--icon-size`, the loading spinner), with its states.",{"name":1259,"type":1260,"description":1261,"note":377,"demo":843},"item:append","BbDropdownButtonItemSlotProps","The trailing region of every menu row, replacing its `append:icon`; the submenu chevron and the check on a selected row take its place (BbDropdown's rules).",{"name":889,"type":1260,"description":1263,"note":1264,"demo":843},"The leading region of every menu row, replacing its `prepend:icon` (BbDropdown's rules).","Replaces every menu row’s `prepend:icon`; per-group and per-row slots beat it, as on BbDropdown. It never reaches the main button: dress that with `prepend:icon`.",{"name":470,"type":1246,"description":1266,"note":377,"demo":377},"Replaces the default loading placeholder row shown in a pipeline group while its async items load. Rendered once per loading group. Forwarded to the underlying `BbDropdown`.",{"name":893,"type":1237,"description":1268,"note":377,"demo":377},"The main button's leading icon, replacing `prepend:icon`.",[],{"parts":1271,"states":1313},[1272,1275,1278,1281,1283,1286,1288,1291,1294,1296,1298,1301,1304,1307,1310],{"name":1273,"description":1274},"root","The group wrapper around the main button and the toggle.",{"name":1276,"description":1277},"main","The main (action) button, the left half — handed to it as its own `pt:root`.",{"name":1279,"description":1280},"toggle","The toggle button that opens the menu, the right half — handed to it as its own `pt:root`. Pairs with `toggle:icon`.",{"name":679,"description":1282},"The main button's content icons — handed to it as its own `pt:icon`. The toggle's chevron is chrome.",{"name":1284,"description":1285},"spinner","The main button's loading spinner.",{"name":1157,"description":1287},"The main button's label span.",{"name":1289,"description":1290},"panel","The menu surface (the flyout box on desktop, the sheet itself on a phone) — handed to the `BbDropdown`.",{"name":1292,"description":1293},"sheet","The bottom sheet the menu becomes on a phone only.",{"name":1253,"description":1295},"The band around your `#header` slot: at the top of the menu on desktop, the sheet's header on a phone — handed to the `BbDropdown`.",{"name":1249,"description":1297},"The band around your `#footer` slot: at the bottom of the menu on desktop, the sheet's footer on a phone — handed to the `BbDropdown`.",{"name":1299,"description":1300},"input","A searchable group's search field in the menu — a broadcast, every searchable group's field — handed to the `BbDropdown` as its own `pt:input`.",{"name":1302,"description":1303},"item","One menu entry, submenus included — a broadcast resolved per entry. Also takes a per-item function, called with the entry.",{"name":1305,"description":1306},"itemText","An entry's label (its `label`) — resolved with that entry's states. A per-entry `#\u003Cvalue>` slot replaces it. Also takes a per-item function.",{"name":1308,"description":1309},"itemIcon","An entry's prepend \u002F append icons — resolved with that entry's states. Also takes a per-item function.",{"name":1311,"description":1312},"itemDescription","An entry's muted second line (its `description`) — resolved with that entry's states. A per-entry `#\u003Cvalue>` slot replaces it. Also takes a per-item function.",[1314,1316,1318,1320,1322,1325,1328,1330,1332,1335,1338,1341,1344],{"name":675,"description":1315},"Component-wide while the main button is a link to the current page or one of its ancestors (its `activeClass` is on); also per node, on the entry parts: a menu entry whose link is. The weakest state.",{"name":438,"description":1317},"Per entry, on the entry parts: an entry with `variant: 'default'` or none. Merged after the part's base entry and before its states, so the real states still win.",{"name":643,"description":1319},"Per entry, on the entry parts: `variant: 'destructive'`. Below the real states, like every variant.",{"name":473,"description":1321},"Component-wide while the control is `disabled`; also per node, on the entry parts: a menu entry that is disabled.",{"name":1323,"description":1324},"exactActiveLink","Component-wide while the main button is a link to the current page itself (its `exactActiveClass` is on); also per node, on the entry parts.",{"name":1326,"description":1327},"ghost","Component-wide: `variant=\"ghost\"`. Below the real states, like every variant.",{"name":646,"description":1329},"Component-wide: `variant=\"link\"`. Below the real states, like every variant.",{"name":470,"description":1331},"Component-wide: `loading` is on — the main button shows its spinner.",{"name":1333,"description":1334},"open","Component-wide: the menu is open.",{"name":1336,"description":1337},"outline","Component-wide: `variant=\"outline\"`. Below the real states, like every variant.",{"name":1339,"description":1340},"primary","Component-wide: `variant=\"primary\"`. Merged after the part's base entry and before its states, so `disabled` \u002F `loading` still win.",{"name":1342,"description":1343},"secondary","Component-wide: `variant=\"secondary\"`. Below the real states, like every variant.",{"name":1345,"description":1346},"selected","Per node, on the entry parts only (`item`, `itemText`, `itemIcon`, `itemDescription`): a selectable group's checked entry. `pt:root:selected` is a type error, not a silent no-op.",{"removed":1348,"renamed":1389},[1349,1355,1359,1366,1371,1376,1382,1386],{"name":744,"surface":1350,"replacedBy":377,"hint":377,"since":1351,"migration":1352,"silent":929,"fix":1353},"prop","3.0.0-alpha.1","ai\u002Fguides\u002Fmigration\u002Fcomponents\u002Fbb-dropdown-button.md",{"kind":1354},"remove",{"name":1356,"surface":1350,"replacedBy":996,"hint":377,"since":1351,"migration":1352,"silent":929,"fix":1357},"autoLoading",{"kind":1358},"invert",{"name":1360,"surface":1302,"replacedBy":1361,"hint":1362,"since":1363,"migration":1352,"silent":929,"fix":1364},"items[].key","items[].value","a row's identity: its `v-model` value (any type, compared by hash) and its `#\u003Cvalue>` slots; `check --fix` renames it","3.0.0-beta.49",{"kind":1365},"rename",{"name":1367,"surface":1302,"replacedBy":1368,"hint":1369,"since":1363,"migration":1352,"silent":929,"fix":1370},"items[].text","items[].label","a row's text; `check --fix` renames it",{"kind":1365},{"name":1372,"surface":1302,"replacedBy":1373,"hint":1374,"since":1363,"migration":1352,"silent":929,"fix":1375},"items[group].key","items[group].id","a group's identity, the same word as `\u003CBbDropdownGroup id>`; `check --fix` renames it",{"kind":1365},{"name":1377,"surface":1378,"replacedBy":1245,"hint":377,"since":1379,"migration":1380,"silent":929,"fix":1381},"no-data","slot","3.0.0-beta.41","ai\u002Fguides\u002Fmigration\u002Fv2-to-v3.md",{"kind":1365},{"name":1383,"surface":1350,"replacedBy":653,"hint":377,"since":1384,"migration":1352,"silent":929,"fix":1385},"right:icon","3.0.0-beta.35",{"kind":1365},{"name":737,"surface":1350,"replacedBy":613,"hint":377,"since":1387,"migration":1352,"silent":929,"fix":1388},"3.0.0-beta.15",{"kind":1365},[1390,1392,1394,1396],{"from":1356,"to":996,"surface":1350,"since":1351,"migration":1352,"fix":1391},{"kind":1358},{"from":1377,"to":1245,"surface":1378,"since":1379,"migration":1380,"fix":1393},{"kind":1365},{"from":1383,"to":653,"surface":1350,"since":1384,"migration":1352,"fix":1395},{"kind":1365},{"from":737,"to":613,"surface":1350,"since":1387,"migration":1352,"fix":1397},{"kind":1365},1793055141530]