[{"data":1,"prerenderedAt":574},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":124,"api-BbTabs":352,"page-en-\u002Fcomponents\u002Fbb-tabs\u002Fapi":400},{"\u002Fit\u002Fcomponenti\u002Fbb-accordion":4,"\u002Fen\u002Fcomponents\u002Fbb-accordion":5,"\u002Fit\u002Fcomponenti\u002Fbb-alert":6,"\u002Fen\u002Fcomponents\u002Fbb-alert":7,"\u002Fit\u002Fcomponenti\u002Fbb-asterisk":8,"\u002Fen\u002Fcomponents\u002Fbb-asterisk":9,"\u002Fit\u002Fcomponenti\u002Fbb-avatar":10,"\u002Fen\u002Fcomponents\u002Fbb-avatar":11,"\u002Fit\u002Fcomponenti\u002Fbb-badge":12,"\u002Fen\u002Fcomponents\u002Fbb-badge":13,"\u002Fit\u002Fcomponenti\u002Fbb-base-button":14,"\u002Fen\u002Fcomponents\u002Fbb-base-button":15,"\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs":16,"\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs":17,"\u002Fit\u002Fcomponenti\u002Fbb-button":18,"\u002Fen\u002Fcomponents\u002Fbb-button":19,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":20,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":21,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":22,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":23,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":24,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":25,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":26,"\u002Fen\u002Fcomponents\u002Fbb-color-input":27,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":28,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":29,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":30,"\u002Fen\u002Fcomponents\u002Fbb-confirm":31,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":32,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":33,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":34,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":35,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":36,"\u002Fen\u002Fcomponents\u002Fbb-dialog":37,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":38,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":39,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":40,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":41,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":42,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":43,"\u002Fit\u002Fcomponenti\u002Fbb-form":44,"\u002Fen\u002Fcomponents\u002Fbb-form":45,"\u002Fit\u002Fcomponenti\u002Fbb-icon":46,"\u002Fen\u002Fcomponents\u002Fbb-icon":47,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":48,"\u002Fen\u002Fcomponents\u002Fbb-indicator":49,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":50,"\u002Fen\u002Fcomponents\u002Fbb-number-input":51,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":52,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":53,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":54,"\u002Fen\u002Fcomponents\u002Fbb-pagination":55,"\u002Fit\u002Fcomponenti\u002Fbb-popover":56,"\u002Fen\u002Fcomponents\u002Fbb-popover":57,"\u002Fit\u002Fcomponenti\u002Fbb-progress":58,"\u002Fen\u002Fcomponents\u002Fbb-progress":59,"\u002Fit\u002Fcomponenti\u002Fbb-radio":60,"\u002Fen\u002Fcomponents\u002Fbb-radio":61,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":62,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":63,"\u002Fit\u002Fcomponenti\u002Fbb-rating":64,"\u002Fen\u002Fcomponents\u002Fbb-rating":65,"\u002Fit\u002Fcomponenti\u002Fbb-select":66,"\u002Fen\u002Fcomponents\u002Fbb-select":67,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":68,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":69,"\u002Fit\u002Fcomponenti\u002Fbb-slider":70,"\u002Fen\u002Fcomponents\u002Fbb-slider":71,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":72,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":73,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":74,"\u002Fen\u002Fcomponents\u002Fbb-spinner":75,"\u002Fit\u002Fcomponenti\u002Fbb-switch":76,"\u002Fen\u002Fcomponents\u002Fbb-switch":77,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":78,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":79,"\u002Fit\u002Fcomponenti\u002Fbb-table":80,"\u002Fen\u002Fcomponents\u002Fbb-table":81,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":82,"\u002Fen\u002Fcomponents\u002Fbb-tabs":83,"\u002Fit\u002Fcomponenti\u002Fbb-tag":84,"\u002Fen\u002Fcomponents\u002Fbb-tag":85,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":86,"\u002Fen\u002Fcomponents\u002Fbb-text-input":87,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":88,"\u002Fen\u002Fcomponents\u002Fbb-textarea":89,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":90,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":91,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":92,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":93,"\u002Fit\u002Fcomponenti\u002Fbb-toast":94,"\u002Fen\u002Fcomponents\u002Fbb-toast":95,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":96,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":97,"\u002Fit\u002Fcomponenti\u002Fbb-tree":98,"\u002Fen\u002Fcomponents\u002Fbb-tree":99,"\u002Fit\u002Fguide\u002Fai-agents":100,"\u002Fen\u002Fguides\u002Fai-agents":101,"\u002Fit\u002Fguide\u002Fcoherence":102,"\u002Fen\u002Fguides\u002Fcoherence":103,"\u002Fit\u002Fguide\u002Fdesign-language":104,"\u002Fen\u002Fguides\u002Fdesign-language":105,"\u002Fit\u002Fguide\u002Fdesign-tokens":106,"\u002Fen\u002Fguides\u002Fdesign-tokens":107,"\u002Fit\u002Fguide\u002Ffetching-data":108,"\u002Fen\u002Fguides\u002Ffetching-data":109,"\u002Fit\u002Fguide\u002Ficons":110,"\u002Fen\u002Fguides\u002Ficons":111,"\u002Fit\u002Fguide\u002Finertia":112,"\u002Fen\u002Fguides\u002Finertia":113,"\u002Fit\u002Fguide\u002Finstallation":114,"\u002Fen\u002Fguides\u002Finstallation":115,"\u002Fit\u002Fguide\u002Fmigration":116,"\u002Fen\u002Fguides\u002Fmigration":117,"\u002Fit\u002Fguide\u002Fnuxt":118,"\u002Fen\u002Fguides\u002Fnuxt":119,"\u002Fit\u002Fguide\u002Foptions-and-items":120,"\u002Fen\u002Fguides\u002Foptions-and-items":121,"\u002Fit\u002Fguide\u002Fvalidated-forms":122,"\u002Fen\u002Fguides\u002Fvalidated-forms":123},"\u002Fen\u002Fcomponents\u002Fbb-accordion","\u002Fit\u002Fcomponenti\u002Fbb-accordion","\u002Fen\u002Fcomponents\u002Fbb-alert","\u002Fit\u002Fcomponenti\u002Fbb-alert","\u002Fen\u002Fcomponents\u002Fbb-asterisk","\u002Fit\u002Fcomponenti\u002Fbb-asterisk","\u002Fen\u002Fcomponents\u002Fbb-avatar","\u002Fit\u002Fcomponenti\u002Fbb-avatar","\u002Fen\u002Fcomponents\u002Fbb-badge","\u002Fit\u002Fcomponenti\u002Fbb-badge","\u002Fen\u002Fcomponents\u002Fbb-base-button","\u002Fit\u002Fcomponenti\u002Fbb-base-button","\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs","\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs","\u002Fen\u002Fcomponents\u002Fbb-button","\u002Fit\u002Fcomponenti\u002Fbb-button","\u002Fen\u002Fcomponents\u002Fbb-checkbox","\u002Fit\u002Fcomponenti\u002Fbb-checkbox","\u002Fen\u002Fcomponents\u002Fbb-checkbox-group","\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group","\u002Fen\u002Fcomponents\u002Fbb-collapsible","\u002Fit\u002Fcomponenti\u002Fbb-collapsible","\u002Fen\u002Fcomponents\u002Fbb-color-input","\u002Fit\u002Fcomponenti\u002Fbb-color-input","\u002Fen\u002Fcomponents\u002Fbb-color-palette","\u002Fit\u002Fcomponenti\u002Fbb-color-palette","\u002Fen\u002Fcomponents\u002Fbb-confirm","\u002Fit\u002Fcomponenti\u002Fbb-confirm","\u002Fen\u002Fcomponents\u002Fbb-date-picker","\u002Fit\u002Fcomponenti\u002Fbb-date-picker","\u002Fen\u002Fcomponents\u002Fbb-date-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input","\u002Fen\u002Fcomponents\u002Fbb-dialog","\u002Fit\u002Fcomponenti\u002Fbb-dialog","\u002Fen\u002Fcomponents\u002Fbb-dropdown","\u002Fit\u002Fcomponenti\u002Fbb-dropdown","\u002Fen\u002Fcomponents\u002Fbb-dropdown-button","\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button","\u002Fen\u002Fcomponents\u002Fbb-dropzone","\u002Fit\u002Fcomponenti\u002Fbb-dropzone","\u002Fen\u002Fcomponents\u002Fbb-form","\u002Fit\u002Fcomponenti\u002Fbb-form","\u002Fen\u002Fcomponents\u002Fbb-icon","\u002Fit\u002Fcomponenti\u002Fbb-icon","\u002Fen\u002Fcomponents\u002Fbb-indicator","\u002Fit\u002Fcomponenti\u002Fbb-indicator","\u002Fen\u002Fcomponents\u002Fbb-number-input","\u002Fit\u002Fcomponenti\u002Fbb-number-input","\u002Fen\u002Fcomponents\u002Fbb-off-canvas","\u002Fit\u002Fcomponenti\u002Fbb-off-canvas","\u002Fen\u002Fcomponents\u002Fbb-pagination","\u002Fit\u002Fcomponenti\u002Fbb-pagination","\u002Fen\u002Fcomponents\u002Fbb-popover","\u002Fit\u002Fcomponenti\u002Fbb-popover","\u002Fen\u002Fcomponents\u002Fbb-progress","\u002Fit\u002Fcomponenti\u002Fbb-progress","\u002Fen\u002Fcomponents\u002Fbb-radio","\u002Fit\u002Fcomponenti\u002Fbb-radio","\u002Fen\u002Fcomponents\u002Fbb-radio-group","\u002Fit\u002Fcomponenti\u002Fbb-radio-group","\u002Fen\u002Fcomponents\u002Fbb-rating","\u002Fit\u002Fcomponenti\u002Fbb-rating","\u002Fen\u002Fcomponents\u002Fbb-select","\u002Fit\u002Fcomponenti\u002Fbb-select","\u002Fen\u002Fcomponents\u002Fbb-select-popover","\u002Fit\u002Fcomponenti\u002Fbb-select-popover","\u002Fen\u002Fcomponents\u002Fbb-slider","\u002Fit\u002Fcomponenti\u002Fbb-slider","\u002Fen\u002Fcomponents\u002Fbb-smooth-height","\u002Fit\u002Fcomponenti\u002Fbb-smooth-height","\u002Fen\u002Fcomponents\u002Fbb-spinner","\u002Fit\u002Fcomponenti\u002Fbb-spinner","\u002Fen\u002Fcomponents\u002Fbb-switch","\u002Fit\u002Fcomponenti\u002Fbb-switch","\u002Fen\u002Fcomponents\u002Fbb-switch-group","\u002Fit\u002Fcomponenti\u002Fbb-switch-group","\u002Fen\u002Fcomponents\u002Fbb-table","\u002Fit\u002Fcomponenti\u002Fbb-table","\u002Fen\u002Fcomponents\u002Fbb-tabs","\u002Fit\u002Fcomponenti\u002Fbb-tabs","\u002Fen\u002Fcomponents\u002Fbb-tag","\u002Fit\u002Fcomponenti\u002Fbb-tag","\u002Fen\u002Fcomponents\u002Fbb-text-input","\u002Fit\u002Fcomponenti\u002Fbb-text-input","\u002Fen\u002Fcomponents\u002Fbb-textarea","\u002Fit\u002Fcomponenti\u002Fbb-textarea","\u002Fen\u002Fcomponents\u002Fbb-time-picker","\u002Fit\u002Fcomponenti\u002Fbb-time-picker","\u002Fen\u002Fcomponents\u002Fbb-time-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input","\u002Fen\u002Fcomponents\u002Fbb-toast","\u002Fit\u002Fcomponenti\u002Fbb-toast","\u002Fen\u002Fcomponents\u002Fbb-tooltip","\u002Fit\u002Fcomponenti\u002Fbb-tooltip","\u002Fen\u002Fcomponents\u002Fbb-tree","\u002Fit\u002Fcomponenti\u002Fbb-tree","\u002Fen\u002Fguides\u002Fai-agents","\u002Fit\u002Fguide\u002Fai-agents","\u002Fen\u002Fguides\u002Fcoherence","\u002Fit\u002Fguide\u002Fcoherence","\u002Fen\u002Fguides\u002Fdesign-language","\u002Fit\u002Fguide\u002Fdesign-language","\u002Fen\u002Fguides\u002Fdesign-tokens","\u002Fit\u002Fguide\u002Fdesign-tokens","\u002Fen\u002Fguides\u002Ffetching-data","\u002Fit\u002Fguide\u002Ffetching-data","\u002Fen\u002Fguides\u002Ficons","\u002Fit\u002Fguide\u002Ficons","\u002Fen\u002Fguides\u002Finertia","\u002Fit\u002Fguide\u002Finertia","\u002Fen\u002Fguides\u002Finstallation","\u002Fit\u002Fguide\u002Finstallation","\u002Fen\u002Fguides\u002Fmigration","\u002Fit\u002Fguide\u002Fmigration","\u002Fen\u002Fguides\u002Fnuxt","\u002Fit\u002Fguide\u002Fnuxt","\u002Fen\u002Fguides\u002Foptions-and-items","\u002Fit\u002Fguide\u002Foptions-and-items","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",[125,136,145,166,178,220,253,286,307,328,340,346],{"label":126,"entries":127},"Getting started",[128,132],{"title":129,"path":130,"order":131},"Installation","\u002Fguides\u002Finstallation",1,{"title":133,"path":134,"order":135},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"label":137,"entries":138},"Design system",[139,142],{"title":140,"path":141,"order":131},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":143,"path":144,"order":135},"Design language","\u002Fguides\u002Fdesign-language",{"label":146,"entries":147},"Playbooks",[148,151,154,158,162],{"title":149,"path":150,"order":131},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":152,"path":153,"order":135},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":155,"path":156,"order":157},"Coherence","\u002Fguides\u002Fcoherence",3,{"title":159,"path":160,"order":161},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":163,"path":164,"order":165},"Icons","\u002Fguides\u002Ficons",5,{"label":167,"entries":168},"Ecosystem",[169,172,175],{"title":170,"path":171,"order":131},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":173,"path":174,"order":135},"Nuxt","\u002Fguides\u002Fnuxt",{"title":176,"path":177,"order":157},"AI agents","\u002Fguides\u002Fai-agents",{"label":179,"entries":180},"Inputs",[181,184,187,190,193,196,200,204,208,212,216],{"title":182,"path":183,"component":182,"order":131},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":185,"path":186,"component":185,"order":135},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":188,"path":189,"component":188,"order":157},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":191,"path":192,"component":191,"order":161},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":194,"path":195,"component":194,"order":165},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":197,"path":198,"component":197,"order":199},"BbForm","\u002Fcomponents\u002Fbb-form",6,{"title":201,"path":202,"component":201,"order":203},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":205,"path":206,"component":205,"order":207},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":209,"path":210,"component":209,"order":211},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":213,"path":214,"component":213,"order":215},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":217,"path":218,"component":217,"order":219},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":221,"entries":222},"Selection",[223,226,229,232,235,238,241,244,247,250],{"title":224,"path":225,"component":224,"order":131},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":227,"path":228,"component":227,"order":135},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":230,"path":231,"component":230,"order":157},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":233,"path":234,"component":233,"order":161},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":236,"path":237,"component":236,"order":165},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":239,"path":240,"component":239,"order":199},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":242,"path":243,"component":242,"order":203},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":245,"path":246,"component":245,"order":207},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":248,"path":249,"component":248,"order":211},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":251,"path":252,"component":251,"order":215},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":254,"entries":255},"Overlay",[256,259,262,265,268,271,274,277,280,283],{"title":257,"path":258,"component":257,"order":131},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":260,"path":261,"component":260,"order":135},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":263,"path":264,"component":263,"order":157},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":266,"path":267,"component":266,"order":161},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":269,"path":270,"component":269,"order":165},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":272,"path":273,"component":272,"order":199},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":275,"path":276,"component":275,"order":203},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":278,"path":279,"component":278,"order":207},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":281,"path":282,"component":281,"order":211},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":284,"path":285,"component":284,"order":215},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":287,"entries":288},"Navigation",[289,292,295,298,301,304],{"title":290,"path":291,"component":290,"order":131},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":293,"path":294,"component":293,"order":135},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":296,"path":297,"component":296,"order":157},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":299,"path":300,"component":299,"order":161},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":302,"path":303,"component":302,"order":165},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":305,"path":306,"component":305,"order":199},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":308,"entries":309},"Feedback",[310,313,316,319,322,325],{"title":311,"path":312,"component":311,"order":131},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":314,"path":315,"component":314,"order":135},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":317,"path":318,"component":317,"order":157},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":320,"path":321,"component":320,"order":161},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":323,"path":324,"component":323,"order":165},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":326,"path":327,"component":326,"order":199},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":329,"entries":330},"Data Display",[331,334,337],{"title":332,"path":333,"component":332,"order":131},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":335,"path":336,"component":335,"order":135},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":338,"path":339,"component":338,"order":157},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":341,"entries":342},"Layout & Utility",[343],{"title":344,"path":345,"component":344,"order":131},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":347,"entries":348},"Other",[349],{"title":350,"path":351,"component":350,"order":131},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",{"name":302,"slug":353,"group":287,"description":354,"entrypoint":355,"docs":356,"props":359,"models":502,"events":504,"slots":510,"exposed":534,"pt":535,"validated":400,"migration":552},"bb-tabs","Switches between tabbed content views (shadcn-like strip; the co-located BbTabsRoot \u002F BbTabsList \u002F BbTabsPanes exports enable split layouts).","bitboss-ui",{"contract":357,"source":358},"ai\u002FBbTabs.md","ai\u002Fsource\u002FBbTabs.md",[360,368,372,378,383,387,392,397,402,408,415,420,424,428,432,436,439,443,447,450,453,457,461,465,468,471,473,475,477,479,481,483,485,490,494,497],{"name":361,"type":362,"required":363,"default":364,"description":365,"note":366,"demo":367},"block","boolean | undefined",false,"false","Displays the component as full width.","Full width with equal-width triggers, measured from the widest so they stay even once the strip overflows. Horizontal only. It replaces the full-width class most v2 projects wrote for themselves — delete yours, or the two fight over the same declarations with nothing to say which won.","layout",{"name":369,"type":362,"required":363,"default":364,"description":370,"note":371,"demo":367},"compact","Adds a CSS class that applies a compact style to the component.","Drops the whole scale one notch — a 28px strip with smaller text and padding — so it lines up with compact fields.",{"name":373,"type":374,"required":363,"default":375,"description":376,"note":377,"demo":367},"direction","\"horizontal\" | \"vertical\" | undefined","\"horizontal\"","Direction of the tabs component.","A vertical strip becomes a column beside the panes and answers Up\u002FDown as well as Left\u002FRight. It also reads a `--max-w` custom property to cap its width, which is the only knob that works from an ancestor.",{"name":379,"type":362,"required":363,"default":364,"description":380,"note":381,"demo":382},"disableAnimateX","Disables the horizontal slide transition between tab panels\n(enabled by default).","Inverted from v2's `animateX`, which defaulted to `true`. A leftover `:animate-x=\"false\"` type-checks, falls into `$attrs` and lands on the root as a plain attribute, so the slide comes back; dev warns by name, production does not.","animation",{"name":384,"type":362,"required":363,"default":364,"description":385,"note":386,"demo":382},"disableAnimateY","Disables the smooth height animation when switching between tab\npanels (enabled by default).","Inverted from v2's `animateY`, the same way as `disableAnimateX`. Reach for it when a pane hosts its own transitions or virtualized content that fights the height measurement.",{"name":388,"type":362,"required":363,"default":364,"description":389,"note":390,"demo":391},"disabled","Disables the component","Disables the whole group: every trigger goes disabled and keyboard navigation is inert. For a single unreachable tab, set `disabled` on its `items` entry instead — it stays visible, is skipped by the arrows, and can never be the default selection.","keyboard",{"name":393,"type":362,"required":363,"default":364,"description":394,"note":395,"demo":396},"eager","Prevents rendering content before it's made visible.","Mounts every pane from the first render and keeps it mounted, hidden while inactive; a lazy pane unmounts on every switch away and loses its state. Prefer the per-item form (`{ key, label, eager: true }`) when only one pane needs it — an eager pane costs its render on every page load. It never leaks to assistive technology: an inactive pane is `display: none` either way.","panes",{"name":398,"type":399,"required":363,"default":400,"description":401,"note":400,"demo":400},"headers","Record\u003Cstring, string> | undefined",null,"Additional HTTP headers forwarded to Inertia when navigation is triggered.\nOnly meaningful in an Inertia context.",{"name":403,"type":404,"required":363,"default":400,"description":405,"note":406,"demo":407},"id","string | undefined","The identifier of the component.","Also the address for `useBbTabsContext(id)`, which is how a banner or a page header outside the tabs steers them. Generated ids are not addressable, so pass one when anything outside the tree needs to reach the group.","composition",{"name":409,"type":410,"required":411,"default":400,"description":412,"note":413,"demo":414},"items","BbTabsItem\u003CK>[]",true,"Array of items that define the tabs in the component.","Each entry carries its own `disabled`, `eager`, `href`, `server` and Inertia options, and item values always win over the component-level ones. The `key` stays raw everywhere you write it — `v-model`, the item itself — but slot names, DOM ids and the URL all use the normalized slug: lowercased, with every run of non-word characters folded to `_`.","default",{"name":416,"type":417,"required":363,"default":400,"description":418,"note":419,"demo":414},"modelValue","K | null | undefined","The current tab key. Used by v-model.","The raw item key, never the normalized slug. Leave it unbound (or `null`) and the first enabled tab is selected for you; if every tab is disabled the strip renders with no selection rather than throwing.",{"name":421,"type":362,"required":363,"default":364,"description":422,"note":423,"demo":421},"navigation","Synchronizes the current tab with the URL query parameter.\n\nPair it with `replace` unless a tab is genuinely a separate destination —\nsee the `replace` prop.","Makes the strip a writer of the URL query. Pair it with `replace` unless a tab is a destination of its own, and remember that a prerendered page is built with no query at all: the static HTML always carries the fallback tab, and the URL only takes over once the page is in the browser.",{"name":425,"type":426,"required":363,"default":400,"description":427,"note":400,"demo":400},"onBefore","(() => boolean | void) | undefined","Inertia lifecycle hook — fired just before the request is sent.\nReturn `false` to cancel the visit.",{"name":429,"type":430,"required":363,"default":400,"description":431,"note":400,"demo":400},"onCancel","(() => void) | undefined","Inertia lifecycle hook — fired when the request is cancelled.",{"name":433,"type":434,"required":363,"default":400,"description":435,"note":400,"demo":400},"onError","((errors: Record\u003Cstring, string>) => void) | undefined","Inertia lifecycle hook — fired when the server returns validation errors.",{"name":437,"type":430,"required":363,"default":400,"description":438,"note":400,"demo":400},"onFinish","Inertia lifecycle hook — fired after the visit finishes (success or error).",{"name":440,"type":441,"required":363,"default":400,"description":442,"note":400,"demo":400},"only","string[] | undefined","Limits which server-side props are refreshed during a partial Inertia reload.\nOnly meaningful in an Inertia context.",{"name":444,"type":445,"required":363,"default":400,"description":446,"note":400,"demo":400},"onProgress","((progress: { percentage: number | undefined; }) => void) | undefined","Inertia lifecycle hook — fired when upload\u002Fdownload progress is available.",{"name":448,"type":430,"required":363,"default":400,"description":449,"note":400,"demo":400},"onStart","Inertia lifecycle hook — fired when the request starts.",{"name":451,"type":430,"required":363,"default":400,"description":452,"note":400,"demo":400},"onSuccess","Inertia lifecycle hook — fired when the visit completes successfully.",{"name":454,"type":455,"required":363,"default":400,"description":456,"note":400,"demo":400},"preserveScroll","boolean | ((props: Record\u003Cstring, unknown>) => boolean) | undefined","Controls whether Inertia preserves the scroll position after navigation.\nOnly meaningful in an Inertia context.",{"name":458,"type":459,"required":363,"default":400,"description":460,"note":400,"demo":400},"preserveState","boolean | ((props: Record\u003Cstring, unknown>) => boolean) | null | undefined","Controls whether Inertia preserves the current component state after navigation.\nOnly meaningful in an Inertia context.",{"name":462,"type":463,"required":363,"default":400,"description":464,"note":400,"demo":400},"pt","PtItemMap\u003CBbTabsPtPart, \"item\", BbTabsPtState, BbTabsItem\u003CK>> | undefined","Passthrough, object form: the same keys as the `pt:*` attributes\nwithout the prefix. See the `pt:\u003Cpart>` row.",{"name":466,"type":467,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:item","PtValue | ((ctx: PtItemCtx\u003CBbTabsItem\u003CK>, BbTabsPtState>) => PtItemResult) | undefined",{"name":469,"type":470,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:item:active","PtValue | undefined",{"name":472,"type":470,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:item:disabled",{"name":474,"type":470,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:panel",{"name":476,"type":470,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:panel:active",{"name":478,"type":470,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:panel:disabled",{"name":480,"type":470,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:root",{"name":482,"type":470,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:root:active",{"name":484,"type":470,"required":363,"default":400,"description":400,"note":400,"demo":400},"pt:root:disabled",{"name":486,"type":404,"required":363,"default":487,"description":488,"note":489,"demo":421},"queryKey","\"tab\"","Defines the query key used for URL-based navigation.","Spelled `querykey` in v2. The all-lowercase form type-checks, falls through to `$attrs` and the sync silently moves to the default `?tab=`. The value written is the normalized slug, not the key, so anything else reading the parameter — a server, an analytics filter — must compare against the slug.",{"name":491,"type":362,"required":363,"default":364,"description":492,"note":493,"demo":421},"replace","Replaces history rather than pushing it when changing tab.\n\nRecommended default whenever `navigation` is on: the query keeps the\nactive tab (deep-linkable, survives reload) while Back still returns to\nthe page the user came from, instead of undoing one tab click at a time.\nLeave it off only when a tab is a destination of its own — typically a\n`server` visit whose content the user should be able to go Back to.","Effectively required alongside `navigation`: without it every tab click is a history entry, so Back walks the reader through their clicks instead of leaving the page.",{"name":495,"type":362,"required":363,"default":364,"description":496,"note":400,"demo":400},"server","When true and in an Inertia context, triggers a real server-side Inertia\nvisit instead of a client-only `history.pushState`.",{"name":498,"type":499,"required":363,"default":500,"description":501,"note":400,"demo":400},"variant","keyof TabsVariantRegistry | undefined","\"pill\"","Look of the tab strip. `pill` is the segmented strip — a muted rounded\nbar with a raised pill sliding under the active trigger; `line` puts\nthe triggers on a thin baseline with a sliding underline (on the side\nedge when `direction=\"vertical\"`); `none` keeps behaviour and structure\nwith no chrome, for fully custom designs through `pt` and classes.\n\nEvery look is a preset of the strip's tokens (`--list-bg`,\n`--indicator-bg`, `--indicator-h`, `--active-fg`, …). Register more via\nthe vite plugin `tabsVariants` option and style\n`.bb-tabs-list--\u003Cvariant>` with the same tokens. The class lands on the\nstrip (`BbTabsList`), which can also take its own `variant` on the split\nlayout.",[503],{"name":416,"type":417,"note":400,"demo":414},[505],{"name":506,"signature":507,"description":508,"note":509,"demo":414},"update:modelValue","(e: \"update:modelValue\", value: K): void","Emitted when the selected tab changes. Used by `v-model`.","The whole event surface. It also fires once on mount when the component resolves a key the parent never set — from the URL query or the first-enabled fallback — so a binding starts aligned.",[511,516,521,525,530],{"name":512,"type":513,"description":514,"note":515,"demo":396},"\u003Ckey>","BbTabsSlotProps\u003CK>","One tab's content pane, by the tab `key` through `slotKey`; no fallback (an empty pane).","The pane. Its name is the normalized key (`billing-info` is `#billing_info`); with `items` generated, write `#[slotKey(item.key)]` rather than restating the rule. Only the active pane is mounted unless the pane is `eager`.",{"name":517,"type":518,"description":519,"note":520,"demo":367},"header:append","BbTabsScrollSlotProps","Content rendered after the scrollable tab label list (e.g. a right scroll arrow).","The trailing counterpart of `header:prepend`. Bind each arrow to `canScrollLeft` \u002F `canScrollRight` so it dims at the ends of the strip.",{"name":522,"type":518,"description":523,"note":524,"demo":367},"header:prepend","Content rendered before the scrollable tab label list (e.g. a left scroll arrow).","Rendered outside the scrollable list, so it stays put while the strip moves. The buttons are your markup, which means an icon-only arrow needs an `aria-label` you write.",{"name":526,"type":513,"description":527,"note":528,"demo":529},"label","Fallback slot used for all tab labels when no per-tab `label:\u003Ckey>` slot is provided.","The fallback for every trigger; a `label:\u003Ckey>` slot beats it for that one tab. Keep it presentational: the trigger is already the control, so a nested button or link is invalid and steals the click.","labels",{"name":531,"type":513,"description":532,"note":533,"demo":529},"label:\u003Ckey>","One tab trigger's label, by the tab `key` through `slotKey`; beats `label`, which beats the item's `label` text.","The key is normalized: `inReview` is `#label:inreview`, `In Review` is `#label:in_review`. Presentation only, like `label`.",[],{"parts":536,"states":546},[537,540,543],{"name":538,"description":539},"root","The tabs' outer element. The strip and the sliding pill are not parts.",{"name":541,"description":542},"item","One tab trigger — a broadcast resolved per tab with its own `active` \u002F `disabled`. Also takes a per-item function, called with the tab's descriptor.",{"name":544,"description":545},"panel","One tab pane — a broadcast; `panel:active` is the pane on show. Takes no function.",[547,550],{"name":548,"description":549},"active","Per node, on `item` and `panel`: the selected tab's trigger and its shown pane.",{"name":388,"description":551},"Per node, on `item` only: a tab that is disabled.",{"removed":553,"renamed":567},[554,560,563],{"name":555,"replacedBy":379,"since":556,"migration":557,"silent":411,"fix":558},"animateX","3.0.0-unreleased","ai\u002Fguides\u002Fmigration\u002Fcomponents\u002Fbb-tabs.md",{"kind":559},"invert",{"name":561,"replacedBy":384,"since":556,"migration":557,"silent":411,"fix":562},"animateY",{"kind":559},{"name":564,"replacedBy":486,"since":556,"migration":557,"silent":411,"fix":565},"querykey",{"kind":566},"rename",[568,570,572],{"from":555,"to":379,"since":556,"migration":557,"fix":569},{"kind":559},{"from":561,"to":384,"since":556,"migration":557,"fix":571},{"kind":559},{"from":564,"to":486,"since":556,"migration":557,"fix":573},{"kind":566},1790062846783]