[{"data":1,"prerenderedAt":1422},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":134,"api-none":377,"page-en-\u002Fcomponents\u002Fbb-radio-group":378,"pt-showcase-BbRadioGroup":1043},{"\u002Fit\u002Fcomponenti\u002Fbb-accordion":4,"\u002Fen\u002Fcomponents\u002Fbb-accordion":5,"\u002Fit\u002Fcomponenti\u002Fbb-alert":6,"\u002Fen\u002Fcomponents\u002Fbb-alert":7,"\u002Fit\u002Fcomponenti\u002Fbb-asterisk":8,"\u002Fen\u002Fcomponents\u002Fbb-asterisk":9,"\u002Fit\u002Fcomponenti\u002Fbb-avatar":10,"\u002Fen\u002Fcomponents\u002Fbb-avatar":11,"\u002Fit\u002Fcomponenti\u002Fbb-badge":12,"\u002Fen\u002Fcomponents\u002Fbb-badge":13,"\u002Fit\u002Fcomponenti\u002Fbb-base-button":14,"\u002Fen\u002Fcomponents\u002Fbb-base-button":15,"\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs":16,"\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs":17,"\u002Fit\u002Fcomponenti\u002Fbb-button":18,"\u002Fen\u002Fcomponents\u002Fbb-button":19,"\u002Fit\u002Fcomponenti\u002Fbb-calendar":20,"\u002Fen\u002Fcomponents\u002Fbb-calendar":21,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":22,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":23,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":24,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":25,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":26,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":27,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":28,"\u002Fen\u002Fcomponents\u002Fbb-color-input":29,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":30,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":31,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":32,"\u002Fen\u002Fcomponents\u002Fbb-confirm":33,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":34,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":35,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":36,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":37,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":38,"\u002Fen\u002Fcomponents\u002Fbb-dialog":39,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":40,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":41,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":42,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":43,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":44,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":45,"\u002Fit\u002Fcomponenti\u002Fbb-form":46,"\u002Fen\u002Fcomponents\u002Fbb-form":47,"\u002Fit\u002Fcomponenti\u002Fbb-hover-card":48,"\u002Fen\u002Fcomponents\u002Fbb-hover-card":49,"\u002Fit\u002Fcomponenti\u002Fbb-icon":50,"\u002Fen\u002Fcomponents\u002Fbb-icon":51,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":52,"\u002Fen\u002Fcomponents\u002Fbb-indicator":53,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":54,"\u002Fen\u002Fcomponents\u002Fbb-number-input":55,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":56,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":57,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":58,"\u002Fen\u002Fcomponents\u002Fbb-pagination":59,"\u002Fit\u002Fcomponenti\u002Fbb-popover":60,"\u002Fen\u002Fcomponents\u002Fbb-popover":61,"\u002Fit\u002Fcomponenti\u002Fbb-progress":62,"\u002Fen\u002Fcomponents\u002Fbb-progress":63,"\u002Fit\u002Fcomponenti\u002Fbb-radio":64,"\u002Fen\u002Fcomponents\u002Fbb-radio":65,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":66,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":67,"\u002Fit\u002Fcomponenti\u002Fbb-rating":68,"\u002Fen\u002Fcomponents\u002Fbb-rating":69,"\u002Fit\u002Fcomponenti\u002Fbb-select":70,"\u002Fen\u002Fcomponents\u002Fbb-select":71,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":72,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":73,"\u002Fit\u002Fcomponenti\u002Fbb-slider":74,"\u002Fen\u002Fcomponents\u002Fbb-slider":75,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":76,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":77,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":78,"\u002Fen\u002Fcomponents\u002Fbb-spinner":79,"\u002Fit\u002Fcomponenti\u002Fbb-switch":80,"\u002Fen\u002Fcomponents\u002Fbb-switch":81,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":82,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":83,"\u002Fit\u002Fcomponenti\u002Fbb-table":84,"\u002Fen\u002Fcomponents\u002Fbb-table":85,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":86,"\u002Fen\u002Fcomponents\u002Fbb-tabs":87,"\u002Fit\u002Fcomponenti\u002Fbb-tag":88,"\u002Fen\u002Fcomponents\u002Fbb-tag":89,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":90,"\u002Fen\u002Fcomponents\u002Fbb-text-input":91,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":92,"\u002Fen\u002Fcomponents\u002Fbb-textarea":93,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":94,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":95,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":96,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":97,"\u002Fit\u002Fcomponenti\u002Fbb-toast":98,"\u002Fen\u002Fcomponents\u002Fbb-toast":99,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":100,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":101,"\u002Fit\u002Fcomponenti\u002Fbb-tree":102,"\u002Fen\u002Fcomponents\u002Fbb-tree":103,"\u002Fit\u002Fguide\u002Fadoption-checklist":104,"\u002Fen\u002Fguides\u002Fadoption-checklist":105,"\u002Fit\u002Fguide\u002Fai-agents":106,"\u002Fen\u002Fguides\u002Fai-agents":107,"\u002Fit\u002Fguide\u002Fcoherence":108,"\u002Fen\u002Fguides\u002Fcoherence":109,"\u002Fit\u002Fguide\u002Fdesign-language":110,"\u002Fen\u002Fguides\u002Fdesign-language":111,"\u002Fit\u002Fguide\u002Fdesign-tokens":112,"\u002Fen\u002Fguides\u002Fdesign-tokens":113,"\u002Fit\u002Fguide\u002Ffetching-data":114,"\u002Fen\u002Fguides\u002Ffetching-data":115,"\u002Fit\u002Fguide\u002Ficons":116,"\u002Fen\u002Fguides\u002Ficons":117,"\u002Fit\u002Fguide\u002Finertia":118,"\u002Fen\u002Fguides\u002Finertia":119,"\u002Fit\u002Fguide\u002Finstallation":120,"\u002Fen\u002Fguides\u002Finstallation":121,"\u002Fit\u002Fguide\u002Fmigration":122,"\u002Fen\u002Fguides\u002Fmigration":123,"\u002Fit\u002Fguide\u002Fnuxt":124,"\u002Fen\u002Fguides\u002Fnuxt":125,"\u002Fit\u002Fguide\u002Foptions-and-items":126,"\u002Fen\u002Fguides\u002Foptions-and-items":127,"\u002Fit\u002Fguide\u002Fpassthrough":128,"\u002Fen\u002Fguides\u002Fpassthrough":129,"\u002Fit\u002Fguide\u002Fpreset-components":130,"\u002Fen\u002Fguides\u002Fpreset-components":131,"\u002Fit\u002Fguide\u002Fvalidated-forms":132,"\u002Fen\u002Fguides\u002Fvalidated-forms":133},"\u002Fen\u002Fcomponents\u002Fbb-accordion","\u002Fit\u002Fcomponenti\u002Fbb-accordion","\u002Fen\u002Fcomponents\u002Fbb-alert","\u002Fit\u002Fcomponenti\u002Fbb-alert","\u002Fen\u002Fcomponents\u002Fbb-asterisk","\u002Fit\u002Fcomponenti\u002Fbb-asterisk","\u002Fen\u002Fcomponents\u002Fbb-avatar","\u002Fit\u002Fcomponenti\u002Fbb-avatar","\u002Fen\u002Fcomponents\u002Fbb-badge","\u002Fit\u002Fcomponenti\u002Fbb-badge","\u002Fen\u002Fcomponents\u002Fbb-base-button","\u002Fit\u002Fcomponenti\u002Fbb-base-button","\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs","\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs","\u002Fen\u002Fcomponents\u002Fbb-button","\u002Fit\u002Fcomponenti\u002Fbb-button","\u002Fen\u002Fcomponents\u002Fbb-calendar","\u002Fit\u002Fcomponenti\u002Fbb-calendar","\u002Fen\u002Fcomponents\u002Fbb-checkbox","\u002Fit\u002Fcomponenti\u002Fbb-checkbox","\u002Fen\u002Fcomponents\u002Fbb-checkbox-group","\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group","\u002Fen\u002Fcomponents\u002Fbb-collapsible","\u002Fit\u002Fcomponenti\u002Fbb-collapsible","\u002Fen\u002Fcomponents\u002Fbb-color-input","\u002Fit\u002Fcomponenti\u002Fbb-color-input","\u002Fen\u002Fcomponents\u002Fbb-color-palette","\u002Fit\u002Fcomponenti\u002Fbb-color-palette","\u002Fen\u002Fcomponents\u002Fbb-confirm","\u002Fit\u002Fcomponenti\u002Fbb-confirm","\u002Fen\u002Fcomponents\u002Fbb-date-picker","\u002Fit\u002Fcomponenti\u002Fbb-date-picker","\u002Fen\u002Fcomponents\u002Fbb-date-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input","\u002Fen\u002Fcomponents\u002Fbb-dialog","\u002Fit\u002Fcomponenti\u002Fbb-dialog","\u002Fen\u002Fcomponents\u002Fbb-dropdown","\u002Fit\u002Fcomponenti\u002Fbb-dropdown","\u002Fen\u002Fcomponents\u002Fbb-dropdown-button","\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button","\u002Fen\u002Fcomponents\u002Fbb-dropzone","\u002Fit\u002Fcomponenti\u002Fbb-dropzone","\u002Fen\u002Fcomponents\u002Fbb-form","\u002Fit\u002Fcomponenti\u002Fbb-form","\u002Fen\u002Fcomponents\u002Fbb-hover-card","\u002Fit\u002Fcomponenti\u002Fbb-hover-card","\u002Fen\u002Fcomponents\u002Fbb-icon","\u002Fit\u002Fcomponenti\u002Fbb-icon","\u002Fen\u002Fcomponents\u002Fbb-indicator","\u002Fit\u002Fcomponenti\u002Fbb-indicator","\u002Fen\u002Fcomponents\u002Fbb-number-input","\u002Fit\u002Fcomponenti\u002Fbb-number-input","\u002Fen\u002Fcomponents\u002Fbb-off-canvas","\u002Fit\u002Fcomponenti\u002Fbb-off-canvas","\u002Fen\u002Fcomponents\u002Fbb-pagination","\u002Fit\u002Fcomponenti\u002Fbb-pagination","\u002Fen\u002Fcomponents\u002Fbb-popover","\u002Fit\u002Fcomponenti\u002Fbb-popover","\u002Fen\u002Fcomponents\u002Fbb-progress","\u002Fit\u002Fcomponenti\u002Fbb-progress","\u002Fen\u002Fcomponents\u002Fbb-radio","\u002Fit\u002Fcomponenti\u002Fbb-radio","\u002Fen\u002Fcomponents\u002Fbb-radio-group","\u002Fit\u002Fcomponenti\u002Fbb-radio-group","\u002Fen\u002Fcomponents\u002Fbb-rating","\u002Fit\u002Fcomponenti\u002Fbb-rating","\u002Fen\u002Fcomponents\u002Fbb-select","\u002Fit\u002Fcomponenti\u002Fbb-select","\u002Fen\u002Fcomponents\u002Fbb-select-popover","\u002Fit\u002Fcomponenti\u002Fbb-select-popover","\u002Fen\u002Fcomponents\u002Fbb-slider","\u002Fit\u002Fcomponenti\u002Fbb-slider","\u002Fen\u002Fcomponents\u002Fbb-smooth-height","\u002Fit\u002Fcomponenti\u002Fbb-smooth-height","\u002Fen\u002Fcomponents\u002Fbb-spinner","\u002Fit\u002Fcomponenti\u002Fbb-spinner","\u002Fen\u002Fcomponents\u002Fbb-switch","\u002Fit\u002Fcomponenti\u002Fbb-switch","\u002Fen\u002Fcomponents\u002Fbb-switch-group","\u002Fit\u002Fcomponenti\u002Fbb-switch-group","\u002Fen\u002Fcomponents\u002Fbb-table","\u002Fit\u002Fcomponenti\u002Fbb-table","\u002Fen\u002Fcomponents\u002Fbb-tabs","\u002Fit\u002Fcomponenti\u002Fbb-tabs","\u002Fen\u002Fcomponents\u002Fbb-tag","\u002Fit\u002Fcomponenti\u002Fbb-tag","\u002Fen\u002Fcomponents\u002Fbb-text-input","\u002Fit\u002Fcomponenti\u002Fbb-text-input","\u002Fen\u002Fcomponents\u002Fbb-textarea","\u002Fit\u002Fcomponenti\u002Fbb-textarea","\u002Fen\u002Fcomponents\u002Fbb-time-picker","\u002Fit\u002Fcomponenti\u002Fbb-time-picker","\u002Fen\u002Fcomponents\u002Fbb-time-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input","\u002Fen\u002Fcomponents\u002Fbb-toast","\u002Fit\u002Fcomponenti\u002Fbb-toast","\u002Fen\u002Fcomponents\u002Fbb-tooltip","\u002Fit\u002Fcomponenti\u002Fbb-tooltip","\u002Fen\u002Fcomponents\u002Fbb-tree","\u002Fit\u002Fcomponenti\u002Fbb-tree","\u002Fen\u002Fguides\u002Fadoption-checklist","\u002Fit\u002Fguide\u002Fadoption-checklist","\u002Fen\u002Fguides\u002Fai-agents","\u002Fit\u002Fguide\u002Fai-agents","\u002Fen\u002Fguides\u002Fcoherence","\u002Fit\u002Fguide\u002Fcoherence","\u002Fen\u002Fguides\u002Fdesign-language","\u002Fit\u002Fguide\u002Fdesign-language","\u002Fen\u002Fguides\u002Fdesign-tokens","\u002Fit\u002Fguide\u002Fdesign-tokens","\u002Fen\u002Fguides\u002Ffetching-data","\u002Fit\u002Fguide\u002Ffetching-data","\u002Fen\u002Fguides\u002Ficons","\u002Fit\u002Fguide\u002Ficons","\u002Fen\u002Fguides\u002Finertia","\u002Fit\u002Fguide\u002Finertia","\u002Fen\u002Fguides\u002Finstallation","\u002Fit\u002Fguide\u002Finstallation","\u002Fen\u002Fguides\u002Fmigration","\u002Fit\u002Fguide\u002Fmigration","\u002Fen\u002Fguides\u002Fnuxt","\u002Fit\u002Fguide\u002Fnuxt","\u002Fen\u002Fguides\u002Foptions-and-items","\u002Fit\u002Fguide\u002Foptions-and-items","\u002Fen\u002Fguides\u002Fpassthrough","\u002Fit\u002Fguide\u002Fpassthrough","\u002Fen\u002Fguides\u002Fpreset-components","\u002Fit\u002Fguide\u002Fpreset-components","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",[135,150,162,186,198,242,275,311,332,353,365,371],{"label":136,"entries":137},"Getting started",[138,142,146],{"title":139,"path":140,"order":141},"Installation","\u002Fguides\u002Finstallation",1,{"title":143,"path":144,"order":145},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"title":147,"path":148,"order":149},"Adoption checklist","\u002Fguides\u002Fadoption-checklist",3,{"label":151,"entries":152},"Design system",[153,156,159],{"title":154,"path":155,"order":141},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":157,"path":158,"order":145},"Design language","\u002Fguides\u002Fdesign-language",{"title":160,"path":161,"order":149},"Passthrough","\u002Fguides\u002Fpassthrough",{"label":163,"entries":164},"Playbooks",[165,168,171,174,178,182],{"title":166,"path":167,"order":141},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":169,"path":170,"order":145},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":172,"path":173,"order":149},"Coherence","\u002Fguides\u002Fcoherence",{"title":175,"path":176,"order":177},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":179,"path":180,"order":181},"Icons","\u002Fguides\u002Ficons",5,{"title":183,"path":184,"order":185},"Preset components","\u002Fguides\u002Fpreset-components",6,{"label":187,"entries":188},"Ecosystem",[189,192,195],{"title":190,"path":191,"order":141},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":193,"path":194,"order":145},"Nuxt","\u002Fguides\u002Fnuxt",{"title":196,"path":197,"order":149},"AI agents","\u002Fguides\u002Fai-agents",{"label":199,"entries":200},"Inputs",[201,204,207,210,213,216,219,222,226,230,234,238],{"title":202,"path":203,"component":202,"order":141},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":205,"path":206,"component":205,"order":145},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":208,"path":209,"component":208,"order":149},"BbCalendar","\u002Fcomponents\u002Fbb-calendar",{"title":211,"path":212,"component":211,"order":149},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":214,"path":215,"component":214,"order":177},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":217,"path":218,"component":217,"order":181},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":220,"path":221,"component":220,"order":185},"BbForm","\u002Fcomponents\u002Fbb-form",{"title":223,"path":224,"component":223,"order":225},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":227,"path":228,"component":227,"order":229},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":231,"path":232,"component":231,"order":233},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":235,"path":236,"component":235,"order":237},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":239,"path":240,"component":239,"order":241},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":243,"entries":244},"Selection",[245,248,251,254,257,260,263,266,269,272],{"title":246,"path":247,"component":246,"order":141},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":249,"path":250,"component":249,"order":145},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":252,"path":253,"component":252,"order":149},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":255,"path":256,"component":255,"order":177},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":258,"path":259,"component":258,"order":181},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":261,"path":262,"component":261,"order":185},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":264,"path":265,"component":264,"order":225},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":267,"path":268,"component":267,"order":229},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":270,"path":271,"component":270,"order":233},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":273,"path":274,"component":273,"order":237},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":276,"entries":277},"Overlay",[278,281,284,287,290,293,296,299,302,305,308],{"title":279,"path":280,"component":279,"order":141},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":282,"path":283,"component":282,"order":145},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":285,"path":286,"component":285,"order":149},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":288,"path":289,"component":288,"order":177},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":291,"path":292,"component":291,"order":181},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":294,"path":295,"component":294,"order":185},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":297,"path":298,"component":297,"order":225},"BbHoverCard","\u002Fcomponents\u002Fbb-hover-card",{"title":300,"path":301,"component":300,"order":225},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":303,"path":304,"component":303,"order":229},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":306,"path":307,"component":306,"order":233},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":309,"path":310,"component":309,"order":237},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":312,"entries":313},"Navigation",[314,317,320,323,326,329],{"title":315,"path":316,"component":315,"order":141},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":318,"path":319,"component":318,"order":145},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":321,"path":322,"component":321,"order":149},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":324,"path":325,"component":324,"order":177},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":327,"path":328,"component":327,"order":181},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":330,"path":331,"component":330,"order":185},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":333,"entries":334},"Feedback",[335,338,341,344,347,350],{"title":336,"path":337,"component":336,"order":141},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":339,"path":340,"component":339,"order":145},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":342,"path":343,"component":342,"order":149},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":345,"path":346,"component":345,"order":177},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":348,"path":349,"component":348,"order":181},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":351,"path":352,"component":351,"order":185},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":354,"entries":355},"Data Display",[356,359,362],{"title":357,"path":358,"component":357,"order":141},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":360,"path":361,"component":360,"order":145},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":363,"path":364,"component":363,"order":149},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":366,"entries":367},"Layout & Utility",[368],{"title":369,"path":370,"component":369,"order":141},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":372,"entries":373},"Other",[374],{"title":375,"path":376,"component":375,"order":141},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",null,{"id":379,"title":255,"body":380,"component":255,"description":1029,"extension":1030,"group":243,"meta":1031,"navigation":1032,"order":177,"path":256,"sections":1033,"seo":1040,"stem":1041,"__hash__":1042},"docs_en\u002Fcomponents\u002Fbb-radio-group.md",{"type":381,"value":382,"toc":1021},"minimark",[383,431,437,467,475,481,485,518,529,535,541,544,547,554,589,609,629,635,643,646,661,676,690,696,705,708,738,755,762,768,787,790,818,853,859,865,868,892,917,932,953,988],[384,385,386,394],"when",{},[387,388,389,390,393],"p",{},"Reach for ",[391,392,255],"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.",[395,396,398],"template",{"v-slot:else":397},"",[399,400,401,410,417,424],"ul",{},[402,403,404,409],"li",{},[405,406,407],"a",{"href":70},[391,408,261],{},": the set runs past that, or the list is\nsearchable, paged or fetched",[402,411,412,416],{},[405,413,414],{"href":24},[391,415,249],{},": the choices are not\nexclusive",[402,418,419,423],{},[405,420,421],{"href":64},[391,422,252],{},": an escape hatch for options that have to\nlive inside markup of your own",[402,425,426,430],{},[405,427,428],{"href":86},[391,429,327],{},": the segmented strip switches what the page\nshows (Board \u002F Table) rather than picking a value a form submits",[387,432,433,434,436],{},"Also see: ",[405,435,166],{"href":126},".",[387,438,439,440,444,445,448,449,452,453,456,457,460,461,466],{},"Everything this group shares with the other two is on\n",[405,441,442],{"href":24},[391,443,249],{},". That covers the ",[391,446,447],{},"items","\nmapping, the fieldset props and ",[391,450,451],{},"selectable",". It also covers the provider and\n",[391,454,455],{},"enforce-coherence",", the ",[391,458,459],{},"label"," slot and the layout. The field surface is\n",[405,462,464],{"href":463},"\u002Fen\u002Fcomponents\u002Fbb-checkbox#states",[391,465,246],{},"'s. What follows is only what\nan exclusive group has to answer.",[468,469,471],"h2",{"id":470},"default",[472,473,474],"span",{},"One exclusive choice",[387,476,477,478,436],{},"The model holds one resolved value, not an array, and it starts empty as ",[391,479,480],{},"null",[482,483],"demo",{"name":484},"BbRadioGroup\u002FBasic",[387,486,487,492,493,496,497,503,504,510,511,514,515,436],{},[405,488,490],{"href":489},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-items",[391,491,447],{}," and the accessors work as they do on the checkbox group. An array of\nstrings needs nothing, and neither does an array of ",[391,494,495],{},"{ label, value }"," objects. Objects of any other shape need ",[405,498,500],{"href":499},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-itemText",[391,501,502],{},"item-text"," and ",[405,505,507],{"href":506},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-itemValue",[391,508,509],{},"item-value",".\nThere is no ",[391,512,513],{},"multiple"," prop here and no ",[391,516,517],{},"max",[387,519,520,521,525,526,528],{},"The thing to design around is that ",[522,523,524],"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 ",[391,527,480],{}," does the job.",[387,530,531,532,534],{},"Seed the model with ",[391,533,480],{}," 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.",[468,536,538],{"id":537},"keyboard",[472,539,540],{},"One tab stop, then the arrows",[387,542,543],{},"The options are native radios, so the browser's grouping behaviour comes for\nfree. The group adds the ARIA role the native markup lacks.",[482,545],{"name":546},"BbRadioGroup\u002FTwoGroups",[387,548,549,550,553],{},"Tab reaches the whole group once, landing on the chosen option or on the first\none. Inside it, the arrow keys move focus ",[522,551,552],{},"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.",[387,555,556,557,560,561,564,565,571,572,574,575,578,579,581,582,588],{},"The options container carries ",[391,558,559],{},"role=\"radiogroup\"",", which a ",[391,562,563],{},"\u003Cfieldset>"," cannot\nsupply. The component claims the role only when ",[405,566,568],{"href":567},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-legend",[391,569,570],{},"legend"," or the ",[391,573,570],{}," slot\ngives it a name (an ",[391,576,577],{},"aria-label"," does not count). An unnamed radiogroup is worse\nthan no role at all. That is another reason ",[391,580,570],{}," is required, and why ",[405,583,585],{"href":584},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-hideLegend",[391,586,587],{},"hide-legend"," is the\nright way to drop it visually.",[387,590,591,597,598,601,602,605,606,608],{},[405,592,594],{"href":593},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-readonly",[391,595,596],{},"readonly"," is the one field state that behaves differently here. The ",[391,599,600],{},"radio","\nrole supports no ",[391,603,604],{},"aria-readonly",", so readonly can only be announced on the\ngroup. A hand-composed set of ",[391,607,252],{}," has no group to announce it on.",[610,611,612],"migration",{},[387,613,614,620,621,623,624,626,627,436],{},[522,615,616,619],{},[391,617,618],{},"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 ",[391,622,618],{}," 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 ",[391,625,252],{}," still needs an explicit shared ",[391,628,618],{},[468,630,632],{"id":631},"gating",[472,633,634],{},"Locked options",[387,636,637,642],{},[405,638,640],{"href":639},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-selectable",[391,641,451],{}," rejects an option per item, and in a radio group a rejected option\ndisappears from the keyboard path entirely.",[482,644],{"name":645},"BbRadioGroup\u002FGating",[387,647,648,649,655,656,660],{},"Arrow keys skip disabled radios, so a keyboard user never lands on one. That\nmakes the ",[405,650,652],{"href":651},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-description",[391,653,654],{},"description"," do real work: name the rule that locks them, once,\nfor the set. Keep the locked options visible when the ladder above the user is\ninformation, and filter them out of ",[405,657,658],{"href":489},[391,659,447],{}," when it is not.",[387,662,663,664,667,668,670,671,436],{},"A ",[391,665,666],{},"disabled"," field inside your item objects is plain data, not a switch: lock\noptions with ",[391,669,451],{},". The predicate and the migration from v2 are on\n",[405,672,674],{"href":673},"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group#gating",[391,675,249],{},[387,677,678,679,683,684,689],{},"To freeze the choice, use ",[405,680,681],{"href":593},[391,682,596],{},": it stays focusable and submitted.\n",[405,685,687],{"href":686},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-disabled",[391,688,666],{}," on the group locks every option, the chosen one included, and keeps\nthe value out of a native post.",[468,691,693],{"id":692},"required",[472,694,695],{},"Requiring a choice",[387,697,698,699,704],{},"This is the only one of the three groups with a ",[405,700,702],{"href":701},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-required",[391,703,692],{}," prop, and it is for\na group outside a form.",[482,706],{"name":707},"BbRadioGroup\u002FRequiredChoice",[387,709,710,711,715,716,718,719,725,726,730,731,733,734,737],{},"Inside a ",[405,712,713],{"href":46},[391,714,220],{}," the group joins the form under its ",[391,717,618],{},",\nand ",[405,720,722],{"href":721},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-rules",[391,723,724],{},"rules=\"required\"",", a rule you ",[405,727,729],{"href":728},"\u002Fen\u002Fguides\u002Fvalidated-forms#rules","register once",", holds the\nsubmit until an option is chosen. Submit without choosing to see the message.\nThe rule also marks the legend. The ",[391,732,692],{}," prop alone would only mark it:\nthe form posts ",[391,735,736],{},"novalidate",", so the attribute is a hint that checks nothing.",[387,739,740,741,743,744,747,748,754],{},"Outside a form, ",[391,742,692],{}," reaches the native radios: assistive technology\nannounces the group as required, and a plain ",[391,745,746],{},"\u003Cform>"," blocks the submit. Pass\n",[405,749,751],{"href":750},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-errors",[391,752,753],{},"errors"," yourself after a failed submit.",[387,756,757,758,436],{},"On a checkbox or switch group the same question becomes \"at least one\", which\nis a rule on the array rather than a flag. See\n",[405,759,761],{"href":760},"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group#validation","validating the whole set",[468,763,765],{"id":764},"tabs-look",[472,766,767],{},"Pick a value with the tabs look",[387,769,770,771,775,776,782,783,786],{},"A strip that picks a value a form or a filter submits (a status filter, a\nperiod) is still a radio group, so give the group a tab strip's look instead of\nreaching for ",[405,772,773],{"href":86},[391,774,327],{},", which switches what the page\nshows. ",[405,777,779],{"href":778},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-variant",[391,780,781],{},"variant=\"pill\""," draws a\nmuted strip with a raised pill under the pick, and ",[391,784,785],{},"variant=\"line\""," a baseline\nwith a bar under it.",[482,788],{"name":789},"BbRadioGroup\u002FTabsLook",[387,791,792,793,795,796,503,798,801,802,805,806,809,810,813,814,817],{},"The strip, its options and the indicator measure exactly as a tab strip's, and\nthe indicator slides the same way. It stays a radio group: the arrow keys pick,\n\"2 of 4\" is announced, and the legend, ",[391,794,753],{},", ",[391,797,692],{},[391,799,800],{},"compact"," work.\nThe dot is hidden (an ",[391,803,804],{},"icon"," slot shows before the label), and the strip never\nwraps: it scrolls. ",[391,807,808],{},"list-layout=\"vertical\""," stacks it into a column and\n",[391,811,812],{},"\"vertical-stretch\""," spans the field; the other layouts and ",[391,815,816],{},"item-layout"," do\nnot apply.",[387,819,820,823,824,827,828,831,832,795,835,795,838,841,842,845,846,849,850,436],{},[391,821,822],{},"pt:indicator"," reaches the pill or the bar, and ",[391,825,826],{},"pt:\u003Cpart>:pill"," or\n",[391,829,830],{},"pt:\u003Cpart>:line"," styles a part in one look only. The strip's tokens are named\nand valued as a tab strip's (",[391,833,834],{},"--list-bg",[391,836,837],{},"--indicator-bg",[391,839,840],{},"--active-fg",", …):\nset them on ",[391,843,844],{},"pt:list"," for one group. For a look of your own app-wide, register\n",[391,847,848],{},"radioVariants: ['brand']"," in the build plugin and set the same tokens on\n",[391,851,852],{},".bb-radio-group__list--brand",[468,854,856],{"id":855},"styling",[472,857,858],{},"Selection tiles and CSS",[387,860,861,862,436],{},"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 through\n",[391,863,864],{},"pt:item",[482,866],{"name":867},"BbRadioGroup\u002FTiles",[387,869,870,875,876,881,882,885,886,891],{},[405,871,873],{"href":872},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#slot-icon",[391,874,804],{}," replaces the dot and ",[405,877,879],{"href":878},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#slot-label",[391,880,459],{}," replaces the text, and both receive the\noption's ",[391,883,884],{},"item"," alongside the current state. A tile is built from your own data,\nwith no second array to keep in step. Everything underneath stays a real radio:\nthe ",[405,887,889],{"href":888},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-name",[391,890,618],{},", the exclusivity and the arrow keys are untouched.",[387,893,894,895,898,899,905,906,912,913,916],{},"Two props do the layout, so ",[391,896,897],{},"pt"," only has to give the tile its look.\n",[405,900,902],{"href":901},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-listLayout",[391,903,904],{},"list-layout=\"tiles\""," makes the options equal-size boxes\nthat share the row and wrap as the field narrows, and\n",[405,907,909],{"href":908},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-itemLayout",[391,910,911],{},"item-layout=\"vertical\""," stacks the picture over the caption.\nThe default ",[391,914,915],{},"horizontal"," list sizes each option to its content.",[387,918,919,920,922,923,926,927,503,929,931],{},"A tile is its input, edge to edge: the whole tile, padding included, is the\nclick and hover target (a tooltip whose activator is the tile's input shows\nanywhere on it), and a link or a button inside keeps its own click. The tile's\ntext is not selectable with the mouse, and a click listener on a plain element\ninside the ",[391,921,459],{}," slot receives nothing: listen on the group's ",[391,924,925],{},"@change",". The\nsame holds for ",[391,928,249],{},[391,930,273],{}," tiles.",[387,933,934,935,940,941,944,945,948,949,952],{},"Style the tile through ",[405,936,938],{"href":937},"\u002Fen\u002Fcomponents\u002Fbb-radio-group\u002Fapi#prop-pt:%3Cpart%3E",[391,939,864],{}," and its states: ",[391,942,943],{},"pt:item:checked"," paints the chosen tile and\n",[391,946,947],{},"pt:item:focus-visible"," the one with keyboard focus, so nothing names a\nlibrary class or reaches for ",[391,950,951],{},":has()",". The focus ring belongs on the tile\nbecause the icon slot replaced the dot that drew it.",[610,954,955],{},[387,956,957,958,961,962,965,966,969,970,973,974,979,980,983,984,987],{},"This group's CSS block used to be the shared ",[391,959,960],{},"bb-cr-container",". The options\nare now ",[391,963,964],{},".bb-radio-group__list"," and each row is ",[391,967,968],{},".bb-radio-group__item",". Nothing\nrenders the old prefix, so those rules stop matching; ",[391,971,972],{},"npx bitboss-ui check","\nreports each leftover class in your stylesheets.\nThe full before-and-after table is on\n",[405,975,977],{"href":976},"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group#styling",[391,978,249],{},", along with the\n",[391,981,982],{},"labelPosition"," → ",[391,985,986],{},"legendPosition"," rename that applies here too.",[387,989,990,991,994,995,795,998,795,1001,795,1004,503,1007,1010,1011,1016,1017,1020],{},"The group exposes no custom properties of its own. The dot is ",[391,992,993],{},"BbBaseRadioIcon",",\nwhich owns ",[391,996,997],{},"--accent",[391,999,1000],{},"--size",[391,1002,1003],{},"--space",[391,1005,1006],{},"--border-color",[391,1008,1009],{},"--ring-color"," on its own element.\nThat is the surface documented on\n",[405,1012,1014],{"href":1013},"\u002Fen\u002Fcomponents\u002Fbb-radio#custom-markup",[391,1015,252],{},", and where v2's removed\n",[391,1018,1019],{},"color"," prop went.",{"title":397,"searchDepth":149,"depth":149,"links":1022},[1023,1024,1025,1026,1027,1028],{"id":470,"depth":145,"text":474},{"id":537,"depth":145,"text":540},{"id":631,"depth":145,"text":634},{"id":692,"depth":145,"text":695},{"id":764,"depth":145,"text":767},{"id":855,"depth":145,"text":858},"Exactly one choice out of a set, with native arrow keys and a required prop.","md",{},true,[1034,1035,1036,1037,1038,1039],{"id":470,"title":474},{"id":537,"title":540},{"id":631,"title":634},{"id":692,"title":695},{"id":764,"title":767},{"id":855,"title":858},{"title":255,"description":1029},"components\u002Fbb-radio-group","l3oFZju7CUSfSLqqFIRnWr2FFgK2uCCe_nI35rUNUXc",{"name":255,"slug":1044,"group":243,"description":1045,"entrypoint":1046,"docs":1047,"props":1050,"models":1232,"events":1235,"slots":1275,"exposed":1304,"pt":1305,"validated":377,"migration":1363},"bb-radio-group","Coordinates exclusive selection among radio options.","bitboss-ui",{"contract":1048,"source":1049},"ai\u002FBbRadioGroup.md","ai\u002Fsource\u002FBbRadioGroup.md",[1051,1056,1060,1064,1068,1072,1075,1078,1081,1085,1089,1092,1095,1098,1101,1105,1108,1111,1115,1120,1123,1126,1131,1135,1138,1142,1147,1152,1155,1159,1163,1167,1169,1175,1178,1182,1185,1188,1191,1194,1199,1202,1205,1208,1213,1218,1221,1225,1229],{"name":1052,"type":1053,"required":1054,"default":377,"description":1055,"note":377,"demo":377},"autofocus","Booleanish | undefined",false,"Focuses the field when it mounts (a dialog already open included), unless the user is typing in another field.",{"name":800,"type":1057,"required":1054,"default":1058,"description":1059,"note":377,"demo":377},"boolean | undefined","false","Compact density. Swaps `--bb-label-spacing-y` for `--bb-label-spacing-y-compact`, so tune a compact group's label gap with the `-compact` token, not the base one.",{"name":1061,"type":1062,"required":1054,"default":377,"description":1063,"note":377,"demo":377},"dependencies","unknown[] | undefined","Defines an array of dependencies that will trigger actions in the component upon change.",{"name":1065,"type":1066,"required":1054,"default":377,"description":1067,"note":377,"demo":377},"depsDebounceTime","number | undefined","Timeout used to debounce response to changes to dependencies.",{"name":654,"type":1069,"required":1054,"default":377,"description":1070,"note":1071,"demo":631},"string | undefined","Text between the label and the input. Unlike the hint it is always visible; it joins the input's `aria-describedby` after any `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":666,"type":1057,"required":1054,"default":1058,"description":1073,"note":1074,"demo":631},"Disables the component.","Locks every option, the chosen one included, and keeps the value out of a native post. To freeze a choice that must still be submitted, use `readonly`.",{"name":1076,"type":1069,"required":1054,"default":377,"description":1077,"note":377,"demo":377},"emptyText","String displayed when there are no items to display.",{"name":1079,"type":1057,"required":1054,"default":1058,"description":1080,"note":377,"demo":377},"enforceCoherence","After every applied, successful load (an empty one included), drops the model values the options no longer contain (a single value resets to `null`). A failed load never prunes.",{"name":753,"type":1082,"required":1054,"default":377,"description":1083,"note":1084,"demo":692},"string | string[] | undefined","Error messages under the field, a string or array, in an `aria-live=\"polite\"` region and first in the control's `aria-describedby`, so they are re-read when it regains focus.","Your own messages. Inside a `BbForm` they join the rule messages; outside one they are the only channel.",{"name":1086,"type":1069,"required":1054,"default":1087,"description":1088,"note":377,"demo":377},"failedText","the localized `common.failedText` (\"Couldn't load items\")","String displayed in the empty state while the latest load FAILED (the `items` provider threw): the twin of `emptyText` for that case.",{"name":1090,"type":1057,"required":1054,"default":1058,"description":1091,"note":377,"demo":377},"formless","Keep this control out of the enclosing `BbForm` entirely: not submitted, not dirty, not reset, not validated. For a control that is not form data (a filter, a \"show advanced\" switch).",{"name":1093,"type":1057,"required":1054,"default":1058,"description":1094,"note":377,"demo":377},"hasErrors","Define if the component should be in an error state. It usually attaches a CSS class for styling purposes.",{"name":1096,"type":1057,"required":1054,"default":1058,"description":1097,"note":377,"demo":377},"hasWarnings","Define if the component should be in a warning state. Same chrome as errors with `--bb-warn`; errors take priority.",{"name":1099,"type":1057,"required":1054,"default":1058,"description":1100,"note":377,"demo":377},"hideLabel","Visually hides each option's label text (the text rendered next to every input) while keeping it accessible to screen readers. Does not affect the fieldset legend — use `hideLegend` for that.",{"name":1102,"type":1057,"required":1054,"default":1058,"description":1103,"note":1104,"demo":537},"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":1106,"type":1069,"required":1054,"default":377,"description":1107,"note":377,"demo":377},"hint","Text box to be displayed near the input, usually to indicate instructions.",{"name":1109,"type":1069,"required":1054,"default":377,"description":1110,"note":377,"demo":377},"id","Prefix for the ids of each option's input and of the label, description and message. Generated when omitted.",{"name":1112,"type":1113,"required":1054,"default":377,"description":1114,"note":377,"demo":377},"inputAlign","FieldCrossAlign | undefined","Vertical position of the control in a side-by-side row; not `inputPosition`, the horizontal one. Omitted, the control's first line meets the label's.",{"name":1116,"type":1117,"required":1054,"default":1118,"description":1119,"note":377,"demo":377},"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":1121,"type":1113,"required":1054,"default":377,"description":1122,"note":377,"demo":377},"itemInputAlign","Vertical position of each option's control in its row; `'center'` is the middle of the label plus its description. Omitted, it sits on the label's first line.",{"name":1124,"type":1113,"required":1054,"default":377,"description":1125,"note":377,"demo":377},"itemLabelAlign","Vertical position of each option's label in its row. Omitted, it stays as it is.",{"name":1127,"type":1128,"required":1054,"default":1129,"description":1130,"note":377,"demo":377},"itemLayout","FieldLayout | undefined","'auto'","How each row's input and label sit together, in the `layout` keywords: `'auto'`, `'vertical'`, `'horizontal'`, `'label-fill'`, `'input-fill'`, or a two-word ratio pattern like `'xx xxxxx'`.",{"name":1132,"type":1133,"required":1054,"default":377,"description":1134,"note":377,"demo":377},"itemProps","BbOptionGroupItemProps\u003CT> | undefined","ADDITIONAL row fields, never the text or value: `description`, a muted line under the label (it may wrap; announced as the option's description). An object of paths or getters, or a function of the item; nothing is read implicitly.",{"name":1136,"type":1057,"required":1054,"default":1058,"description":1137,"note":377,"demo":377},"itemReverse","Swaps each row's input and label from their natural order (input first), in every `item-layout`. `reverse` swaps the legend and the options instead.",{"name":447,"type":1139,"required":1032,"default":377,"description":1140,"note":1141,"demo":470},"T[] | ((context: BbRadioGroupItemsContext) => T[] | Promise\u003CT[]>)","The options: an array, or a provider called with a `BbRadioGroupItemsContext` (`reason`, `modelValue`, `signal`), sync or async. A provider fails by THROWING, never by returning `[]`: the rows clear and `#empty` gets the `error`.","Same mapping as every other options component. A radio group has no `multiple` and no `max`: one value is the whole contract.",{"name":1143,"type":1144,"required":1054,"default":1145,"description":1146,"note":377,"demo":470},"itemText","ItemAccessor\u003CT, string> | undefined","own `label`, else `text`, else `JSON.stringify(item)`","Defines a path that returns a property of the object to use as text or a function that returns a string.\n\nUnset: own `label`, else `text` (`{ label, value }` needs no accessor).",{"name":1148,"type":1149,"required":1054,"default":1150,"description":1151,"note":377,"demo":470},"itemValue","ItemAccessor\u003CT> | undefined","own `value`, else the whole item","Defines a path that returns a property of the object to use as value or a function that returns any value.\n\nUnset: own `value`, even `null`.",{"name":1153,"type":1113,"required":1054,"default":377,"description":1154,"note":377,"demo":377},"labelAlign","Vertical position of the label block in a side-by-side row; not `labelPosition`, the horizontal one. Omitted, the label's first line meets the control's.",{"name":1156,"type":1157,"required":1054,"default":377,"description":1158,"note":377,"demo":377},"layout","Responsive\u003CFieldLayout> | undefined","How label and input sit together: `'vertical'`, `'horizontal'` (50\u002F50), `'auto'`, `'label-fill'`, `'input-fill'`, a ratio like `'xx xxxxx'`, or a per-breakpoint map (`{ default: 'vertical', md: 'xx xxxxx' }`).",{"name":570,"type":1160,"required":1032,"default":377,"description":1161,"note":1162,"demo":470},"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":1164,"type":1165,"required":1054,"default":377,"description":1166,"note":377,"demo":377},"legendMode","\"outside\" | \"inside\" | undefined","Legend rendering mode. `'outside'` renders the legend above the fieldset in the normal flow; `'inside'` overlays the legend inside the fieldset border. Floating mode is not supported for radio groups.",{"name":986,"type":1117,"required":1054,"default":377,"description":1168,"note":377,"demo":377},"Sets the text alignment of the label.",{"name":1170,"type":1171,"required":1054,"default":1172,"description":1173,"note":1174,"demo":855},"listLayout","ListLayout | undefined","'horizontal'","How the rows sit in the list: `'horizontal'` (on a line, wrapping), `'vertical'` (stacked), `'vertical-stretch'` (stacked, as wide as the list) or `'tiles'` (equal boxes; `--tile-min-width` on `pt:list` sets the narrowest). Layout only: the cards are `pt` (guide § Radio cards).","Defaults to `horizontal`: a wrapping row, not a stack, with each option its own size. `tiles` is the value for equal-size boxes; `--tile-min-width` on `pt:list` sets how narrow a tile gets before it wraps.",{"name":1176,"type":1069,"required":1054,"default":377,"description":1177,"note":377,"demo":377},"loadingText","String displayed while items are being loaded.",{"name":1179,"type":1180,"required":1054,"default":377,"description":1181,"note":377,"demo":377},"modelValue","any","Used by v-model. Can be any serializable type.",{"name":1183,"type":1066,"required":1054,"default":377,"description":1184,"note":377,"demo":377},"modelValueDebounceTime","Timeout used to debounce response to changes to modelValue.",{"name":618,"type":1069,"required":1054,"default":377,"description":1186,"note":1187,"demo":537},"Name of the option inputs. Optional: a generated one, unique per group and stable, groups them. Pass one only when a native (non-JS) form post must submit the value under a known key.","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":1189,"type":1057,"required":1054,"default":1058,"description":1190,"note":377,"demo":377},"persistentHint","Keeps the hint displayed.",{"name":897,"type":1192,"required":1054,"default":377,"description":1193,"note":377,"demo":377},"({ root?: PtValue | undefined; \"root:loading\"?: PtValue | undefined; \"icon:loading\"?: PtValue | undefined; \"root:disabled\"?: PtValue | undefined; \"root:errors\"?: PtValue | undefined; \"root:warnings\"?: PtValue | undefined; \"root:readonly\"?: PtValue | undefined; \"icon:disabled\"?: PtValue | undefined; \"item:disabled\"?: PtValue | undefined; description?: PtValue | undefined; message?: PtValue | undefined; hint?: PtValue | undefined; \"icon:errors\"?: PtValue | undefined; \"icon:warnings\"?: PtValue | undefined; \"icon:readonly\"?: PtValue | undefined; \"icon:checked\"?: PtValue | undefined; \"icon:focused\"?: PtValue | undefined; \"icon:focusVisible\"?: PtValue | undefined; \"label:disabled\"?: PtValue | undefined; \"label:errors\"?: PtValue | undefined; \"label:warnings\"?: PtValue | undefined; \"label:readonly\"?: PtValue | undefined; \"label:checked\"?: PtValue | undefined; \"label:focused\"?: PtValue | undefined; \"label:focusVisible\"?: PtValue | undefined; \"description:disabled\"?: PtValue | undefined; \"description:errors\"?: PtValue | undefined; \"description:warnings\"?: PtValue | undefined; \"description:readonly\"?: PtValue | undefined; \"message:disabled\"?: PtValue | undefined; \"message:errors\"?: PtValue | undefined; \"message:warnings\"?: PtValue | undefined; \"message:readonly\"?: PtValue | undefined; \"hint:disabled\"?: PtValue | undefined; \"hint:errors\"?: PtValue | undefined; \"hint:warnings\"?: PtValue | undefined; \"hint:readonly\"?: PtValue | undefined; legend?: PtValue | undefined; list?: PtValue | undefined; indicator?: PtValue | undefined; \"root:hasValue\"?: PtValue | undefined; \"description:loading\"?: PtValue | undefined; \"description:hasValue\"?: PtValue | undefined; \"message:loading\"?: PtValue | undefined; \"message:hasValue\"?: PtValue | undefined; \"hint:loading\"?: PtValue | undefined; \"hint:hasValue\"?: PtValue | undefined; \"legend:loading\"?: PtValue | undefined; \"legend:disabled\"?: PtValue | undefined; \"legend:errors\"?: PtValue | undefined; \"legend:warnings\"?: PtValue | undefined; \"legend:readonly\"?: PtValue | undefined; \"legend:hasValue\"?: PtValue | undefined; \"list:loading\"?: PtValue | undefined; \"list:disabled\"?: PtValue | undefined; \"list:errors\"?: PtValue | undefined; \"list:warnings\"?: PtValue | undefined; \"list:readonly\"?: PtValue | undefined; \"list:hasValue\"?: PtValue | undefined; \"indicator:loading\"?: PtValue | undefined; \"indicator:disabled\"?: PtValue | undefined; \"indicator:errors\"?: PtValue | undefined; \"indicator:warnings\"?: PtValue | undefined; \"indicator:readonly\"?: PtValue | undefined; \"indicator:hasValue\"?: PtValue | undefined; \"icon:hasValue\"?: PtValue | undefined; \"label:loading\"?: PtValue | undefined; \"label:hasValue\"?: PtValue | undefined; \"item:loading\"?: PtValue | undefined; \"item:errors\"?: PtValue | undefined; \"item:warnings\"?: PtValue | undefined; \"item:readonly\"?: PtValue | undefined; \"item:checked\"?: PtValue | undefined; \"item:focused\"?: PtValue | undefined; \"item:focusVisible\"?: PtValue | undefined; \"item:hasValue\"?: PtValue | undefined; \"itemDescription:loading\"?: PtValue | undefined; \"itemDescription:disabled\"?: PtValue | undefined; \"itemDescription:errors\"?: PtValue | undefined; \"itemDescription:warnings\"?: PtValue | undefined; \"itemDescription:readonly\"?: PtValue | undefined; \"itemDescription:checked\"?: PtValue | undefined; \"itemDescription:focused\"?: PtValue | undefined; \"itemDescription:focusVisible\"?: PtValue | undefined; \"itemDescription:hasValue\"?: PtValue | undefined; } & { icon?: PtValue | PtItemFn\u003CT, GroupPtState, never, { readonly item: T; }> | undefined; label?: PtValue | PtItemFn\u003CT, GroupPtState, never, { readonly item: T; }> | undefined; item?: PtValue | PtItemFn\u003CT, GroupPtState, never, { readonly item: T; }> | undefined; itemDescription?: PtValue | PtItemFn\u003CT, GroupPtState, never, { readonly item: T; }> | undefined; } & { \"indicator:pill\"?: PtValue | undefined; \"indicator:line\"?: PtValue | undefined; \"root:pill\"?: PtValue | undefined; \"root:line\"?: PtValue | undefined; \"icon:pill\"?: PtValue | undefined; \"icon:line\"?: PtValue | undefined; \"label:pill\"?: PtValue | undefined; \"label:line\"?: PtValue | undefined; \"item:pill\"?: PtValue | undefined; \"item:line\"?: PtValue | undefined; \"description:pill\"?: PtValue | undefined; \"description:line\"?: PtValue | undefined; \"message:pill\"?: PtValue | undefined; \"message:line\"?: PtValue | undefined; \"hint:pill\"?: PtValue | undefined; \"hint:line\"?: PtValue | undefined; \"legend:pill\"?: PtValue | undefined; \"legend:line\"?: PtValue | undefined; \"list:pill\"?: PtValue | undefined; \"list:line\"?: PtValue | undefined; \"itemDescription:pill\"?: PtValue | undefined; \"itemDescription:line\"?: PtValue | undefined; }) | undefined","Passthrough, object form: the same keys as the `pt:*` attributes without the prefix. See the `pt:\u003Cpart>` row.",{"name":1195,"type":1196,"required":1054,"default":377,"description":1197,"note":377,"demo":1198},"pt:\u003Cpart>","PtValue | ((ctx: PtItemCtx\u003CT, GroupPtState, \"pill\" | \"line\">) => PtItemResult) | undefined","Passthrough, attribute form: one attribute per part, `pt:\u003Cpart>`, and per part and state, `pt:\u003Cpart>:\u003Cstate>`. Parts: `description`, `hint`, `icon`, `indicator`, `item`, `itemDescription`, `label`, `legend`, `list`, `message`, `root`. States: `checked`, `disabled`, `errors`, `focused`, `focusVisible`, `hasValue`, `line`, `loading`, `pill`, `readonly`, `warnings`.","passthrough",{"name":596,"type":1057,"required":1054,"default":1058,"description":1200,"note":1201,"demo":537},"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 this component has and a hand-composed set of `BbRadio` does not.",{"name":692,"type":1057,"required":1054,"default":1058,"description":1203,"note":1204,"demo":692},"Sets the input as required.","The only group with this prop, because one value is either present or absent. It sets the native attribute and the marker (unless `requiredAsterisk` is off). Inside a `BbForm` it is a hint and checks nothing; the message comes from `rules` there, from `errors` outside one.",{"name":1206,"type":1057,"required":1054,"default":1058,"description":1207,"note":377,"demo":377},"reverse","Reverses the layout. Applicable in every direction the order of the label and the input is swapped.",{"name":1209,"type":1210,"required":1054,"default":377,"description":1211,"note":1212,"demo":692},"rules","RuleExpression\u003Cany>","vee-validate rules for this field. Only inside a `BbForm`.","Validates the chosen value as one field. Only inside a `BbForm`, where it is what writes the message `required` does not.",{"name":451,"type":1214,"required":1054,"default":1215,"description":1216,"note":1217,"demo":631},"boolean | ((item: T) => boolean) | undefined","true","Defines whether options are selectable. Can be a global boolean that affects all options or a function that accepts an item and returns a boolean that only affects that item. Non-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":1219,"type":1069,"required":1054,"default":377,"description":1220,"note":377,"demo":377},"validationLabel","The field's name in validation messages (`{field}`): \"Email is not valid\". Defaults to the `label` (or `legend`), then \"This field\"; never the `name`. Set it when the label is hidden or reads badly in a sentence (icon-only, a question). `BbForm` only.",{"name":1222,"type":1223,"required":1054,"default":377,"description":1224,"note":377,"demo":692},"validationMode","ValidationMode | undefined","When the field validates: `aggressive` (each change), `balanced` (on leave, then live while in error), `lazy` (on leave), `submit-only`, `submit-live`. Unset: the `BbForm`'s `validation-mode`, then `formControls.validationMode` (`'balanced'`). `BbForm` only.",{"name":1226,"type":1227,"required":1054,"default":377,"description":1228,"note":377,"demo":377},"variant","keyof RadioVariantRegistry | undefined","A tab-strip look (Q76.11 d): `'pill'` (a raised pill under the pick) or `'line'` (a bar on a baseline); the indicator slides like a tab strip's. `list-layout=\"vertical\"` stacks it. Register more with `radioVariants`. Unset: the group's own rows.",{"name":1230,"type":1082,"required":1054,"default":377,"description":1231,"note":377,"demo":377},"warnings","Warning messages under the field, a string or array: amber, in their own `aria-live` region and in the control's `aria-describedby` after the errors. Non-empty turns on the warning state; errors win when both are set.",[1233],{"name":1179,"type":1180,"note":1234,"demo":470},"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.",[1236,1240,1244,1248,1252,1255,1258,1261,1265,1268,1271],{"name":1237,"signature":1238,"description":1239,"note":377,"demo":377},"active","(): void","Emitted when the group becomes active (focus\u002Fclick enters it).",{"name":1241,"signature":1242,"description":1243,"note":377,"demo":377},"blur","(event: FocusEvent): void","Emitted when one of the generated radio inputs loses focus. Forwards the original DOM `FocusEvent`.",{"name":1245,"signature":1246,"description":1247,"note":377,"demo":377},"change","(event: Event): void","Emitted when a radio option is selected. Forwards the original DOM `Event` from the radio input.",{"name":1249,"signature":1250,"description":1251,"note":377,"demo":377},"click","(event: MouseEvent): void","Emitted when one of the generated radio inputs is clicked. Forwards the original DOM `MouseEvent`.",{"name":1253,"signature":1242,"description":1254,"note":377,"demo":377},"focus","Emitted when one of the generated radio inputs receives focus. Forwards the original DOM `FocusEvent`.",{"name":1256,"signature":1238,"description":1257,"note":377,"demo":377},"inactive","Emitted when focus\u002Fclick moves outside the group after it was active. Useful for validation-on-blur flows at group level.",{"name":1259,"signature":1246,"description":1260,"note":377,"demo":377},"input","Emitted on native input events from generated radio inputs. Forwards the original DOM `Event`.",{"name":1262,"signature":1263,"description":1264,"note":377,"demo":377},"keydown","(event: KeyboardEvent): void","Emitted for keyboard interaction on generated radio inputs. Forwards the original DOM `KeyboardEvent`.",{"name":1266,"signature":1250,"description":1267,"note":377,"demo":377},"mousedown","Emitted when a pointing device button is pressed over a radio input. Forwards the original DOM `MouseEvent`.",{"name":1269,"signature":1250,"description":1270,"note":377,"demo":377},"mouseup","Emitted when a pointing device button is released over a radio input. Forwards the original DOM `MouseEvent`.",{"name":1272,"signature":1273,"description":1274,"note":377,"demo":377},"update:modelValue","(value: any): void","Emitted with the newly selected value when the selection changes.",[1276,1280,1283,1287,1291,1295,1298,1301],{"name":1277,"type":1278,"description":1279,"note":377,"demo":377},"append","object","Content rendered after the last option, inside the options container.",{"name":654,"type":1281,"description":1282,"note":377,"demo":377},"BbRadioGroupDescriptionSlotProps","Replaces the description text. Provided alone (no `description` prop) it still renders the description region and wires it into `aria-describedby`.",{"name":1284,"type":1285,"description":1286,"note":377,"demo":377},"empty","{ error: unknown; }","Content shown when no options are available (replaces the default \"no data\" text). `error` is what the latest failed load rejected with, untouched, and `null` when nothing failed — a failed load clears the rows, so this slot is where it shows.",{"name":804,"type":1288,"description":1289,"note":1290,"demo":855},"BbRadioGroupIconSlotProps\u003CT>","Replaces the default radio dot icon for each option. Receives the radio state plus the source item and its display text.","Replaces the dot per option and receives `item` alongside the current 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":459,"type":1292,"description":1293,"note":1294,"demo":855},"BbRadioGroupLabelSlotProps\u003CT>","Replaces the default label text for each option.","Scoped `{ item, text, checked, description }`, one template for every option. It is what replaced v2's removed `#option:prepend` and `#option:append`.",{"name":570,"type":1296,"description":1297,"note":377,"demo":377},"BbRadioGroupLegendSlotProps","Replaces the default fieldset legend text for the group.",{"name":1299,"type":1278,"description":1300,"note":377,"demo":377},"loading","Content shown while options are loading (replaces the default loading text).",{"name":1302,"type":1278,"description":1303,"note":377,"demo":377},"prepend","Content rendered before the first option, inside the options container.",[],{"parts":1306,"states":1334},[1307,1310,1312,1314,1317,1319,1322,1325,1327,1329,1331],{"name":1308,"description":1309},"root","The group's container (the fieldset).",{"name":570,"description":1311},"The group's heading — the fieldset `\u003Clegend>` (the `legend` prop).",{"name":654,"description":1313},"The muted line under the legend (the `description` prop).",{"name":1315,"description":1316},"message","The errors \u002F warnings line. A node of its own: it can show at the same time as `hint`.",{"name":1106,"description":1318},"The helper line (the `hint` prop), shown on focus, or always with `persistent-hint`.",{"name":1320,"description":1321},"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. With a `variant`, the tab strip. Takes the group-wide states only.",{"name":1323,"description":1324},"indicator","With a `variant`: the shape under the checked option, BbTabs' indicator — the sliding pill or bar of a radio group, a checkbox group's pill per run of adjacent picks (or bar per pick). Takes the group-wide states only.",{"name":884,"description":1326},"One option row — a broadcast, resolved per option with its own `checked` \u002F `disabled` \u002F focus. Takes a per-item function.",{"name":804,"description":1328},"One row's drawn glyph — the default one: a consumer `icon` slot replaces it. Takes a per-item function.",{"name":459,"description":1330},"One option's label text (the `label` slot's default). Takes a per-item function.",{"name":1332,"description":1333},"itemDescription","One option's muted second line, its description. Takes a per-item function.",[1335,1338,1340,1342,1345,1348,1351,1354,1356,1359,1361],{"name":1336,"description":1337},"checked","Per row, on `item`, `icon`, `label` and `itemDescription`: that option is chosen. Never on a field part.",{"name":666,"description":1339},"Component-wide while the group is `disabled`; also per row, on the row parts of an option that is disabled on its own.",{"name":753,"description":1341},"Component-wide: the group shows errors.",{"name":1343,"description":1344},"focused","Per row, on the row parts: that option's input has focus — any focus, mouse included.",{"name":1346,"description":1347},"focusVisible","Per row, on the row parts: that option's focus is keyboard-visible — where a focus ring belongs.",{"name":1349,"description":1350},"hasValue","Component-wide: at least one option is chosen.",{"name":1352,"description":1353},"line","On every part: `variant: 'line'`. Below the real states, like every variant.",{"name":1299,"description":1355},"Component-wide: the items are being fetched.",{"name":1357,"description":1358},"pill","On every part: `variant: 'pill'`. Merged after the part's base entry and before its states, so the real states still win.",{"name":596,"description":1360},"Component-wide: the group is `readonly`.",{"name":1230,"description":1362},"Component-wide: the group shows warnings and no errors.",{"removed":1364,"renamed":1406},[1365,1371,1377,1381,1386,1389,1394,1397,1401],{"name":1019,"surface":1366,"replacedBy":377,"hint":377,"since":1367,"migration":1368,"silent":1032,"fix":1369},"prop","3.0.0-beta.15","ai\u002Fguides\u002Fmigration\u002Fcomponents\u002Fbb-checkbox-group.md",{"kind":1370},"manual",{"name":1372,"surface":1366,"replacedBy":1156,"hint":377,"since":1373,"migration":1374,"silent":1032,"fix":1375},"direction","3.0.0-beta.33","ai\u002Fguides\u002Fmigration\u002Fv2-to-v3.md",{"kind":1376},"rename",{"name":1378,"surface":1366,"replacedBy":1096,"hint":377,"since":1379,"migration":1374,"silent":1032,"fix":1380},"hasWarning","3.0.0-beta.26",{"kind":1376},{"name":1382,"surface":1366,"replacedBy":1170,"hint":377,"since":1373,"migration":1374,"silent":1032,"fix":1383},"inputDirection",{"kind":1376,"valueMap":1384},{"horizontal":915,"vertical":1385},"vertical-stretch",{"name":982,"surface":1366,"replacedBy":986,"hint":377,"since":1387,"migration":1368,"silent":1032,"fix":1388},"3.0.0-alpha.1",{"kind":1376},{"name":1390,"surface":1391,"replacedBy":1284,"hint":377,"since":1392,"migration":1374,"silent":1032,"fix":1393},"no-data","slot","3.0.0-beta.41",{"kind":1376},{"name":1395,"surface":1366,"replacedBy":1076,"hint":377,"since":1392,"migration":1374,"silent":1032,"fix":1396},"noDataText",{"kind":1376},{"name":1398,"surface":1366,"replacedBy":1222,"hint":1399,"since":1392,"migration":1374,"silent":1032,"fix":1400},"validateOn","an array of events became one mode (`aggressive` | `balanced` | `lazy` | `submit-only` | `submit-live`). The old defaults (`['blur']`, `['inactive']`, a toggle's `['update:modelValue', 'change', 'blur']`) are `balanced`, the new default: delete the prop. A text field on `['update:modelValue']` is `validation-mode=\"aggressive\"`. Set it once on `\u003CBbForm validation-mode>` instead of per field",{"kind":1370},{"name":1402,"surface":1366,"replacedBy":377,"hint":1403,"since":1392,"migration":1374,"silent":1032,"fix":1404},"vid","a display name (v2: `vid=\"Email address\"`) is now `validation-label`; a field path (3.0 betas: `vid=\"address.city\"`) is now `name` (brackets for a native post: `address[city]`). `check --fix` picks by the value",{"kind":1405,"display":1219,"key":618},"byValue",[1407,1409,1411,1414,1416,1418,1420],{"from":1372,"to":1156,"surface":1366,"since":1373,"migration":1374,"fix":1408},{"kind":1376},{"from":1378,"to":1096,"surface":1366,"since":1379,"migration":1374,"fix":1410},{"kind":1376},{"from":1382,"to":1170,"surface":1366,"since":1373,"migration":1374,"fix":1412},{"kind":1376,"valueMap":1413},{"horizontal":915,"vertical":1385},{"from":982,"to":986,"surface":1366,"since":1387,"migration":1368,"fix":1415},{"kind":1376},{"from":1390,"to":1284,"surface":1391,"since":1392,"migration":1374,"fix":1417},{"kind":1376},{"from":1395,"to":1076,"surface":1366,"since":1392,"migration":1374,"fix":1419},{"kind":1376},{"from":1398,"to":1222,"surface":1366,"since":1392,"migration":1374,"fix":1421},{"kind":1370},1793055143826]