[{"data":1,"prerenderedAt":1363},["ShallowReactive",2],{"api-none":3,"docs-nav-en":4,"locale-alternates":232,"page-en-\u002Fcomponents\u002Fbb-confirm":353,"pt-showcase-BbConfirm":1271},null,[5,16,25,46,58,100,133,166,187,208,220,226],{"label":6,"entries":7},"Getting started",[8,12],{"title":9,"path":10,"component":-1,"order":11},"Installation","\u002Fguides\u002Finstallation",1,{"title":13,"path":14,"component":-1,"order":15},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"label":17,"entries":18},"Design system",[19,22],{"title":20,"path":21,"component":-1,"order":11},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":23,"path":24,"component":-1,"order":15},"Design language","\u002Fguides\u002Fdesign-language",{"label":26,"entries":27},"Playbooks",[28,31,34,38,42],{"title":29,"path":30,"component":-1,"order":11},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":32,"path":33,"component":-1,"order":15},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":35,"path":36,"component":-1,"order":37},"Coherence","\u002Fguides\u002Fcoherence",3,{"title":39,"path":40,"component":-1,"order":41},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":43,"path":44,"component":-1,"order":45},"Icons","\u002Fguides\u002Ficons",5,{"label":47,"entries":48},"Ecosystem",[49,52,55],{"title":50,"path":51,"component":-1,"order":11},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":53,"path":54,"component":-1,"order":15},"Nuxt","\u002Fguides\u002Fnuxt",{"title":56,"path":57,"component":-1,"order":37},"AI agents","\u002Fguides\u002Fai-agents",{"label":59,"entries":60},"Inputs",[61,64,67,70,73,76,80,84,88,92,96],{"title":62,"path":63,"component":62,"order":11},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":65,"path":66,"component":65,"order":15},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":68,"path":69,"component":68,"order":37},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":71,"path":72,"component":71,"order":41},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":74,"path":75,"component":74,"order":45},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":77,"path":78,"component":77,"order":79},"BbForm","\u002Fcomponents\u002Fbb-form",6,{"title":81,"path":82,"component":81,"order":83},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":85,"path":86,"component":85,"order":87},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":89,"path":90,"component":89,"order":91},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":93,"path":94,"component":93,"order":95},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":97,"path":98,"component":97,"order":99},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":101,"entries":102},"Selection",[103,106,109,112,115,118,121,124,127,130],{"title":104,"path":105,"component":104,"order":11},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":107,"path":108,"component":107,"order":15},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":110,"path":111,"component":110,"order":37},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":113,"path":114,"component":113,"order":41},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":116,"path":117,"component":116,"order":45},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":119,"path":120,"component":119,"order":79},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":122,"path":123,"component":122,"order":83},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":125,"path":126,"component":125,"order":87},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":128,"path":129,"component":128,"order":91},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":131,"path":132,"component":131,"order":95},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":134,"entries":135},"Overlay",[136,139,142,145,148,151,154,157,160,163],{"title":137,"path":138,"component":137,"order":11},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":140,"path":141,"component":140,"order":15},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":143,"path":144,"component":143,"order":37},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":146,"path":147,"component":146,"order":41},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":149,"path":150,"component":149,"order":45},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":152,"path":153,"component":152,"order":79},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":155,"path":156,"component":155,"order":83},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":158,"path":159,"component":158,"order":87},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":161,"path":162,"component":161,"order":91},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":164,"path":165,"component":164,"order":95},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":167,"entries":168},"Navigation",[169,172,175,178,181,184],{"title":170,"path":171,"component":170,"order":11},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":173,"path":174,"component":173,"order":15},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":176,"path":177,"component":176,"order":37},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":179,"path":180,"component":179,"order":41},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":182,"path":183,"component":182,"order":45},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":185,"path":186,"component":185,"order":79},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":188,"entries":189},"Feedback",[190,193,196,199,202,205],{"title":191,"path":192,"component":191,"order":11},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":194,"path":195,"component":194,"order":15},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":197,"path":198,"component":197,"order":37},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":200,"path":201,"component":200,"order":41},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":203,"path":204,"component":203,"order":45},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":206,"path":207,"component":206,"order":79},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":209,"entries":210},"Data Display",[211,214,217],{"title":212,"path":213,"component":212,"order":11},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":215,"path":216,"component":215,"order":15},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":218,"path":219,"component":218,"order":37},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":221,"entries":222},"Layout & Utility",[223],{"title":224,"path":225,"component":224,"order":11},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":227,"entries":228},"Other",[229],{"title":230,"path":231,"component":230,"order":11},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",{"\u002Fit\u002Fcomponenti\u002Fbb-accordion":233,"\u002Fen\u002Fcomponents\u002Fbb-accordion":234,"\u002Fit\u002Fcomponenti\u002Fbb-alert":235,"\u002Fen\u002Fcomponents\u002Fbb-alert":236,"\u002Fit\u002Fcomponenti\u002Fbb-asterisk":237,"\u002Fen\u002Fcomponents\u002Fbb-asterisk":238,"\u002Fit\u002Fcomponenti\u002Fbb-avatar":239,"\u002Fen\u002Fcomponents\u002Fbb-avatar":240,"\u002Fit\u002Fcomponenti\u002Fbb-badge":241,"\u002Fen\u002Fcomponents\u002Fbb-badge":242,"\u002Fit\u002Fcomponenti\u002Fbb-base-button":243,"\u002Fen\u002Fcomponents\u002Fbb-base-button":244,"\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs":245,"\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs":246,"\u002Fit\u002Fcomponenti\u002Fbb-button":247,"\u002Fen\u002Fcomponents\u002Fbb-button":248,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":249,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":250,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":251,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":252,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":253,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":254,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":255,"\u002Fen\u002Fcomponents\u002Fbb-color-input":256,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":257,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":258,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":259,"\u002Fen\u002Fcomponents\u002Fbb-confirm":260,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":261,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":262,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":263,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":264,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":265,"\u002Fen\u002Fcomponents\u002Fbb-dialog":266,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":267,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":268,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":269,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":270,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":271,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":272,"\u002Fit\u002Fcomponenti\u002Fbb-form":273,"\u002Fen\u002Fcomponents\u002Fbb-form":274,"\u002Fit\u002Fcomponenti\u002Fbb-icon":275,"\u002Fen\u002Fcomponents\u002Fbb-icon":276,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":277,"\u002Fen\u002Fcomponents\u002Fbb-indicator":278,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":279,"\u002Fen\u002Fcomponents\u002Fbb-number-input":280,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":281,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":282,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":283,"\u002Fen\u002Fcomponents\u002Fbb-pagination":284,"\u002Fit\u002Fcomponenti\u002Fbb-popover":285,"\u002Fen\u002Fcomponents\u002Fbb-popover":286,"\u002Fit\u002Fcomponenti\u002Fbb-progress":287,"\u002Fen\u002Fcomponents\u002Fbb-progress":288,"\u002Fit\u002Fcomponenti\u002Fbb-radio":289,"\u002Fen\u002Fcomponents\u002Fbb-radio":290,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":291,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":292,"\u002Fit\u002Fcomponenti\u002Fbb-rating":293,"\u002Fen\u002Fcomponents\u002Fbb-rating":294,"\u002Fit\u002Fcomponenti\u002Fbb-select":295,"\u002Fen\u002Fcomponents\u002Fbb-select":296,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":297,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":298,"\u002Fit\u002Fcomponenti\u002Fbb-slider":299,"\u002Fen\u002Fcomponents\u002Fbb-slider":300,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":301,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":302,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":303,"\u002Fen\u002Fcomponents\u002Fbb-spinner":304,"\u002Fit\u002Fcomponenti\u002Fbb-switch":305,"\u002Fen\u002Fcomponents\u002Fbb-switch":306,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":307,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":308,"\u002Fit\u002Fcomponenti\u002Fbb-table":309,"\u002Fen\u002Fcomponents\u002Fbb-table":310,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":311,"\u002Fen\u002Fcomponents\u002Fbb-tabs":312,"\u002Fit\u002Fcomponenti\u002Fbb-tag":313,"\u002Fen\u002Fcomponents\u002Fbb-tag":314,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":315,"\u002Fen\u002Fcomponents\u002Fbb-text-input":316,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":317,"\u002Fen\u002Fcomponents\u002Fbb-textarea":318,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":319,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":320,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":321,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":322,"\u002Fit\u002Fcomponenti\u002Fbb-toast":323,"\u002Fen\u002Fcomponents\u002Fbb-toast":324,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":325,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":326,"\u002Fit\u002Fcomponenti\u002Fbb-tree":327,"\u002Fen\u002Fcomponents\u002Fbb-tree":328,"\u002Fit\u002Fguide\u002Fai-agents":329,"\u002Fen\u002Fguides\u002Fai-agents":330,"\u002Fit\u002Fguide\u002Fcoherence":331,"\u002Fen\u002Fguides\u002Fcoherence":332,"\u002Fit\u002Fguide\u002Fdesign-language":333,"\u002Fen\u002Fguides\u002Fdesign-language":334,"\u002Fit\u002Fguide\u002Fdesign-tokens":335,"\u002Fen\u002Fguides\u002Fdesign-tokens":336,"\u002Fit\u002Fguide\u002Ffetching-data":337,"\u002Fen\u002Fguides\u002Ffetching-data":338,"\u002Fit\u002Fguide\u002Ficons":339,"\u002Fen\u002Fguides\u002Ficons":340,"\u002Fit\u002Fguide\u002Finertia":341,"\u002Fen\u002Fguides\u002Finertia":342,"\u002Fit\u002Fguide\u002Finstallation":343,"\u002Fen\u002Fguides\u002Finstallation":344,"\u002Fit\u002Fguide\u002Fmigration":345,"\u002Fen\u002Fguides\u002Fmigration":346,"\u002Fit\u002Fguide\u002Fnuxt":347,"\u002Fen\u002Fguides\u002Fnuxt":348,"\u002Fit\u002Fguide\u002Foptions-and-items":349,"\u002Fen\u002Fguides\u002Foptions-and-items":350,"\u002Fit\u002Fguide\u002Fvalidated-forms":351,"\u002Fen\u002Fguides\u002Fvalidated-forms":352},"\u002Fen\u002Fcomponents\u002Fbb-accordion","\u002Fit\u002Fcomponenti\u002Fbb-accordion","\u002Fen\u002Fcomponents\u002Fbb-alert","\u002Fit\u002Fcomponenti\u002Fbb-alert","\u002Fen\u002Fcomponents\u002Fbb-asterisk","\u002Fit\u002Fcomponenti\u002Fbb-asterisk","\u002Fen\u002Fcomponents\u002Fbb-avatar","\u002Fit\u002Fcomponenti\u002Fbb-avatar","\u002Fen\u002Fcomponents\u002Fbb-badge","\u002Fit\u002Fcomponenti\u002Fbb-badge","\u002Fen\u002Fcomponents\u002Fbb-base-button","\u002Fit\u002Fcomponenti\u002Fbb-base-button","\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs","\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs","\u002Fen\u002Fcomponents\u002Fbb-button","\u002Fit\u002Fcomponenti\u002Fbb-button","\u002Fen\u002Fcomponents\u002Fbb-checkbox","\u002Fit\u002Fcomponenti\u002Fbb-checkbox","\u002Fen\u002Fcomponents\u002Fbb-checkbox-group","\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group","\u002Fen\u002Fcomponents\u002Fbb-collapsible","\u002Fit\u002Fcomponenti\u002Fbb-collapsible","\u002Fen\u002Fcomponents\u002Fbb-color-input","\u002Fit\u002Fcomponenti\u002Fbb-color-input","\u002Fen\u002Fcomponents\u002Fbb-color-palette","\u002Fit\u002Fcomponenti\u002Fbb-color-palette","\u002Fen\u002Fcomponents\u002Fbb-confirm","\u002Fit\u002Fcomponenti\u002Fbb-confirm","\u002Fen\u002Fcomponents\u002Fbb-date-picker","\u002Fit\u002Fcomponenti\u002Fbb-date-picker","\u002Fen\u002Fcomponents\u002Fbb-date-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input","\u002Fen\u002Fcomponents\u002Fbb-dialog","\u002Fit\u002Fcomponenti\u002Fbb-dialog","\u002Fen\u002Fcomponents\u002Fbb-dropdown","\u002Fit\u002Fcomponenti\u002Fbb-dropdown","\u002Fen\u002Fcomponents\u002Fbb-dropdown-button","\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button","\u002Fen\u002Fcomponents\u002Fbb-dropzone","\u002Fit\u002Fcomponenti\u002Fbb-dropzone","\u002Fen\u002Fcomponents\u002Fbb-form","\u002Fit\u002Fcomponenti\u002Fbb-form","\u002Fen\u002Fcomponents\u002Fbb-icon","\u002Fit\u002Fcomponenti\u002Fbb-icon","\u002Fen\u002Fcomponents\u002Fbb-indicator","\u002Fit\u002Fcomponenti\u002Fbb-indicator","\u002Fen\u002Fcomponents\u002Fbb-number-input","\u002Fit\u002Fcomponenti\u002Fbb-number-input","\u002Fen\u002Fcomponents\u002Fbb-off-canvas","\u002Fit\u002Fcomponenti\u002Fbb-off-canvas","\u002Fen\u002Fcomponents\u002Fbb-pagination","\u002Fit\u002Fcomponenti\u002Fbb-pagination","\u002Fen\u002Fcomponents\u002Fbb-popover","\u002Fit\u002Fcomponenti\u002Fbb-popover","\u002Fen\u002Fcomponents\u002Fbb-progress","\u002Fit\u002Fcomponenti\u002Fbb-progress","\u002Fen\u002Fcomponents\u002Fbb-radio","\u002Fit\u002Fcomponenti\u002Fbb-radio","\u002Fen\u002Fcomponents\u002Fbb-radio-group","\u002Fit\u002Fcomponenti\u002Fbb-radio-group","\u002Fen\u002Fcomponents\u002Fbb-rating","\u002Fit\u002Fcomponenti\u002Fbb-rating","\u002Fen\u002Fcomponents\u002Fbb-select","\u002Fit\u002Fcomponenti\u002Fbb-select","\u002Fen\u002Fcomponents\u002Fbb-select-popover","\u002Fit\u002Fcomponenti\u002Fbb-select-popover","\u002Fen\u002Fcomponents\u002Fbb-slider","\u002Fit\u002Fcomponenti\u002Fbb-slider","\u002Fen\u002Fcomponents\u002Fbb-smooth-height","\u002Fit\u002Fcomponenti\u002Fbb-smooth-height","\u002Fen\u002Fcomponents\u002Fbb-spinner","\u002Fit\u002Fcomponenti\u002Fbb-spinner","\u002Fen\u002Fcomponents\u002Fbb-switch","\u002Fit\u002Fcomponenti\u002Fbb-switch","\u002Fen\u002Fcomponents\u002Fbb-switch-group","\u002Fit\u002Fcomponenti\u002Fbb-switch-group","\u002Fen\u002Fcomponents\u002Fbb-table","\u002Fit\u002Fcomponenti\u002Fbb-table","\u002Fen\u002Fcomponents\u002Fbb-tabs","\u002Fit\u002Fcomponenti\u002Fbb-tabs","\u002Fen\u002Fcomponents\u002Fbb-tag","\u002Fit\u002Fcomponenti\u002Fbb-tag","\u002Fen\u002Fcomponents\u002Fbb-text-input","\u002Fit\u002Fcomponenti\u002Fbb-text-input","\u002Fen\u002Fcomponents\u002Fbb-textarea","\u002Fit\u002Fcomponenti\u002Fbb-textarea","\u002Fen\u002Fcomponents\u002Fbb-time-picker","\u002Fit\u002Fcomponenti\u002Fbb-time-picker","\u002Fen\u002Fcomponents\u002Fbb-time-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input","\u002Fen\u002Fcomponents\u002Fbb-toast","\u002Fit\u002Fcomponenti\u002Fbb-toast","\u002Fen\u002Fcomponents\u002Fbb-tooltip","\u002Fit\u002Fcomponenti\u002Fbb-tooltip","\u002Fen\u002Fcomponents\u002Fbb-tree","\u002Fit\u002Fcomponenti\u002Fbb-tree","\u002Fen\u002Fguides\u002Fai-agents","\u002Fit\u002Fguide\u002Fai-agents","\u002Fen\u002Fguides\u002Fcoherence","\u002Fit\u002Fguide\u002Fcoherence","\u002Fen\u002Fguides\u002Fdesign-language","\u002Fit\u002Fguide\u002Fdesign-language","\u002Fen\u002Fguides\u002Fdesign-tokens","\u002Fit\u002Fguide\u002Fdesign-tokens","\u002Fen\u002Fguides\u002Ffetching-data","\u002Fit\u002Fguide\u002Ffetching-data","\u002Fen\u002Fguides\u002Ficons","\u002Fit\u002Fguide\u002Ficons","\u002Fen\u002Fguides\u002Finertia","\u002Fit\u002Fguide\u002Finertia","\u002Fen\u002Fguides\u002Finstallation","\u002Fit\u002Fguide\u002Finstallation","\u002Fen\u002Fguides\u002Fmigration","\u002Fit\u002Fguide\u002Fmigration","\u002Fen\u002Fguides\u002Fnuxt","\u002Fit\u002Fguide\u002Fnuxt","\u002Fen\u002Fguides\u002Foptions-and-items","\u002Fit\u002Fguide\u002Foptions-and-items","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",{"id":354,"title":140,"body":355,"component":140,"description":1259,"extension":755,"group":134,"meta":1260,"navigation":499,"order":15,"path":141,"sections":1261,"seo":1268,"stem":1269,"__hash__":1270},"docs_en\u002Fcomponents\u002Fbb-confirm.md",{"type":356,"value":357,"toc":1247},"minimark",[358,397,412,420,427,550,577,583,589,603,611,617,621,631,647,653,669,672,690,725,761,767,770,773,786,803,806,812,819,822,845,858,861,868,880,883,907,945,965,989,995,1001,1004,1030,1041,1058,1066,1072,1088,1137,1189,1222,1243],[359,360,361,369],"when",{},[362,363,364,365,368],"p",{},"Use ",[366,367,140],"code",{}," when an action is destructive or irreversible — delete,\noverwrite, publish, sign out — or otherwise deserves a deliberate second step.",[370,371,373],"template",{"v-slot:else":372},"",[374,375,376,390],"ul",{},[377,378,379,384,385,389],"li",{},[380,381,382],"a",{"href":235},[366,383,191],{}," or\n",[380,386,387],{"href":323},[366,388,206],{}," — the message is informational rather\nthan a decision; an alert with two buttons is not a question",[377,391,392,396],{},[380,393,394],{"href":265},[366,395,146],{}," — the \"confirm\" has grown fields and\nvalidation; a confirm with an input in it is a form wearing a disguise",[362,398,399,400,407,408,411],{},"It is not a component you place where the action lives. ",[401,402,403,406],"strong",{},[366,404,405],{},"\u003CBbConfirm \u002F>"," takes no\nprops at all."," You mount it once, at the root of the application, and everything\n— the text, the buttons, the size, what happens on dismissal — travels in the\nmessage you pass to ",[366,409,410],{},"useConfirm().confirm()",". The dialog is the render target; the\ncomposable is the API.",[413,414,416],"h2",{"id":415},"setup",[417,418,419],"span",{},"Setup and destructive gates",[362,421,422,423,426],{},"Mount the host once, above the router, and ",[366,424,425],{},"confirm()"," works from anywhere after\nthat — components, composables, stores alike.",[428,429,433],"pre",{"className":430,"code":431,"language":432,"meta":372,"style":372},"language-vue shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u003Ctemplate>\n    \u003CNuxtLayout>\n        \u003CNuxtPage \u002F>\n    \u003C\u002FNuxtLayout>\n    \u003CBbConfirm \u002F>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport { BbConfirm } from 'bitboss-ui';\n\u003C\u002Fscript>\n","vue",[366,434,435,448,458,469,478,486,495,501,524,542],{"__ignoreMap":372},[417,436,438,442,445],{"class":437,"line":11},"line",[417,439,441],{"class":440},"suds8","\u003C",[417,443,370],{"class":444},"sne4z",[417,446,447],{"class":440},">\n",[417,449,450,453,456],{"class":437,"line":15},[417,451,452],{"class":440},"    \u003C",[417,454,455],{"class":444},"NuxtLayout",[417,457,447],{"class":440},[417,459,460,463,466],{"class":437,"line":37},[417,461,462],{"class":440},"        \u003C",[417,464,465],{"class":444},"NuxtPage",[417,467,468],{"class":440}," \u002F>\n",[417,470,471,474,476],{"class":437,"line":41},[417,472,473],{"class":440},"    \u003C\u002F",[417,475,455],{"class":444},[417,477,447],{"class":440},[417,479,480,482,484],{"class":437,"line":45},[417,481,452],{"class":440},[417,483,140],{"class":444},[417,485,468],{"class":440},[417,487,488,491,493],{"class":437,"line":79},[417,489,490],{"class":440},"\u003C\u002F",[417,492,370],{"class":444},[417,494,447],{"class":440},[417,496,497],{"class":437,"line":83},[417,498,500],{"emptyLinePlaceholder":499},true,"\n",[417,502,503,505,508,512,515,518,522],{"class":437,"line":87},[417,504,441],{"class":440},[417,506,507],{"class":444},"script",[417,509,511],{"class":510},"s-5SL"," setup",[417,513,514],{"class":510}," lang",[417,516,517],{"class":440},"=",[417,519,521],{"class":520},"sT6z2","\"ts\"",[417,523,447],{"class":440},[417,525,526,530,533,536,539],{"class":437,"line":91},[417,527,529],{"class":528},"sHUrx","import",[417,531,532],{"class":440}," { BbConfirm } ",[417,534,535],{"class":528},"from",[417,537,538],{"class":520}," 'bitboss-ui'",[417,540,541],{"class":440},";\n",[417,543,544,546,548],{"class":437,"line":95},[417,545,490],{"class":440},[417,547,507],{"class":444},[417,549,447],{"class":440},[362,551,552,553,556,557,560,561,564,565,568,569,572,573,576],{},"Under Vue that file is ",[366,554,555],{},"App.vue",", under Nuxt ",[366,558,559],{},"app.vue",", under Inertia the\n",[366,562,563],{},"createInertiaApp"," render root. There are two ways to get this wrong and both are\nquiet. With ",[401,566,567],{},"no host",", ",[366,570,571],{},"await confirm(...)"," never settles and the caller hangs\nforever — a dev build warns once, a production build does not. With ",[401,574,575],{},"two hosts",",\nthe same dialog renders once per host, and the warning names the count.",[362,578,579,580,582],{},"A page that calls ",[366,581,425],{}," mounts nothing.",[362,584,585,586,588],{},"This documentation site has no host of its own, so the first demo below mounts a\n",[366,587,405],{}," and every later demo on the page borrows it. Your application is\nthe other way round.",[362,590,591,592,594,595,598,599,602],{},"One more thing to know before writing any of it: a second ",[366,593,425],{}," while one\nis open ",[401,596,597],{},"replaces"," the visible dialog. The superseded promise resolves ",[366,600,601],{},"false","\nas an implicit dismissal, with no callback run, so nothing hangs — but two\nconfirms fired from the same handler show only the second.",[604,605,607],"h3",{"id":606},"the-destructive-gate",[417,608,610],{"id":609},"gate","The destructive gate",[362,612,613,616],{},[366,614,615],{},"await"," the decision, then act only on a truthy result.",[618,619],"demo",{"name":620},"BbConfirm\u002FDestructiveGate",[362,622,623,624,626,627,630],{},"Everything after the ",[366,625,615],{}," is ordinary code: the dialog has already resolved and\nclosed. ",[366,628,629],{},"variant: 'destructive'"," colours the dialog as dangerous and makes the Yes\nbutton destructive too, so the two never disagree about how serious this is.",[362,632,633,634,641,642,646],{},"Per the library's design language, every destructive action passes through this\ngate. It is also the reason a\n",[380,635,637,640],{"href":636},"\u002Fen\u002Fcomponents\u002Fbb-button#variants",[366,638,639],{},"destructive"," button"," and a\n",[380,643,645],{"href":644},"\u002Fen\u002Fcomponents\u002Fbb-dropdown#items","destructive menu row"," are worth marking as such:\nthe mark is what tells the next person a confirm belongs there.",[413,648,650],{"id":649},"buttons",[417,651,652],{},"Labelling the choice",[362,654,655,658,659,662,663,665,666,668],{},[366,656,657],{},"yes"," and ",[366,660,661],{},"no"," each take three forms: ",[366,664,601],{}," hides the button, a string relabels\nit, and an object gives you the whole ",[366,667,65],{}," surface.",[618,670],{"name":671},"BbConfirm\u002FButtonLabels",[362,673,674,675,678,679,568,683,568,686,689],{},"The defaults are localised through the plugin's ",[366,676,677],{},"locale"," — \"OK\" and \"Annulla\"\nunder the default Italian locale. Treat them as placeholders rather than\nrecommendations: the Yes label is the last thing the user reads before committing,\nso it should be the verb of the action. ",[680,681,682],"em",{},"Delete",[680,684,685],{},"Archive",[680,687,688],{},"Publish",". \"Are you\nsure? \u002F OK\" tells nobody what is about to happen.",[362,691,692,695,696,568,699,568,702,705,706,709,710,568,713,716,717,720,721,724],{},[366,693,694],{},"no: false"," leaves one button, which is how you write an acknowledgement rather\nthan a question. The object form takes ",[366,697,698],{},"text",[366,700,701],{},"variant",[366,703,704],{},"size",",\n",[366,707,708],{},"prepend:icon"," \u002F ",[366,711,712],{},"append:icon",[366,714,715],{},"icon"," for an icon-only button, ",[366,718,719],{},"block",", and the\n",[366,722,723],{},"onClick"," the next section is about.",[726,727,728],"migration",{},[362,729,730,568,733,568,736,658,739,742,743,658,746,748,749,752,753,756,757,760],{},[366,731,732],{},"yesText",[366,734,735],{},"onYes",[366,737,738],{},"noText",[366,740,741],{},"onNo"," collapse into these two options. ",[366,744,745],{},"yes: false",[366,747,694],{}," are unchanged — do not \"migrate\" either into ",[366,750,751],{},"actions: false",", which hides the whole footer instead of one button. Two silent\ndifferences: the labels are localised now, so an English app stops showing the\nItalian default, and the footer buttons default to ",[366,754,755],{},"md"," where v2 used ",[366,758,759],{},"lg",".",[413,762,764],{"id":763},"async",[417,765,766],{},"Work before the dialog closes",[362,768,769],{},"Some work has to finish before the dialog goes away — the user should see the\ndelete happen, not discover it later.",[618,771],{"name":772},"BbConfirm\u002FAsyncBeforeClose",[362,774,775,776,778,779,781,782,785],{},"Put it in the button's ",[366,777,723],{}," instead of after the ",[366,780,615],{},". The button shows a\nspinner while the promise runs, the opposite button is disabled, the X is hidden\nand every dismissal is blocked until it settles. ",[366,783,784],{},"returning: true"," then resolves\nthe promise with the callback's own return value rather than a plain boolean.",[362,787,788,789,791,792,795,796,798,799,802],{},"One sharp edge: ",[366,790,425],{}," ",[401,793,794],{},"rejects"," when a button's ",[366,797,723],{}," throws. Wrap the\nawait in ",[366,800,801],{},"try\u002Fcatch"," whenever the work can fail, or a failed delete becomes an\nunhandled rejection instead of a message.",[362,804,805],{},"Keep those callbacks short. While one runs there is no way out of the dialog by\ndesign, so a slow one is a frozen screen.",[413,807,809],{"id":808},"decisions",[417,810,811],{},"Outcomes and dismissal",[362,813,814,815,818],{},"When the decision has three answers, an ",[366,816,817],{},"actions"," array replaces the yes\u002Fno\nfooter entirely.",[618,820],{"name":821},"BbConfirm\u002FThreeWayDecision",[362,823,824,825,658,828,830,831,834,835,837,838,841,842,760],{},"Each entry is the same button config, defaulting to ",[366,826,827],{},"outline",[366,829,755],{},". Clicking\nany of them resolves the promise ",[366,832,833],{},"true"," — or, with ",[366,836,784],{},", with that\nhandler's return value, typed as the union across the array. ",[366,839,840],{},"as const"," on the\nreturns is what keeps the literal types instead of widening them all to ",[366,843,844],{},"string",[362,846,847,658,849,851,852,854,855,857],{},[366,848,657],{},[366,850,661],{}," are ignored when ",[366,853,817],{}," is present, with a dev warning. Every\nimplicit dismissal still resolves ",[366,856,601],{}," without running anything, so a\nthree-way decision always has a fourth outcome: none of them.",[362,859,860],{},"Three is about the ceiling. A footer with five buttons is a form that has not\nadmitted it yet.",[604,862,864],{"id":863},"what-false-actually-means",[417,865,867],{"id":866},"dismissal","What false actually means",[362,869,870,872,873,876,877,760],{},[366,871,601],{}," means ",[680,874,875],{},"not confirmed",". It does not mean ",[680,878,879],{},"declined",[618,881],{"name":882},"BbConfirm\u002FForcedChoice",[362,884,885,886,889,890,893,894,896,897,900,901,904,905,760],{},"A backdrop click, ",[366,887,888],{},"Escape",", the X, a ",[366,891,892],{},"duration"," timeout and the owning component\nunmounting all resolve ",[366,895,601],{},". So decline-only behaviour belongs in ",[366,898,899],{},"no.onClick",",\nnever in the ",[366,902,903],{},"if (!ok)"," branch — put it there and it runs every time someone\npresses ",[366,906,888],{},[362,908,909,910,912,913,916,917,919,920,923,924,926,927,930,931,568,933,936,937,940,941,944],{},"Which of those actually run ",[366,911,899],{}," is a clean rule: ",[401,914,915],{},"user-initiated","\ndismissals (backdrop, ",[366,918,888],{},", the X) honour ",[366,921,922],{},"dismissAsNo",", which defaults to\n",[366,925,833],{},"; ",[401,928,929],{},"system-initiated"," ones (the timeout, an owner unmounting, a superseding\n",[366,932,425],{},[366,934,935],{},"dismissAll()",") always resolve quietly. ",[366,938,939],{},"persistent"," blocks the\nuser-initiated ones and ",[366,942,943],{},"hideClose"," removes the X; together, as in the demo, they\nforce a real answer. Reach for them when both answers change the data.",[362,946,947,948,951,952,955,956,958,959,961,962,964],{},"Dialogs also ",[401,949,950],{},"die with the scope that opened them",". A confirm belongs to the\neffect scope that called ",[366,953,954],{},"useConfirm()",", so if the user presses Back or a route\nchange swaps the page while the dialog is open, it is dismissed quietly: the\npromise resolves ",[366,957,601],{}," and no callback runs, because the handlers close over\nstate that no longer exists. Calling ",[366,960,954],{}," at page level is the usual\nchoice; call it outside a component — app setup, a store, module scope — for\nconfirms that must survive any unmount. ",[366,963,935],{}," is the imperative version\nfor app-level events like a logout.",[362,966,967,977,978,981,982,985,986,988],{},[401,968,969,970,973,974,976],{},"Migrating from v2: ",[366,971,972],{},"autoClose"," now defaults to ",[366,975,833],{}," where v2 made it\nopt-in."," A multi-step flow that relied on the dialog staying open after the\nanswer now closes under it, and nothing warns. Pass ",[366,979,980],{},"autoClose: false"," and end the\nflow yourself with ",[366,983,984],{},"close()"," — remembering that ",[366,987,984],{}," only hides the dialog\nand never resolves anything, so calling it before a button has run leaves that\npromise pending forever.",[413,990,992],{"id":991},"portals",[417,993,994],{},"A body that is not a sentence",[362,996,997,998,1000],{},"When plain ",[366,999,698],{}," cannot carry the decision, render your own content in the body.",[618,1002],{"name":1003},"BbConfirm\u002FPortalBody",[362,1005,1006,1009,1010,1013,1014,1017,1018,1021,1022,709,1024,1026,1027,1029],{},[366,1007,1008],{},"\u003CBbConfirmPortal name=\"…\">"," registers content and renders nothing where it sits,\nso it can live next to the thing it describes. Its slot receives\n",[366,1011,1012],{},"{ yes, no, props }"," — ",[366,1015,1016],{},"props"," is the ",[366,1019,1020],{},"portalProps"," you passed, and ",[366,1023,657],{},[366,1025,661],{},"\nresolve the dialog from inside the body, which is what ",[366,1028,751],{}," is for\nwhen the portal owns its own buttons. Because the slot is a live closure over your\ncomponent's state, it can also read that state directly.",[362,1031,1032,1034,1035,1038,1039,760],{},[366,1033,698],{}," takes priority over ",[366,1036,1037],{},"portal",": with both set, the portal never renders.\nRemove the ",[366,1040,698],{},[362,1042,1043,1044,1046,1047,1049,1050,1053,1054,1057],{},"For a body you reuse across the app, pass a component as ",[366,1045,1037],{}," instead of a\nname and ",[366,1048,1020],{}," are forwarded to it with ",[366,1051,1052],{},"v-bind",". And ",[366,1055,1056],{},"focusTarget"," takes\na CSS selector, for pointing focus at an input inside the body rather than at the\nfirst tabbable thing.",[362,1059,1060,1061,1065],{},"If that body grows a second field and a validation rule, stop. It is a ",[380,1062,1063],{"href":265},[366,1064,146],{},"\nnow.",[413,1067,1069],{"id":1068},"styling",[417,1070,1071],{},"Variants, size and the sheet",[362,1073,1074,1076,1077,1080,1081,1084,1085,1087],{},[366,1075,701],{}," lands on the dialog root as ",[366,1078,1079],{},"bb-confirm--\u003Cname>",". ",[366,1082,1083],{},"default"," and\n",[366,1086,639],{}," ship with the library; register the rest and they become typed\nvalues:",[428,1089,1093],{"className":1090,"code":1091,"language":1092,"meta":372,"style":372},"language-ts shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n    bitboss: { confirmVariants: ['warning'] },\n});\n","ts",[366,1094,1095,1101,1117,1130],{"__ignoreMap":372},[417,1096,1097],{"class":437,"line":11},[417,1098,1100],{"class":1099},"sLBg1","\u002F\u002F nuxt.config.ts\n",[417,1102,1103,1106,1109,1113],{"class":437,"line":15},[417,1104,1105],{"class":528},"export",[417,1107,1108],{"class":528}," default",[417,1110,1112],{"class":1111},"sKwhi"," defineNuxtConfig",[417,1114,1116],{"class":1115},"soyes","({\n",[417,1118,1119,1122,1125,1128],{"class":437,"line":37},[417,1120,1121],{"class":440},"    bitboss: { confirmVariants: [",[417,1123,1124],{"class":520},"'warning'",[417,1126,1127],{"class":440},"] }",[417,1129,705],{"class":1115},[417,1131,1132,1135],{"class":437,"line":41},[417,1133,1134],{"class":1115},"})",[417,1136,541],{"class":440},[428,1138,1142],{"className":1139,"code":1140,"language":1141,"meta":372,"style":372},"language-css shiki shiki-themes github-light-high-contrast github-dark-high-contrast",".bb-confirm.bb-confirm--warning .bb-dialog__body,\n.bb-confirm.bb-confirm--warning .bb-offcanvas__body {\n    color: var(--bb-text-warn);\n}\n","css",[366,1143,1144,1154,1164,1184],{"__ignoreMap":372},[417,1145,1146,1149,1152],{"class":437,"line":11},[417,1147,1148],{"class":510},".bb-confirm.bb-confirm--warning",[417,1150,1151],{"class":510}," .bb-dialog__body",[417,1153,705],{"class":440},[417,1155,1156,1158,1161],{"class":437,"line":15},[417,1157,1148],{"class":510},[417,1159,1160],{"class":510}," .bb-offcanvas__body",[417,1162,1163],{"class":440}," {\n",[417,1165,1166,1169,1172,1175,1178,1181],{"class":437,"line":37},[417,1167,1168],{"class":510},"    color",[417,1170,1171],{"class":440},": ",[417,1173,1174],{"class":510},"var",[417,1176,1177],{"class":440},"(",[417,1179,1180],{"class":1115},"--bb-text-warn",[417,1182,1183],{"class":440},");\n",[417,1185,1186],{"class":437,"line":41},[417,1187,1188],{"class":440},"}\n",[362,1190,1191,1192,1195,1196,658,1199,1202,1203,1205,1206,1209,1210,1213,1214,1217,1218,1221],{},"Both selectors are needed because a confirm has two surfaces: on small viewports\nit follows the global ",[366,1193,1194],{},"adaptive"," config and renders as a bottom sheet instead of a\ndialog, with no per-call override. Style ",[366,1197,1198],{},".bb-dialog__*",[366,1200,1201],{},".bb-offcanvas__*","\ntogether or your skin only exists on one of them. ",[366,1204,704],{}," picks a maximum-width\npreset from ",[366,1207,1208],{},"xs"," to ",[366,1211,1212],{},"2xl",", and ",[366,1215,1216],{},"fullscreen"," takes over the screen — ",[366,1219,1220],{},"'mobile'","\nrestricts that to small viewports.",[726,1223,1224],{},[362,1225,1226,658,1229,1232,1233,1235,1236,658,1239,1242],{},[366,1227,1228],{},".bb-confirm__no",[366,1230,1231],{},".bb-confirm__yes"," are gone. The footer buttons render as\nbare ",[366,1234,65],{},"s with no confirm-specific class, so a rule hanging off either\none stops matching in silence; restyle them per call through the button config\ninstead. ",[366,1237,1238],{},".bb-confirm__content",[366,1240,1241],{},".bb-confirm__text"," survive and are still\nthe right targets for the body copy.",[1244,1245,1246],"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":372,"searchDepth":37,"depth":37,"links":1248},[1249,1252,1253,1254,1257,1258],{"id":415,"depth":15,"text":419,"children":1250},[1251],{"id":606,"depth":37,"text":610},{"id":649,"depth":15,"text":652},{"id":763,"depth":15,"text":766},{"id":808,"depth":15,"text":811,"children":1255},[1256],{"id":863,"depth":37,"text":867},{"id":991,"depth":15,"text":994},{"id":1068,"depth":15,"text":1071},"The yes\u002Fno gate in front of anything irreversible — one host mounted at the app root, and a confirm() you await.",{},[1262,1263,1264,1265,1266,1267],{"id":415,"title":419},{"id":649,"title":652},{"id":763,"title":766},{"id":808,"title":811},{"id":991,"title":994},{"id":1068,"title":1071},{"title":140,"description":1259},"components\u002Fbb-confirm","XDL_8DL6bfIAbHadhas97Xj0EQ8DGN7vvBTPnZ-DwUg",{"name":140,"slug":1272,"group":134,"description":1273,"entrypoint":1274,"docs":1275,"props":1278,"models":1324,"events":1325,"slots":1326,"exposed":1327,"pt":1328,"validated":3,"migration":1360},"bb-confirm","Prompts users to confirm or cancel critical actions (includes co-located BbConfirmPortal export).","bitboss-ui",{"contract":1276,"source":1277},"ai\u002FBbConfirm.md","ai\u002Fsource\u002FBbConfirm.md",[1279,1284,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321],{"name":1280,"type":1281,"required":1282,"default":3,"description":1283,"note":3,"demo":3},"pt","PtMap\u003CBbConfirmPtPart, \"open\"> | undefined",false,"Passthrough, object form: the same keys as the `pt:*` attributes\nwithout the prefix. See the `pt:\u003Cpart>` row.",{"name":1285,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:action","PtValue | undefined",{"name":1288,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:action:open",{"name":1290,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:close",{"name":1292,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:close:open",{"name":1294,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:content",{"name":1296,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:content:open",{"name":1298,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:footer",{"name":1300,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:footer:open",{"name":1302,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:header",{"name":1304,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:header:open",{"name":1306,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:root",{"name":1308,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:root:open",{"name":1310,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:sheet",{"name":1312,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:sheet:open",{"name":1314,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:text",{"name":1316,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:text:open",{"name":1318,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:title",{"name":1320,"type":1286,"required":1282,"default":3,"description":3,"note":3,"demo":3},"pt:title:open",{"name":704,"type":1322,"required":1282,"default":3,"description":1323,"note":3,"demo":3},"keyof Sizes | undefined","Default maximum width for every confirm this host renders, as one of the\ndialog presets (`'xs'` – `'2xl'`). A per-call `size` in the message wins.\nWhen neither is set the dialog falls back to the `BbDialog` default.",[],[],[],[],{"parts":1329,"states":1356},[1330,1333,1336,1339,1342,1345,1347,1350,1353],{"name":1331,"description":1332},"root","The `\u003Cdialog>` of every confirm the app opens (forwarded to the `BbDialog` the host renders).",{"name":1334,"description":1335},"sheet","The bottom sheet a confirm becomes on a phone — never the desktop dialog.",{"name":1337,"description":1338},"header","The header band.",{"name":1340,"description":1341},"title","The confirm's title.",{"name":1343,"description":1344},"content","The dialog body.",{"name":698,"description":1346},"The confirm's plain-text body — not a portal's content.",{"name":1348,"description":1349},"footer","The action buttons' band.",{"name":1351,"description":1352},"close","The ✕.",{"name":1354,"description":1355},"action","Every footer button — yes, no and each custom `actions` entry — at the button's root. A broadcast.",[1357],{"name":1358,"description":1359},"open","Component-wide: a confirm is showing.",{"removed":1361,"renamed":1362},[],[],1790005160730]