[{"data":1,"prerenderedAt":1291},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":124,"api-none":352,"page-en-\u002Fcomponents\u002Fbb-radio-group":353,"pt-showcase-BbRadioGroup":825},{"\u002Fit\u002Fcomponenti\u002Fbb-accordion":4,"\u002Fen\u002Fcomponents\u002Fbb-accordion":5,"\u002Fit\u002Fcomponenti\u002Fbb-alert":6,"\u002Fen\u002Fcomponents\u002Fbb-alert":7,"\u002Fit\u002Fcomponenti\u002Fbb-asterisk":8,"\u002Fen\u002Fcomponents\u002Fbb-asterisk":9,"\u002Fit\u002Fcomponenti\u002Fbb-avatar":10,"\u002Fen\u002Fcomponents\u002Fbb-avatar":11,"\u002Fit\u002Fcomponenti\u002Fbb-badge":12,"\u002Fen\u002Fcomponents\u002Fbb-badge":13,"\u002Fit\u002Fcomponenti\u002Fbb-base-button":14,"\u002Fen\u002Fcomponents\u002Fbb-base-button":15,"\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs":16,"\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs":17,"\u002Fit\u002Fcomponenti\u002Fbb-button":18,"\u002Fen\u002Fcomponents\u002Fbb-button":19,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":20,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":21,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":22,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":23,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":24,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":25,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":26,"\u002Fen\u002Fcomponents\u002Fbb-color-input":27,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":28,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":29,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":30,"\u002Fen\u002Fcomponents\u002Fbb-confirm":31,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":32,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":33,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":34,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":35,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":36,"\u002Fen\u002Fcomponents\u002Fbb-dialog":37,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":38,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":39,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":40,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":41,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":42,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":43,"\u002Fit\u002Fcomponenti\u002Fbb-form":44,"\u002Fen\u002Fcomponents\u002Fbb-form":45,"\u002Fit\u002Fcomponenti\u002Fbb-icon":46,"\u002Fen\u002Fcomponents\u002Fbb-icon":47,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":48,"\u002Fen\u002Fcomponents\u002Fbb-indicator":49,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":50,"\u002Fen\u002Fcomponents\u002Fbb-number-input":51,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":52,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":53,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":54,"\u002Fen\u002Fcomponents\u002Fbb-pagination":55,"\u002Fit\u002Fcomponenti\u002Fbb-popover":56,"\u002Fen\u002Fcomponents\u002Fbb-popover":57,"\u002Fit\u002Fcomponenti\u002Fbb-progress":58,"\u002Fen\u002Fcomponents\u002Fbb-progress":59,"\u002Fit\u002Fcomponenti\u002Fbb-radio":60,"\u002Fen\u002Fcomponents\u002Fbb-radio":61,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":62,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":63,"\u002Fit\u002Fcomponenti\u002Fbb-rating":64,"\u002Fen\u002Fcomponents\u002Fbb-rating":65,"\u002Fit\u002Fcomponenti\u002Fbb-select":66,"\u002Fen\u002Fcomponents\u002Fbb-select":67,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":68,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":69,"\u002Fit\u002Fcomponenti\u002Fbb-slider":70,"\u002Fen\u002Fcomponents\u002Fbb-slider":71,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":72,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":73,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":74,"\u002Fen\u002Fcomponents\u002Fbb-spinner":75,"\u002Fit\u002Fcomponenti\u002Fbb-switch":76,"\u002Fen\u002Fcomponents\u002Fbb-switch":77,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":78,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":79,"\u002Fit\u002Fcomponenti\u002Fbb-table":80,"\u002Fen\u002Fcomponents\u002Fbb-table":81,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":82,"\u002Fen\u002Fcomponents\u002Fbb-tabs":83,"\u002Fit\u002Fcomponenti\u002Fbb-tag":84,"\u002Fen\u002Fcomponents\u002Fbb-tag":85,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":86,"\u002Fen\u002Fcomponents\u002Fbb-text-input":87,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":88,"\u002Fen\u002Fcomponents\u002Fbb-textarea":89,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":90,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":91,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":92,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":93,"\u002Fit\u002Fcomponenti\u002Fbb-toast":94,"\u002Fen\u002Fcomponents\u002Fbb-toast":95,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":96,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":97,"\u002Fit\u002Fcomponenti\u002Fbb-tree":98,"\u002Fen\u002Fcomponents\u002Fbb-tree":99,"\u002Fit\u002Fguide\u002Fai-agents":100,"\u002Fen\u002Fguides\u002Fai-agents":101,"\u002Fit\u002Fguide\u002Fcoherence":102,"\u002Fen\u002Fguides\u002Fcoherence":103,"\u002Fit\u002Fguide\u002Fdesign-language":104,"\u002Fen\u002Fguides\u002Fdesign-language":105,"\u002Fit\u002Fguide\u002Fdesign-tokens":106,"\u002Fen\u002Fguides\u002Fdesign-tokens":107,"\u002Fit\u002Fguide\u002Ffetching-data":108,"\u002Fen\u002Fguides\u002Ffetching-data":109,"\u002Fit\u002Fguide\u002Ficons":110,"\u002Fen\u002Fguides\u002Ficons":111,"\u002Fit\u002Fguide\u002Finertia":112,"\u002Fen\u002Fguides\u002Finertia":113,"\u002Fit\u002Fguide\u002Finstallation":114,"\u002Fen\u002Fguides\u002Finstallation":115,"\u002Fit\u002Fguide\u002Fmigration":116,"\u002Fen\u002Fguides\u002Fmigration":117,"\u002Fit\u002Fguide\u002Fnuxt":118,"\u002Fen\u002Fguides\u002Fnuxt":119,"\u002Fit\u002Fguide\u002Foptions-and-items":120,"\u002Fen\u002Fguides\u002Foptions-and-items":121,"\u002Fit\u002Fguide\u002Fvalidated-forms":122,"\u002Fen\u002Fguides\u002Fvalidated-forms":123},"\u002Fen\u002Fcomponents\u002Fbb-accordion","\u002Fit\u002Fcomponenti\u002Fbb-accordion","\u002Fen\u002Fcomponents\u002Fbb-alert","\u002Fit\u002Fcomponenti\u002Fbb-alert","\u002Fen\u002Fcomponents\u002Fbb-asterisk","\u002Fit\u002Fcomponenti\u002Fbb-asterisk","\u002Fen\u002Fcomponents\u002Fbb-avatar","\u002Fit\u002Fcomponenti\u002Fbb-avatar","\u002Fen\u002Fcomponents\u002Fbb-badge","\u002Fit\u002Fcomponenti\u002Fbb-badge","\u002Fen\u002Fcomponents\u002Fbb-base-button","\u002Fit\u002Fcomponenti\u002Fbb-base-button","\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs","\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs","\u002Fen\u002Fcomponents\u002Fbb-button","\u002Fit\u002Fcomponenti\u002Fbb-button","\u002Fen\u002Fcomponents\u002Fbb-checkbox","\u002Fit\u002Fcomponenti\u002Fbb-checkbox","\u002Fen\u002Fcomponents\u002Fbb-checkbox-group","\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group","\u002Fen\u002Fcomponents\u002Fbb-collapsible","\u002Fit\u002Fcomponenti\u002Fbb-collapsible","\u002Fen\u002Fcomponents\u002Fbb-color-input","\u002Fit\u002Fcomponenti\u002Fbb-color-input","\u002Fen\u002Fcomponents\u002Fbb-color-palette","\u002Fit\u002Fcomponenti\u002Fbb-color-palette","\u002Fen\u002Fcomponents\u002Fbb-confirm","\u002Fit\u002Fcomponenti\u002Fbb-confirm","\u002Fen\u002Fcomponents\u002Fbb-date-picker","\u002Fit\u002Fcomponenti\u002Fbb-date-picker","\u002Fen\u002Fcomponents\u002Fbb-date-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input","\u002Fen\u002Fcomponents\u002Fbb-dialog","\u002Fit\u002Fcomponenti\u002Fbb-dialog","\u002Fen\u002Fcomponents\u002Fbb-dropdown","\u002Fit\u002Fcomponenti\u002Fbb-dropdown","\u002Fen\u002Fcomponents\u002Fbb-dropdown-button","\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button","\u002Fen\u002Fcomponents\u002Fbb-dropzone","\u002Fit\u002Fcomponenti\u002Fbb-dropzone","\u002Fen\u002Fcomponents\u002Fbb-form","\u002Fit\u002Fcomponenti\u002Fbb-form","\u002Fen\u002Fcomponents\u002Fbb-icon","\u002Fit\u002Fcomponenti\u002Fbb-icon","\u002Fen\u002Fcomponents\u002Fbb-indicator","\u002Fit\u002Fcomponenti\u002Fbb-indicator","\u002Fen\u002Fcomponents\u002Fbb-number-input","\u002Fit\u002Fcomponenti\u002Fbb-number-input","\u002Fen\u002Fcomponents\u002Fbb-off-canvas","\u002Fit\u002Fcomponenti\u002Fbb-off-canvas","\u002Fen\u002Fcomponents\u002Fbb-pagination","\u002Fit\u002Fcomponenti\u002Fbb-pagination","\u002Fen\u002Fcomponents\u002Fbb-popover","\u002Fit\u002Fcomponenti\u002Fbb-popover","\u002Fen\u002Fcomponents\u002Fbb-progress","\u002Fit\u002Fcomponenti\u002Fbb-progress","\u002Fen\u002Fcomponents\u002Fbb-radio","\u002Fit\u002Fcomponenti\u002Fbb-radio","\u002Fen\u002Fcomponents\u002Fbb-radio-group","\u002Fit\u002Fcomponenti\u002Fbb-radio-group","\u002Fen\u002Fcomponents\u002Fbb-rating","\u002Fit\u002Fcomponenti\u002Fbb-rating","\u002Fen\u002Fcomponents\u002Fbb-select","\u002Fit\u002Fcomponenti\u002Fbb-select","\u002Fen\u002Fcomponents\u002Fbb-select-popover","\u002Fit\u002Fcomponenti\u002Fbb-select-popover","\u002Fen\u002Fcomponents\u002Fbb-slider","\u002Fit\u002Fcomponenti\u002Fbb-slider","\u002Fen\u002Fcomponents\u002Fbb-smooth-height","\u002Fit\u002Fcomponenti\u002Fbb-smooth-height","\u002Fen\u002Fcomponents\u002Fbb-spinner","\u002Fit\u002Fcomponenti\u002Fbb-spinner","\u002Fen\u002Fcomponents\u002Fbb-switch","\u002Fit\u002Fcomponenti\u002Fbb-switch","\u002Fen\u002Fcomponents\u002Fbb-switch-group","\u002Fit\u002Fcomponenti\u002Fbb-switch-group","\u002Fen\u002Fcomponents\u002Fbb-table","\u002Fit\u002Fcomponenti\u002Fbb-table","\u002Fen\u002Fcomponents\u002Fbb-tabs","\u002Fit\u002Fcomponenti\u002Fbb-tabs","\u002Fen\u002Fcomponents\u002Fbb-tag","\u002Fit\u002Fcomponenti\u002Fbb-tag","\u002Fen\u002Fcomponents\u002Fbb-text-input","\u002Fit\u002Fcomponenti\u002Fbb-text-input","\u002Fen\u002Fcomponents\u002Fbb-textarea","\u002Fit\u002Fcomponenti\u002Fbb-textarea","\u002Fen\u002Fcomponents\u002Fbb-time-picker","\u002Fit\u002Fcomponenti\u002Fbb-time-picker","\u002Fen\u002Fcomponents\u002Fbb-time-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input","\u002Fen\u002Fcomponents\u002Fbb-toast","\u002Fit\u002Fcomponenti\u002Fbb-toast","\u002Fen\u002Fcomponents\u002Fbb-tooltip","\u002Fit\u002Fcomponenti\u002Fbb-tooltip","\u002Fen\u002Fcomponents\u002Fbb-tree","\u002Fit\u002Fcomponenti\u002Fbb-tree","\u002Fen\u002Fguides\u002Fai-agents","\u002Fit\u002Fguide\u002Fai-agents","\u002Fen\u002Fguides\u002Fcoherence","\u002Fit\u002Fguide\u002Fcoherence","\u002Fen\u002Fguides\u002Fdesign-language","\u002Fit\u002Fguide\u002Fdesign-language","\u002Fen\u002Fguides\u002Fdesign-tokens","\u002Fit\u002Fguide\u002Fdesign-tokens","\u002Fen\u002Fguides\u002Ffetching-data","\u002Fit\u002Fguide\u002Ffetching-data","\u002Fen\u002Fguides\u002Ficons","\u002Fit\u002Fguide\u002Ficons","\u002Fen\u002Fguides\u002Finertia","\u002Fit\u002Fguide\u002Finertia","\u002Fen\u002Fguides\u002Finstallation","\u002Fit\u002Fguide\u002Finstallation","\u002Fen\u002Fguides\u002Fmigration","\u002Fit\u002Fguide\u002Fmigration","\u002Fen\u002Fguides\u002Fnuxt","\u002Fit\u002Fguide\u002Fnuxt","\u002Fen\u002Fguides\u002Foptions-and-items","\u002Fit\u002Fguide\u002Foptions-and-items","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",[125,136,145,166,178,220,253,286,307,328,340,346],{"label":126,"entries":127},"Getting started",[128,132],{"title":129,"path":130,"order":131},"Installation","\u002Fguides\u002Finstallation",1,{"title":133,"path":134,"order":135},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"label":137,"entries":138},"Design system",[139,142],{"title":140,"path":141,"order":131},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":143,"path":144,"order":135},"Design language","\u002Fguides\u002Fdesign-language",{"label":146,"entries":147},"Playbooks",[148,151,154,158,162],{"title":149,"path":150,"order":131},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":152,"path":153,"order":135},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":155,"path":156,"order":157},"Coherence","\u002Fguides\u002Fcoherence",3,{"title":159,"path":160,"order":161},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":163,"path":164,"order":165},"Icons","\u002Fguides\u002Ficons",5,{"label":167,"entries":168},"Ecosystem",[169,172,175],{"title":170,"path":171,"order":131},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":173,"path":174,"order":135},"Nuxt","\u002Fguides\u002Fnuxt",{"title":176,"path":177,"order":157},"AI agents","\u002Fguides\u002Fai-agents",{"label":179,"entries":180},"Inputs",[181,184,187,190,193,196,200,204,208,212,216],{"title":182,"path":183,"component":182,"order":131},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":185,"path":186,"component":185,"order":135},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":188,"path":189,"component":188,"order":157},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":191,"path":192,"component":191,"order":161},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":194,"path":195,"component":194,"order":165},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":197,"path":198,"component":197,"order":199},"BbForm","\u002Fcomponents\u002Fbb-form",6,{"title":201,"path":202,"component":201,"order":203},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":205,"path":206,"component":205,"order":207},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":209,"path":210,"component":209,"order":211},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":213,"path":214,"component":213,"order":215},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":217,"path":218,"component":217,"order":219},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":221,"entries":222},"Selection",[223,226,229,232,235,238,241,244,247,250],{"title":224,"path":225,"component":224,"order":131},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":227,"path":228,"component":227,"order":135},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":230,"path":231,"component":230,"order":157},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":233,"path":234,"component":233,"order":161},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":236,"path":237,"component":236,"order":165},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":239,"path":240,"component":239,"order":199},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":242,"path":243,"component":242,"order":203},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":245,"path":246,"component":245,"order":207},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":248,"path":249,"component":248,"order":211},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":251,"path":252,"component":251,"order":215},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":254,"entries":255},"Overlay",[256,259,262,265,268,271,274,277,280,283],{"title":257,"path":258,"component":257,"order":131},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":260,"path":261,"component":260,"order":135},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":263,"path":264,"component":263,"order":157},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":266,"path":267,"component":266,"order":161},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":269,"path":270,"component":269,"order":165},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":272,"path":273,"component":272,"order":199},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":275,"path":276,"component":275,"order":203},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":278,"path":279,"component":278,"order":207},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":281,"path":282,"component":281,"order":211},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":284,"path":285,"component":284,"order":215},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":287,"entries":288},"Navigation",[289,292,295,298,301,304],{"title":290,"path":291,"component":290,"order":131},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":293,"path":294,"component":293,"order":135},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":296,"path":297,"component":296,"order":157},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":299,"path":300,"component":299,"order":161},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":302,"path":303,"component":302,"order":165},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":305,"path":306,"component":305,"order":199},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":308,"entries":309},"Feedback",[310,313,316,319,322,325],{"title":311,"path":312,"component":311,"order":131},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":314,"path":315,"component":314,"order":135},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":317,"path":318,"component":317,"order":157},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":320,"path":321,"component":320,"order":161},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":323,"path":324,"component":323,"order":165},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":326,"path":327,"component":326,"order":199},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":329,"entries":330},"Data Display",[331,334,337],{"title":332,"path":333,"component":332,"order":131},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":335,"path":336,"component":335,"order":135},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":338,"path":339,"component":338,"order":157},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":341,"entries":342},"Layout & Utility",[343],{"title":344,"path":345,"component":344,"order":131},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":347,"entries":348},"Other",[349],{"title":350,"path":351,"component":350,"order":131},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",null,{"id":354,"title":233,"body":355,"component":233,"description":812,"extension":813,"group":221,"meta":814,"navigation":815,"order":161,"path":234,"sections":816,"seo":822,"stem":823,"__hash__":824},"docs_en\u002Fcomponents\u002Fbb-radio-group.md",{"type":356,"value":357,"toc":805},"minimark",[358,399,429,437,444,448,468,479,485,491,494,497,504,530,547,567,573,578,581,588,594,610,618,624,630,633,650,659,680,686,689,692,708,719,736,747,774],[359,360,361,369],"when",{},[362,363,364,365,368],"p",{},"Reach for ",[366,367,233],"code",{}," when exactly one option out of a small, visible set is\nthe answer: a priority, a shipping speed, a plan. Up to about seven options that\na reader wants to compare at a glance belong here.",[370,371,373],"template",{"v-slot:else":372},"",[374,375,376,385,392],"ul",{},[377,378,379,384],"li",{},[380,381,382],"a",{"href":66},[366,383,239],{},": the set runs past that, or the list is\nsearchable, paged or fetched",[377,386,387,391],{},[380,388,389],{"href":22},[366,390,227],{},": the choices are not\nexclusive",[377,393,394,398],{},[380,395,396],{"href":60},[366,397,230],{},": an escape hatch for options that have to\nlive inside markup of your own",[362,400,401,402,406,407,410,411,414,415,418,419,422,423,428],{},"Everything this group shares with the other two is on\n",[380,403,404],{"href":22},[366,405,227],{},". That covers the ",[366,408,409],{},"items","\nmapping, the fieldset props and ",[366,412,413],{},"selectable",". It also covers the provider and\n",[366,416,417],{},"enforce-coherence",", the ",[366,420,421],{},"label"," slot and the layout. The field surface is\n",[380,424,426],{"href":425},"\u002Fen\u002Fcomponents\u002Fbb-checkbox#states",[366,427,224],{},"'s. What follows is only what\nan exclusive group has to answer.",[430,431,433],"h2",{"id":432},"default",[434,435,436],"span",{},"One exclusive choice",[362,438,439,440,443],{},"The model holds one resolved value, not an array, and it starts empty as ",[366,441,442],{},"null",".",[445,446],"demo",{"name":447},"BbRadioGroup\u002FBasic",[362,449,450,452,453,456,457,460,461,464,465,443],{},[366,451,409],{}," and the accessors work as they do on the checkbox group. An array of\nstrings needs nothing. An array of objects needs ",[366,454,455],{},"item-text"," and ",[366,458,459],{},"item-value",".\nThere is no ",[366,462,463],{},"multiple"," prop here and no ",[366,466,467],{},"max",[362,469,470,471,475,476,478],{},"The thing to design around is that ",[472,473,474],"strong",{},"the user cannot go back to empty",". Radios\nhave no un-choose gesture: once an option is picked, only another option can\nreplace it. If \"no answer\" is still legitimate after the first click, make it an\noption of its own. A \"No preference\" row whose value is ",[366,477,442],{}," does the job.",[362,480,481,482,484],{},"Seed the model with ",[366,483,442],{}," when nothing is chosen, and with a real value when a\nsensible default exists. A pre-selected default that quietly commits the user to\nsomething they never read is worse than an empty group.",[430,486,488],{"id":487},"keyboard",[434,489,490],{},"One tab stop, then the arrows",[362,492,493],{},"The options are native radios, so the browser's grouping behaviour comes for\nfree. The group adds the ARIA role the native markup lacks.",[445,495],{"name":496},"BbRadioGroup\u002FTwoGroups",[362,498,499,500,503],{},"Tab reaches the whole group once, landing on the chosen option or on the first\none. Inside it, the arrow keys move focus ",[472,501,502],{},"and"," the selection together, and\nwrap at the ends. That coupling is what makes a radio group an exclusive choice.\nIt is why a locked option has to be skipped rather than merely greyed.",[362,505,506,507,510,511,514,515,518,519,522,523,525,526,529],{},"The options container carries ",[366,508,509],{},"role=\"radiogroup\"",", which a ",[366,512,513],{},"\u003Cfieldset>"," cannot\nsupply. The component claims the role only when it can name it, from ",[366,516,517],{},"legend"," or\nfrom an ",[366,520,521],{},"aria-label"," you pass. An unnamed radiogroup is worse than no role at\nall. That is another reason ",[366,524,517],{}," is required, and why ",[366,527,528],{},"hide-legend"," is the\nright way to drop it visually.",[362,531,532,535,536,539,540,543,544,546],{},[366,533,534],{},"readonly"," is the one field state that behaves differently here. The ",[366,537,538],{},"radio","\nrole supports no ",[366,541,542],{},"aria-readonly",", so readonly can only be announced on the\ngroup. A hand-composed set of ",[366,545,230],{}," has no group to announce it on.",[548,549,550],"migration",{},[362,551,552,558,559,561,562,564,565,443],{},[472,553,554,557],{},[366,555,556],{},"name"," is no longer required",". Omit it and the group generates one, unique to\nthat instance and stable for its lifetime. Two unnamed groups on one page never\nclear each other's selection. Pass a ",[366,560,556],{}," when the value has to post under a\nknown key in a native form submission. The relaxation is specific to the group:\na set of bare ",[366,563,230],{}," still needs an explicit shared ",[366,566,556],{},[430,568,570],{"id":569},"gating",[434,571,572],{},"Locked options",[362,574,575,577],{},[366,576,413],{}," rejects an option per item, and in a radio group a rejected option\ndisappears from the keyboard path entirely.",[445,579],{"name":580},"BbRadioGroup\u002FGating",[362,582,583,584,587],{},"Arrow keys skip disabled radios, so a keyboard user never lands on one. That\nmakes the ",[366,585,586],{},"description"," do real work: name the rule that locks them, once, for\nthe set. \"You are an Admin, so you can grant any role below Admin\" is worth more\nthan three greyed rows.",[362,589,590,591,593],{},"Keeping such options visible is usually the right call, because the ladder above\nyou is information. When the locked options carry nothing, filter them out of\n",[366,592,409],{}," and show a shorter list.",[362,595,596,597,600,601,606,607,609],{},"The predicate signature and the migration from v2's per-item ",[366,598,599],{},"disabled"," field\nare on ",[380,602,604],{"href":603},"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group#gating",[366,605,227],{},". The short\nversion matters here too: a ",[366,608,599],{}," field inside your item objects does\nnothing, silently, so grep for it.",[362,611,612,614,615,617],{},[366,613,599],{}," on the group does not lock the option already chosen: it stays\nreachable by keyboard, though choosing it again changes nothing. Use ",[366,616,534],{},"\nwhen you need the set genuinely frozen.",[430,619,621],{"id":620},"required",[434,622,623],{},"Requiring a choice",[362,625,626,627,629],{},"This is the only one of the three groups with a ",[366,628,620],{}," prop, and it marks\nthe field rather than validating it.",[445,631],{"name":632},"BbRadioGroup\u002FRequiredChoice",[362,634,635,637,638,641,642,645,646,649],{},[366,636,620],{}," reaches the native radios, so assistive technology announces the\ngroup as required. With the ",[366,639,640],{},"requiredAsterisk"," plugin option on, the legend\npicks up its marker. What it does ",[472,643,644],{},"not"," do is produce a message. The sentence\nthe user reads comes from ",[366,647,648],{},"errors",", which you control. Set both, and let the\nmessage appear after a failed submit.",[362,651,652,654,655,443],{},[366,653,620],{}," exists here and not on the other two groups for a reason. One value\nis either present or absent, so \"required\" is a complete rule. On a checkbox or\nswitch group the same question becomes \"at least one\". That is an application\nrule, with no flag behind it. See\n",[380,656,658],{"href":657},"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group#validation","validating the whole set",[362,660,661,662,665,666,669,670,672,673,676,677,443],{},"Inside a validated form, import the group from ",[366,663,664],{},"bitboss-ui\u002Fvalidated"," and give\nit ",[366,667,668],{},"rules=\"required\"",". The field's name comes from ",[366,671,517],{},", and ",[366,674,675],{},"validate-on","\ndefaults to ",[366,678,679],{},"['inactive']",[430,681,683],{"id":682},"styling",[434,684,685],{},"Selection tiles and CSS",[362,687,688],{},"A radio group is the component people most often want to stop looking like radio\nbuttons. Compose the two per-option slots, then style the option element itself.",[445,690],{"name":691},"BbRadioGroup\u002FTiles",[362,693,694,697,698,700,701,704,705,707],{},[366,695,696],{},"icon"," replaces the dot and ",[366,699,421],{}," replaces the text, and both receive the\noption's ",[366,702,703],{},"item"," alongside the live state. A tile is built from your own data,\nwith no second array to keep in step. Everything underneath stays a real radio:\nthe ",[366,706,556],{},", the exclusivity and the arrow keys are untouched.",[362,709,710,711,714,715,718],{},"Two facts about width decide whether a tile row looks right. The options\ncontainer is a wrapping flexbox and each option is ",[366,712,713],{},"inline-flex",", so options are\ncontent-sized. Add ",[366,716,717],{},"flex: 1 1 0"," on the option to make them share the row\nevenly, and note there is no grid to opt into.",[362,720,721,722,725,726,728,729,732,733,443],{},"The control column is a grid whose computed width defaults to ",[366,723,724],{},"auto",". If the row\nshould span the full width, size the ",[366,727,233],{}," itself, and do not reach for\n",[366,730,731],{},"direction=\"vertical\""," just to pick up ",[366,734,735],{},"width: 100%",[362,737,738,739,742,743,746],{},"Paint the chosen tile from ",[366,740,741],{},".bb-base-radio-group-option--selected",", which the\ncomponent sets for you, rather than from a ",[366,744,745],{},":has()"," selector. It is stable and\nit is what the library tests against.",[548,748,749],{},[362,750,751,752,755,756,759,760,765,766,769,770,773],{},"This group's CSS block used to be the shared ",[366,753,754],{},"bb-cr-container",", and it is now\n",[366,757,758],{},"bb-base-radio-group"," with the same suffixes. Nothing renders the old prefix and\nnothing warns, so the rules simply stop matching. The full before-and-after\ntable is on ",[380,761,763],{"href":762},"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group#styling",[366,764,227],{},", along\nwith the ",[366,767,768],{},"labelPosition"," → ",[366,771,772],{},"legendPosition"," rename that applies here too.",[362,775,776,777,780,781,784,785,784,788,456,791,794,795,800,801,804],{},"The group exposes no custom properties of its own. The dot is ",[366,778,779],{},"BbBaseRadioIcon",",\nwhich owns ",[366,782,783],{},"--color",", ",[366,786,787],{},"--size",[366,789,790],{},"--space",[366,792,793],{},"--ring-color"," on its own element.\nThat is the surface documented on\n",[380,796,798],{"href":797},"\u002Fen\u002Fcomponents\u002Fbb-radio#custom-markup",[366,799,230],{},", and where v2's removed\n",[366,802,803],{},"color"," prop went.",{"title":372,"searchDepth":157,"depth":157,"links":806},[807,808,809,810,811],{"id":432,"depth":135,"text":436},{"id":487,"depth":135,"text":490},{"id":569,"depth":135,"text":572},{"id":620,"depth":135,"text":623},{"id":682,"depth":135,"text":685},"Exactly one choice out of a set, with native arrow keys and a required prop.","md",{},true,[817,818,819,820,821],{"id":432,"title":436},{"id":487,"title":490},{"id":569,"title":572},{"id":620,"title":623},{"id":682,"title":685},{"title":233,"description":812},"components\u002Fbb-radio-group","A7b4BNX1uxnwRLNPTLAqrrcO3iR9zlGtRauYrZukiWE",{"name":233,"slug":826,"group":221,"description":827,"entrypoint":828,"docs":829,"props":832,"models":1130,"events":1133,"slots":1178,"exposed":1206,"pt":1207,"validated":1256,"migration":1272},"bb-radio-group","Coordinates exclusive selection among radio options.","bitboss-ui",{"contract":830,"source":831},"ai\u002FBbRadioGroup.md","ai\u002Fsource\u002FBbRadioGroup.md",[833,838,843,847,851,855,859,862,865,869,872,875,878,882,885,888,893,898,902,906,910,914,918,922,924,927,931,934,937,940,943,947,950,952,954,956,958,960,962,964,966,968,970,972,974,976,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071,1073,1075,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111,1113,1116,1119,1122,1127],{"name":834,"type":835,"required":836,"default":352,"description":837,"note":352,"demo":352},"autofocus","Booleanish | undefined",false,"Sets autofocus on page load.",{"name":839,"type":840,"required":836,"default":841,"description":842,"note":352,"demo":352},"compact","boolean | undefined","false","Sets the component in a compact state.",{"name":844,"type":845,"required":836,"default":352,"description":846,"note":352,"demo":352},"dependencies","unknown[] | undefined","Defines an array of dependencies that will trigger actions in the component upon change.",{"name":848,"type":849,"required":836,"default":352,"description":850,"note":352,"demo":352},"depsDebounceTime","number | undefined","Timeout used to debounce response to changes to dependencies.",{"name":586,"type":852,"required":836,"default":352,"description":853,"note":854,"demo":569},"string | undefined","Descriptive text displayed below the label and above the input. Unlike the hint it is always\nvisible, and it is linked to the input via `aria-describedby` (after any\n`errors` \u002F `warnings`, before the `hint`).","The place to say why some options are locked. Arrow keys skip a non-selectable radio entirely, so a keyboard user never lands on one to find out.",{"name":856,"type":857,"required":836,"default":352,"description":858,"note":352,"demo":352},"direction","InputDirection | undefined","Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.",{"name":599,"type":840,"required":836,"default":841,"description":860,"note":861,"demo":569},"Disables the component.","Locks the group. Prefer `readonly` when the group already carries a selection: the per-option check currently exempts the selected option.",{"name":863,"type":840,"required":836,"default":841,"description":864,"note":352,"demo":352},"enforceCoherence","If coherence is enforced the input cannot have a modelValue that is incoherent with its current items.\n\ne.g. You cannot set v-model to a user that is not present in the items passed.\n\nmodelValue will be reset upon incoherence.",{"name":648,"type":866,"required":836,"default":352,"description":867,"note":868,"demo":620},"string | string[] | undefined","Can be a string or an array of string containing the messages to display.\nThey render in an `aria-live=\"polite\"` region (announced when they appear)\nand, while the list is non-empty, are referenced FIRST from the control's\n`aria-describedby`, so the reason the field is invalid is re-read whenever\nthe control regains focus.","The channel that produces the sentence the user reads. `required` marks the field; it does not write a message.",{"name":870,"type":840,"required":836,"default":841,"description":871,"note":352,"demo":620},"hasErrors","Define if the component should be in an error state.\nIt usually attaches a CSS class for styling purposes.",{"name":873,"type":840,"required":836,"default":841,"description":874,"note":352,"demo":352},"hasWarnings","Define if the component should be in a warning state.\nSame chrome as errors with `--bb-warn`; errors take priority.",{"name":876,"type":840,"required":836,"default":841,"description":877,"note":352,"demo":352},"hideLabel","Visually hides each option's label text (the text rendered next to every\ninput) while keeping it accessible to screen readers.\nDoes not affect the fieldset legend — use `hideLegend` for that.",{"name":879,"type":840,"required":836,"default":841,"description":880,"note":881,"demo":487},"hideLegend","Visually hides the legend of the fieldset while maintaining accessibility.","The right way to drop the legend visually. Removing it instead costs the group its `role=\"radiogroup\"`, which is only claimed when the set can be named.",{"name":883,"type":852,"required":836,"default":352,"description":884,"note":352,"demo":352},"hint","Text box to be displayed near the input, usually to indicate instructions.",{"name":886,"type":852,"required":836,"default":352,"description":887,"note":352,"demo":352},"id","The identifier of the component.",{"name":889,"type":890,"required":836,"default":352,"description":891,"note":892,"demo":682},"inputDirection","\"horizontal\" | \"vertical\" | undefined","Defines the direction of the inputs in the fieldset.","Defaults to `horizontal`: a wrapping row, not a stack. The row is a plain flexbox and options are content-sized, so `flex: 1 1 0` on the option is what makes tiles share the width evenly.",{"name":894,"type":895,"required":836,"default":896,"description":897,"note":352,"demo":352},"inputPosition","\"left\" | \"center\" | \"right\" | undefined","\"left\"","Sets the alignment of the input. Since inputs are inline block they can be aligned just as text can.",{"name":899,"type":900,"required":836,"default":352,"description":901,"note":352,"demo":352},"itemProps","BbOptionGroupItemProps\u003CT> | undefined","ADDITIONAL row fields resolved from each item — never its text or value\n(those stay on `itemText` \u002F `itemValue`). Option groups accept one field:\n\n- `description` — a muted line under the option label, beside the control;\n  it may wrap.\n\nEither an object with a path or getter per field\n(`{ description: 'email' }`) or a function returning the fields\n(`(item) => ({ description: item.email })`). Without it no field renders —\nan item's own `description` is never read implicitly — and an empty value\nrenders nothing for that item. The description is announced as the\noption's description, never part of its name. To disable individual\noptions use `selectable`.",{"name":409,"type":903,"required":815,"default":352,"description":904,"note":905,"demo":432},"T[] | ((prefill: boolean, modelValue?: any) => T[] | Promise\u003CT[]>)","Used to retrieve items; can be an array or a function.","Same mapping as every other options component. A radio group has no `multiple` and no `max`: one value is the whole contract.",{"name":907,"type":908,"required":836,"default":352,"description":909,"note":352,"demo":432},"itemText","ItemAccessor\u003CT, string> | undefined","Defines a path that returns a property of the object to use as text or a function that returns a string.",{"name":911,"type":912,"required":836,"default":352,"description":913,"note":352,"demo":432},"itemValue","ItemAccessor\u003CT> | undefined","Defines a path that returns a property of the object to use as value or a function that returns any value.",{"name":517,"type":915,"required":815,"default":352,"description":916,"note":917,"demo":432},"string","Text content of the legend.","Required, and load-bearing twice over here: it is the fieldset's accessible name and it is what lets the options container claim `role=\"radiogroup\"`, a role no native element supplies.",{"name":919,"type":920,"required":836,"default":352,"description":921,"note":352,"demo":620},"legendMode","\"outside\" | \"inside\" | undefined","Legend rendering mode. `'outside'` renders the legend above the fieldset in the normal flow;\n`'inside'` overlays the legend inside the fieldset border.\nFloating mode is not supported for radio groups.",{"name":772,"type":895,"required":836,"default":352,"description":923,"note":352,"demo":352},"Sets the text alignment of the label.",{"name":925,"type":852,"required":836,"default":352,"description":926,"note":352,"demo":352},"loadingText","String displayed while items are being loaded.",{"name":928,"type":929,"required":815,"default":352,"description":930,"note":352,"demo":352},"modelValue","any","Used by v-model. Can be any serializable type.",{"name":932,"type":849,"required":836,"default":352,"description":933,"note":352,"demo":352},"modelValueDebounceTime","Timeout used to debounce response to changes to modelValue.",{"name":556,"type":852,"required":836,"default":352,"description":935,"note":936,"demo":487},"Defines the name of the option inputs. Optional: the options live inside a\nsingle component instance, so an omitted name falls back to a generated one\nthat groups them correctly on its own — unique per group, so two groups never\nclear each other's selection, and stable for the group's lifetime. Pass a name\nonly when the value has to be submitted under a known key by a native (non-JS)\nform post.","No longer required in v3. An omitted name falls back to a generated one, unique per group instance and stable for its lifetime, so two unnamed groups never clear each other. Pass one when the value has to post under a known key. A hand-composed set of `BbRadio` still needs an explicit shared name.",{"name":938,"type":852,"required":836,"default":352,"description":939,"note":352,"demo":352},"noDataText","String displayed when there are no items to display.",{"name":941,"type":840,"required":836,"default":841,"description":942,"note":352,"demo":352},"persistentHint","Keeps the hint displayed.",{"name":944,"type":945,"required":836,"default":352,"description":946,"note":352,"demo":352},"pt","GroupPtMap\u003CT> | undefined","Passthrough, object form: the same keys as the `pt:*` attributes\nwithout the prefix. See the `pt:\u003Cpart>` row.",{"name":948,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:description","PtValue | undefined",{"name":951,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:description:disabled",{"name":953,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:description:errors",{"name":955,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:description:has-value",{"name":957,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:description:loading",{"name":959,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:description:readonly",{"name":961,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:description:warnings",{"name":963,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:hint",{"name":965,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:hint:disabled",{"name":967,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:hint:errors",{"name":969,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:hint:has-value",{"name":971,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:hint:loading",{"name":973,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:hint:readonly",{"name":975,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:hint:warnings",{"name":977,"type":978,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon","PtValue | ((ctx: PtItemCtx\u003CT, GroupPtState>) => PtItemResult) | undefined",{"name":980,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:checked",{"name":982,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:disabled",{"name":984,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:errors",{"name":986,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:focus-visible",{"name":988,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:focused",{"name":990,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:has-value",{"name":992,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:loading",{"name":994,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:readonly",{"name":996,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:icon:warnings",{"name":998,"type":978,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item",{"name":1000,"type":978,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description",{"name":1002,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:checked",{"name":1004,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:disabled",{"name":1006,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:errors",{"name":1008,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:focus-visible",{"name":1010,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:focused",{"name":1012,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:has-value",{"name":1014,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:loading",{"name":1016,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:readonly",{"name":1018,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item-description:warnings",{"name":1020,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:checked",{"name":1022,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:disabled",{"name":1024,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:errors",{"name":1026,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:focus-visible",{"name":1028,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:focused",{"name":1030,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:has-value",{"name":1032,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:loading",{"name":1034,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:readonly",{"name":1036,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:item:warnings",{"name":1038,"type":978,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label",{"name":1040,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:checked",{"name":1042,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:disabled",{"name":1044,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:errors",{"name":1046,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:focus-visible",{"name":1048,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:focused",{"name":1050,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:has-value",{"name":1052,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:loading",{"name":1054,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:readonly",{"name":1056,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:label:warnings",{"name":1058,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:legend",{"name":1060,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:legend:disabled",{"name":1062,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:legend:errors",{"name":1064,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:legend:has-value",{"name":1066,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:legend:loading",{"name":1068,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:legend:readonly",{"name":1070,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:legend:warnings",{"name":1072,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:list",{"name":1074,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:list:disabled",{"name":1076,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:list:errors",{"name":1078,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:list:has-value",{"name":1080,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:list:loading",{"name":1082,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:list:readonly",{"name":1084,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:list:warnings",{"name":1086,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:message",{"name":1088,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:message:disabled",{"name":1090,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:message:errors",{"name":1092,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:message:has-value",{"name":1094,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:message:loading",{"name":1096,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:message:readonly",{"name":1098,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:message:warnings",{"name":1100,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:root",{"name":1102,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:root:disabled",{"name":1104,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:root:errors",{"name":1106,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:root:has-value",{"name":1108,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:root:loading",{"name":1110,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:root:readonly",{"name":1112,"type":949,"required":836,"default":352,"description":352,"note":352,"demo":352},"pt:root:warnings",{"name":534,"type":840,"required":836,"default":841,"description":1114,"note":1115,"demo":487},"Sets the input in a readonly state.","The `radio` role supports no `aria-readonly`, so the state can only be announced on the group — which is something this component has and a hand-composed set of `BbRadio` does not.",{"name":620,"type":840,"required":836,"default":841,"description":1117,"note":1118,"demo":620},"Sets the input as required.","The only one of the three groups with this prop, because one value is either present or absent. It marks the field for assistive technology and raises the asterisk; the message still comes from `errors`.",{"name":1120,"type":840,"required":836,"default":841,"description":1121,"note":352,"demo":352},"reverse","Reverses the layout. Applicable in every direction the order of the label and the input is swapped.",{"name":413,"type":1123,"required":836,"default":1124,"description":1125,"note":1126,"demo":569},"boolean | ((item: T) => boolean) | undefined","true","Defines whether options are selectable.\nCan be a global boolean that affects all options or a function\nthat accepts an item and returns a boolean that only affects that item.\nNon-selectable options are rendered disabled.","A rejected option is skipped by the arrow keys, not merely greyed, so the reason has to be written somewhere the user will read. Also where v2's per-item `disabled` field went — that field is inert in v3, silently.",{"name":1128,"type":866,"required":836,"default":352,"description":1129,"note":352,"demo":352},"warnings","Warning messages to display beneath the field, in their own `aria-live`\nregion and amber (`--bb-text-warn`). A string or array; a non-empty list\nimplies the warning state. Errors suppress warnings when both are set.\nWhile displayed they are also referenced from the control's\n`aria-describedby`, after any errors and before the description\u002Fhint.",[1131],{"name":928,"type":929,"note":1132,"demo":432},"One resolved value, never an array — seed it `null` for \"nothing chosen\". Nothing the user can do puts it back to null, so if the empty state stays legitimate, give it an option of its own.",[1134,1138,1142,1146,1150,1154,1158,1162,1166,1170,1174],{"name":1135,"signature":1136,"description":1137,"note":352,"demo":352},"active","(e: \"active\"): void","Emitted when the group becomes active (focus\u002Fclick enters it).",{"name":1139,"signature":1140,"description":1141,"note":352,"demo":352},"blur","(e: \"blur\", event: FocusEvent): void","Emitted when one of the generated radio inputs loses focus.\nForwards the original DOM `FocusEvent`.",{"name":1143,"signature":1144,"description":1145,"note":352,"demo":352},"change","(e: \"change\", event: Event): void","Emitted when a radio option is selected.\nForwards the original DOM `Event` from the radio input.",{"name":1147,"signature":1148,"description":1149,"note":352,"demo":352},"click","(e: \"click\", event: MouseEvent): void","Emitted when one of the generated radio inputs is clicked.\nForwards the original DOM `MouseEvent`.",{"name":1151,"signature":1152,"description":1153,"note":352,"demo":352},"focus","(e: \"focus\", event: FocusEvent): void","Emitted when one of the generated radio inputs receives focus.\nForwards the original DOM `FocusEvent`.",{"name":1155,"signature":1156,"description":1157,"note":352,"demo":352},"inactive","(e: \"inactive\"): void","Emitted when focus\u002Fclick moves outside the group after it was active.\nUseful for validation-on-blur flows at group level.",{"name":1159,"signature":1160,"description":1161,"note":352,"demo":352},"input","(e: \"input\", event: Event): void","Emitted on native input events from generated radio inputs.\nForwards the original DOM `Event`.",{"name":1163,"signature":1164,"description":1165,"note":352,"demo":352},"keydown","(e: \"keydown\", event: KeyboardEvent): void","Emitted for keyboard interaction on generated radio inputs.\nForwards the original DOM `KeyboardEvent`.",{"name":1167,"signature":1168,"description":1169,"note":352,"demo":352},"mousedown","(e: \"mousedown\", event: MouseEvent): void","Emitted when a pointing device button is pressed over a radio input.\nForwards the original DOM `MouseEvent`.",{"name":1171,"signature":1172,"description":1173,"note":352,"demo":352},"mouseup","(e: \"mouseup\", event: MouseEvent): void","Emitted when a pointing device button is released over a radio input.\nForwards the original DOM `MouseEvent`.",{"name":1175,"signature":1176,"description":1177,"note":352,"demo":352},"update:modelValue","(e: \"update:modelValue\", value: any): void","Emitted with the newly selected value when the selection changes.",[1179,1183,1186,1190,1194,1197,1200,1203],{"name":1180,"type":1181,"description":1182,"note":352,"demo":352},"append","object","Content rendered after the last option, inside the options container.",{"name":586,"type":1184,"description":1185,"note":352,"demo":352},"BbRadioGroupDescriptionSlotProps","Replaces the description text. Provided alone (no `description` prop) it still\nrenders the description region and wires it into `aria-describedby`.",{"name":696,"type":1187,"description":1188,"note":1189,"demo":682},"BbRadioGroupIconSlotProps\u003CT>","Replaces the default radio dot icon for each option. Receives the radio\nstate plus the source item and its display text.","Replaces the dot per option and receives `item` alongside the live state, which is how a tile is built from your own data. Everything underneath stays a native radio, so exclusivity and the arrow keys are untouched.",{"name":421,"type":1191,"description":1192,"note":1193,"demo":682},"BbRadioGroupLabelSlotProps\u003CT>","Replaces the default label text for each option.","Scoped `{ item, text, checked }`, one template for every option. It is what replaced v2's removed `#option:prepend` and `#option:append`.",{"name":517,"type":1195,"description":1196,"note":352,"demo":352},"BbRadioGroupLegendSlotProps","Replaces the default fieldset legend text for the group.",{"name":1198,"type":1181,"description":1199,"note":352,"demo":352},"loading","Content shown while options are loading (replaces the default loading text).",{"name":1201,"type":1181,"description":1202,"note":352,"demo":352},"no-data","Content shown when no options are available (replaces the default \"no data\" text).",{"name":1204,"type":1181,"description":1205,"note":352,"demo":352},"prepend","Content rendered before the first option, inside the options container.",[],{"parts":1208,"states":1233},[1209,1212,1214,1216,1219,1221,1224,1226,1228,1230],{"name":1210,"description":1211},"root","The group's container (the fieldset).",{"name":517,"description":1213},"The group's heading — the fieldset `\u003Clegend>` (the `legend` prop).",{"name":586,"description":1215},"The muted line under the legend (the `description` prop).",{"name":1217,"description":1218},"message","The errors \u002F warnings line. A node of its own: it can show at the same time as `hint`.",{"name":883,"description":1220},"The helper line (the `hint` prop), shown on focus, or always with `persistent-hint`.",{"name":1222,"description":1223},"list","The node that lays the rows out (flex + wrap, gaps on `--gap` \u002F `--row-gap`): `pt:list=\"grid grid-cols-3\"` re-lays them, `pt:list=\"[--gap:8px]\"` tightens them. Takes the group-wide states only.",{"name":703,"description":1225},"One option row — a broadcast, resolved per option with its own `checked` \u002F `disabled` \u002F focus. Takes a per-item function.",{"name":696,"description":1227},"One row's drawn glyph — the default one: a consumer `icon` slot replaces it.",{"name":421,"description":1229},"One option's label text (the `label` slot's default).",{"name":1231,"description":1232},"item-description","One option's muted second line, its description.",[1234,1237,1239,1241,1244,1247,1250,1252,1254],{"name":1235,"description":1236},"checked","Per row, on `item`, `icon`, `label` and `item-description`: that option is chosen. Never on a field part.",{"name":599,"description":1238},"Component-wide while the group is `disabled`; also per row, on the row parts of an option that is disabled on its own.",{"name":648,"description":1240},"Component-wide: the group shows errors.",{"name":1242,"description":1243},"focus-visible","Per row, on the row parts: that option's focus is keyboard-visible — where a focus ring belongs.",{"name":1245,"description":1246},"focused","Per row, on the row parts: that option's input has focus — any focus, mouse included.",{"name":1248,"description":1249},"has-value","Component-wide: at least one option is chosen.",{"name":1198,"description":1251},"Component-wide: the items are being fetched.",{"name":534,"description":1253},"Component-wide: the group is `readonly`.",{"name":1128,"description":1255},"Component-wide: the group shows warnings and no errors.",{"entrypoint":664,"props":1257},[1258,1263,1269],{"name":1259,"type":1260,"required":836,"default":352,"description":1261,"note":1262,"demo":620},"rules","RuleExpression\u003Cany>","vee-validate rules for this field.","Validates the chosen value as one field. Only on the `bitboss-ui\u002Fvalidated` import.",{"name":1264,"type":1265,"required":836,"default":1266,"description":1267,"note":1268,"demo":620},"validateOn","ValidateTiming[] | undefined","[\"inactive\"]","Which interactions trigger validation (see\n`ValidatedFieldProps.validateOn` for the timing vocabulary).","Defaults to `[\"inactive\"]`: the group validates once focus leaves it, and again on submit.",{"name":1270,"type":852,"required":836,"default":352,"description":1271,"note":352,"demo":352},"vid","Explicit vee-validate field name. **Usually omit it** — the name is derived\nautomatically from the control's `label`\u002F`legend`. Only set `vid` when that\nderivation wouldn't be unique (e.g. v-for rows, or array `v-model`s that\nshare a label). A control with no `label`\u002F`legend` (like `BbDropzone`) must\nprovide it.",{"removed":1273,"renamed":1286},[1274,1279,1284],{"name":803,"replacedBy":352,"since":1275,"migration":1276,"silent":815,"fix":1277},"3.0.0-unreleased","ai\u002Fguides\u002Fmigration\u002Fcomponents\u002Fbb-checkbox-group.md",{"kind":1278},"manual",{"name":1280,"replacedBy":873,"since":1275,"migration":1281,"silent":815,"fix":1282},"hasWarning","ai\u002Fguides\u002Fmigration\u002Fv2-to-v3.md",{"kind":1283},"rename",{"name":768,"replacedBy":772,"since":1275,"migration":1276,"silent":815,"fix":1285},{"kind":1283},[1287,1289],{"from":1280,"to":873,"since":1275,"migration":1281,"fix":1288},{"kind":1283},{"from":768,"to":772,"since":1275,"migration":1276,"fix":1290},{"kind":1283},1790005164722]