[{"data":1,"prerenderedAt":1826},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":134,"api-none":377,"page-en-\u002Fcomponents\u002Fbb-toast":378,"pt-showcase-BbToast":1748},{"\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":351,"body":380,"component":351,"description":1735,"extension":1736,"group":333,"meta":1737,"navigation":531,"order":185,"path":352,"sections":1738,"seo":1745,"stem":1746,"__hash__":1747},"docs_en\u002Fcomponents\u002Fbb-toast.md",{"type":381,"value":382,"toc":1722},"minimark",[383,423,426,440,448,458,582,607,623,629,641,649,886,903,909,915,919,933,944,960,985,989,992,995,1015,1020,1032,1038,1046,1049,1052,1065,1070,1076,1079,1088,1102,1116,1122,1125,1157,1162,1184,1187,1202,1209,1215,1258,1263,1266,1315,1318,1393,1403,1478,1518,1542,1588,1689,1718],[384,385,386,395],"when",{},[387,388,389,390,394],"p",{},"A toast is a short notification about ",[391,392,393],"strong",{},"what just happened",": \"Changes saved\", \"Upload\ncomplete\", \"Copied to clipboard\". It appears in a corner of the screen, stacks\nwith its siblings, and disappears on its own after four seconds.",[396,397,399],"template",{"v-slot:else":398},"",[400,401,402,416],"ul",{},[403,404,405,411,412,415],"li",{},[406,407,408],"a",{"href":6},[409,410,336],"code",{},", when the message describes the ",[391,413,414],{},"current\nstate of the page"," and has to stay until someone deals with it",[403,417,418,422],{},[406,419,420],{"href":32},[409,421,282],{},", when the user has to decide rather\nthan be told",[387,424,425],{},"Never put information a user must act on only in a toast: it is gone before they\nlook up.",[387,427,428,429,431,432,435,436,439],{},"Like ",[409,430,282],{},", this is not a control you place. The app's one ",[409,433,434],{},"\u003CBbHost \u002F>","\nrenders every toast, takes no props and no space where you mount it, and\neverything you write goes through ",[409,437,438],{},"useToast()",".",[441,442,444],"h2",{"id":443},"setup",[445,446,447],"span",{},"One host, then a function",[387,449,450,451,453,454,457],{},"Mount ",[409,452,434],{}," once, beside the router outlet, and ",[409,455,456],{},"toast()"," works from\nanywhere after that. The same host renders every confirm too.",[459,460,464],"pre",{"className":461,"code":462,"language":463,"meta":398,"style":398},"language-vue shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u003Ctemplate>\n    \u003CNuxtLayout>\n        \u003CNuxtPage \u002F>\n    \u003C\u002FNuxtLayout>\n    \u003CBbHost \u002F>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport { BbHost } from 'bitboss-ui';\n\u003C\u002Fscript>\n","vue",[409,465,466,479,489,500,509,518,527,533,556,574],{"__ignoreMap":398},[445,467,469,473,476],{"class":468,"line":141},"line",[445,470,472],{"class":471},"suds8","\u003C",[445,474,396],{"class":475},"sne4z",[445,477,478],{"class":471},">\n",[445,480,481,484,487],{"class":468,"line":145},[445,482,483],{"class":471},"    \u003C",[445,485,486],{"class":475},"NuxtLayout",[445,488,478],{"class":471},[445,490,491,494,497],{"class":468,"line":149},[445,492,493],{"class":471},"        \u003C",[445,495,496],{"class":475},"NuxtPage",[445,498,499],{"class":471}," \u002F>\n",[445,501,502,505,507],{"class":468,"line":177},[445,503,504],{"class":471},"    \u003C\u002F",[445,506,486],{"class":475},[445,508,478],{"class":471},[445,510,511,513,516],{"class":468,"line":181},[445,512,483],{"class":471},[445,514,515],{"class":475},"BbHost",[445,517,499],{"class":471},[445,519,520,523,525],{"class":468,"line":185},[445,521,522],{"class":471},"\u003C\u002F",[445,524,396],{"class":475},[445,526,478],{"class":471},[445,528,529],{"class":468,"line":225},[445,530,532],{"emptyLinePlaceholder":531},true,"\n",[445,534,535,537,540,544,547,550,554],{"class":468,"line":229},[445,536,472],{"class":471},[445,538,539],{"class":475},"script",[445,541,543],{"class":542},"s-5SL"," setup",[445,545,546],{"class":542}," lang",[445,548,549],{"class":471},"=",[445,551,553],{"class":552},"sT6z2","\"ts\"",[445,555,478],{"class":471},[445,557,558,562,565,568,571],{"class":468,"line":233},[445,559,561],{"class":560},"sHUrx","import",[445,563,564],{"class":471}," { BbHost } ",[445,566,567],{"class":560},"from",[445,569,570],{"class":552}," 'bitboss-ui'",[445,572,573],{"class":471},";\n",[445,575,576,578,580],{"class":468,"line":237},[445,577,522],{"class":471},[445,579,539],{"class":475},[445,581,478],{"class":471},[387,583,584,587,588,591,592,595,596,598,599,602,603,606],{},[409,585,586],{},"toast",", ",[409,589,590],{},"update"," and ",[409,593,594],{},"dismiss"," all operate on one shared module-level stack, so\nevery ",[409,597,438],{}," call in the app talks to the same host. With ",[391,600,601],{},"no host",",\nmessages wait in a queue and show once a host mounts. Nothing expires them in\nthe meantime, because the dismiss timer lives inside the host. With ",[391,604,605],{},"two\nhosts",", the second renders nothing until the first unmounts. A dev build warns\nabout both.",[387,608,609,610,613,614,618,619,622],{},"A toast takes the ",[409,611,612],{},"pt"," scope and the theme tokens of the place its host is\nmounted, not of the code that fired it. An app whose areas sit under different\n",[406,615,617],{"href":616},"\u002Fen\u002Fguides\u002Fpassthrough#scopes","named scopes"," mounts one host inside each area's\nlayout, within its ",[409,620,621],{},"\u003CBbPtScope>",", and none at the root. Every page must then\nrender inside one of those layouts. A page outside them, such as a login or error\npage, has no host at all, and its toasts wait in the queue.",[387,624,625,626,628],{},"Fire toasts from event handlers and settled requests, never from ",[409,627,443],{}," during\nserver rendering: on the server there is nothing to render them into.",[387,630,631,632,634,635,638,639,439],{},"This site mounts its one ",[409,633,434],{}," in ",[409,636,637],{},"app.vue",", so the demos below mount\nnothing, and neither does a page of yours that calls ",[409,640,456],{},[642,643,645,646,648],"h3",{"id":644},"what-toast-takes","What ",[409,647,456],{}," takes",[650,651,652,668],"table",{},[653,654,655],"thead",{},[656,657,658,662,665],"tr",{},[659,660,661],"th",{},"Option",[659,663,664],{},"Default",[659,666,667],{},"What it does",[669,670,671,689,701,728,745,760,774,789,803,823,839,851,873],"tbody",{},[656,672,673,679,682],{},[674,675,676],"td",{},[409,677,678],{},"title",[674,680,681],{},"none",[674,683,684,685,688],{},"The bold line; ",[409,686,687],{},"toast('…')"," sets only this",[656,690,691,696,698],{},[674,692,693],{},[409,694,695],{},"text",[674,697,681],{},[674,699,700],{},"Body copy under the title",[656,702,703,708,713],{},[674,704,705],{},[409,706,707],{},"variant",[674,709,710],{},[409,711,712],{},"'default'",[674,714,715,587,718,587,721,587,724,727],{},[409,716,717],{},"success",[409,719,720],{},"info",[409,722,723],{},"warning",[409,725,726],{},"destructive"," or a registered name",[656,729,730,735,738],{},[674,731,732],{},[409,733,734],{},"icon",[674,736,737],{},"the variant's",[674,739,740,741,744],{},"The leading icon, such as ",[409,742,743],{},"'lucide:circle-check'","; wins over the variant's",[656,746,747,752,757],{},[674,748,749],{},[409,750,751],{},"hideIcon",[674,753,754],{},[409,755,756],{},"false",[674,758,759],{},"Hides the icon, the variant's or its own; the spinner still shows",[656,761,762,767,771],{},[674,763,764],{},[409,765,766],{},"loading",[674,768,769],{},[409,770,756],{},[674,772,773],{},"A spinner in place of the icon; keeps the toast open",[656,775,776,781,786],{},[674,777,778],{},[409,779,780],{},"duration",[674,782,783],{},[409,784,785],{},"4000",[674,787,788],{},"Milliseconds on screen, always above zero",[656,790,791,796,800],{},[674,792,793],{},[409,794,795],{},"persistent",[674,797,798],{},[409,799,766],{},[674,801,802],{},"Never leaves on its own",[656,804,805,810,814],{},[674,806,807],{},[409,808,809],{},"hideClose",[674,811,812],{},[409,813,756],{},[674,815,816,817,819,820],{},"Hides the ×; with ",[409,818,795],{},", only when your code calls ",[409,821,822],{},"dismiss(id)",[656,824,825,830,836],{},[674,826,827],{},[409,828,829],{},"position",[674,831,832,833],{},"the plugin's ",[409,834,835],{},"toastPosition",[674,837,838],{},"One of the six corners",[656,840,841,846,848],{},[674,842,843],{},[409,844,845],{},"actions",[674,847,681],{},[674,849,850],{},"Buttons under the text",[656,852,853,861,863],{},[674,854,855,587,858],{},[409,856,857],{},"portal",[409,859,860],{},"data",[674,862,681],{},[674,864,865,866,869,870,872],{},"A ",[409,867,868],{},"\u003CBbToastPortal>"," name, or a component, that renders the whole body; ",[409,871,860],{}," is what it renders",[656,874,875,880,883],{},[674,876,877],{},[409,878,879],{},"id",[674,881,882],{},"generated",[674,884,885],{},"Reuse one to patch that toast in place",[387,887,888,890,891,587,893,591,896,898,899,902],{},[409,889,438],{}," returns ",[409,892,586],{},[409,894,895],{},"update(id, patch)",[409,897,822],{},"; ",[409,900,901],{},"dismiss()","\nwith no id clears every toast.",[441,904,906],{"id":905},"outcome",[445,907,908],{},"Communicate an outcome",[387,910,911,914],{},[409,912,913],{},"toast('Changes saved.')"," is the whole shorthand. The object form adds a body, a\ntone and an icon.",[916,917],"demo",{"name":918},"BbToast\u002FBasic",[387,920,921,924,925,927,928,932],{},[391,922,923],{},"A variant tints the icon and sets the announcement priority, nothing else.","\nWithout an icon, a ",[409,926,717],{}," toast looks like a default one, so give each\nvariant its icon once, in the plugin options (",[406,929,931],{"href":930},"#styling","Variants and CSS hooks","),\ninstead of on every call. Dev builds warn when a built-in variant arrives\nwithout one.",[387,934,935,591,937,939,940,943],{},[409,936,723],{},[409,938,726],{}," announce assertively (",[409,941,942],{},"role=\"alert\"","); every other\nvariant is polite. Use the loud two sparingly, or they stop meaning anything.",[387,945,946,948,949,951,952,955,956,959],{},[409,947,780],{}," defaults to 4000ms and must be greater than zero, or ",[409,950,456],{},"\nthrows. \"Never dismiss\" is ",[409,953,954],{},"persistent: true",", not ",[409,957,958],{},"duration: 0",". The call\nreturns the message id, which the next two sections are about.",[961,962,963],"migration",{},[387,964,965,966,969,970,587,972,969,975,977,978,981,982,984],{},"The options object was rewritten: ",[409,967,968],{},"theme"," is ",[409,971,707],{},[409,973,974],{},"timeout",[409,976,780],{},"\n(its default fell from 6000ms to 4000ms), and ",[409,979,980],{},"showClose"," inverted into\n",[409,983,809],{},". They are call options, not template attributes, so no markup check\nsees them. A dev build warns once per call that still passes one and names the\nreplacement; a production build drops the key.",[642,986,988],{"id":987},"loading-then-the-result","Loading, then the result",[387,990,991],{},"Work that takes a moment gets one message, not two.",[916,993],{"name":994},"BbToast\u002FLoadingToResult",[387,996,997,1000,1001,1006,1007,1010,1011,1014],{},[409,998,999],{},"loading: true"," shows a spinner and pins the toast open. It ",[391,1002,1003,1004],{},"implies\n",[409,1005,795],{},", so the countdown never starts and a swipe cannot lose it. Keep the\nid, and when the work settles ",[409,1008,1009],{},"update(id, …)"," morphs the same card in place and\nrestarts the countdown. Pass ",[409,1012,1013],{},"loading: false"," in that update, or the spinner and\nthe pinning stay.",[387,1016,1017,1019],{},[409,1018,590],{}," on an id that has already left the stack is a safe no-op. A slow\nrequest resolving after the user cleared the corner is not a crash. Each toast is\nannounced whole, so the morph from loading to done is read out again.",[387,1021,1022,1023,1025,1026,1028,1029,1031],{},"A message that must stay until dismissed takes ",[409,1024,954],{},". Add\n",[409,1027,809],{}," only when your own code will call ",[409,1030,822],{},": the two together,\nwith nothing to dismiss the toast, trap it on screen forever.",[441,1033,1035],{"id":1034},"upsert",[445,1036,1037],{},"One toast per concern",[387,1039,1040,1041,591,1043,1045],{},"Pass your own ",[409,1042,879],{},[409,1044,456],{}," becomes an upsert.",[916,1047],{"name":1048},"BbToast\u002FUpsertById",[387,1050,1051],{},"If a toast with that id is still live, it is patched in place and its countdown\nrestarts instead of a duplicate stacking behind it. Use a stable id for anything\nrepeatable, such as autosave ticks, connection status or \"copied to clipboard\",\nso hammering the action never floods the corner.",[387,1053,1054,1055,1058,1059,1061,1062,1064],{},"Fields you omit keep their previous value; fields you pass overwrite, including\nthe ones you can set back to ",[409,1056,1057],{},"undefined",". It is the same mechanism ",[409,1060,590],{}," uses;\nthe difference is that ",[409,1063,590],{}," never creates.",[441,1066,1067],{"id":845},[445,1068,1069],{},"Buttons on a toast",[387,1071,1072,1073,1075],{},"An ",[409,1074,845],{}," array renders buttons in a row under the text, and carries the undo\npattern.",[916,1077],{"name":1078},"BbToast\u002FUndoDelete",[387,1080,1081,1082,1087],{},"Commit the delete immediately, with no confirm dialog, and let the toast hold the\nescape hatch: the action's closure keeps the removed record, and if the toast\nexpires the delete stands. This is the right trade when undoing is cheap\nand complete. When it is not, you want\n",[406,1083,1085],{"href":1084},"\u002Fen\u002Fcomponents\u002Fbb-confirm#gate",[409,1086,282],{}," before the fact instead.",[387,1089,1090,1091,1094,1095,1098,1099,1101],{},"While a button's ",[409,1092,1093],{},"onClick"," runs it shows a spinner, its siblings are disabled and\nthe countdown is held; the toast dismisses itself when the callback resolves. Two\nbehaviours compose out of that: a ",[391,1096,1097],{},"rejected"," handler keeps the toast open and\nresumes the countdown, which is a retry, and a handler that calls ",[409,1100,1009],{},"\ntakes ownership: the toast morphs in place with a fresh countdown rather than\ndismissing.",[387,1103,1104,1105,1108,1109,1111,1112,1115],{},"Each action is a small ",[409,1106,1107],{},"primary"," button unless you pass ",[409,1110,707],{}," or ",[409,1113,1114],{},"size",". One\nor two actions is the limit. A message that needs more, or that must not be\nmissed, is a dialog.",[387,1117,1118,1119,1121],{},"When the body needs more than an icon, a title, text and buttons, register your\nown with ",[409,1120,868],{}," and fire a toast that names it.",[916,1123],{"name":1124},"BbToast\u002FPortalBody",[387,1126,1127,1128,587,1130,587,1132,591,1134,1136,1137,1140,1141,1143,1144,1146,1147,1149,1150,1152,1153,1156],{},"The portal replaces the whole body, so ",[409,1129,734],{},[409,1131,678],{},[409,1133,695],{},[409,1135,845],{}," stop\nrendering and the portal owns its own buttons. The slot scope is\n",[409,1138,1139],{},"{ toast, data, close }",", where ",[409,1142,860],{}," is the call's ",[409,1145,860],{},". A component passed\nas ",[409,1148,857],{}," gets the keys of ",[409,1151,860],{}," as its props, plus a ",[409,1154,1155],{},"close"," prop. Reach\nfor it rarely.",[441,1158,1159],{"id":829},[445,1160,1161],{},"Where toasts appear",[387,1163,1164,1165,587,1168,587,1171,587,1174,1177,1178,587,1181,439],{},"Six corners: ",[409,1166,1167],{},"top-left",[409,1169,1170],{},"top-center",[409,1172,1173],{},"top-right",[409,1175,1176],{},"bottom-left",",\n",[409,1179,1180],{},"bottom-center",[409,1182,1183],{},"bottom-right",[916,1185],{"name":1186},"BbToast\u002FCorners",[387,1188,1189,1190,1192,1193,1198,1199,1201],{},"Each message resolves its corner in two steps: its own ",[409,1191,829],{},", then the\nplugin's ",[406,1194,1196],{"href":1195},"\u002Fen\u002Fguides\u002Finstallation#options",[409,1197,835],{}," (",[409,1200,1183],{}," out\nof the box). Messages in different corners form independent stacks. Pick one corner\nper product and stay there; a per-message position is for the rare control that\nlives somewhere else on the screen, like a copy button pinned to the top.",[387,1203,1204,1205,1208],{},"Everything else about the stack is automatic and worth not rebuilding: toasts\npile up newest in front with only the front three visible, hovering or focusing\nthe pile fans it out and ",[391,1206,1207],{},"pauses every timer",", timers also pause while the\nbrowser tab is hidden and resume with the time remaining, and a toast can be\nswiped towards its nearest screen edge. Under 600px the stack goes full width.",[387,1210,1211,1212,439],{},"The stacks are promoted into the browser's top layer (they stay in the DOM where\nthe host sits), so they paint above dialogs, off-canvas panels and menus. When a\nmodal opens, the region moves inside it: a modal makes everything outside itself\ninert, and a toast nobody can click\nis worse than no toast. When a non-modal panel claims a screen edge, the stack\nyields: a bottom sheet pushes bottom stacks up, a right panel pushes right stacks\nleft, in step with the slide. Your own docked panels are ordinary page markup that\nthe stack cannot see, so a details sidebar claims its edge the same way with one\ncall: ",[409,1213,1214],{},"useSafeArea({ side: 'right', size: 352 })",[961,1216,1217],{},[387,1218,1219,1222,1223,1225,1226,969,1229,587,1231,969,1234,587,1236,1239,1240,1242,1243,1246,1247,1250,1251,1254,1255,1257],{},[409,1220,1221],{},"placement"," became ",[409,1224,829],{},", and the value vocabulary changed with it.\n",[409,1227,1228],{},"bottom",[409,1230,1180],{},[409,1232,1233],{},"bottom-start",[409,1235,1176],{},[409,1237,1238],{},"bottom-end"," is\n",[409,1241,1183],{},", and the same for ",[409,1244,1245],{},"top",". The composable's return changed too: it\nis ",[409,1248,1249],{},"{ toast, dismiss, update }"," now. ",[409,1252,1253],{},"dismissAll()"," is gone; ",[409,1256,901],{}," with no\nargument clears the stack, and nothing catches the old name for you, because it\nis not a template attribute either.",[441,1259,1261],{"id":1260},"styling",[445,1262,931],{},[387,1264,1265],{},"Register the names your product needs: only registered names type-check.",[459,1267,1271],{"className":1268,"code":1269,"language":1270,"meta":398,"style":398},"language-ts shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n    bitboss: { toastVariants: ['upgrade'] },\n});\n","ts",[409,1272,1273,1279,1295,1308],{"__ignoreMap":398},[445,1274,1275],{"class":468,"line":141},[445,1276,1278],{"class":1277},"sLBg1","\u002F\u002F nuxt.config.ts\n",[445,1280,1281,1284,1287,1291],{"class":468,"line":145},[445,1282,1283],{"class":560},"export",[445,1285,1286],{"class":560}," default",[445,1288,1290],{"class":1289},"sKwhi"," defineNuxtConfig",[445,1292,1294],{"class":1293},"soyes","({\n",[445,1296,1297,1300,1303,1306],{"class":468,"line":149},[445,1298,1299],{"class":471},"    bitboss: { toastVariants: [",[445,1301,1302],{"class":552},"'upgrade'",[445,1304,1305],{"class":471},"] }",[445,1307,1177],{"class":1293},[445,1309,1310,1313],{"class":468,"line":177},[445,1311,1312],{"class":1293},"})",[445,1314,573],{"class":471},[387,1316,1317],{},"The object form also sets each variant's icon for the whole app. A key\nregisters its name (a built-in name only gets its icon):",[459,1319,1321],{"className":1268,"code":1320,"language":1270,"meta":398,"style":398},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n    bitboss: {\n        toastVariants: {\n            success: { icon: 'lucide:circle-check' },\n            destructive: { icon: 'lucide:circle-x' },\n            upgrade: {}, \u002F\u002F a project variant, no icon\n        },\n    },\n});\n",[409,1322,1323,1327,1337,1342,1347,1357,1367,1375,1380,1387],{"__ignoreMap":398},[445,1324,1325],{"class":468,"line":141},[445,1326,1278],{"class":1277},[445,1328,1329,1331,1333,1335],{"class":468,"line":145},[445,1330,1283],{"class":560},[445,1332,1286],{"class":560},[445,1334,1290],{"class":1289},[445,1336,1294],{"class":1293},[445,1338,1339],{"class":468,"line":149},[445,1340,1341],{"class":471},"    bitboss: {\n",[445,1343,1344],{"class":468,"line":177},[445,1345,1346],{"class":471},"        toastVariants: {\n",[445,1348,1349,1352,1354],{"class":468,"line":181},[445,1350,1351],{"class":471},"            success: { icon: ",[445,1353,743],{"class":552},[445,1355,1356],{"class":471}," },\n",[445,1358,1359,1362,1365],{"class":468,"line":185},[445,1360,1361],{"class":471},"            destructive: { icon: ",[445,1363,1364],{"class":552},"'lucide:circle-x'",[445,1366,1356],{"class":471},[445,1368,1369,1372],{"class":468,"line":225},[445,1370,1371],{"class":471},"            upgrade: {}, ",[445,1373,1374],{"class":1277},"\u002F\u002F a project variant, no icon\n",[445,1376,1377],{"class":468,"line":229},[445,1378,1379],{"class":471},"        },\n",[445,1381,1382,1385],{"class":468,"line":233},[445,1383,1384],{"class":471},"    }",[445,1386,1177],{"class":1293},[445,1388,1389,1391],{"class":468,"line":237},[445,1390,1312],{"class":1293},[445,1392,573],{"class":471},[387,1394,1395,1396,1398,1399,1402],{},"A toast without its own ",[409,1397,734],{}," uses its variant's, its own wins, and\n",[409,1400,1401],{},"hideIcon: true"," hides either:",[459,1404,1406],{"className":1268,"code":1405,"language":1270,"meta":398,"style":398},"toast({ variant: 'success', title: 'Saved' }); \u002F\u002F the check\ntoast({ variant: 'success', title: 'Sent', icon: 'lucide:send' }); \u002F\u002F its own\ntoast({ variant: 'success', title: 'Copied', hideIcon: true }); \u002F\u002F none\n",[409,1407,1408,1430,1454],{"__ignoreMap":398},[445,1409,1410,1412,1415,1418,1421,1424,1427],{"class":468,"line":141},[445,1411,586],{"class":1289},[445,1413,1414],{"class":471},"({ variant: ",[445,1416,1417],{"class":552},"'success'",[445,1419,1420],{"class":471},", title: ",[445,1422,1423],{"class":552},"'Saved'",[445,1425,1426],{"class":471}," }); ",[445,1428,1429],{"class":1277},"\u002F\u002F the check\n",[445,1431,1432,1434,1436,1438,1440,1443,1446,1449,1451],{"class":468,"line":145},[445,1433,586],{"class":1289},[445,1435,1414],{"class":471},[445,1437,1417],{"class":552},[445,1439,1420],{"class":471},[445,1441,1442],{"class":552},"'Sent'",[445,1444,1445],{"class":471},", icon: ",[445,1447,1448],{"class":552},"'lucide:send'",[445,1450,1426],{"class":471},[445,1452,1453],{"class":1277},"\u002F\u002F its own\n",[445,1455,1456,1458,1460,1462,1464,1467,1470,1473,1475],{"class":468,"line":149},[445,1457,586],{"class":1289},[445,1459,1414],{"class":471},[445,1461,1417],{"class":552},[445,1463,1420],{"class":471},[445,1465,1466],{"class":552},"'Copied'",[445,1468,1469],{"class":471},", hideIcon: ",[445,1471,1472],{"class":542},"true",[445,1474,1426],{"class":471},[445,1476,1477],{"class":1277},"\u002F\u002F none\n",[459,1479,1483],{"className":1480,"code":1481,"language":1482,"meta":398,"style":398},"language-css shiki shiki-themes github-light-high-contrast github-dark-high-contrast",".bb-toast__panel.bb-toast__panel--upgrade {\n    --icon-color: var(--bb-primary);\n}\n","css",[409,1484,1485,1493,1513],{"__ignoreMap":398},[445,1486,1487,1490],{"class":468,"line":141},[445,1488,1489],{"class":542},".bb-toast__panel.bb-toast__panel--upgrade",[445,1491,1492],{"class":471}," {\n",[445,1494,1495,1498,1501,1504,1507,1510],{"class":468,"line":145},[445,1496,1497],{"class":1293},"    --icon-color",[445,1499,1500],{"class":471},": ",[445,1502,1503],{"class":542},"var",[445,1505,1506],{"class":471},"(",[445,1508,1509],{"class":1293},"--bb-primary",[445,1511,1512],{"class":471},");\n",[445,1514,1515],{"class":468,"line":149},[445,1516,1517],{"class":471},"}\n",[387,1519,1520,1521,1524,1525,1528,1529,1177,1532,587,1535,591,1538,1541],{},"A registered variant buys you the ",[409,1522,1523],{},".bb-toast__panel--\u003Cvariant>"," class hook and\nnothing else. The built-ins only set ",[409,1526,1527],{},"--icon-color"," too, from ",[409,1530,1531],{},"--bb-success",[409,1533,1534],{},"--bb-info",[409,1536,1537],{},"--bb-warn",[409,1539,1540],{},"--bb-danger",", so retuning those theme tokens\nretints every toast. Custom variants always announce politely, whatever they are\ncalled.",[387,1543,1544,1545,1550,1551,1553,1554,1556,1557,1560,1561,587,1563,1177,1566,587,1568,587,1570,1573,1574,1577,1578,1580,1581,1583,1584,1587],{},"To restyle part of every toast, key the build-time\n",[406,1546,1548],{"href":1547},"\u002Fen\u002Fcomponents\u002Fbb-toast\u002Fapi#prop-pt:%3Cpart%3E",[409,1549,612],{}," map by ",[409,1552,351],{},"; the host\ntakes no ",[409,1555,612],{}," of its own. The card is ",[409,1558,1559],{},"panel","; inside it sit ",[409,1562,734],{},[409,1564,1565],{},"content",[409,1567,678],{},[409,1569,695],{},[409,1571,1572],{},"footer"," (the row of actions), ",[409,1575,1576],{},"action"," (each button) and\n",[409,1579,1155],{},", and ",[409,1582,766],{}," is a state per toast. ",[409,1585,1586],{},"root"," is the region around one\ncorner's stack.",[459,1589,1592],{"className":1268,"code":1590,"filename":1591,"language":1270,"meta":398,"style":398},"import { definePt } from 'bitboss-ui\u002Fnuxt';\n\nexport const pt = definePt({\n    BbToast: {\n        action: 'min-w-20',\n        footer: 'justify-end',\n        'icon:loading': 'text-(--bb-text-muted)',\n        'panel:loading': 'opacity-80',\n    },\n});\n","bitboss-ui.pt.ts",[409,1593,1594,1608,1612,1630,1635,1645,1655,1667,1679,1684],{"__ignoreMap":398},[445,1595,1596,1598,1601,1603,1606],{"class":468,"line":141},[445,1597,561],{"class":560},[445,1599,1600],{"class":471}," { definePt } ",[445,1602,567],{"class":560},[445,1604,1605],{"class":552}," 'bitboss-ui\u002Fnuxt'",[445,1607,573],{"class":471},[445,1609,1610],{"class":468,"line":145},[445,1611,532],{"emptyLinePlaceholder":531},[445,1613,1614,1616,1619,1622,1625,1628],{"class":468,"line":149},[445,1615,1283],{"class":560},[445,1617,1618],{"class":560}," const",[445,1620,1621],{"class":542}," pt",[445,1623,1624],{"class":560}," =",[445,1626,1627],{"class":1289}," definePt",[445,1629,1294],{"class":471},[445,1631,1632],{"class":468,"line":177},[445,1633,1634],{"class":471},"    BbToast: {\n",[445,1636,1637,1640,1643],{"class":468,"line":181},[445,1638,1639],{"class":471},"        action: ",[445,1641,1642],{"class":552},"'min-w-20'",[445,1644,1177],{"class":471},[445,1646,1647,1650,1653],{"class":468,"line":185},[445,1648,1649],{"class":471},"        footer: ",[445,1651,1652],{"class":552},"'justify-end'",[445,1654,1177],{"class":471},[445,1656,1657,1660,1662,1665],{"class":468,"line":225},[445,1658,1659],{"class":552},"        'icon:loading'",[445,1661,1500],{"class":471},[445,1663,1664],{"class":552},"'text-(--bb-text-muted)'",[445,1666,1177],{"class":471},[445,1668,1669,1672,1674,1677],{"class":468,"line":229},[445,1670,1671],{"class":552},"        'panel:loading'",[445,1673,1500],{"class":471},[445,1675,1676],{"class":552},"'opacity-80'",[445,1678,1177],{"class":471},[445,1680,1681],{"class":468,"line":233},[445,1682,1683],{"class":471},"    },\n",[445,1685,1686],{"class":468,"line":237},[445,1687,1688],{"class":471},"});\n",[387,1690,1691,1692,587,1694,587,1696,1177,1698,1111,1700,1702,1703,1177,1706,1709,1710,1713,1714,1717],{},"A portal toast renders its own body, so it has no ",[409,1693,734],{},[409,1695,678],{},[409,1697,695],{},[409,1699,1572],{},[409,1701,1576],{},". Each part also carries a class (",[409,1704,1705],{},".bb-toast__panel",[409,1707,1708],{},".bb-toast__title",", …); the region's is ",[409,1711,1712],{},".bb-toast",". Do not\nfight the stack with your own ",[409,1715,1716],{},"z-index",", and do not mount extra hosts inside an\noverlay to get above it: the top layer already handles that.",[1719,1720,1721],"style",{},"html pre.shiki code .suds8, html code.shiki .suds8{--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sne4z, html code.shiki .sne4z{--shiki-default:#024C1A;--shiki-dark:#72F088}html pre.shiki code .s-5SL, html code.shiki .s-5SL{--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .sT6z2, html code.shiki .sT6z2{--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .sHUrx, html code.shiki .sHUrx{--shiki-default:#A0111F;--shiki-dark:#FF9492}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 .sLBg1, html code.shiki .sLBg1{--shiki-default:#66707B;--shiki-dark:#BDC4CC}html pre.shiki code .sKwhi, html code.shiki .sKwhi{--shiki-default:#622CBC;--shiki-dark:#DBB7FF}html pre.shiki code .soyes, html code.shiki .soyes{--shiki-default:#702C00;--shiki-dark:#FFB757}",{"title":398,"searchDepth":149,"depth":149,"links":1723},[1724,1728,1731,1732,1733,1734],{"id":443,"depth":145,"text":447,"children":1725},[1726],{"id":644,"depth":149,"text":1727},"What toast() takes",{"id":905,"depth":145,"text":908,"children":1729},[1730],{"id":987,"depth":149,"text":988},{"id":1034,"depth":145,"text":1037},{"id":845,"depth":145,"text":1069},{"id":829,"depth":145,"text":1161},{"id":1260,"depth":145,"text":931},"Transient feedback fired from anywhere. One host at the app root, and a toast() that stacks, pauses on hover and dismisses itself.","md",{},[1739,1740,1741,1742,1743,1744],{"id":443,"title":447},{"id":905,"title":908},{"id":1034,"title":1037},{"id":845,"title":1069},{"id":829,"title":1161},{"id":1260,"title":931},{"title":351,"description":1735},"components\u002Fbb-toast","TfLwiHM8Om95mczvL_xVwXA1YzJenlqRTzkiw4AQvDo",{"name":351,"slug":1749,"group":333,"description":1750,"entrypoint":1751,"docs":1752,"props":1755,"models":1765,"events":1766,"slots":1767,"exposed":1768,"pt":1769,"validated":377,"migration":1803},"bb-toast","The toast() stack.","bitboss-ui",{"contract":1753,"source":1754},"ai\u002FBbToast.md","ai\u002Fsource\u002FBbToast.md",[1756,1760],{"name":612,"type":1757,"required":1758,"default":377,"description":1759,"note":377,"demo":377},"(PtMap\u003CBbToastPtPart, never> & { \"title:destructive\"?: PtValue | undefined; \"title:warning\"?: PtValue | undefined; \"icon:destructive\"?: PtValue | undefined; \"icon:warning\"?: PtValue | undefined; \"text:destructive\"?: PtValue | undefined; \"text:warning\"?: PtValue | undefined; \"close:destructive\"?: PtValue | undefined; \"close:warning\"?: PtValue | undefined; \"icon:loading\"?: PtValue | undefined; \"text:loading\"?: PtValue | undefined; \"panel:loading\"?: PtValue | undefined; \"title:default\"?: PtValue | undefined; \"content:default\"?: PtValue | undefined; \"content:destructive\"?: PtValue | undefined; \"text:default\"?: PtValue | undefined; \"close:default\"?: PtValue | undefined; \"footer:default\"?: PtValue | undefined; \"footer:destructive\"?: PtValue | undefined; \"action:default\"?: PtValue | undefined; \"action:destructive\"?: PtValue | undefined; \"footer:loading\"?: PtValue | undefined; \"title:loading\"?: PtValue | undefined; \"content:loading\"?: PtValue | undefined; \"close:loading\"?: PtValue | undefined; \"action:loading\"?: PtValue | undefined; \"title:success\"?: PtValue | undefined; \"title:info\"?: PtValue | undefined; \"icon:default\"?: PtValue | undefined; \"icon:success\"?: PtValue | undefined; \"icon:info\"?: PtValue | undefined; \"panel:default\"?: PtValue | undefined; \"panel:destructive\"?: PtValue | undefined; \"panel:warning\"?: PtValue | undefined; \"panel:success\"?: PtValue | undefined; \"panel:info\"?: PtValue | undefined; \"content:warning\"?: PtValue | undefined; \"content:success\"?: PtValue | undefined; \"content:info\"?: PtValue | undefined; \"text:success\"?: PtValue | undefined; \"text:info\"?: PtValue | undefined; \"close:success\"?: PtValue | undefined; \"close:info\"?: PtValue | undefined; \"footer:warning\"?: PtValue | undefined; \"footer:success\"?: PtValue | undefined; \"footer:info\"?: PtValue | undefined; \"action:warning\"?: PtValue | undefined; \"action:success\"?: PtValue | undefined; \"action:info\"?: PtValue | undefined; }) | undefined",false,"Passthrough, object form: the same keys as the `pt:*` attributes without the prefix. See the `pt:\u003Cpart>` row.",{"name":1761,"type":1762,"required":1758,"default":377,"description":1763,"note":1764,"demo":1260},"pt:\u003Cpart>","PtValue | undefined","Passthrough, attribute form: one attribute per part, `pt:\u003Cpart>`, and per part and state, `pt:\u003Cpart>:\u003Cstate>`. Parts: `action`, `close`, `content`, `footer`, `icon`, `panel`, `root`, `text`, `title`. States: `default`, `destructive`, `info`, `loading`, `success`, `warning`.","Not attributes on a tag: `\u003CBbHost \u002F>` takes no props. These parts are the keys of the build-time `pt.BbToast` map, which styles every toast the app shows: `panel` (the card), `icon`, `content`, `title`, `text`, `footer` (the actions row), `action` (each button) and `close`, plus a per-toast `loading` state (`pt:panel:loading`). A portal toast has no `icon`, `title`, `text`, `footer` or `action`.",[],[],[],[],{"parts":1770,"states":1789},[1771,1773,1775,1777,1779,1781,1783,1785,1787],{"name":1586,"description":1772},"One region per corner in use — a broadcast over the corners.",{"name":1559,"description":1774},"One toast card — a broadcast.",{"name":734,"description":1776},"A toast's icon box: its `icon`, or the spinner while it is `loading`. Not rendered for a toast with neither, nor for a portal toast.",{"name":1565,"description":1778},"A toast's body column — title, text and actions, or the wrapper around a portal's content.",{"name":678,"description":1780},"A toast's heading. A portal toast renders its own body and has neither `title` nor `text`.",{"name":695,"description":1782},"A toast's body copy.",{"name":1572,"description":1784},"The row of a toast's `actions`. Not rendered without actions, nor for a portal toast.",{"name":1576,"description":1786},"Every button of a toast's `actions`, at the button's root — a broadcast. Never the ✕ (`close`).",{"name":1155,"description":1788},"A toast's ✕.",[1790,1793,1795,1797,1799,1801],{"name":1791,"description":1792},"default","Per toast, on its card parts: `variant: 'default'`. Merged after the part's base entry and before its states, so the real states still win.",{"name":726,"description":1794},"Per toast, on its card parts: `variant: 'destructive'`. Below the real states, like every variant.",{"name":720,"description":1796},"Per toast, on its card parts: `variant: 'info'`. Below the real states, like every variant.",{"name":766,"description":1798},"Per toast, on its card parts (every part but `root`): the toast is `loading` (the spinner shows in its `icon`).",{"name":717,"description":1800},"Per toast, on its card parts: `variant: 'success'`. Below the real states, like every variant.",{"name":723,"description":1802},"Per toast, on its card parts: `variant: 'warning'`. Below the real states, like every variant.",{"removed":1804,"renamed":1823},[1805,1812,1817,1820],{"name":1221,"surface":1806,"replacedBy":829,"hint":1807,"since":1808,"migration":1809,"silent":531,"fix":1810},"prop","the host is `\u003CBbHost \u002F>` now and takes no props: set the plugin's `toastPosition` (corner names: `top-end` → `top-right`, `bottom` → `bottom-center`, …)","3.0.0-alpha.1","ai\u002Fguides\u002Fmigration\u002Fcomponents\u002Fbb-host.md",{"kind":1811},"manual",{"name":980,"surface":1813,"replacedBy":809,"hint":1814,"since":1808,"migration":1815,"silent":531,"fix":1816},"option","a `toast()` option, polarity inverted: `showClose: false` → `hideClose: true`; `showClose: true` was the default, delete it","ai\u002Fguides\u002Fmigration\u002Fcomponents\u002Fbb-toast.md",{"kind":1811},{"name":968,"surface":1813,"replacedBy":707,"hint":1818,"since":1808,"migration":1815,"silent":531,"fix":1819},"a `toast()` \u002F `useToast().toast()` option, not a prop: `toast({ variant: 'success' })` (plus an `icon` for the tone to show)",{"kind":1811},{"name":974,"surface":1813,"replacedBy":780,"hint":1821,"since":1808,"migration":1815,"silent":531,"fix":1822},"a `toast()` option: `toast({ duration: 4000 })`; the default fell from 6000 to 4000 ms",{"kind":1811},[1824],{"from":1221,"to":829,"surface":1806,"since":1808,"migration":1809,"fix":1825},{"kind":1811},1793055147258]