[{"data":1,"prerenderedAt":1609},["ShallowReactive",2],{"api-none":3,"docs-nav-en":4,"locale-alternates":232,"page-en-\u002Fcomponents\u002Fbb-checkbox-group":353,"pt-showcase-BbCheckboxGroup":1113,"bb-items:v-0-2-1-32-1-2":1590},null,[5,16,25,46,58,100,133,166,187,208,220,226],{"label":6,"entries":7},"Getting started",[8,12],{"title":9,"path":10,"component":-1,"order":11},"Installation","\u002Fguides\u002Finstallation",1,{"title":13,"path":14,"component":-1,"order":15},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"label":17,"entries":18},"Design system",[19,22],{"title":20,"path":21,"component":-1,"order":11},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":23,"path":24,"component":-1,"order":15},"Design language","\u002Fguides\u002Fdesign-language",{"label":26,"entries":27},"Playbooks",[28,31,34,38,42],{"title":29,"path":30,"component":-1,"order":11},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":32,"path":33,"component":-1,"order":15},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":35,"path":36,"component":-1,"order":37},"Coherence","\u002Fguides\u002Fcoherence",3,{"title":39,"path":40,"component":-1,"order":41},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":43,"path":44,"component":-1,"order":45},"Icons","\u002Fguides\u002Ficons",5,{"label":47,"entries":48},"Ecosystem",[49,52,55],{"title":50,"path":51,"component":-1,"order":11},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":53,"path":54,"component":-1,"order":15},"Nuxt","\u002Fguides\u002Fnuxt",{"title":56,"path":57,"component":-1,"order":37},"AI agents","\u002Fguides\u002Fai-agents",{"label":59,"entries":60},"Inputs",[61,64,67,70,73,76,80,84,88,92,96],{"title":62,"path":63,"component":62,"order":11},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":65,"path":66,"component":65,"order":15},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":68,"path":69,"component":68,"order":37},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":71,"path":72,"component":71,"order":41},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":74,"path":75,"component":74,"order":45},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":77,"path":78,"component":77,"order":79},"BbForm","\u002Fcomponents\u002Fbb-form",6,{"title":81,"path":82,"component":81,"order":83},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":85,"path":86,"component":85,"order":87},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":89,"path":90,"component":89,"order":91},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":93,"path":94,"component":93,"order":95},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":97,"path":98,"component":97,"order":99},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":101,"entries":102},"Selection",[103,106,109,112,115,118,121,124,127,130],{"title":104,"path":105,"component":104,"order":11},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":107,"path":108,"component":107,"order":15},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":110,"path":111,"component":110,"order":37},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":113,"path":114,"component":113,"order":41},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":116,"path":117,"component":116,"order":45},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":119,"path":120,"component":119,"order":79},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":122,"path":123,"component":122,"order":83},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":125,"path":126,"component":125,"order":87},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":128,"path":129,"component":128,"order":91},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":131,"path":132,"component":131,"order":95},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":134,"entries":135},"Overlay",[136,139,142,145,148,151,154,157,160,163],{"title":137,"path":138,"component":137,"order":11},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":140,"path":141,"component":140,"order":15},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":143,"path":144,"component":143,"order":37},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":146,"path":147,"component":146,"order":41},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":149,"path":150,"component":149,"order":45},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":152,"path":153,"component":152,"order":79},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":155,"path":156,"component":155,"order":83},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":158,"path":159,"component":158,"order":87},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":161,"path":162,"component":161,"order":91},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":164,"path":165,"component":164,"order":95},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":167,"entries":168},"Navigation",[169,172,175,178,181,184],{"title":170,"path":171,"component":170,"order":11},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":173,"path":174,"component":173,"order":15},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":176,"path":177,"component":176,"order":37},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":179,"path":180,"component":179,"order":41},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":182,"path":183,"component":182,"order":45},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":185,"path":186,"component":185,"order":79},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":188,"entries":189},"Feedback",[190,193,196,199,202,205],{"title":191,"path":192,"component":191,"order":11},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":194,"path":195,"component":194,"order":15},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":197,"path":198,"component":197,"order":37},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":200,"path":201,"component":200,"order":41},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":203,"path":204,"component":203,"order":45},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":206,"path":207,"component":206,"order":79},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":209,"entries":210},"Data Display",[211,214,217],{"title":212,"path":213,"component":212,"order":11},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":215,"path":216,"component":215,"order":15},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":218,"path":219,"component":218,"order":37},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":221,"entries":222},"Layout & Utility",[223],{"title":224,"path":225,"component":224,"order":11},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":227,"entries":228},"Other",[229],{"title":230,"path":231,"component":230,"order":11},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",{"\u002Fit\u002Fcomponenti\u002Fbb-accordion":233,"\u002Fen\u002Fcomponents\u002Fbb-accordion":234,"\u002Fit\u002Fcomponenti\u002Fbb-alert":235,"\u002Fen\u002Fcomponents\u002Fbb-alert":236,"\u002Fit\u002Fcomponenti\u002Fbb-asterisk":237,"\u002Fen\u002Fcomponents\u002Fbb-asterisk":238,"\u002Fit\u002Fcomponenti\u002Fbb-avatar":239,"\u002Fen\u002Fcomponents\u002Fbb-avatar":240,"\u002Fit\u002Fcomponenti\u002Fbb-badge":241,"\u002Fen\u002Fcomponents\u002Fbb-badge":242,"\u002Fit\u002Fcomponenti\u002Fbb-base-button":243,"\u002Fen\u002Fcomponents\u002Fbb-base-button":244,"\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs":245,"\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs":246,"\u002Fit\u002Fcomponenti\u002Fbb-button":247,"\u002Fen\u002Fcomponents\u002Fbb-button":248,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":249,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":250,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":251,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":252,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":253,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":254,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":255,"\u002Fen\u002Fcomponents\u002Fbb-color-input":256,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":257,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":258,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":259,"\u002Fen\u002Fcomponents\u002Fbb-confirm":260,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":261,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":262,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":263,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":264,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":265,"\u002Fen\u002Fcomponents\u002Fbb-dialog":266,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":267,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":268,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":269,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":270,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":271,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":272,"\u002Fit\u002Fcomponenti\u002Fbb-form":273,"\u002Fen\u002Fcomponents\u002Fbb-form":274,"\u002Fit\u002Fcomponenti\u002Fbb-icon":275,"\u002Fen\u002Fcomponents\u002Fbb-icon":276,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":277,"\u002Fen\u002Fcomponents\u002Fbb-indicator":278,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":279,"\u002Fen\u002Fcomponents\u002Fbb-number-input":280,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":281,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":282,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":283,"\u002Fen\u002Fcomponents\u002Fbb-pagination":284,"\u002Fit\u002Fcomponenti\u002Fbb-popover":285,"\u002Fen\u002Fcomponents\u002Fbb-popover":286,"\u002Fit\u002Fcomponenti\u002Fbb-progress":287,"\u002Fen\u002Fcomponents\u002Fbb-progress":288,"\u002Fit\u002Fcomponenti\u002Fbb-radio":289,"\u002Fen\u002Fcomponents\u002Fbb-radio":290,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":291,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":292,"\u002Fit\u002Fcomponenti\u002Fbb-rating":293,"\u002Fen\u002Fcomponents\u002Fbb-rating":294,"\u002Fit\u002Fcomponenti\u002Fbb-select":295,"\u002Fen\u002Fcomponents\u002Fbb-select":296,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":297,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":298,"\u002Fit\u002Fcomponenti\u002Fbb-slider":299,"\u002Fen\u002Fcomponents\u002Fbb-slider":300,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":301,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":302,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":303,"\u002Fen\u002Fcomponents\u002Fbb-spinner":304,"\u002Fit\u002Fcomponenti\u002Fbb-switch":305,"\u002Fen\u002Fcomponents\u002Fbb-switch":306,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":307,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":308,"\u002Fit\u002Fcomponenti\u002Fbb-table":309,"\u002Fen\u002Fcomponents\u002Fbb-table":310,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":311,"\u002Fen\u002Fcomponents\u002Fbb-tabs":312,"\u002Fit\u002Fcomponenti\u002Fbb-tag":313,"\u002Fen\u002Fcomponents\u002Fbb-tag":314,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":315,"\u002Fen\u002Fcomponents\u002Fbb-text-input":316,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":317,"\u002Fen\u002Fcomponents\u002Fbb-textarea":318,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":319,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":320,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":321,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":322,"\u002Fit\u002Fcomponenti\u002Fbb-toast":323,"\u002Fen\u002Fcomponents\u002Fbb-toast":324,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":325,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":326,"\u002Fit\u002Fcomponenti\u002Fbb-tree":327,"\u002Fen\u002Fcomponents\u002Fbb-tree":328,"\u002Fit\u002Fguide\u002Fai-agents":329,"\u002Fen\u002Fguides\u002Fai-agents":330,"\u002Fit\u002Fguide\u002Fcoherence":331,"\u002Fen\u002Fguides\u002Fcoherence":332,"\u002Fit\u002Fguide\u002Fdesign-language":333,"\u002Fen\u002Fguides\u002Fdesign-language":334,"\u002Fit\u002Fguide\u002Fdesign-tokens":335,"\u002Fen\u002Fguides\u002Fdesign-tokens":336,"\u002Fit\u002Fguide\u002Ffetching-data":337,"\u002Fen\u002Fguides\u002Ffetching-data":338,"\u002Fit\u002Fguide\u002Ficons":339,"\u002Fen\u002Fguides\u002Ficons":340,"\u002Fit\u002Fguide\u002Finertia":341,"\u002Fen\u002Fguides\u002Finertia":342,"\u002Fit\u002Fguide\u002Finstallation":343,"\u002Fen\u002Fguides\u002Finstallation":344,"\u002Fit\u002Fguide\u002Fmigration":345,"\u002Fen\u002Fguides\u002Fmigration":346,"\u002Fit\u002Fguide\u002Fnuxt":347,"\u002Fen\u002Fguides\u002Fnuxt":348,"\u002Fit\u002Fguide\u002Foptions-and-items":349,"\u002Fen\u002Fguides\u002Foptions-and-items":350,"\u002Fit\u002Fguide\u002Fvalidated-forms":351,"\u002Fen\u002Fguides\u002Fvalidated-forms":352},"\u002Fen\u002Fcomponents\u002Fbb-accordion","\u002Fit\u002Fcomponenti\u002Fbb-accordion","\u002Fen\u002Fcomponents\u002Fbb-alert","\u002Fit\u002Fcomponenti\u002Fbb-alert","\u002Fen\u002Fcomponents\u002Fbb-asterisk","\u002Fit\u002Fcomponenti\u002Fbb-asterisk","\u002Fen\u002Fcomponents\u002Fbb-avatar","\u002Fit\u002Fcomponenti\u002Fbb-avatar","\u002Fen\u002Fcomponents\u002Fbb-badge","\u002Fit\u002Fcomponenti\u002Fbb-badge","\u002Fen\u002Fcomponents\u002Fbb-base-button","\u002Fit\u002Fcomponenti\u002Fbb-base-button","\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs","\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs","\u002Fen\u002Fcomponents\u002Fbb-button","\u002Fit\u002Fcomponenti\u002Fbb-button","\u002Fen\u002Fcomponents\u002Fbb-checkbox","\u002Fit\u002Fcomponenti\u002Fbb-checkbox","\u002Fen\u002Fcomponents\u002Fbb-checkbox-group","\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group","\u002Fen\u002Fcomponents\u002Fbb-collapsible","\u002Fit\u002Fcomponenti\u002Fbb-collapsible","\u002Fen\u002Fcomponents\u002Fbb-color-input","\u002Fit\u002Fcomponenti\u002Fbb-color-input","\u002Fen\u002Fcomponents\u002Fbb-color-palette","\u002Fit\u002Fcomponenti\u002Fbb-color-palette","\u002Fen\u002Fcomponents\u002Fbb-confirm","\u002Fit\u002Fcomponenti\u002Fbb-confirm","\u002Fen\u002Fcomponents\u002Fbb-date-picker","\u002Fit\u002Fcomponenti\u002Fbb-date-picker","\u002Fen\u002Fcomponents\u002Fbb-date-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input","\u002Fen\u002Fcomponents\u002Fbb-dialog","\u002Fit\u002Fcomponenti\u002Fbb-dialog","\u002Fen\u002Fcomponents\u002Fbb-dropdown","\u002Fit\u002Fcomponenti\u002Fbb-dropdown","\u002Fen\u002Fcomponents\u002Fbb-dropdown-button","\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button","\u002Fen\u002Fcomponents\u002Fbb-dropzone","\u002Fit\u002Fcomponenti\u002Fbb-dropzone","\u002Fen\u002Fcomponents\u002Fbb-form","\u002Fit\u002Fcomponenti\u002Fbb-form","\u002Fen\u002Fcomponents\u002Fbb-icon","\u002Fit\u002Fcomponenti\u002Fbb-icon","\u002Fen\u002Fcomponents\u002Fbb-indicator","\u002Fit\u002Fcomponenti\u002Fbb-indicator","\u002Fen\u002Fcomponents\u002Fbb-number-input","\u002Fit\u002Fcomponenti\u002Fbb-number-input","\u002Fen\u002Fcomponents\u002Fbb-off-canvas","\u002Fit\u002Fcomponenti\u002Fbb-off-canvas","\u002Fen\u002Fcomponents\u002Fbb-pagination","\u002Fit\u002Fcomponenti\u002Fbb-pagination","\u002Fen\u002Fcomponents\u002Fbb-popover","\u002Fit\u002Fcomponenti\u002Fbb-popover","\u002Fen\u002Fcomponents\u002Fbb-progress","\u002Fit\u002Fcomponenti\u002Fbb-progress","\u002Fen\u002Fcomponents\u002Fbb-radio","\u002Fit\u002Fcomponenti\u002Fbb-radio","\u002Fen\u002Fcomponents\u002Fbb-radio-group","\u002Fit\u002Fcomponenti\u002Fbb-radio-group","\u002Fen\u002Fcomponents\u002Fbb-rating","\u002Fit\u002Fcomponenti\u002Fbb-rating","\u002Fen\u002Fcomponents\u002Fbb-select","\u002Fit\u002Fcomponenti\u002Fbb-select","\u002Fen\u002Fcomponents\u002Fbb-select-popover","\u002Fit\u002Fcomponenti\u002Fbb-select-popover","\u002Fen\u002Fcomponents\u002Fbb-slider","\u002Fit\u002Fcomponenti\u002Fbb-slider","\u002Fen\u002Fcomponents\u002Fbb-smooth-height","\u002Fit\u002Fcomponenti\u002Fbb-smooth-height","\u002Fen\u002Fcomponents\u002Fbb-spinner","\u002Fit\u002Fcomponenti\u002Fbb-spinner","\u002Fen\u002Fcomponents\u002Fbb-switch","\u002Fit\u002Fcomponenti\u002Fbb-switch","\u002Fen\u002Fcomponents\u002Fbb-switch-group","\u002Fit\u002Fcomponenti\u002Fbb-switch-group","\u002Fen\u002Fcomponents\u002Fbb-table","\u002Fit\u002Fcomponenti\u002Fbb-table","\u002Fen\u002Fcomponents\u002Fbb-tabs","\u002Fit\u002Fcomponenti\u002Fbb-tabs","\u002Fen\u002Fcomponents\u002Fbb-tag","\u002Fit\u002Fcomponenti\u002Fbb-tag","\u002Fen\u002Fcomponents\u002Fbb-text-input","\u002Fit\u002Fcomponenti\u002Fbb-text-input","\u002Fen\u002Fcomponents\u002Fbb-textarea","\u002Fit\u002Fcomponenti\u002Fbb-textarea","\u002Fen\u002Fcomponents\u002Fbb-time-picker","\u002Fit\u002Fcomponenti\u002Fbb-time-picker","\u002Fen\u002Fcomponents\u002Fbb-time-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input","\u002Fen\u002Fcomponents\u002Fbb-toast","\u002Fit\u002Fcomponenti\u002Fbb-toast","\u002Fen\u002Fcomponents\u002Fbb-tooltip","\u002Fit\u002Fcomponenti\u002Fbb-tooltip","\u002Fen\u002Fcomponents\u002Fbb-tree","\u002Fit\u002Fcomponenti\u002Fbb-tree","\u002Fen\u002Fguides\u002Fai-agents","\u002Fit\u002Fguide\u002Fai-agents","\u002Fen\u002Fguides\u002Fcoherence","\u002Fit\u002Fguide\u002Fcoherence","\u002Fen\u002Fguides\u002Fdesign-language","\u002Fit\u002Fguide\u002Fdesign-language","\u002Fen\u002Fguides\u002Fdesign-tokens","\u002Fit\u002Fguide\u002Fdesign-tokens","\u002Fen\u002Fguides\u002Ffetching-data","\u002Fit\u002Fguide\u002Ffetching-data","\u002Fen\u002Fguides\u002Ficons","\u002Fit\u002Fguide\u002Ficons","\u002Fen\u002Fguides\u002Finertia","\u002Fit\u002Fguide\u002Finertia","\u002Fen\u002Fguides\u002Finstallation","\u002Fit\u002Fguide\u002Finstallation","\u002Fen\u002Fguides\u002Fmigration","\u002Fit\u002Fguide\u002Fmigration","\u002Fen\u002Fguides\u002Fnuxt","\u002Fit\u002Fguide\u002Fnuxt","\u002Fen\u002Fguides\u002Foptions-and-items","\u002Fit\u002Fguide\u002Foptions-and-items","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",{"id":354,"title":107,"body":355,"component":107,"description":1097,"extension":1098,"group":101,"meta":1099,"navigation":1100,"order":15,"path":108,"sections":1101,"seo":1110,"stem":1111,"__hash__":1112},"docs_en\u002Fcomponents\u002Fbb-checkbox-group.md",{"type":356,"value":357,"toc":1087},"minimark",[358,411,417,425,428,432,446,458,464,475,478,491,502,508,511,514,520,541,565,577,583,588,591,597,603,614,617,626,639,716,726,732,742,745,759,765,776,779,790,814,820,830,833,850,864,871,1020,1026,1075,1083],[359,360,361,369],"when",{},[362,363,364,365,368],"p",{},"Reach for ",[366,367,107],"code",{}," when the answer is several choices out of one set:\nwhich teams get the alert, which scopes the token carries. You hand it your\nrows, it renders one box per row.",[370,371,373],"template",{"v-slot:else":372},"",[374,375,376,385,392,404],"ul",{},[377,378,379,384],"li",{},[380,381,382],"a",{"href":249},[366,383,104],{},": it is one yes\u002Fno standing alone",[377,386,387,391],{},[380,388,389],{"href":291},[366,390,113],{},": exactly one choice out of the\nset",[377,393,394,398,399,403],{},[380,395,396],{"href":307},[366,397,131],{},": they are on\u002Foff ",[400,401,402],"strong",{},"states",",\nnot answers",[377,405,406,410],{},[380,407,408],{"href":295},[366,409,119],{},": the set is long, searchable or paged.\nForty checkboxes are a scroll, not a control",[362,412,413,414,416],{},"Do not hand-stack ",[366,415,104],{},". The group adds a fieldset, shared validation,\nitem mapping, and selection limits.",[418,419,421],"h2",{"id":420},"default",[422,423,424],"span",{},"Options from your data",[362,426,427],{},"Pass your domain objects as they are, and name the two fields that matter: the\none the user reads, and the one you want in the model.",[429,430],"demo",{"name":431},"BbCheckboxGroup\u002FBasic",[362,433,434,435,438,439,442,443,445],{},"Use ",[366,436,437],{},"item-text"," and ",[366,440,441],{},"item-value"," for objects. Prefer a unique primitive id for\n",[366,444,441],{},"; duplicate values are dropped silently.",[362,447,448,449,453,454,457],{},"The default model is an array. For one exclusive value, use\n",[380,450,451],{"href":291},[366,452,113],{}," instead of\n",[366,455,456],{},":multiple=\"false\"",".",[418,459,461],{"id":460},"legend",[422,462,463],{},"The fieldset and the legend",[362,465,466,467,470,471,474],{},"The group renders a real ",[366,468,469],{},"\u003Cfieldset>"," with a real ",[366,472,473],{},"\u003Clegend>",", which is what\nmakes the boxes one thing rather than several.",[429,476],{"name":477},"BbCheckboxGroup\u002FLegend",[362,479,480,482,483,486,487,490],{},[366,481,460],{}," is required and names the set for assistive technology. Use\n",[366,484,485],{},"hide-legend"," when a nearby heading already shows the same name. ",[366,488,489],{},"hide-label","\ninstead hides every option label.",[362,492,493,494,497,498,501],{},"The group takes one ",[366,495,496],{},"description"," and one ",[366,499,500],{},"hint",". Use separate checkboxes when\nindividual options need different explanations.",[418,503,505],{"id":504},"gating",[422,506,507],{},"Locked options",[362,509,510],{},"An option that exists but cannot be chosen is a predicate over the item, not a\nflag inside it.",[429,512],{"name":513},"BbCheckboxGroup\u002FAvailability",[362,515,516,519],{},[366,517,518],{},"selectable"," locks all options or selected items through a predicate. Rejected\noptions stay visible and disabled.",[362,521,522,529,530,533,534,537,538,540],{},[400,523,524,525,528],{},"Migrating from v2: a ",[366,526,527],{},"disabled"," field on the item object now does nothing",".\nv2's groups honoured it and warned; v3 treats it as ordinary domain data and\nignores it silently. Options that used to render locked become tickable. Grep\nthe code that builds your ",[366,531,532],{},"items"," for ",[366,535,536],{},"disabled:"," and move each one into\n",[366,539,518],{},":",[542,543,547],"pre",{"className":544,"code":545,"language":546,"meta":372,"style":372},"language-diff shiki shiki-themes github-light-high-contrast github-dark-high-contrast","- :items=\"channels.map((c) => ({ ...c, disabled: !c.configured }))\"\n+ :items=\"channels\"\n+ :selectable=\"(c) => c.configured\"\n","diff",[366,548,549,555,560],{"__ignoreMap":372},[422,550,552],{"class":551,"line":11},"line",[422,553,554],{},"- :items=\"channels.map((c) => ({ ...c, disabled: !c.configured }))\"\n",[422,556,557],{"class":551,"line":15},[422,558,559],{},"+ :items=\"channels\"\n",[422,561,562],{"class":551,"line":37},[422,563,564],{},"+ :selectable=\"(c) => c.configured\"\n",[362,566,567,570,571,573,574,576],{},[366,568,569],{},"readonly"," keeps values focusable and submitted while blocking changes.\n",[366,572,527],{}," currently leaves selected options removable, so use ",[366,575,569],{}," to\nfreeze a populated group.",[418,578,580],{"id":579},"max",[422,581,582],{},"Capping the selection",[362,584,585,587],{},[366,586,579],{}," is the cap on how many options may be on at once.",[429,589],{"name":590},"BbCheckboxGroup\u002FMaxSelection",[362,592,593,594,596],{},"At the cap, unchecked options disable while checked ones stay removable. State\nthe limit in ",[366,595,496],{}," and show a count; the component renders neither.",[418,598,600],{"id":599},"validation",[422,601,602],{},"Validating the whole set",[362,604,605,606,609,610,613],{},"There is no ",[366,607,608],{},"required"," prop here. \"At least one\" is an application rule, so it\nlives in the one ",[366,611,612],{},"errors"," channel the fieldset already has.",[429,615],{"name":616},"BbCheckboxGroup\u002FValidation",[362,618,619,620,622,623,625],{},"One ",[366,621,612],{}," message covers the set. There is no ",[366,624,608],{}," prop; validate the\narray when at least one choice is mandatory.",[362,627,628,629,632,633,636,637,457],{},"Inside a validated form, import the group from ",[366,630,631],{},"bitboss-ui\u002Fvalidated"," and give\nit ",[366,634,635],{},"rules",". The array is validated as a single field, and the field's name comes\nfrom ",[366,638,460],{},[542,640,644],{"className":641,"code":642,"language":643,"meta":372,"style":372},"language-vue shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u003CBbCheckboxGroup\n    v-model=\"scopes\"\n    :items=\"available\"\n    legend=\"Token scopes\"\n    rules=\"required\"\n\u002F>\n","vue",[366,645,646,656,674,690,701,711],{"__ignoreMap":372},[422,647,648,652],{"class":551,"line":11},[422,649,651],{"class":650},"suds8","\u003C",[422,653,655],{"class":654},"sne4z","BbCheckboxGroup\n",[422,657,658,662,665,668,671],{"class":551,"line":15},[422,659,661],{"class":660},"s-5SL","    v-model",[422,663,664],{"class":650},"=",[422,666,667],{"class":650},"\"",[422,669,670],{"class":650},"scopes",[422,672,673],{"class":650},"\"\n",[422,675,676,679,681,683,685,688],{"class":551,"line":37},[422,677,678],{"class":650},"    :",[422,680,532],{"class":660},[422,682,664],{"class":650},[422,684,667],{"class":650},[422,686,687],{"class":650},"available",[422,689,673],{"class":650},[422,691,692,695,697],{"class":551,"line":41},[422,693,694],{"class":660},"    legend",[422,696,664],{"class":650},[422,698,700],{"class":699},"sT6z2","\"Token scopes\"\n",[422,702,703,706,708],{"class":551,"line":45},[422,704,705],{"class":660},"    rules",[422,707,664],{"class":650},[422,709,710],{"class":699},"\"required\"\n",[422,712,713],{"class":551,"line":79},[422,714,715],{"class":650},"\u002F>\n",[362,717,718,721,722,725],{},[366,719,720],{},"validate-on"," defaults to ",[366,723,724],{},"['inactive']",", after focus leaves the group.",[418,727,729],{"id":728},"coherence",[422,730,731],{},"When the options change",[362,733,734,735,737,738,741],{},"Give ",[366,736,532],{}," a function instead of an array and the group loads its own options.\n",[366,739,740],{},"dependencies"," says what makes it load them again.",[429,743],{"name":744},"BbCheckboxGroup\u002FCoherence",[362,746,747,748,750,751,754,755,758],{},"The provider runs on mount and when ",[366,749,740],{}," change.\n",[366,752,753],{},"deps-debounce-time"," groups rapid changes. Add ",[366,756,757],{},"enforce-coherence"," when stale\nselections must be removed after options reload.",[418,760,762],{"id":761},"option-content",[422,763,764],{},"Decorating an option",[362,766,767,768,771,772,775],{},"The ",[366,769,770],{},"label"," slot replaces the text of ",[400,773,774],{},"every"," option, and receives enough to\ndecide what each one looks like.",[429,777],{"name":778},"BbCheckboxGroup\u002FOptionContent",[362,780,781,782,785,786,789],{},"The scope is ",[366,783,784],{},"{ item, text, checked }",". Keep ",[366,787,788],{},"text"," in the rendered label so the\noption retains an accessible name. Use separate checkboxes when only one option\nneeds unique markup.",[791,792,793],"migration",{},[362,794,795,438,798,801,802,805,806,809,810,813],{},[366,796,797],{},"#option:prepend",[366,799,800],{},"#option:append"," are gone. Everything they did moves into\n",[366,803,804],{},"#label",", which can put content on either side of the text. Note that ",[366,807,808],{},"#prepend","\nand ",[366,811,812],{},"#append"," still exist and are unrelated. Those inject once into the options\ncontainer, before the first option and after the last.",[418,815,817],{"id":816},"styling",[422,818,819],{},"Layout and CSS",[362,821,822,825,826,829],{},[366,823,824],{},"input-direction"," arranges options. ",[366,827,828],{},"direction"," arranges the legend and options.",[429,831],{"name":832},"BbCheckboxGroup\u002FLayout",[362,834,835,838,839,841,842,845,846,849],{},[366,836,837],{},"input-direction=\"vertical\""," stacks options. Use ",[366,840,828],{},", alignment props,\n",[366,843,844],{},"reverse",", and ",[366,847,848],{},"compact"," for the outer fieldset layout.",[791,851,852],{},[362,853,854,857,858,863],{},[366,855,856],{},"labelPosition"," is now ",[400,859,860],{},[366,861,862],{},"legendPosition",". It is a plain rename with no\nbehaviour change, and it is silent: an unknown attribute falls through to the\nDOM, so the alignment stops applying.",[362,865,866,867,870],{},"The other v3 change here is bigger and just as quiet. In v2 one CSS block,\n",[366,868,869],{},"bb-cr-container",", served all three groups, so a rule written for checkboxes hit\nradios too. Each group now has its own block, with otherwise identical suffixes:",[872,873,874,887],"table",{},[875,876,877],"thead",{},[878,879,880,884],"tr",{},[881,882,883],"th",{},"v2",[881,885,886],{},"v3",[888,889,890,910,922,934,946,958,970,982,994,1006],"tbody",{},[878,891,892,898],{},[893,894,895],"td",{},[366,896,897],{},".bb-cr-container",[893,899,900,903,904,903,907],{},[366,901,902],{},".bb-base-checkbox-group",", ",[366,905,906],{},".bb-base-radio-group",[366,908,909],{},".bb-base-switch-group",[878,911,912,917],{},[893,913,914],{},[366,915,916],{},".bb-cr-container--horizontal",[893,918,919],{},[366,920,921],{},".bb-base-…-group--horizontal",[878,923,924,929],{},[893,925,926],{},[366,927,928],{},".bb-cr-container--vertical",[893,930,931],{},[366,932,933],{},".bb-base-…-group--vertical",[878,935,936,941],{},[893,937,938],{},[366,939,940],{},".bb-cr-container--errors",[893,942,943],{},[366,944,945],{},".bb-base-…-group--errors",[878,947,948,953],{},[893,949,950],{},[366,951,952],{},".bb-cr-container__container",[893,954,955],{},[366,956,957],{},".bb-base-…-group__container",[878,959,960,965],{},[893,961,962],{},[366,963,964],{},".bb-cr-container__loading-container",[893,966,967],{},[366,968,969],{},".bb-base-…-group__loading-container",[878,971,972,977],{},[893,973,974],{},[366,975,976],{},".bb-cr-container__no-data-container",[893,978,979],{},[366,980,981],{},".bb-base-…-group__no-data-container",[878,983,984,989],{},[893,985,986],{},[366,987,988],{},".bb-cr-container-option",[893,990,991],{},[366,992,993],{},".bb-base-…-group-option",[878,995,996,1001],{},[893,997,998],{},[366,999,1000],{},".bb-cr-container-option__text",[893,1002,1003],{},[366,1004,1005],{},".bb-base-…-group-option__text",[878,1007,1008,1011],{},[893,1009,1010],{},"—",[893,1012,1013,438,1016,1019],{},[366,1014,1015],{},".bb-base-…-group--warnings",[366,1017,1018],{},".bb-base-…-group-option--selected",", both new",[362,1021,1022,1023,1025],{},"Nothing in v3 renders ",[366,1024,869],{},". Search styles and test selectors, then\nlist all three new blocks where a rule applies to every group.",[542,1027,1031],{"className":1028,"code":1029,"language":1030,"meta":372,"style":372},"language-css shiki shiki-themes github-light-high-contrast github-dark-high-contrast",".bb-base-checkbox-group-option__text,\n.bb-base-radio-group-option__text,\n.bb-base-switch-group-option__text {\n    font-weight: 500;\n}\n","css",[366,1032,1033,1041,1048,1056,1070],{"__ignoreMap":372},[422,1034,1035,1038],{"class":551,"line":11},[422,1036,1037],{"class":660},".bb-base-checkbox-group-option__text",[422,1039,1040],{"class":650},",\n",[422,1042,1043,1046],{"class":551,"line":15},[422,1044,1045],{"class":660},".bb-base-radio-group-option__text",[422,1047,1040],{"class":650},[422,1049,1050,1053],{"class":551,"line":37},[422,1051,1052],{"class":660},".bb-base-switch-group-option__text",[422,1054,1055],{"class":650}," {\n",[422,1057,1058,1061,1064,1067],{"class":551,"line":41},[422,1059,1060],{"class":660},"    font-weight",[422,1062,1063],{"class":650},": ",[422,1065,1066],{"class":660},"500",[422,1068,1069],{"class":650},";\n",[422,1071,1072],{"class":551,"line":45},[422,1073,1074],{"class":650},"}\n",[362,1076,1077,1078,457],{},"For control colors and geometry, use the box variables documented on\n",[380,1079,1081],{"href":1080},"\u002Fen\u002Fcomponents\u002Fbb-checkbox#custom-markup",[366,1082,104],{},[1084,1085,1086],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .suds8, html code.shiki .suds8{--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sne4z, html code.shiki .sne4z{--shiki-default:#024C1A;--shiki-dark:#72F088}html pre.shiki code .s-5SL, html code.shiki .s-5SL{--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .sT6z2, html code.shiki .sT6z2{--shiki-default:#032563;--shiki-dark:#ADDCFF}",{"title":372,"searchDepth":37,"depth":37,"links":1088},[1089,1090,1091,1092,1093,1094,1095,1096],{"id":420,"depth":15,"text":424},{"id":460,"depth":15,"text":463},{"id":504,"depth":15,"text":507},{"id":579,"depth":15,"text":582},{"id":599,"depth":15,"text":602},{"id":728,"depth":15,"text":731},{"id":761,"depth":15,"text":764},{"id":816,"depth":15,"text":819},"Several boxes inside one set, with your data as the options and one array as the model.","md",{},true,[1102,1103,1104,1105,1106,1107,1108,1109],{"id":420,"title":424},{"id":460,"title":463},{"id":504,"title":507},{"id":579,"title":582},{"id":599,"title":602},{"id":728,"title":731},{"id":761,"title":764},{"id":816,"title":819},{"title":107,"description":1097},"components\u002Fbb-checkbox-group","hxD21NnEpYxGAPtE1q1qspIG9pCB9YJIBTzecI0OxZ8",{"name":107,"slug":1114,"group":101,"description":1115,"entrypoint":1116,"docs":1117,"props":1120,"models":1426,"events":1429,"slots":1474,"exposed":1504,"pt":1505,"validated":1555,"migration":1570},"bb-checkbox-group","Manages multiple checkbox options as a group.","bitboss-ui",{"contract":1118,"source":1119},"ai\u002FBbCheckboxGroup.md","ai\u002Fsource\u002FBbCheckboxGroup.md",[1121,1126,1130,1134,1138,1142,1146,1149,1153,1157,1160,1163,1167,1171,1173,1176,1181,1186,1190,1194,1199,1204,1208,1213,1216,1220,1223,1227,1230,1235,1238,1241,1244,1248,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1417,1419,1423],{"name":1122,"type":1123,"required":1124,"default":3,"description":1125,"note":3,"demo":3},"autofocus","Booleanish | undefined",false,"Sets autofocus on page load.",{"name":848,"type":1127,"required":1124,"default":1128,"description":1129,"note":3,"demo":816},"boolean | undefined","false","Displays the component in a compact version.",{"name":740,"type":1131,"required":1124,"default":3,"description":1132,"note":1133,"demo":728},"unknown[] | undefined","Defines an array of dependencies that will trigger actions in the component upon change.","Only meaningful when `items` is a provider function: it names what makes the group call it again. A dependency that is a text field wants `deps-debounce-time` with it; one that is another group does not.",{"name":1135,"type":1136,"required":1124,"default":3,"description":1137,"note":3,"demo":728},"depsDebounceTime","number | undefined","Timeout used to debounce response to changes to dependencies.",{"name":496,"type":1139,"required":1124,"default":3,"description":1140,"note":1141,"demo":460},"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`).","One description for the whole set — there is no per-option equivalent. When each option needs its own line, the options are not uniform and a `BbCheckbox` per row is the honest answer.",{"name":828,"type":1143,"required":1124,"default":3,"description":1144,"note":1145,"demo":816},"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`.","Splits the legend from the options, not the options from each other — that is `input-direction`. Defaults to `vertical`, which is why the legend sits above.",{"name":527,"type":1127,"required":1124,"default":1128,"description":1147,"note":1148,"demo":504},"Disables the component.","Currently exempts options that are already ticked, so a disabled group with a selection can still be unticked. Until that is fixed in the library, lock a group carrying a selection with `readonly`.",{"name":1150,"type":1127,"required":1124,"default":1128,"description":1151,"note":1152,"demo":728},"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.","Drops model entries the current options no longer contain. Worth it when the options depend on another field, and not otherwise — a selection can vanish without the user doing anything.",{"name":612,"type":1154,"required":1124,"default":3,"description":1155,"note":1156,"demo":599},"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.","One channel for the whole fieldset, which is the concrete payoff over a hand-stacked row of `BbCheckbox` — there, the message has to be pinned to one arbitrary box.",{"name":1158,"type":1127,"required":1124,"default":1128,"description":1159,"note":3,"demo":599},"hasErrors","Define if the component should be in an error state.\nIt usually attaches a CSS class for styling purposes.",{"name":1161,"type":1127,"required":1124,"default":1128,"description":1162,"note":3,"demo":599},"hasWarnings","Define if the component should be in a warning state.\nSame chrome as errors with `--bb-warn`; errors take priority.",{"name":1164,"type":1127,"required":1124,"default":1128,"description":1165,"note":1166,"demo":460},"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.","Hides each option's text, not the legend. For a group whose options are drawn entirely by the `icon` slot, and nothing else.",{"name":1168,"type":1127,"required":1124,"default":1128,"description":1169,"note":1170,"demo":460},"hideLegend","Visually hides the legend of the fieldset while maintaining accessibility.","Hides the group's name while keeping it for assistive technology. For when a visible heading right above already says the same words — never as a way to avoid writing one.",{"name":500,"type":1139,"required":1124,"default":3,"description":1172,"note":3,"demo":460},"Text box to be displayed near the input, usually to indicate instructions.",{"name":1174,"type":1139,"required":1124,"default":3,"description":1175,"note":3,"demo":3},"id","The identifier of the component.",{"name":1177,"type":1178,"required":1124,"default":3,"description":1179,"note":1180,"demo":816},"inputDirection","\"horizontal\" | \"vertical\" | undefined","Defines the direction of the inputs in the fieldset.","Lays the options out inside the fieldset. Defaults to `horizontal`: a wrapping row, not a stack.",{"name":1182,"type":1183,"required":1124,"default":1184,"description":1185,"note":3,"demo":816},"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":1187,"type":1188,"required":1124,"default":3,"description":1189,"note":3,"demo":3},"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":532,"type":1191,"required":1100,"default":3,"description":1192,"note":1193,"demo":420},"T[] | ((prefill: boolean, modelValue?: any) => T[] | Promise\u003CT[]>)","Used to retrieve items; can be an array or a function.","An array, or a function called on mount and after every `dependencies` change, returning an array or a promise. Options whose resolved value duplicates an earlier one are dropped silently, first occurrence winning.",{"name":1195,"type":1196,"required":1124,"default":3,"description":1197,"note":1198,"demo":420},"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.","A property path (`\"fullName\"`, `\"profile.city\"`) or a function. Omit it for primitive items, where the value is its own label.",{"name":1200,"type":1201,"required":1124,"default":3,"description":1202,"note":1203,"demo":420},"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.","Prefer a stable primitive id. With this unset the model holds the whole item, which works — matching is structural, not by reference — but an id survives a refetch and is readable in a payload.",{"name":460,"type":1205,"required":1100,"default":3,"description":1206,"note":1207,"demo":460},"string","Text content of the legend.","Required, because it is the fieldset's accessible name: a screen reader announces it on entry, so every box is heard as an answer to a named question. Hide it with `hide-legend` when a visible heading already carries it.",{"name":1209,"type":1210,"required":1124,"default":3,"description":1211,"note":1212,"demo":460},"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 option groups (checkbox, radio or\nswitch) — there is no single field for the legend to float against.","No floating mode here — a group has no single input for a label to float into.",{"name":862,"type":1183,"required":1124,"default":3,"description":1214,"note":1215,"demo":816},"Sets the text alignment of the label.","Renamed from v2's `labelPosition`, with no change in behaviour. The rename is silent: an unknown attribute falls through to the DOM, so the alignment just stops applying.",{"name":1217,"type":1139,"required":1124,"default":3,"description":1218,"note":1219,"demo":728},"loadingText","String displayed while items are being loaded.","Worth setting to something specific. \"Loading hubs…\" tells the reader more than the default.",{"name":579,"type":1136,"required":1124,"default":3,"description":1221,"note":1222,"demo":579},"Maximum number of selected items.","A shape rule, not a validation rule: it prevents the extra choice rather than complaining about it. Once the cap is reached the options that are off render disabled and the ticked ones stay live, so the user swaps rather than getting stuck.",{"name":1224,"type":1225,"required":1100,"default":3,"description":1226,"note":3,"demo":3},"modelValue","any","Used by v-model. Can be an array of any serializable type.",{"name":1228,"type":1136,"required":1124,"default":3,"description":1229,"note":3,"demo":3},"modelValueDebounceTime","Timeout used to debounce response to changes to modelValue.",{"name":1231,"type":1127,"required":1124,"default":1232,"description":1233,"note":1234,"demo":420},"multiple","true","Enables multi-selection behavior.\nWhen true, `modelValue` must be an array.\nWhen false, `modelValue` should be a single value.","True by default, so the model must be an array — a non-array throws on mount. Setting it false gives a single-value control that emits a bare value and `null`; it works, and an exclusive choice drawn as checkboxes is `BbRadioGroup`.",{"name":1236,"type":1139,"required":1124,"default":3,"description":1237,"note":3,"demo":3},"name","Defines the name of the input.",{"name":1239,"type":1139,"required":1124,"default":3,"description":1240,"note":3,"demo":728},"noDataText","String displayed when there are no items to display.",{"name":1242,"type":1127,"required":1124,"default":1128,"description":1243,"note":3,"demo":3},"persistentHint","Keeps the hint displayed.",{"name":1245,"type":1246,"required":1124,"default":3,"description":1247,"note":3,"demo":3},"pt","GroupPtMap\u003CT> | undefined","Passthrough, object form: the same keys as the `pt:*` attributes\nwithout the prefix. See the `pt:\u003Cpart>` row.",{"name":1249,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:description","PtValue | undefined",{"name":1252,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:description:disabled",{"name":1254,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:description:errors",{"name":1256,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:description:has-value",{"name":1258,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:description:loading",{"name":1260,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:description:readonly",{"name":1262,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:description:warnings",{"name":1264,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:hint",{"name":1266,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:hint:disabled",{"name":1268,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:hint:errors",{"name":1270,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:hint:has-value",{"name":1272,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:hint:loading",{"name":1274,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:hint:readonly",{"name":1276,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:hint:warnings",{"name":1278,"type":1279,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon","PtValue | ((ctx: PtItemCtx\u003CT, GroupPtState>) => PtItemResult) | undefined",{"name":1281,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:checked",{"name":1283,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:disabled",{"name":1285,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:errors",{"name":1287,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:focus-visible",{"name":1289,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:focused",{"name":1291,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:has-value",{"name":1293,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:loading",{"name":1295,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:readonly",{"name":1297,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:icon:warnings",{"name":1299,"type":1279,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item",{"name":1301,"type":1279,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description",{"name":1303,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:checked",{"name":1305,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:disabled",{"name":1307,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:errors",{"name":1309,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:focus-visible",{"name":1311,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:focused",{"name":1313,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:has-value",{"name":1315,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:loading",{"name":1317,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:readonly",{"name":1319,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item-description:warnings",{"name":1321,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:checked",{"name":1323,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:disabled",{"name":1325,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:errors",{"name":1327,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:focus-visible",{"name":1329,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:focused",{"name":1331,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:has-value",{"name":1333,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:loading",{"name":1335,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:readonly",{"name":1337,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:item:warnings",{"name":1339,"type":1279,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label",{"name":1341,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:checked",{"name":1343,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:disabled",{"name":1345,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:errors",{"name":1347,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:focus-visible",{"name":1349,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:focused",{"name":1351,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:has-value",{"name":1353,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:loading",{"name":1355,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:readonly",{"name":1357,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:label:warnings",{"name":1359,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:legend",{"name":1361,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:legend:disabled",{"name":1363,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:legend:errors",{"name":1365,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:legend:has-value",{"name":1367,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:legend:loading",{"name":1369,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:legend:readonly",{"name":1371,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:legend:warnings",{"name":1373,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:list",{"name":1375,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:list:disabled",{"name":1377,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:list:errors",{"name":1379,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:list:has-value",{"name":1381,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:list:loading",{"name":1383,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:list:readonly",{"name":1385,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:list:warnings",{"name":1387,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:message",{"name":1389,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:message:disabled",{"name":1391,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:message:errors",{"name":1393,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:message:has-value",{"name":1395,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:message:loading",{"name":1397,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:message:readonly",{"name":1399,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:message:warnings",{"name":1401,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:root",{"name":1403,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:root:disabled",{"name":1405,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:root:errors",{"name":1407,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:root:has-value",{"name":1409,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:root:loading",{"name":1411,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:root:readonly",{"name":1413,"type":1250,"required":1124,"default":3,"description":3,"note":3,"demo":3},"pt:root:warnings",{"name":569,"type":1127,"required":1124,"default":1128,"description":1415,"note":1416,"demo":504},"Sets the input in a readonly state.","Keeps every box focusable and submitted while swallowing every change. The right lock for a value the user may read and must not alter, and the reliable one when the group already carries a selection.",{"name":844,"type":1127,"required":1124,"default":1128,"description":1418,"note":3,"demo":816},"Reverses the layout. Applicable in every direction the order of the label and the input is swapped.",{"name":518,"type":1420,"required":1124,"default":1232,"description":1421,"note":1422,"demo":504},"boolean | ((item: T) => boolean) | undefined","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 boolean for the group or a predicate over the item. This is where v2's per-item `disabled` field went: that field is inert in v3, silently, so options that used to render locked become tickable.",{"name":1424,"type":1154,"required":1124,"default":3,"description":1425,"note":3,"demo":599},"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.",[1427],{"name":1224,"type":1225,"note":1428,"demo":420},"The array of resolved values, re-emitted in full on every change — never the option that moved. Diff it against the previous value when you need to know what changed.",[1430,1434,1438,1442,1446,1450,1454,1458,1462,1466,1470],{"name":1431,"signature":1432,"description":1433,"note":3,"demo":3},"active","(e: \"active\"): void","Emitted when the group becomes active (focus\u002Fclick enters it).",{"name":1435,"signature":1436,"description":1437,"note":3,"demo":3},"blur","(e: \"blur\", event: FocusEvent): void","Emitted when one of the generated checkbox inputs loses focus.\nForwards the original DOM `FocusEvent`.",{"name":1439,"signature":1440,"description":1441,"note":3,"demo":3},"change","(e: \"change\", event: Event): void","Emitted when an option is toggled.\nForwards the original DOM `Event` from the checkbox input.",{"name":1443,"signature":1444,"description":1445,"note":3,"demo":3},"click","(e: \"click\", event: MouseEvent): void","Emitted when one of the generated checkbox inputs is clicked.\nForwards the original DOM `MouseEvent`.",{"name":1447,"signature":1448,"description":1449,"note":3,"demo":3},"focus","(e: \"focus\", event: FocusEvent): void","Emitted when one of the generated checkbox inputs receives focus.\nForwards the original DOM `FocusEvent`.",{"name":1451,"signature":1452,"description":1453,"note":3,"demo":3},"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":1455,"signature":1456,"description":1457,"note":3,"demo":3},"input","(e: \"input\", event: Event): void","Emitted on native input events from generated checkbox inputs.\nForwards the original DOM `Event`.",{"name":1459,"signature":1460,"description":1461,"note":3,"demo":3},"keydown","(e: \"keydown\", event: KeyboardEvent): void","Emitted for keyboard interaction on generated checkbox inputs.\nForwards the original DOM `KeyboardEvent`.",{"name":1463,"signature":1464,"description":1465,"note":3,"demo":3},"mousedown","(e: \"mousedown\", event: MouseEvent): void","Emitted when a pointing device button is pressed over a checkbox input.\nForwards the original DOM `MouseEvent`.",{"name":1467,"signature":1468,"description":1469,"note":3,"demo":3},"mouseup","(e: \"mouseup\", event: MouseEvent): void","Emitted when a pointing device button is released over a checkbox input.\nForwards the original DOM `MouseEvent`.",{"name":1471,"signature":1472,"description":1473,"note":3,"demo":3},"update:modelValue","(e: \"update:modelValue\", value: any): void","Emitted with the coherent next selection array whenever selection changes.",[1475,1479,1482,1487,1491,1495,1498,1501],{"name":1476,"type":1477,"description":1478,"note":3,"demo":3},"append","object","Content rendered after the last option, inside the options container.",{"name":496,"type":1480,"description":1481,"note":3,"demo":3},"BbCheckboxGroupDescriptionSlotProps","Replaces the description text. Provided alone (no `description` prop) it still\nrenders the description region and wires it into `aria-describedby`.",{"name":1483,"type":1484,"description":1485,"note":1486,"demo":761},"icon","BbCheckboxGroupIconSlotProps\u003CT>","Replaces the default checkmark icon for each checkbox option.","Replaces the box visual per option, and receives `item` and `text` alongside the live state.",{"name":770,"type":1488,"description":1489,"note":1490,"demo":761},"BbCheckboxGroupLabelSlotProps\u003CT>","Replaces the default label text for each option.","One template for every option, scoped `{ item, text, checked }`. Decorate `text` rather than dropping it — what renders here is the option's accessible name. This is what replaced v2's removed `#option:prepend` and `#option:append`.",{"name":460,"type":1492,"description":1493,"note":1494,"demo":460},"BbCheckboxGroupLegendSlotProps","Replaces the default fieldset legend text for the group.","Scoped `{ text, hasErrors, hasWarnings }`, plus `showAsterisk` on the validated import.",{"name":1496,"type":1477,"description":1497,"note":3,"demo":3},"loading","Content shown while options are loading (replaces the default loading text).",{"name":1499,"type":1477,"description":1500,"note":3,"demo":3},"no-data","Content shown when no options are available (replaces the default \"no data\" text).",{"name":1502,"type":1477,"description":1503,"note":3,"demo":3},"prepend","Content rendered before the first option, inside the options container.",[],{"parts":1506,"states":1532},[1507,1510,1512,1514,1517,1519,1522,1525,1527,1529],{"name":1508,"description":1509},"root","The group's container (the fieldset).",{"name":460,"description":1511},"The group's heading — the fieldset `\u003Clegend>` (the `legend` prop).",{"name":496,"description":1513},"The muted line under the legend (the `description` prop).",{"name":1515,"description":1516},"message","The errors \u002F warnings line. A node of its own: it can show at the same time as `hint`.",{"name":500,"description":1518},"The helper line (the `hint` prop), shown on focus, or always with `persistent-hint`.",{"name":1520,"description":1521},"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":1523,"description":1524},"item","One option row — a broadcast, resolved per option with its own `checked` \u002F `disabled` \u002F focus. Takes a per-item function.",{"name":1483,"description":1526},"One row's drawn glyph — the default one: a consumer `icon` slot replaces it.",{"name":770,"description":1528},"One option's label text (the `label` slot's default).",{"name":1530,"description":1531},"item-description","One option's muted second line, its description.",[1533,1536,1538,1540,1543,1546,1549,1551,1553],{"name":1534,"description":1535},"checked","Per row, on `item`, `icon`, `label` and `item-description`: that option is chosen. Never on a field part.",{"name":527,"description":1537},"Component-wide while the group is `disabled`; also per row, on the row parts of an option that is disabled on its own.",{"name":612,"description":1539},"Component-wide: the group shows errors.",{"name":1541,"description":1542},"focus-visible","Per row, on the row parts: that option's focus is keyboard-visible — where a focus ring belongs.",{"name":1544,"description":1545},"focused","Per row, on the row parts: that option's input has focus — any focus, mouse included.",{"name":1547,"description":1548},"has-value","Component-wide: at least one option is chosen.",{"name":1496,"description":1550},"Component-wide: the items are being fetched.",{"name":569,"description":1552},"Component-wide: the group is `readonly`.",{"name":1424,"description":1554},"Component-wide: the group shows warnings and no errors.",{"entrypoint":631,"props":1556},[1557,1561,1567],{"name":635,"type":1558,"required":1124,"default":3,"description":1559,"note":1560,"demo":599},"RuleExpression\u003Cany>","vee-validate rules for this field.","Validates the array as a single field, so `required` means \"at least one\". Only on the `bitboss-ui\u002Fvalidated` import.",{"name":1562,"type":1563,"required":1124,"default":1564,"description":1565,"note":1566,"demo":599},"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, which is the only moment a control made of many boxes has finished saying anything. Submit re-validates everything regardless.",{"name":1568,"type":1139,"required":1124,"default":3,"description":1569,"note":3,"demo":3},"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":1571,"renamed":1585},[1572,1578,1583],{"name":1573,"replacedBy":3,"since":1574,"migration":1575,"silent":1100,"fix":1576},"color","3.0.0-unreleased","ai\u002Fguides\u002Fmigration\u002Fcomponents\u002Fbb-checkbox-group.md",{"kind":1577},"manual",{"name":1579,"replacedBy":1161,"since":1574,"migration":1580,"silent":1100,"fix":1581},"hasWarning","ai\u002Fguides\u002Fmigration\u002Fv2-to-v3.md",{"kind":1582},"rename",{"name":856,"replacedBy":862,"since":1574,"migration":1575,"silent":1100,"fix":1584},{"kind":1582},[1586,1588],{"from":1579,"to":1161,"since":1574,"migration":1580,"fix":1587},{"kind":1582},{"from":856,"to":862,"since":1574,"migration":1575,"fix":1589},{"kind":1582},[1591,1597,1601,1605],{"id":1592,"name":1593,"countryCode":1594,"timeZone":1595,"population":1596},"milan","Milan","IT","Europe\u002FRome",3140000,{"id":1598,"name":1599,"countryCode":1594,"timeZone":1595,"population":1600},"rome","Rome",4300000,{"id":1602,"name":1603,"countryCode":1594,"timeZone":1595,"population":1604},"turin","Turin",1800000,{"id":1606,"name":1607,"countryCode":1594,"timeZone":1595,"population":1608},"bologna","Bologna",1020000,1790005160725]