[{"data":1,"prerenderedAt":2674},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":134,"api-none":377,"page-en-\u002Fguides\u002Fmigration":378},{"\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":143,"body":380,"component":377,"description":2658,"extension":2659,"group":136,"meta":2660,"navigation":2387,"order":145,"path":144,"sections":2661,"seo":2671,"stem":2672,"__hash__":2673},"docs_en\u002Fguides\u002Fmigration.md",{"type":381,"value":382,"toc":2647},"minimark",[383,387,390,398,401,480,487,493,553,564,594,603,609,624,685,699,705,718,721,724,834,840,881,885,888,1011,1014,1036,1047,1053,1067,1092,1352,1376,1419,1425,1432,1438,1447,1453,1456,1718,1727,1733,1763,1782,2563,2569,2575,2578,2631,2634,2643],[384,385,386],"p",{},"Most of a v2 → v3 upgrade is work the compiler does for you. With typed\ntemplates, renamed props, removed props and unregistered variants all fail\nloudly, component by component.",[384,388,389],{},"The rest needs care. A set of boolean defaults flipped, two visual defaults\nchanged and several components behave differently, and neither the type-checker\nnor the console mentions any of it.",[391,392,394],"h2",{"id":393},"order",[395,396,397],"span",{},"Do it in this order",[384,399,400],{},"The order matters. Steps 1 and 2 have to land before anything renders correctly,\nand step 3 has to land before a visual review means anything.",[402,403,404,417,431,437,455,465],"ol",{},[405,406,407,411,412,416],"li",{},[408,409,410],"strong",{},"Swap the setup."," Install the build plugin and the runtime plugin, and\nmount the one ",[413,414,415],"code",{},"\u003CBbHost \u002F>",". Nothing renders correctly until this is done.",[405,418,419,422,423,426,427,430],{},[408,420,421],{},"Move your config."," Everything you passed to ",[413,424,425],{},"useBbConfig().setConfig()","\nexcept ",[413,428,429],{},"locale"," now lives in the build-plugin options.",[405,432,433,436],{},[408,434,435],{},"Re-base your theme."," Token names and defaults changed, including the\nprimary colour itself.",[405,438,439,442,443,446,447,450,451,454],{},[408,440,441],{},"Let the tool rewrite what it can, then fix the rest."," Run\n",[413,444,445],{},"npx bitboss-ui check --fix"," (renames, polarity flips, value remaps and the\nitem fields of dropdowns, tabs and breadcrumbs in ",[413,448,449],{},".vue"," files). Then work\nthrough what it and ",[413,452,453],{},"vue-tsc"," still report, component by component.",[405,456,457,460,461,464],{},[408,458,459],{},"Audit what the compiler cannot find."," Untyped templates, ",[413,462,463],{},"v-bind","\nobjects and behavioural flips are silent. Read the behaviour list, then run\nthe grep pass.",[405,466,467,470,471,474,475,479],{},[408,468,469],{},"Convert class overrides to variants."," A userland\n",[413,472,473],{},"class=\"bb-button--outline\""," keeps ",[476,477,478],"em",{},"working",", but the variant prop is typed\nand is the only form the registry validates.",[384,481,482,483,486],{},"After installing, restart the dev server and delete ",[413,484,485],{},"node_modules\u002F.vite",". A\nserver started before the install keeps serving the old pre-bundled JavaScript\nnext to the new CSS.",[384,488,489,492],{},[408,490,491],{},"Already on a 3.0 beta?"," This page is not your path. Before installing the new\nversion, see which of your files it breaks:",[494,495,500],"pre",{"className":496,"code":497,"language":498,"meta":499,"style":499},"language-bash shiki shiki-themes github-light-high-contrast github-dark-high-contrast","npm pack bitboss-ui@beta && tar -xzf bitboss-ui-*.tgz\nnpx bitboss-ui check --manifest package\u002Fdist\u002Fai\u002Fcomponents.json\n","bash","",[413,501,502,536],{"__ignoreMap":499},[395,503,505,509,513,516,520,523,527,530,533],{"class":504,"line":141},"line",[395,506,508],{"class":507},"soyes","npm",[395,510,512],{"class":511},"sT6z2"," pack",[395,514,515],{"class":511}," bitboss-ui@beta",[395,517,519],{"class":518},"suds8"," && ",[395,521,522],{"class":507},"tar",[395,524,526],{"class":525},"s-5SL"," -xzf",[395,528,529],{"class":511}," bitboss-ui-",[395,531,532],{"class":525},"*",[395,534,535],{"class":511},".tgz\n",[395,537,538,541,544,547,550],{"class":504,"line":145},[395,539,540],{"class":507},"npx",[395,542,543],{"class":511}," bitboss-ui",[395,545,546],{"class":511}," check",[395,548,549],{"class":525}," --manifest",[395,551,552],{"class":511}," package\u002Fdist\u002Fai\u002Fcomponents.json\n",[384,554,555,556,559,560,563],{},"After installing, list every breaking change since the version you had,\nrenamed CSS classes included. ",[413,557,558],{},"--since"," takes the version ",[413,561,562],{},"npm ls bitboss-ui","\nprinted before the upgrade:",[494,565,567],{"className":496,"code":566,"language":498,"meta":499,"style":499},"npx bitboss-ui changelog --since \u003Cold-version>\n",[413,568,569],{"__ignoreMap":499},[395,570,571,573,575,578,581,585,588,591],{"class":504,"line":141},[395,572,540],{"class":507},[395,574,543],{"class":511},[395,576,577],{"class":511}," changelog",[395,579,580],{"class":525}," --since",[395,582,584],{"class":583},"sHUrx"," \u003C",[395,586,587],{"class":511},"old-versio",[395,589,590],{"class":518},"n",[395,592,593],{"class":583},">\n",[384,595,596,598,599,602],{},[413,597,445],{}," then applies the recorded renames (props, slots,\n",[413,600,601],{},"pt"," keys, item fields, imports) and reports what is left for you.",[391,604,606],{"id":605},"plugin",[395,607,608],{},"The plugin pattern",[384,610,611,612,615,616,619,620,623],{},"v3 is a plugin, not a bag of exports. Two pieces are always required: a ",[408,613,614],{},"build\nplugin"," that generates the config, icon registry and typed variant lists, and a\n",[408,617,618],{},"runtime plugin"," that injects styles and registers the directives.\n",[621,622,139],"a",{"href":120}," covers the wiring for Vite, Nuxt and\nInertia.",[384,625,626,627,630,631,634,635,640,641,630,644,647,648,651,652,655,656,659,660,662,663,665,666,668,669,671,672,674,675,677,678,680,681,684],{},"v2's ",[413,628,629],{},"\u003CBbConfirm \u002F>"," and ",[413,632,633],{},"\u003CBbToast \u002F>"," tags are gone. One\n",[621,636,638],{"href":637},"\u002Fen\u002Fguides\u002Finstallation#runtime",[413,639,415],{}," at the app root renders every\n",[413,642,643],{},"confirm()",[413,645,646],{},"toast()",", and it takes no props, so their settings move to the\nplugin: the toast ",[413,649,650],{},"placement"," becomes ",[413,653,654],{},"toastPosition",", a default width for\nevery confirm is ",[413,657,658],{},"confirm: { defaultSize }",", and a ",[413,661,601],{}," you set on either tag\ngoes in the build-time ",[413,664,601],{}," map under ",[413,667,282],{}," or ",[413,670,351],{},". ",[413,673,643],{},", ",[413,676,646],{},"\nand the portal components keep their names. Without a host, a ",[413,679,643],{},"\nresolves ",[413,682,683],{},"false"," after a second.",[384,686,687,688,691,692,695,696,698],{},"A hand-rolled ",[413,689,690],{},"provide('icons', …)"," is shadowed, not merged, by the plugin's own\nregistry, so icons registered that way stop resolving without an error. Move\nthem into ",[413,693,694],{},"iconDir",", as ",[621,697,179],{"href":116}," describes.",[391,700,702],{"id":701},"config",[395,703,704],{},"Config moves to build time",[384,706,707,708,710,711,713,714,717],{},"Everything that used to go through ",[413,709,425],{}," is now a\nbuild-plugin option. Only ",[413,712,429],{}," stays runtime-editable, through\n",[413,715,716],{},"useBbConfig()",".",[384,719,720],{},"This is the change that makes the variant registries and the typed icon names\npossible: the plugin knows at build time what names exist, so an unregistered one\nis a compile error rather than an unstyled element.",[384,722,723],{},"Five defaults changed on the way, and none of them errors:",[725,726,727,741,800,816,827],"ul",{},[405,728,729,730,733,734,736,737,740],{},"The library's built-in strings (confirm buttons, empty states, close labels)\nare ",[408,731,732],{},"English"," unless you set ",[413,735,429],{},". An Italian app sets ",[413,738,739],{},"locale: 'it'"," in\nthe plugin.",[405,742,743,744,747,748],{},"The dialog and off-canvas size maps changed value. A ",[413,745,746],{},"BbDialog size=\"md\""," was\n652px wide in v2 and is 448px in v3. Pin the old widths if a layout relied\non them:",[494,749,754],{"className":750,"code":751,"filename":752,"language":753,"meta":499,"style":499},"language-ts shiki shiki-themes github-light-high-contrast github-dark-high-contrast","bitbossUi({\n    dialogDefaultSizes: { md: 652, lg: 896 },\n    offCanvasDefaultSizes: { md: 652, lg: 896 },\n});\n","vite.config.ts","ts",[413,755,756,765,782,795],{"__ignoreMap":499},[395,757,758,762],{"class":504,"line":141},[395,759,761],{"class":760},"sKwhi","bitbossUi",[395,763,764],{"class":518},"({\n",[395,766,767,770,773,776,779],{"class":504,"line":145},[395,768,769],{"class":518},"    dialogDefaultSizes: { md: ",[395,771,772],{"class":525},"652",[395,774,775],{"class":518},", lg: ",[395,777,778],{"class":525},"896",[395,780,781],{"class":518}," },\n",[395,783,784,787,789,791,793],{"class":504,"line":149},[395,785,786],{"class":518},"    offCanvasDefaultSizes: { md: ",[395,788,772],{"class":525},[395,790,775],{"class":518},[395,792,778],{"class":525},[395,794,781],{"class":518},[395,796,797],{"class":504,"line":177},[395,798,799],{"class":518},"});\n",[405,801,802,803,806,807,810,811,815],{},"Dialogs, popovers, dropdowns and selects open as ",[408,804,805],{},"bottom sheets"," on screens\nnarrower than 768px. ",[413,808,809],{},"adaptive: false"," in the plugin keeps them floating: a\ntemporary crutch while the rest moves, removed in the\n",[621,812,814],{"href":813},"\u002Fen\u002Fguides\u002Fadoption-checklist#adaptive","adoption checklist","'s final phase.",[405,817,818,819,822,823,826],{},"Tooltips wait ",[408,820,821],{},"100 ms"," on hover before opening (keyboard focus still opens\nthem at once). ",[413,824,825],{},":delay=\"0\""," restores the instant hover.",[405,828,829,830,833],{},"A popover leaves the page usable while it is open: an outside click closes\nit and still reaches what was clicked. Set ",[413,831,832],{},"modal"," on a popover that must\nblock the page until it is dismissed.",[391,835,837],{"id":836},"tokens",[395,838,839],{},"Re-base your theme",[841,842,843,848],"warning",{},[384,844,845],{},[408,846,847],{},"Two visual defaults changed with no rename to grep for.",[725,849,850,868],{},[405,851,852,855,856,859,860,863,864,867],{},[413,853,854],{},"--bb-primary"," is now ",[408,857,858],{},"black"," (",[413,861,862],{},"rgb(0 0 0)","), not v2's blue\n(",[413,865,866],{},"rgb(37 29 255)","). If you never overrode primary because the blue suited you,\nyour whole app changes colour on upgrade. Set your brand colour explicitly.",[405,869,870,873,874,877,878,717],{},[413,871,872],{},"--bb-radius"," went from ",[413,875,876],{},"4px"," to ",[413,879,880],{},"8px",[882,883],"demo",{"name":884},"Guides\u002FV2Defaults",[384,886,887],{},"Six more tokens kept their name and changed value, so no rename map or grep\nfinds them:",[889,890,891,907],"table",{},[892,893,894],"thead",{},[895,896,897,901,904],"tr",{},[898,899,900],"th",{},"Token",[898,902,903],{},"v2",[898,905,906],{},"v3",[908,909,910,928,944,961,978,994],"tbody",{},[895,911,912,918,923],{},[913,914,915],"td",{},[413,916,917],{},"--bb-input-h",[913,919,920],{},[413,921,922],{},"36px",[913,924,925],{},[413,926,927],{},"32px",[895,929,930,935,939],{},[913,931,932],{},[413,933,934],{},"--bb-input-py",[913,936,937],{},[413,938,876],{},[913,940,941],{},[413,942,943],{},"3px",[895,945,946,951,956],{},[913,947,948],{},[413,949,950],{},"--bb-input-prefix-w",[913,952,953],{},[413,954,955],{},"40px",[913,957,958],{},[413,959,960],{},"20px",[895,962,963,968,973],{},[913,964,965],{},[413,966,967],{},"--bb-label-weight",[913,969,970],{},[413,971,972],{},"400",[913,974,975],{},[413,976,977],{},"500",[895,979,980,985,989],{},[913,981,982],{},[413,983,984],{},"--bb-ring-size",[913,986,987],{},[413,988,876],{},[913,990,991],{},[413,992,993],{},"2px",[895,995,996,1001,1006],{},[913,997,998],{},[413,999,1000],{},"--bb-leading",[913,1002,1003],{},[413,1004,1005],{},"24px",[913,1007,1008],{},[413,1009,1010],{},"21px",[384,1012,1013],{},"Keep a declaration only if you chose that value. Delete the ones that restated a\nv2 default: carried forward, they keep the v2 look.",[384,1015,1016,1017,1020,1021,1024,1025,1024,1028,1031,1032,1035],{},"The token layer also shrank, to 112 ",[413,1018,1019],{},"--bb-*"," tokens from around 140, and the old\n",[413,1022,1023],{},"--x-light"," \u002F ",[413,1026,1027],{},"--x-dark",[413,1029,1030],{},"--x"," triple is gone. One name per token; ",[413,1033,1034],{},".dark","\nre-declares only the knobs that change.",[384,1037,1038,1039,1041,1042,1046],{},"Re-declare your brand theme before you look at a single screen.\n",[621,1040,154],{"href":112}," is the new architecture, and the\n",[621,1043,1045],{"href":1044},"\u002Fen\u002Ftheme-builder","theme builder"," is the fastest way to get a starting block.",[391,1048,1050],{"id":1049},"polarity",[395,1051,1052],{},"Boolean props that flipped",[384,1054,1055,1056,1062,1063,1066],{},"The v3 rule: ",[408,1057,1058,1059,1061],{},"a boolean prop defaults to ",[413,1060,683],{},", and its name states what\nturning it on does."," Props that defaulted to ",[413,1064,1065],{},"true"," were renamed to their\ninverse.",[384,1068,1069,1070,1073,1074,1077,1078,1081,1082,1085,1086,651,1089,717],{},"So if you passed the old prop at its default (",[413,1071,1072],{},":show-close=\"true\"","), delete it.\nIf you passed the non-default (",[413,1075,1076],{},":show-close=\"false\"","), switch to the new name\n(",[413,1079,1080],{},"hide-close","). A ",[413,1083,1084],{},"not-mobile"," value moves too:\n",[413,1087,1088],{},"allow-writing=\"not-mobile\"",[413,1090,1091],{},"disable-writing=\"mobile\"",[889,1093,1094,1104],{},[892,1095,1096],{},[895,1097,1098,1101],{},[898,1099,1100],{},"Component",[898,1102,1103],{},"v2 (default) → v3",[908,1105,1106,1131,1147,1169,1189,1203,1220,1236,1254,1277,1291,1313,1329],{},[895,1107,1108,1116],{},[913,1109,1110,674,1112,674,1114],{},[413,1111,336],{},[413,1113,288],{},[413,1115,300],{},[913,1117,1118,859,1121,1123,1124,1127,1128,1130],{},[413,1119,1120],{},"showClose",[413,1122,1065],{},") → ",[413,1125,1126],{},"hideClose",", also in ",[413,1129,646],{}," options",[895,1132,1133,1137],{},[913,1134,1135],{},[413,1136,363],{},[913,1138,1139,859,1142,1123,1144],{},[413,1140,1141],{},"allowSelectAll",[413,1143,1065],{},[413,1145,1146],{},"disableSelectAll",[895,1148,1149,1153],{},[913,1150,1151],{},[413,1152,327],{},[913,1154,1155,1024,1158,859,1161,1123,1163,1024,1166],{},[413,1156,1157],{},"animateX",[413,1159,1160],{},"animateY",[413,1162,1065],{},[413,1164,1165],{},"disableAnimateX",[413,1167,1168],{},"disableAnimateY",[895,1170,1171,1175],{},[913,1172,1173],{},[413,1174,205],{},[913,1176,1177,859,1180,1123,1182,1185,1186],{},[413,1178,1179],{},"autoLoading",[413,1181,683],{},[413,1183,1184],{},"disableAutoLoading",": ",[408,1187,1188],{},"loading is now on",[895,1190,1191,1195],{},[913,1192,1193],{},[413,1194,294],{},[913,1196,1197,859,1199,1123,1201],{},[413,1198,1179],{},[413,1200,1065],{},[413,1202,1184],{},[895,1204,1205,1209],{},[913,1206,1207],{},[413,1208,294],{},[913,1210,1211,859,1214,1123,1216,1219],{},[413,1212,1213],{},"disabledWhileLoading",[413,1215,1065],{},[408,1217,1218],{},"removed",": always disabled while loading",[895,1221,1222,1226],{},[913,1223,1224],{},[413,1225,267],{},[913,1227,1228,859,1231,1123,1233],{},[413,1229,1230],{},"thumbTranslate",[413,1232,1065],{},[413,1234,1235],{},"disableThumbTranslate",[895,1237,1238,1244],{},[913,1239,1240,674,1242],{},[413,1241,279],{},[413,1243,264],{},[913,1245,1246,859,1249,1123,1251],{},[413,1247,1248],{},"flip",[413,1250,1065],{},[413,1252,1253],{},"disableFlip",[895,1255,1256,1262],{},[913,1257,1258,674,1260],{},[413,1259,261],{},[413,1261,264],{},[913,1263,1264,859,1267,1123,1269,1272,1273,1276],{},[413,1265,1266],{},"allowWriting",[413,1268,1065],{},[413,1270,1271],{},"disableWriting",", default ",[413,1274,1275],{},"'auto'",": no search field under six options",[895,1278,1279,1283],{},[913,1280,1281],{},[413,1282,214],{},[913,1284,1285,859,1287,1123,1289],{},[413,1286,1266],{},[413,1288,1065],{},[413,1290,1271],{},[895,1292,1293,1301],{},[913,1294,1295,674,1297,674,1299],{},[413,1296,246],{},[413,1298,252],{},[413,1300,270],{},[913,1302,1303,859,1306,1123,1308,674,1310],{},[413,1304,1305],{},"reverse",[413,1307,1065],{},[413,1309,1305],{},[408,1311,1312],{},"meaning inverted",[895,1314,1315,1319],{},[913,1316,1317],{},[413,1318,336],{},[913,1320,1321,859,1324,1123,1326,1328],{},[413,1322,1323],{},"ariaAtomic",[413,1325,1065],{},[408,1327,1218],{},": the live region is fixed",[895,1330,1331,1336],{},[913,1332,1333],{},[413,1334,1335],{},"BbChip",[913,1337,1338,859,1341,1123,1343,1346,1347,1349,1350],{},[413,1339,1340],{},"clearable",[413,1342,1065],{},[408,1344,1345],{},"removed with the component","; use ",[413,1348,339],{}," ",[413,1351,1340],{},[384,1353,1354,1355,1359,1360,1364,1365,1368,1369,1371,1372,1375],{},"This is a per-component rename, not a find-and-replace: where a component\ndropped the feature, delete the prop. Neither\n",[621,1356,1357],{"href":60},[413,1358,303],{}," nor\n",[621,1361,1362],{"href":100},[413,1363,309],{}," has a close button in v3, so\n",[413,1366,1367],{},"show-close"," is removed there and ",[413,1370,1080],{}," is not a valid prop on either.\n",[413,1373,1374],{},"npx bitboss-ui check"," catches both spellings.",[384,1377,1378,1379,1383,1384,1387,1388,1391,1392,1394,1395,1399,1400,630,1404,1408,1409,1412,1413,1415,1416,1418],{},"Two of these change behaviour rather than only spelling.\n",[621,1380,1381],{"href":18},[413,1382,205],{}," now shows the loading spinner and disables\nitself for an async ",[413,1385,1386],{},"@click"," handler; pass ",[413,1389,1390],{},"disable-auto-loading"," to keep the v2\nbehaviour. And ",[413,1393,1305],{}," on ",[621,1396,1397],{"href":22},[413,1398,246],{},",\n",[621,1401,1402],{"href":64},[413,1403,252],{},[621,1405,1406],{"href":80},[413,1407,270],{},"\nmeans the opposite of what it did: unset renders identically, but a v2\n",[413,1410,1411],{},":reverse=\"false\""," becomes a bare ",[413,1414,1305],{},", and a v2 ",[413,1417,1305],{}," is deleted.",[391,1420,1422],{"id":1421},"variants",[395,1423,1424],{},"Variants became typed",[384,1426,1427,1428,1431],{},"In v2, ",[413,1429,1430],{},"theme"," took any string and a class override did the rest. In v3, variant\nnames are typed per family, and a name that is neither built-in nor registered\nthrough the plugin fails to compile.",[384,1433,1434,1435,1437],{},"A ",[413,1436,1430],{}," value that did nothing in v2 may do something in v3, because v2\nshipped no CSS for several of them. Before converting a value, grep your own\nstylesheets for the matching modifier class: if nothing styled it, delete the\nprop.",[384,1439,1440,1441,1444,1445,717],{},"Registering a name is first-class and expected. See\n",[621,1442,157],{"href":1443},"\u002Fen\u002Fguides\u002Fdesign-language#custom-variant"," for the plugin\noption and the stylesheet block that go with it. Both halves are required: a\nregistered name with no CSS is an unstyled pill, and CSS with no registration\nfails ",[413,1446,453],{},[391,1448,1450],{"id":1449},"behaviour",[395,1451,1452],{},"Behaviour that changed",[384,1454,1455],{},"Nothing here fails to compile. Existing code runs and does something else, so\nread the list once against your screens.",[725,1457,1458,1479,1493,1502,1513,1541,1574,1597,1610,1627,1637,1675,1692],{},[405,1459,1460,1463,1464,668,1466,1468,1469,1471,1472,1474,1475,1478],{},[408,1461,1462],{},"Selects no longer clear on a second click."," Clicking the selected option of\na ",[413,1465,261],{},[413,1467,264],{}," picks it again and closes; it used to empty\nthe field. Add ",[413,1470,1340],{}," if your screens relied on click-to-clear. A\nsingle-choice ",[413,1473,291],{}," group follows the same rule: put ",[413,1476,1477],{},"clearable: true","\non the group.",[405,1480,1481,1484,1485,1488,1489,1492],{},[408,1482,1483],{},"Short selects open without a search field."," An array of fewer than six\noptions has none. Set ",[413,1486,1487],{},"autoDisableWritingThreshold: 0"," in the plugin to keep\nevery search field, and delete a ",[413,1490,1491],{},":disable-writing=\"items.length \u003C 6\""," you\nwrote by hand.",[405,1494,1495,1501],{},[408,1496,1497,1500],{},[413,1498,1499],{},"prefill: false"," is search-first."," A provider-backed select with it fetches\nnothing until the user types. If you wanted fetch-on-open, delete the prop.",[405,1503,1504,1509,1510,717],{},[408,1505,1506,1508],{},[413,1507,643],{}," closes itself."," The promise settles as before, then the dialog\ndisappears. A multi-step flow that kept it open passes ",[413,1511,1512],{},"autoClose: false",[405,1514,1515,1349,1518,1521,1522,1525,1526,1529,1530,1533,1534,1537,1538,1540],{},[408,1516,1517],{},"Dynamic slot names are kebab-case.",[413,1519,1520],{},"#order_history"," is ",[413,1523,1524],{},"#order-history","\nand ",[413,1527,1528],{},"#placedat"," for a ",[413,1531,1532],{},"placedAt"," key is ",[413,1535,1536],{},"#placed-at",". A stale name renders the\nfallback with no error; ",[413,1539,445],{}," renames the ones whose\nkeys sit in the same file.",[405,1542,1543,1548,1549,674,1551,668,1553,1555,1556,674,1559,630,1562,1565,1566,1569,1570,1573],{},[408,1544,1545,1547],{},[413,1546,363],{}," is a CSS grid."," Selectors aimed at ",[413,1550,889],{},[413,1552,895],{},[413,1554,913],{}," match\nnothing, and ",[413,1557,1558],{},"#thead",[413,1560,1561],{},"#tbody",[413,1563,1564],{},"#tfoot"," take ",[413,1567,1568],{},"\u003Cdiv role=\"row\">"," rows. A\ncolumn whose ",[413,1571,1572],{},"sortable"," is a backend sort key now shows the built-in sort\nbutton too.",[405,1575,1576,1582,1583,1585,1586,1588,1589,1592,1593,1596],{},[408,1577,1434,1578,1581],{},[413,1579,1580],{},"name"," is the field's path."," A field joined to a ",[413,1584,220],{}," validates,\nsubmits and receives schema errors under its ",[413,1587,1580],{},", where v2 used the\nslugged label. ",[413,1590,1591],{},"@submit"," keys and ",[413,1594,1595],{},"useBbFormContext(id).values"," move with it.",[405,1598,1599,1602,1603,1605,1606,1609],{},[408,1600,1601],{},"Form controls join the form they sit in."," A filter or a \"show advanced\"\nswitch inside a ",[413,1604,220],{}," is now submitted with it. Give it ",[413,1607,1608],{},"formless"," to keep\nit out.",[405,1611,1612,1615,1616,1618,1619,1622,1623,1626],{},[408,1613,1614],{},"A form locks while its save runs."," When ",[413,1617,1591],{}," returns a promise, every\njoined field is read-only and the submit button spins until it settles. Drop\na ",[413,1620,1621],{},":loading"," you bound by hand; ",[413,1624,1625],{},"disable-submit-lock"," on the form keeps the\nfields editable.",[405,1628,1629,1632,1633,1636],{},[408,1630,1631],{},"A failed submit moves focus"," to the first invalid field and emits\n",[413,1634,1635],{},"invalid",". Delete code of yours that did the same.",[405,1638,1639,1349,1642,1644,1645,1648,1649,674,1651,1024,1654,674,1657,1660,1661,1664,1665,671,1668,1670,1671,1674],{},[408,1640,1641],{},"A split button's main action is the component.",[413,1643,294],{}," no\nlonger turns ",[413,1646,1647],{},"items[0]"," into its main button: that item is now the first\nmenu row, and the button shows no label. Move it onto the component (label\nin the default slot, ",[413,1650,1386],{},[413,1652,1653],{},"href",[413,1655,1656],{},"to",[413,1658,1659],{},"type","), and a\n",[413,1662,1663],{},"\u003CBbDropdownGroup>"," companion into ",[413,1666,1667],{},"#dropdown",[413,1669,1374],{}," flags a\nsplit button with no label\n(",[621,1672,294],{"href":1673},"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button#default",").",[405,1676,1677,1680,1681,1684,1685,630,1688,1691],{},[408,1678,1679],{},"Row clicks skip the controls inside the row."," Ticking a row's checkbox or\nclicking a link or button in a cell no longer emits ",[413,1682,1683],{},"click:row",". Delete the\n",[413,1686,1687],{},"@click.stop",[413,1689,1690],{},"closest()"," guards that worked around it.",[405,1693,1694,1706,1707,1710,1711,1713,1714,1717],{},[408,1695,1696,1699,1700,668,1703,717],{},[413,1697,1698],{},"{ label, value }"," items need no ",[413,1701,1702],{},"item-text",[413,1704,1705],{},"item-value"," Object items\nwith a ",[413,1708,1709],{},"value"," key and no ",[413,1712,1705],{}," now put that value in ",[413,1715,1716],{},"v-model",",\nwhere they put the whole object.",[384,1719,1720,1722,1723,1726],{},[621,1721,166],{"href":126}," covers the item shapes. The\npackage lists the rest in ",[413,1724,1725],{},"v2-to-v3.md",", section 6.",[391,1728,1730],{"id":1729},"audit",[395,1731,1732],{},"The silent-failure audit",[384,1734,1735,1736,1738,1739,630,1741,1744,1745,1748,1749,1752,1753,1756,1757,674,1760,1674],{},"Everything the compiler cannot catch, in one pass. Start with\n",[413,1737,1374],{},". Besides the markup in ",[413,1740,449],{},[413,1742,1743],{},".md"," files, it reads\nyour stylesheets and ",[413,1746,1747],{},"\u003Cstyle>"," blocks: a selector on a ",[413,1750,1751],{},".bb-*"," class v3 no\nlonger renders is reported (",[413,1754,1755],{},"renamed-class"," names the successor), and so is a\ncustom property nothing reads (",[413,1758,1759],{},"inert-token",[413,1761,1762],{},"inert-local",[384,1764,1765,1766,1185,1772,1525,1775,1778,1779,1781],{},"What no tool reaches is ",[408,1767,1768,1769],{},"composable option objects in ",[413,1770,1771],{},".ts",[413,1773,1774],{},"toast({ … })",[413,1776,1777],{},"confirm({ … })"," inside stores, interceptors and helpers. Neither can a\ncheck read a prop passed through a bound ",[413,1780,463],{}," object. The grep pass covers\nboth. Run each line in your project; every hit needs a decision, not\nnecessarily a change.",[494,1783,1785],{"className":496,"code":1784,"language":498,"meta":499,"style":499},"# ── Props, slots and markup ──\n# → queryKey, URL params move\nrg -in 'querykey'\n# → hide-close, or delete\nrg -in 'show-?close'\n# → disable-select-all\nrg -in 'allow-?select-?all'\n# BbButton: now on by default\nrg -in 'auto-?loading'\n# removed\nrg -in 'disabled-?while-?loading'\n# → disable-animate-x \u002F -y\nrg -in 'animate-?[xy]'\n# → disable-thumb-translate\nrg -in 'thumb-?translate'\n# → disable-flip\nrg -n ':flip=|flip=\"'\n# removed, except on BbTooltip\nrg -in 'hide-?arrow|show-?arrow'\n# removed → BbBadge clearable\nrg -n '\u003CBbChip'\n# v2 badges are v3 BbIndicator\nrg -n '\u003CBbBadge'\n# → BbTabs\nrg -n '\u003CBbTab\\b'\n# BbTabs → #\u003Cvalue>:label\nrg -n '#label[-:]'\n# groups → legend-position\nrg -in 'label-?position'\n# → layout\nrg -n ' direction='\n# groups → list-layout\nrg -in 'input-?direction'\n# → 'interaction'\nrg -n 'prefill=\"focus\"'\n# now search-first\nrg -n ':prefill=\"false\"'\n# → disable-writing, inverted\nrg -in 'allow-?writing'\n# → string[] only\nrg -in 'filter-?by'\n# validateOn → validation-mode\nrg -in 'validate-?on'\n# → empty, empty-text\nrg -in 'no-?data'\n# → #prepend:outer\nrg -n '#(prepend|append)-outer'\n# removed slots\nrg -n 'option:(prepend|append)|#chevron'\n# removed props\nrg -n 'show-?chevron|update-?on-?animation-?frame'\n# underscore slot names and tab slugs → kebab-case\nrg -n '#[a-z]+_[a-z0-9_]+|\\?tab=[a-z0-9]+_'\n# BbTooltip → delay (BbAvatar keeps timeout)\nrg -n 'timeout' --type vue\n# → icon=, and local: for your own icons\nrg -nU '\u003CBbIcon[^>]*type='\n# BbTree ARIA roles are gone\nrg -n 'role=\"tree|treeitem'\n# removed color props\nrg -n '\u003CBb(Checkbox|Radio|Switch|Slider|Rating|Avatar|Icon|Spinner)[^>]*color='\n# providers now take ONE object { query, reason, modelValue, signal }\nrg -nU ':items=\"[^\"]*\"|items: \\w+'\n# positional providers and prefill branches → reason !== 'search'\nrg -n '\\(query: string|\\(prefill: boolean|if \\(prefill'\n# item.disabled → selectable\nrg -n 'disabled:' --type ts --type vue\n# object items with a `value` field and no item-value: v-model now holds that value\nrg -n ':items=' --type vue\n# → validation-label\nrg -n '\\bvid='\n# checkbox\u002Fradio\u002Fswitch: inverted\nrg -n 'reverse'\n\n# ── Composable options and imports (.ts \u002F .js) ──\n# toast(), confirm() → duration\nrg -n 'timeout' --type ts --type js\n# toast(), confirm() → variant\nrg -n 'theme' --type ts --type js\n# useToast() → dismiss()\nrg -n 'dismissAll'\n# confirm() now closes itself\nrg -in 'auto-?close'\n# → the yes \u002F no configs\nrg -n 'yesText|noText|onYes|onNo'\n# shadowed by the plugin\nrg -n \"provide\\('icons'\"\n# dropdown rows, tabs, crumbs: key → value, text → label; dropdown groups key → id\nrg -n 'BbDropdownItem|BbTabsItem|BbBreadcrumbsItem' --type ts --type js\n# only locale survives\nrg -n 'setConfig'\n# removed exports\nrg -n 'IconRegistry|useQueue|useWizard'\n",[413,1786,1787,1793,1798,1809,1814,1823,1828,1837,1842,1851,1856,1865,1871,1881,1887,1897,1903,1914,1920,1930,1936,1946,1952,1962,1968,1978,1984,1994,2000,2010,2016,2026,2032,2042,2048,2058,2064,2074,2080,2090,2096,2106,2112,2122,2128,2138,2144,2154,2160,2170,2176,2186,2192,2202,2208,2224,2230,2241,2247,2257,2263,2273,2279,2289,2295,2305,2311,2330,2336,2350,2356,2366,2372,2382,2389,2395,2401,2419,2425,2443,2449,2459,2465,2475,2481,2491,2497,2507,2513,2531,2537,2547,2553],{"__ignoreMap":499},[395,1788,1789],{"class":504,"line":141},[395,1790,1792],{"class":1791},"sLBg1","# ── Props, slots and markup ──\n",[395,1794,1795],{"class":504,"line":145},[395,1796,1797],{"class":1791},"# → queryKey, URL params move\n",[395,1799,1800,1803,1806],{"class":504,"line":149},[395,1801,1802],{"class":507},"rg",[395,1804,1805],{"class":525}," -in",[395,1807,1808],{"class":511}," 'querykey'\n",[395,1810,1811],{"class":504,"line":177},[395,1812,1813],{"class":1791},"# → hide-close, or delete\n",[395,1815,1816,1818,1820],{"class":504,"line":181},[395,1817,1802],{"class":507},[395,1819,1805],{"class":525},[395,1821,1822],{"class":511}," 'show-?close'\n",[395,1824,1825],{"class":504,"line":185},[395,1826,1827],{"class":1791},"# → disable-select-all\n",[395,1829,1830,1832,1834],{"class":504,"line":225},[395,1831,1802],{"class":507},[395,1833,1805],{"class":525},[395,1835,1836],{"class":511}," 'allow-?select-?all'\n",[395,1838,1839],{"class":504,"line":229},[395,1840,1841],{"class":1791},"# BbButton: now on by default\n",[395,1843,1844,1846,1848],{"class":504,"line":233},[395,1845,1802],{"class":507},[395,1847,1805],{"class":525},[395,1849,1850],{"class":511}," 'auto-?loading'\n",[395,1852,1853],{"class":504,"line":237},[395,1854,1855],{"class":1791},"# removed\n",[395,1857,1858,1860,1862],{"class":504,"line":241},[395,1859,1802],{"class":507},[395,1861,1805],{"class":525},[395,1863,1864],{"class":511}," 'disabled-?while-?loading'\n",[395,1866,1868],{"class":504,"line":1867},12,[395,1869,1870],{"class":1791},"# → disable-animate-x \u002F -y\n",[395,1872,1874,1876,1878],{"class":504,"line":1873},13,[395,1875,1802],{"class":507},[395,1877,1805],{"class":525},[395,1879,1880],{"class":511}," 'animate-?[xy]'\n",[395,1882,1884],{"class":504,"line":1883},14,[395,1885,1886],{"class":1791},"# → disable-thumb-translate\n",[395,1888,1890,1892,1894],{"class":504,"line":1889},15,[395,1891,1802],{"class":507},[395,1893,1805],{"class":525},[395,1895,1896],{"class":511}," 'thumb-?translate'\n",[395,1898,1900],{"class":504,"line":1899},16,[395,1901,1902],{"class":1791},"# → disable-flip\n",[395,1904,1906,1908,1911],{"class":504,"line":1905},17,[395,1907,1802],{"class":507},[395,1909,1910],{"class":525}," -n",[395,1912,1913],{"class":511}," ':flip=|flip=\"'\n",[395,1915,1917],{"class":504,"line":1916},18,[395,1918,1919],{"class":1791},"# removed, except on BbTooltip\n",[395,1921,1923,1925,1927],{"class":504,"line":1922},19,[395,1924,1802],{"class":507},[395,1926,1805],{"class":525},[395,1928,1929],{"class":511}," 'hide-?arrow|show-?arrow'\n",[395,1931,1933],{"class":504,"line":1932},20,[395,1934,1935],{"class":1791},"# removed → BbBadge clearable\n",[395,1937,1939,1941,1943],{"class":504,"line":1938},21,[395,1940,1802],{"class":507},[395,1942,1910],{"class":525},[395,1944,1945],{"class":511}," '\u003CBbChip'\n",[395,1947,1949],{"class":504,"line":1948},22,[395,1950,1951],{"class":1791},"# v2 badges are v3 BbIndicator\n",[395,1953,1955,1957,1959],{"class":504,"line":1954},23,[395,1956,1802],{"class":507},[395,1958,1910],{"class":525},[395,1960,1961],{"class":511}," '\u003CBbBadge'\n",[395,1963,1965],{"class":504,"line":1964},24,[395,1966,1967],{"class":1791},"# → BbTabs\n",[395,1969,1971,1973,1975],{"class":504,"line":1970},25,[395,1972,1802],{"class":507},[395,1974,1910],{"class":525},[395,1976,1977],{"class":511}," '\u003CBbTab\\b'\n",[395,1979,1981],{"class":504,"line":1980},26,[395,1982,1983],{"class":1791},"# BbTabs → #\u003Cvalue>:label\n",[395,1985,1987,1989,1991],{"class":504,"line":1986},27,[395,1988,1802],{"class":507},[395,1990,1910],{"class":525},[395,1992,1993],{"class":511}," '#label[-:]'\n",[395,1995,1997],{"class":504,"line":1996},28,[395,1998,1999],{"class":1791},"# groups → legend-position\n",[395,2001,2003,2005,2007],{"class":504,"line":2002},29,[395,2004,1802],{"class":507},[395,2006,1805],{"class":525},[395,2008,2009],{"class":511}," 'label-?position'\n",[395,2011,2013],{"class":504,"line":2012},30,[395,2014,2015],{"class":1791},"# → layout\n",[395,2017,2019,2021,2023],{"class":504,"line":2018},31,[395,2020,1802],{"class":507},[395,2022,1910],{"class":525},[395,2024,2025],{"class":511}," ' direction='\n",[395,2027,2029],{"class":504,"line":2028},32,[395,2030,2031],{"class":1791},"# groups → list-layout\n",[395,2033,2035,2037,2039],{"class":504,"line":2034},33,[395,2036,1802],{"class":507},[395,2038,1805],{"class":525},[395,2040,2041],{"class":511}," 'input-?direction'\n",[395,2043,2045],{"class":504,"line":2044},34,[395,2046,2047],{"class":1791},"# → 'interaction'\n",[395,2049,2051,2053,2055],{"class":504,"line":2050},35,[395,2052,1802],{"class":507},[395,2054,1910],{"class":525},[395,2056,2057],{"class":511}," 'prefill=\"focus\"'\n",[395,2059,2061],{"class":504,"line":2060},36,[395,2062,2063],{"class":1791},"# now search-first\n",[395,2065,2067,2069,2071],{"class":504,"line":2066},37,[395,2068,1802],{"class":507},[395,2070,1910],{"class":525},[395,2072,2073],{"class":511}," ':prefill=\"false\"'\n",[395,2075,2077],{"class":504,"line":2076},38,[395,2078,2079],{"class":1791},"# → disable-writing, inverted\n",[395,2081,2083,2085,2087],{"class":504,"line":2082},39,[395,2084,1802],{"class":507},[395,2086,1805],{"class":525},[395,2088,2089],{"class":511}," 'allow-?writing'\n",[395,2091,2093],{"class":504,"line":2092},40,[395,2094,2095],{"class":1791},"# → string[] only\n",[395,2097,2099,2101,2103],{"class":504,"line":2098},41,[395,2100,1802],{"class":507},[395,2102,1805],{"class":525},[395,2104,2105],{"class":511}," 'filter-?by'\n",[395,2107,2109],{"class":504,"line":2108},42,[395,2110,2111],{"class":1791},"# validateOn → validation-mode\n",[395,2113,2115,2117,2119],{"class":504,"line":2114},43,[395,2116,1802],{"class":507},[395,2118,1805],{"class":525},[395,2120,2121],{"class":511}," 'validate-?on'\n",[395,2123,2125],{"class":504,"line":2124},44,[395,2126,2127],{"class":1791},"# → empty, empty-text\n",[395,2129,2131,2133,2135],{"class":504,"line":2130},45,[395,2132,1802],{"class":507},[395,2134,1805],{"class":525},[395,2136,2137],{"class":511}," 'no-?data'\n",[395,2139,2141],{"class":504,"line":2140},46,[395,2142,2143],{"class":1791},"# → #prepend:outer\n",[395,2145,2147,2149,2151],{"class":504,"line":2146},47,[395,2148,1802],{"class":507},[395,2150,1910],{"class":525},[395,2152,2153],{"class":511}," '#(prepend|append)-outer'\n",[395,2155,2157],{"class":504,"line":2156},48,[395,2158,2159],{"class":1791},"# removed slots\n",[395,2161,2163,2165,2167],{"class":504,"line":2162},49,[395,2164,1802],{"class":507},[395,2166,1910],{"class":525},[395,2168,2169],{"class":511}," 'option:(prepend|append)|#chevron'\n",[395,2171,2173],{"class":504,"line":2172},50,[395,2174,2175],{"class":1791},"# removed props\n",[395,2177,2179,2181,2183],{"class":504,"line":2178},51,[395,2180,1802],{"class":507},[395,2182,1910],{"class":525},[395,2184,2185],{"class":511}," 'show-?chevron|update-?on-?animation-?frame'\n",[395,2187,2189],{"class":504,"line":2188},52,[395,2190,2191],{"class":1791},"# underscore slot names and tab slugs → kebab-case\n",[395,2193,2195,2197,2199],{"class":504,"line":2194},53,[395,2196,1802],{"class":507},[395,2198,1910],{"class":525},[395,2200,2201],{"class":511}," '#[a-z]+_[a-z0-9_]+|\\?tab=[a-z0-9]+_'\n",[395,2203,2205],{"class":504,"line":2204},54,[395,2206,2207],{"class":1791},"# BbTooltip → delay (BbAvatar keeps timeout)\n",[395,2209,2211,2213,2215,2218,2221],{"class":504,"line":2210},55,[395,2212,1802],{"class":507},[395,2214,1910],{"class":525},[395,2216,2217],{"class":511}," 'timeout'",[395,2219,2220],{"class":525}," --type",[395,2222,2223],{"class":511}," vue\n",[395,2225,2227],{"class":504,"line":2226},56,[395,2228,2229],{"class":1791},"# → icon=, and local: for your own icons\n",[395,2231,2233,2235,2238],{"class":504,"line":2232},57,[395,2234,1802],{"class":507},[395,2236,2237],{"class":525}," -nU",[395,2239,2240],{"class":511}," '\u003CBbIcon[^>]*type='\n",[395,2242,2244],{"class":504,"line":2243},58,[395,2245,2246],{"class":1791},"# BbTree ARIA roles are gone\n",[395,2248,2250,2252,2254],{"class":504,"line":2249},59,[395,2251,1802],{"class":507},[395,2253,1910],{"class":525},[395,2255,2256],{"class":511}," 'role=\"tree|treeitem'\n",[395,2258,2260],{"class":504,"line":2259},60,[395,2261,2262],{"class":1791},"# removed color props\n",[395,2264,2266,2268,2270],{"class":504,"line":2265},61,[395,2267,1802],{"class":507},[395,2269,1910],{"class":525},[395,2271,2272],{"class":511}," '\u003CBb(Checkbox|Radio|Switch|Slider|Rating|Avatar|Icon|Spinner)[^>]*color='\n",[395,2274,2276],{"class":504,"line":2275},62,[395,2277,2278],{"class":1791},"# providers now take ONE object { query, reason, modelValue, signal }\n",[395,2280,2282,2284,2286],{"class":504,"line":2281},63,[395,2283,1802],{"class":507},[395,2285,2237],{"class":525},[395,2287,2288],{"class":511}," ':items=\"[^\"]*\"|items: \\w+'\n",[395,2290,2292],{"class":504,"line":2291},64,[395,2293,2294],{"class":1791},"# positional providers and prefill branches → reason !== 'search'\n",[395,2296,2298,2300,2302],{"class":504,"line":2297},65,[395,2299,1802],{"class":507},[395,2301,1910],{"class":525},[395,2303,2304],{"class":511}," '\\(query: string|\\(prefill: boolean|if \\(prefill'\n",[395,2306,2308],{"class":504,"line":2307},66,[395,2309,2310],{"class":1791},"# item.disabled → selectable\n",[395,2312,2314,2316,2318,2321,2323,2326,2328],{"class":504,"line":2313},67,[395,2315,1802],{"class":507},[395,2317,1910],{"class":525},[395,2319,2320],{"class":511}," 'disabled:'",[395,2322,2220],{"class":525},[395,2324,2325],{"class":511}," ts",[395,2327,2220],{"class":525},[395,2329,2223],{"class":511},[395,2331,2333],{"class":504,"line":2332},68,[395,2334,2335],{"class":1791},"# object items with a `value` field and no item-value: v-model now holds that value\n",[395,2337,2339,2341,2343,2346,2348],{"class":504,"line":2338},69,[395,2340,1802],{"class":507},[395,2342,1910],{"class":525},[395,2344,2345],{"class":511}," ':items='",[395,2347,2220],{"class":525},[395,2349,2223],{"class":511},[395,2351,2353],{"class":504,"line":2352},70,[395,2354,2355],{"class":1791},"# → validation-label\n",[395,2357,2359,2361,2363],{"class":504,"line":2358},71,[395,2360,1802],{"class":507},[395,2362,1910],{"class":525},[395,2364,2365],{"class":511}," '\\bvid='\n",[395,2367,2369],{"class":504,"line":2368},72,[395,2370,2371],{"class":1791},"# checkbox\u002Fradio\u002Fswitch: inverted\n",[395,2373,2375,2377,2379],{"class":504,"line":2374},73,[395,2376,1802],{"class":507},[395,2378,1910],{"class":525},[395,2380,2381],{"class":511}," 'reverse'\n",[395,2383,2385],{"class":504,"line":2384},74,[395,2386,2388],{"emptyLinePlaceholder":2387},true,"\n",[395,2390,2392],{"class":504,"line":2391},75,[395,2393,2394],{"class":1791},"# ── Composable options and imports (.ts \u002F .js) ──\n",[395,2396,2398],{"class":504,"line":2397},76,[395,2399,2400],{"class":1791},"# toast(), confirm() → duration\n",[395,2402,2404,2406,2408,2410,2412,2414,2416],{"class":504,"line":2403},77,[395,2405,1802],{"class":507},[395,2407,1910],{"class":525},[395,2409,2217],{"class":511},[395,2411,2220],{"class":525},[395,2413,2325],{"class":511},[395,2415,2220],{"class":525},[395,2417,2418],{"class":511}," js\n",[395,2420,2422],{"class":504,"line":2421},78,[395,2423,2424],{"class":1791},"# toast(), confirm() → variant\n",[395,2426,2428,2430,2432,2435,2437,2439,2441],{"class":504,"line":2427},79,[395,2429,1802],{"class":507},[395,2431,1910],{"class":525},[395,2433,2434],{"class":511}," 'theme'",[395,2436,2220],{"class":525},[395,2438,2325],{"class":511},[395,2440,2220],{"class":525},[395,2442,2418],{"class":511},[395,2444,2446],{"class":504,"line":2445},80,[395,2447,2448],{"class":1791},"# useToast() → dismiss()\n",[395,2450,2452,2454,2456],{"class":504,"line":2451},81,[395,2453,1802],{"class":507},[395,2455,1910],{"class":525},[395,2457,2458],{"class":511}," 'dismissAll'\n",[395,2460,2462],{"class":504,"line":2461},82,[395,2463,2464],{"class":1791},"# confirm() now closes itself\n",[395,2466,2468,2470,2472],{"class":504,"line":2467},83,[395,2469,1802],{"class":507},[395,2471,1805],{"class":525},[395,2473,2474],{"class":511}," 'auto-?close'\n",[395,2476,2478],{"class":504,"line":2477},84,[395,2479,2480],{"class":1791},"# → the yes \u002F no configs\n",[395,2482,2484,2486,2488],{"class":504,"line":2483},85,[395,2485,1802],{"class":507},[395,2487,1910],{"class":525},[395,2489,2490],{"class":511}," 'yesText|noText|onYes|onNo'\n",[395,2492,2494],{"class":504,"line":2493},86,[395,2495,2496],{"class":1791},"# shadowed by the plugin\n",[395,2498,2500,2502,2504],{"class":504,"line":2499},87,[395,2501,1802],{"class":507},[395,2503,1910],{"class":525},[395,2505,2506],{"class":511}," \"provide\\('icons'\"\n",[395,2508,2510],{"class":504,"line":2509},88,[395,2511,2512],{"class":1791},"# dropdown rows, tabs, crumbs: key → value, text → label; dropdown groups key → id\n",[395,2514,2516,2518,2520,2523,2525,2527,2529],{"class":504,"line":2515},89,[395,2517,1802],{"class":507},[395,2519,1910],{"class":525},[395,2521,2522],{"class":511}," 'BbDropdownItem|BbTabsItem|BbBreadcrumbsItem'",[395,2524,2220],{"class":525},[395,2526,2325],{"class":511},[395,2528,2220],{"class":525},[395,2530,2418],{"class":511},[395,2532,2534],{"class":504,"line":2533},90,[395,2535,2536],{"class":1791},"# only locale survives\n",[395,2538,2540,2542,2544],{"class":504,"line":2539},91,[395,2541,1802],{"class":507},[395,2543,1910],{"class":525},[395,2545,2546],{"class":511}," 'setConfig'\n",[395,2548,2550],{"class":504,"line":2549},92,[395,2551,2552],{"class":1791},"# removed exports\n",[395,2554,2556,2558,2560],{"class":504,"line":2555},93,[395,2557,1802],{"class":507},[395,2559,1910],{"class":525},[395,2561,2562],{"class":511}," 'IconRegistry|useQueue|useWizard'\n",[384,2564,2565,2566,717],{},"The package carries the full list, token and class greps included, in\n",[413,2567,2568],{},"node_modules\u002Fbitboss-ui\u002Fdist\u002Fai\u002Fguides\u002Fmigration\u002Fv2-to-v3.md",[391,2570,2572],{"id":2571},"per-component",[395,2573,2574],{},"Where the rest lives",[384,2576,2577],{},"This page is the shape of the upgrade. The detail is on the component pages,\nwhere you will actually be standing when you hit it:",[725,2579,2580,2587,2597,2618],{},[405,2581,2582,2583,2586],{},"Every component's ",[408,2584,2585],{},"Examples page"," carries its v2 notes inline, folded into a\n\"Coming from v2\" block beside the behaviour they concern.",[405,2588,2582,2589,2592,2593,2596],{},[408,2590,2591],{},"API page"," ends with a generated ",[408,2594,2595],{},"Renamed and removed","\nlist: the props, slots and methods that no longer exist, what replaces each\none, and which ones fail silently.",[405,2598,2599,2602,2603,2607,2608,2611,2612,671,2615,2617],{},[408,2600,2601],{},"Forms."," v2's validated wrappers are gone. The ordinary controls validate\ninside a ",[621,2604,2605],{"href":46},[413,2606,220],{},", and v2's ",[413,2609,2610],{},"vid"," (the name shown in\nmessages) becomes ",[413,2613,2614],{},"validation-label",[621,2616,175],{"href":132},"\nhas the setup.",[405,2619,2620,2623,2624,2626,2627,2630],{},[408,2621,2622],{},"Class names."," Coming from an earlier 3.0 beta rather than from v2, a\nstylesheet that targets ",[413,2625,1751],{}," classes follows the renames in\n",[413,2628,2629],{},"node_modules\u002Fbitboss-ui\u002Fdist\u002Fai\u002Fguides\u002Fmigration\u002Fv3-beta-css-classes.md",",\nwhich carries a find-and-replace script.",[384,2632,2633],{},"Start from the component the compiler pointed at, not from here.",[384,2635,2636,2637,2639,2640,2642],{},"Once the compiler is clean, run ",[413,2638,1374],{}," and the grep pass once\nmore, then do the visual pass with the theme tokens in place. This order keeps\ntype errors, silent API changes and intentional visual changes as three\nseparate review steps. Then walk the\n",[621,2641,814],{"href":104},": green gates are not the\nend of a migration while the app still builds by hand what the library ships.",[2644,2645,2646],"style",{},"html pre.shiki code .soyes, html code.shiki .soyes{--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .sT6z2, html code.shiki .sT6z2{--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .suds8, html code.shiki .suds8{--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .s-5SL, html code.shiki .s-5SL{--shiki-default:#023B95;--shiki-dark:#91CBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHUrx, html code.shiki .sHUrx{--shiki-default:#A0111F;--shiki-dark:#FF9492}html pre.shiki code .sKwhi, html code.shiki .sKwhi{--shiki-default:#622CBC;--shiki-dark:#DBB7FF}html pre.shiki code .sLBg1, html code.shiki .sLBg1{--shiki-default:#66707B;--shiki-dark:#BDC4CC}",{"title":499,"searchDepth":149,"depth":149,"links":2648},[2649,2650,2651,2652,2653,2654,2655,2656,2657],{"id":393,"depth":145,"text":397},{"id":605,"depth":145,"text":608},{"id":701,"depth":145,"text":704},{"id":836,"depth":145,"text":839},{"id":1049,"depth":145,"text":1052},{"id":1421,"depth":145,"text":1424},{"id":1449,"depth":145,"text":1452},{"id":1729,"depth":145,"text":1732},{"id":2571,"depth":145,"text":2574},"Upgrade in a safe order, handle inverted boolean defaults, and audit changes the compiler cannot find.","md",{},[2662,2663,2664,2665,2666,2667,2668,2669,2670],{"id":393,"title":397},{"id":605,"title":608},{"id":701,"title":704},{"id":836,"title":839},{"id":1049,"title":1052},{"id":1421,"title":1424},{"id":1449,"title":1452},{"id":1729,"title":1732},{"id":2571,"title":2574},{"title":143,"description":2658},"guides\u002Fmigration","x6dKeLI7Tlk-Y7pt0hK37T8E-LoBfma9AIftnHCdvTU",1793055148883]