[{"data":1,"prerenderedAt":1455},["ShallowReactive",2],{"api-none":3,"docs-nav-en":4,"locale-alternates":232,"page-en-\u002Fcomponents\u002Fbb-checkbox":353,"pt-showcase-BbCheckbox":1141},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":104,"body":355,"component":104,"description":1126,"extension":1127,"group":101,"meta":1128,"navigation":1129,"order":11,"path":105,"sections":1130,"seo":1138,"stem":1139,"__hash__":1140},"docs_en\u002Fcomponents\u002Fbb-checkbox.md",{"type":356,"value":357,"toc":1114},"minimark",[358,413,424,437,445,456,460,472,478,481,484,502,520,531,542,554,566,572,591,594,613,630,638,683,689,692,695,713,719,728,734,737,740,746,756,762,781,787,794,797,837,843,884,890,897,900,922,947,980,983,1095,1110],[359,360,361,369],"when",{},[362,363,364,365,368],"p",{},"Reach for ",[366,367,104],"code",{}," when the answer is one yes\u002Fno standing on its own: accept\nthe terms, remember this device, include archived records.",[370,371,373],"template",{"v-slot:else":372},"",[374,375,376,387,394,401],"ul",{},[377,378,379,384,385],"li",{},[380,381,382],"a",{"href":251},[366,383,107],{},": several boxes inside\none set. Never hand-stack ",[366,386,104],{},[377,388,389,393],{},[380,390,391],{"href":291},[366,392,113],{},": exactly one choice out of the\nset",[377,395,396,400],{},[380,397,398],{"href":295},[366,399,119],{},": the set is long, searchable or fetched",[377,402,403,407,408,412],{},[380,404,405],{"href":305},[366,406,128],{},": it is the ",[409,410,411],"strong",{},"state of a thing",", like\nnotifications or dark mode",[362,414,415,416,419,420,423],{},"A checkbox is an ",[409,417,418],{},"answer",", a switch is a ",[409,421,422],{},"state",". A Save button below the\nfield changes nothing about which of the two you have.",[362,425,426,427,431,432,436],{},"This page also covers the states, the value and the layout of\n",[380,428,429],{"href":289},[366,430,110],{}," and ",[380,433,434],{"href":305},[366,435,128],{},".\nThey behave identically, and those pages link back here.",[438,439,441],"h2",{"id":440},"default",[442,443,444],"span",{},"Default",[362,446,447,448,451,452,455],{},"You need a ",[366,449,450],{},"label"," and a bound ",[366,453,454],{},"v-model",". Clicking the box or the label toggles\nthe value.",[457,458],"demo",{"name":459},"BbCheckbox\u002FBasic",[362,461,462,464,465,431,468,471],{},[366,463,450],{}," is required: it is the control's accessible name. ",[366,466,467],{},"id",[366,469,470],{},"name"," are\ngenerated when you leave them off, but pass both in a form that posts.",[438,473,475],{"id":474},"states",[442,476,477],{},"States and messages",[362,479,480],{},"A checkbox carries the same chrome as every other field in the library, and the\nfour message channels are not interchangeable.",[457,482],{"name":483},"BbCheckbox\u002FStates",[362,485,486,487,490,491,494,495,497,498,501],{},"Put durable information in ",[366,488,489],{},"description"," and momentary guidance in ",[366,492,493],{},"hint",".\n",[366,496,493],{}," shows only while the field has focus, unless ",[366,499,500],{},"persistent-hint"," pins it\nopen.",[362,503,504,507,508,511,512,515,516,519],{},[366,505,506],{},"errors"," takes a string or an array, and a non-empty value puts the field into\nthe error state on its own. ",[366,509,510],{},"has-errors"," gives you the styling without a\nmessage. ",[366,513,514],{},"warnings"," is the amber counterpart and does not set ",[366,517,518],{},"aria-invalid",".\nWhen both are set errors win, so the field is never red and amber at once.",[362,521,522,523,526,527,530],{},"All four are wired into ",[366,524,525],{},"aria-describedby"," in that order: errors, warnings,\ndescription, hint. An ",[366,528,529],{},"aria-live=\"polite\""," region announces them when they\nappear and re-reads them on focus, so keep them short.",[532,533,535,538,539],"h3",{"id":534},"readonly-is-not-disabled",[366,536,537],{},"readonly"," is not ",[366,540,541],{},"disabled",[362,543,544,546,547,549,550,553],{},[366,545,541],{}," sets the native attribute: the box leaves the tab order and its value\nis never submitted. ",[366,548,537],{}," keeps it focusable and submitted, and blocks only\nthe changes. Clicks and Space do nothing, and ",[366,551,552],{},"update:modelValue"," never fires.",[362,555,556,557,559,560,562,563,565],{},"Use ",[366,558,537],{}," for a value that must reach the server without changing, and\n",[366,561,541],{}," for a value that must not post. When you disable, say why in the\n",[366,564,489],{},": a box that is off for no visible reason reads as a bug.",[438,567,569],{"id":568},"values",[442,570,571],{},"What the model holds",[362,573,574,575,578,579,582,583,586,587,590],{},"With nothing else set the model is ",[366,576,577],{},"true"," or ",[366,580,581],{},"false",". Point ",[366,584,585],{},"true-value"," and\n",[366,588,589],{},"false-value"," at your own values and it holds those.",[457,592],{"name":593},"BbCheckbox\u002FDomainValues",[362,595,596,597,599,600,602,603,605,606,578,609,612],{},"Any serializable value works, matched structurally rather than by reference.\n",[366,598,552],{}," emits ",[366,601,585],{}," on check and ",[366,604,589],{}," on uncheck, so\nnever read the checked state off a ",[366,607,608],{},"@click",[366,610,611],{},"@change"," handler.",[362,614,615,616,618,619,622,623,626,627,629],{},"For a classic form post the native input carries ",[366,617,470],{}," and a serialized value.\nAn unchecked box posts ",[409,620,621],{},"nothing",", which is standard HTML and a recurring\nsurprise on the server. ",[366,624,625],{},"submit-when-false"," renders a hidden input carrying\n",[366,628,589],{},", so the field always arrives.",[362,631,632,633,586,635,637],{},"In an SPA or an Inertia app you bind into form state and drop both ",[366,634,470],{},[366,636,625],{},".",[639,640,644],"pre",{"className":641,"code":642,"language":643,"meta":372,"style":372},"language-vue shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u003CBbCheckbox v-model=\"form.newsletter\" label=\"Subscribe to the newsletter\" \u002F>\n","vue",[366,645,646],{"__ignoreMap":372},[442,647,649,653,656,660,663,666,669,671,674,676,680],{"class":648,"line":11},"line",[442,650,652],{"class":651},"suds8","\u003C",[442,654,104],{"class":655},"sne4z",[442,657,659],{"class":658},"s-5SL"," v-model",[442,661,662],{"class":651},"=",[442,664,665],{"class":651},"\"",[442,667,668],{"class":651},"form.newsletter",[442,670,665],{"class":651},[442,672,673],{"class":658}," label",[442,675,662],{"class":651},[442,677,679],{"class":678},"sT6z2","\"Subscribe to the newsletter\"",[442,681,682],{"class":651}," \u002F>\n",[438,684,686],{"id":685},"consent",[442,687,688],{},"Consent that gates an action",[362,690,691],{},"The \"I agree\" box, with links inside its label, that unlocks the primary action.",[457,693],{"name":694},"BbCheckbox\u002FConsentGate",[362,696,697,698,700,701,704,705,708,709,712],{},"The ",[366,699,450],{}," slot decorates the text without touching the accessible name, and\nreceives ",[366,702,703],{},"{ text, hasErrors, hasWarnings }",". The whole control is one ",[366,706,707],{},"\u003Clabel>",",\nso the links inside it have to be real anchors. A click on an ",[366,710,711],{},"\u003Ca>"," navigates, a\nclick on anything else toggles the box.",[362,714,715,716,718],{},"Bind the button's ",[366,717,541],{}," to the model, rather than intercepting the click\nand reading the box state by hand.",[362,720,721,724,725,727],{},[366,722,723],{},"required"," sets the native attribute and puts the box into the browser's own\nvalidation. For app-driven validation use ",[366,726,506],{},": you control the wording, the\ntiming and the announcement.",[438,729,731],{"id":730},"select-all",[442,732,733],{},"Select all",[362,735,736],{},"A parent box that summarises a group is checked when every child is on, and\nindeterminate when only some are.",[457,738],{"name":739},"BbCheckbox\u002FSelectAll",[362,741,742,745],{},[366,743,744],{},"indeterminate"," is a purely visual third state, a dash instead of a check. It\nnever enters the model, and the component re-applies it after every click. If\nyour server needs a real tri-state value, model it separately.",[362,747,748,749,752,753,755],{},"The master box is driven from outside, so it takes ",[366,750,751],{},"checked"," rather than a\n",[366,754,454],{},". Passing both gives it two sources of truth: pick one.",[362,757,758,759,761],{},"The children are a ",[366,760,107],{},", not a hand-stacked row.",[763,764,765],"migration",{},[362,766,767,769,770,431,773,776,777,780],{},[366,768,751],{}," used to accept the strings ",[366,771,772],{},"'true'",[366,774,775],{},"'false'"," too. In v3 it is a\nplain boolean, so ",[366,778,779],{},"checked=\"false\""," no longer compiles. That string was truthy\nand checked the box, so this is a loud failure replacing a silent one.",[438,782,784],{"id":783},"layout",[442,785,786],{},"Layout",[362,788,789,790,793],{},"By default the box comes first and the label follows. ",[366,791,792],{},"reverse"," swaps them, and\nthat is what turns a checkbox into a settings row.",[457,795],{"name":796},"BbCheckbox\u002FLayout",[362,798,799,802,803,806,807,810,811,814,815,818,819,431,822,825,826,829,830,829,833,836],{},[366,800,801],{},"direction"," decides how the two halves share the width. ",[366,804,805],{},"auto",", the default,\nsizes each to its content on one line. ",[366,808,809],{},"horizontal"," splits them evenly and\n",[366,812,813],{},"vertical"," stacks them. A two-token pattern like ",[366,816,817],{},"\"x xxxxxxx\""," splits them by\ntoken length, the first token sizing the element that renders first.\n",[366,820,821],{},"input-position",[366,823,824],{},"label-position"," (",[366,827,828],{},"left",", ",[366,831,832],{},"center",[366,834,835],{},"right",") then align the\nbox and the text inside their columns.",[362,838,839,842],{},[366,840,841],{},"hide-label"," keeps the label for screen readers and hides it on screen. It is\nfor a table's selection column, where visible text already labels the box, and\nnothing else.",[763,844,845],{},[362,846,847,849,850,853,854,856,857,859,860,586,862,865,866,868,869,871,872,431,874,877,878,880,881,883],{},[366,848,792],{}," ",[409,851,852],{},"means the opposite of what it used to",", and the compiler cannot see\nit. The default layout is unchanged, so a checkbox with no ",[366,855,792],{}," is fine.\nWhat changed is the explicit value. In v2 ",[366,858,792],{}," defaulted to ",[366,861,577],{},[366,863,864],{},":reverse=\"false\""," produced the swap. In v3 ",[366,867,792],{}," defaults to ",[366,870,581],{},", and\npassing it opts into the swap. Delete ",[366,873,792],{},[366,875,876],{},":reverse=\"true\"",",\nrewrite ",[366,879,864],{}," as a bare ",[366,882,792],{},", and grep for the prop on all\nthree single controls.",[438,885,887],{"id":886},"custom-markup",[442,888,889],{},"Custom markup",[362,891,892,893,896],{},"Sometimes the design is not a labelled row at all: a grid of selectable cards,\nsay. ",[366,894,895],{},"BbBaseCheckboxIcon"," gives you the library's box, and you own everything\naround it.",[457,898],{"name":899},"BbCheckbox\u002FCustomMarkup",[362,901,902,904,905,829,907,829,909,829,911,913,914,829,916,431,919,637],{},[366,903,895],{}," draws and nothing more: the rounded box, the animated check\nand the indeterminate dash, with no input, no events and no state. You tell it\nhow to look with ",[366,906,751],{},[366,908,744],{},[366,910,541],{},[366,912,537],{},",\n",[366,915,510],{},[366,917,918],{},"has-warning",[366,920,921],{},"focus-visible",[362,923,924,925,928,929,931,932,935,936,939,940,943,944,946],{},"Because it is ",[366,926,927],{},"aria-hidden"," and cannot be focused, it has to sit on a real\ncontrol. Copy the shape in the demo: a ",[366,930,707],{}," wrapping an\n",[366,933,934],{},"\u003Cinput type=\"checkbox\">"," hidden with ",[366,937,938],{},"sr-only",". Never ",[366,941,942],{},"display: none",", which\ntakes the input out of the tab order and out of the form. Keyboard, focus and\nform submission come free. Pass ",[366,945,921],{}," yourself, or a keyboard user\ngets no ring.",[362,948,949,950,953,954,956,957,829,959,829,961,913,963,829,965,829,968,829,971,829,974,431,977,637],{},"There is a smaller step before that one. The ",[366,951,952],{},"icon"," slot on ",[366,955,104],{},"\nreplaces only the box visual and keeps the input, the label and the field\nchrome. It receives the live state: ",[366,958,751],{},[366,960,744],{},[366,962,541],{},[366,964,537],{},[366,966,967],{},"hasErrors",[366,969,970],{},"focused",[366,972,973],{},"focusVisible",[366,975,976],{},"value",[366,978,979],{},"text",[362,981,982],{},"The custom properties live on the box element, so target that element rather\nthan an ancestor:",[639,984,988],{"className":985,"code":986,"language":987,"meta":372,"style":372},"language-css shiki shiki-themes github-light-high-contrast github-dark-high-contrast",".bb-checkbox .bb-base-checkbox-icon {\n    --size: 20px; \u002F* box edge, default 16px *\u002F\n    --r: 6px; \u002F* corner radius, default 4px *\u002F\n    --color: #16a34a; \u002F* fill and border when checked *\u002F\n    --check-color: white; \u002F* the checkmark stroke *\u002F\n    --ring-color: var(--bb-ring);\n}\n","css",[366,989,990,1001,1024,1041,1056,1071,1090],{"__ignoreMap":372},[442,991,992,995,998],{"class":648,"line":11},[442,993,994],{"class":658},".bb-checkbox",[442,996,997],{"class":658}," .bb-base-checkbox-icon",[442,999,1000],{"class":651}," {\n",[442,1002,1003,1007,1010,1013,1017,1020],{"class":648,"line":15},[442,1004,1006],{"class":1005},"soyes","    --size",[442,1008,1009],{"class":651},": ",[442,1011,1012],{"class":658},"20",[442,1014,1016],{"class":1015},"sHUrx","px",[442,1018,1019],{"class":651},"; ",[442,1021,1023],{"class":1022},"sLBg1","\u002F* box edge, default 16px *\u002F\n",[442,1025,1026,1029,1031,1034,1036,1038],{"class":648,"line":37},[442,1027,1028],{"class":1005},"    --r",[442,1030,1009],{"class":651},[442,1032,1033],{"class":658},"6",[442,1035,1016],{"class":1015},[442,1037,1019],{"class":651},[442,1039,1040],{"class":1022},"\u002F* corner radius, default 4px *\u002F\n",[442,1042,1043,1046,1048,1051,1053],{"class":648,"line":41},[442,1044,1045],{"class":1005},"    --color",[442,1047,1009],{"class":651},[442,1049,1050],{"class":658},"#16a34a",[442,1052,1019],{"class":651},[442,1054,1055],{"class":1022},"\u002F* fill and border when checked *\u002F\n",[442,1057,1058,1061,1063,1066,1068],{"class":648,"line":45},[442,1059,1060],{"class":1005},"    --check-color",[442,1062,1009],{"class":651},[442,1064,1065],{"class":658},"white",[442,1067,1019],{"class":651},[442,1069,1070],{"class":1022},"\u002F* the checkmark stroke *\u002F\n",[442,1072,1073,1076,1078,1081,1084,1087],{"class":648,"line":79},[442,1074,1075],{"class":1005},"    --ring-color",[442,1077,1009],{"class":651},[442,1079,1080],{"class":658},"var",[442,1082,1083],{"class":651},"(",[442,1085,1086],{"class":1005},"--bb-ring",[442,1088,1089],{"class":651},");\n",[442,1091,1092],{"class":648,"line":83},[442,1093,1094],{"class":651},"}\n",[362,1096,1097,1098,1101,1102,1105,1106,1109],{},"This is where v2's ",[366,1099,1100],{},"color"," prop went, removed with no replacement. Recolor\nthrough ",[366,1103,1104],{},"--color",", or through the theme's ",[366,1107,1108],{},"--bb-primary"," when the whole product\nshould follow.",[1111,1112,1113],"style",{},"html pre.shiki code .suds8, html code.shiki .suds8{--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sne4z, html code.shiki .sne4z{--shiki-default:#024C1A;--shiki-dark:#72F088}html pre.shiki code .s-5SL, html code.shiki .s-5SL{--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .sT6z2, html code.shiki .sT6z2{--shiki-default:#032563;--shiki-dark:#ADDCFF}html .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 .soyes, html code.shiki .soyes{--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .sHUrx, html code.shiki .sHUrx{--shiki-default:#A0111F;--shiki-dark:#FF9492}html pre.shiki code .sLBg1, html code.shiki .sLBg1{--shiki-default:#66707B;--shiki-dark:#BDC4CC}",{"title":372,"searchDepth":37,"depth":37,"links":1115},[1116,1117,1121,1122,1123,1124,1125],{"id":440,"depth":15,"text":444},{"id":474,"depth":15,"text":477,"children":1118},[1119],{"id":534,"depth":37,"text":1120},"readonly is not disabled",{"id":568,"depth":15,"text":571},{"id":685,"depth":15,"text":688},{"id":730,"depth":15,"text":733},{"id":783,"depth":15,"text":786},{"id":886,"depth":15,"text":889},"One checkbox for a yes\u002Fno that stands on its own, with the full field surface.","md",{},true,[1131,1132,1133,1134,1135,1136,1137],{"id":440,"title":444},{"id":474,"title":477},{"id":568,"title":571},{"id":685,"title":688},{"id":730,"title":733},{"id":783,"title":786},{"id":886,"title":889},{"title":104,"description":1126},"components\u002Fbb-checkbox","-7lyK0KtO9fo0cjcTcVXDTsi_cjWkBzMAR8Q9StAHlM",{"name":104,"slug":1142,"group":101,"description":1143,"entrypoint":1144,"docs":1145,"props":1148,"models":1349,"events":1352,"slots":1379,"exposed":1391,"pt":1392,"validated":1425,"migration":1440},"bb-checkbox","Toggles a single boolean option.","bitboss-ui",{"contract":1146,"source":1147},"ai\u002FBbCheckbox.md","ai\u002Fsource\u002FBbCheckbox.md",[1149,1154,1158,1162,1167,1170,1174,1178,1180,1183,1187,1190,1192,1195,1200,1204,1207,1210,1213,1216,1220,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,1329,1332,1335,1338,1342,1346],{"name":1150,"type":1151,"required":1152,"default":3,"description":1153,"note":3,"demo":3},"autofocus","Booleanish | undefined",false,"Sets autofocus on page load.",{"name":751,"type":1155,"required":1152,"default":3,"description":1156,"note":1157,"demo":730},"boolean | undefined","Defines the input as checked.","Overrides the model-derived display, so it is how a select-all master paints itself from its children. Passing it together with a `v-model` gives the box two sources of truth and `checked` wins — pick one. Narrowed to a plain boolean in v3: the v2 `checked=\"false\"` no longer compiles, which is the loud version of a bug that used to check the box.",{"name":489,"type":1159,"required":1152,"default":3,"description":1160,"note":1161,"demo":474},"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`).","Always visible, unlike `hint`. Put durable information here — including the reason a box is disabled, which otherwise reads as a bug.",{"name":801,"type":1163,"required":1152,"default":1164,"description":1165,"note":1166,"demo":783},"InputDirection | undefined","\"auto\"","Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.","A two-token pattern such as `\"x xxxxxxx\"` splits the width by token length, the first token sizing whichever element renders first — which `reverse` decides.",{"name":541,"type":1155,"required":1152,"default":581,"description":1168,"note":1169,"demo":474},"Disables the component.","Takes the box out of the tab order and out of the form post. When the value must still reach the server, you want `readonly` instead.",{"name":506,"type":1171,"required":1152,"default":3,"description":1172,"note":1173,"demo":474},"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.","A non-empty value puts the field in the error state by itself; `has-errors` is for the styling without a message. Referenced first from `aria-describedby`, so it is what a screen reader reads when the field regains focus.",{"name":1175,"type":1176,"required":1152,"default":3,"description":1177,"note":3,"demo":568},"falseValue","any","Value of the input when unchecked. It handles any kind of serializable object.",{"name":967,"type":1155,"required":1152,"default":581,"description":1179,"note":3,"demo":474},"Define if the component should be in an error state.\nIt usually attaches a CSS class for styling purposes.",{"name":1181,"type":1155,"required":1152,"default":581,"description":1182,"note":3,"demo":474},"hasWarnings","Define if the component should be in a warning state.\nSame chrome as errors with `--bb-warn`; errors take priority.",{"name":1184,"type":1155,"required":1152,"default":581,"description":1185,"note":1186,"demo":783},"hideLabel","Visually hides the label of the input while maintaining accessibility.","For dense composites where visible text already labels the box — a selection column in a table. It hides the label, it does not remove it: `label` is still required.",{"name":493,"type":1159,"required":1152,"default":3,"description":1188,"note":1189,"demo":474},"Text box to be displayed near the input, usually to indicate instructions.","Hidden until the field has focus unless `persistent-hint` pins it open. Guidance for the moment of filling in; anything durable belongs in `description`.",{"name":467,"type":1159,"required":1152,"default":3,"description":1191,"note":3,"demo":3},"The identifier of the component.",{"name":744,"type":1155,"required":1152,"default":581,"description":1193,"note":1194,"demo":730},"Sets the input in an indeterminate state.","Visual only — it never enters the model, and the component re-applies it after a click because the native state resets on interaction. If the server needs a real tri-state value, model it explicitly.",{"name":1196,"type":1197,"required":1152,"default":1198,"description":1199,"note":3,"demo":783},"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":450,"type":1201,"required":1129,"default":3,"description":1202,"note":1203,"demo":440},"string","Text content of the label of the element.","Required, because it is the accessible name. It stays required when you replace the rendered text through the `label` slot — the slot decorates the string, it does not replace its role.",{"name":1205,"type":1197,"required":1152,"default":3,"description":1206,"note":3,"demo":3},"labelPosition","Sets the text alignment of the label.",{"name":1208,"type":1176,"required":1152,"default":3,"description":1209,"note":3,"demo":3},"modelValue","Used by v-model. Can be any serializable type.",{"name":470,"type":1159,"required":1152,"default":3,"description":1211,"note":1212,"demo":568},"Defines the name of the input.","Generated when omitted, which is fine in an SPA and not in a form that posts. Pass it whenever the value has to arrive under a known key.",{"name":1214,"type":1155,"required":1152,"default":581,"description":1215,"note":3,"demo":474},"persistentHint","Keeps the hint displayed.",{"name":1217,"type":1218,"required":1152,"default":3,"description":1219,"note":3,"demo":3},"pt","PtMap\u003CTogglePtPart, CheckablePtState> | undefined","Passthrough, object form: the same keys as the `pt:*` attributes\nwithout the prefix. See the `pt:\u003Cpart>` row.",{"name":1221,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description","PtValue | undefined",{"name":1224,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description:checked",{"name":1226,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description:disabled",{"name":1228,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description:errors",{"name":1230,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description:focus-visible",{"name":1232,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description:focused",{"name":1234,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description:indeterminate",{"name":1236,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description:readonly",{"name":1238,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:description:warnings",{"name":1240,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint",{"name":1242,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint:checked",{"name":1244,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint:disabled",{"name":1246,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint:errors",{"name":1248,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint:focus-visible",{"name":1250,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint:focused",{"name":1252,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint:indeterminate",{"name":1254,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint:readonly",{"name":1256,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:hint:warnings",{"name":1258,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon",{"name":1260,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon:checked",{"name":1262,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon:disabled",{"name":1264,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon:errors",{"name":1266,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon:focus-visible",{"name":1268,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon:focused",{"name":1270,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon:indeterminate",{"name":1272,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon:readonly",{"name":1274,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:icon:warnings",{"name":1276,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label",{"name":1278,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label:checked",{"name":1280,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label:disabled",{"name":1282,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label:errors",{"name":1284,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label:focus-visible",{"name":1286,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label:focused",{"name":1288,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label:indeterminate",{"name":1290,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label:readonly",{"name":1292,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:label:warnings",{"name":1294,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message",{"name":1296,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message:checked",{"name":1298,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message:disabled",{"name":1300,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message:errors",{"name":1302,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message:focus-visible",{"name":1304,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message:focused",{"name":1306,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message:indeterminate",{"name":1308,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message:readonly",{"name":1310,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:message:warnings",{"name":1312,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root",{"name":1314,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root:checked",{"name":1316,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root:disabled",{"name":1318,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root:errors",{"name":1320,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root:focus-visible",{"name":1322,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root:focused",{"name":1324,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root:indeterminate",{"name":1326,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root:readonly",{"name":1328,"type":1222,"required":1152,"default":3,"description":3,"note":3,"demo":3},"pt:root:warnings",{"name":537,"type":1155,"required":1152,"default":581,"description":1330,"note":1331,"demo":474},"Sets the input in a readonly state.","Not the same as `disabled`: it sets no native attribute, so the box stays focusable and still submits, while every change is swallowed and `update:modelValue` never fires. Use it for a value the user may see and must not change.",{"name":723,"type":1155,"required":1152,"default":581,"description":1333,"note":1334,"demo":685},"Sets the input as required.","Sets the native attribute, so the box joins native form validation. For app-driven validation prefer `errors`, where you control the wording and the announcement.",{"name":792,"type":1155,"required":1152,"default":581,"description":1336,"note":1337,"demo":783},"Reverses the layout: in every direction the order of the label and the\ninput is swapped from the standard arrangement.","Its meaning inverted in v3 and the compiler cannot see it. The default rendering is unchanged, but `:reverse=\"false\"` from v2 becomes a bare `reverse`, and a v2 `reverse` is simply deleted.",{"name":1339,"type":1155,"required":1152,"default":581,"description":1340,"note":1341,"demo":568},"submitWhenFalse","Will submit \"falseValue\" if the input is not checked. Otherwise \"trueValue\" will be submitted.","An unchecked box posts nothing at all — standard HTML, and a recurring surprise on the server. This renders a hidden input carrying `false-value` so the field always arrives. Irrelevant in an SPA, where you bind into form state instead.",{"name":1343,"type":1176,"required":1152,"default":3,"description":1344,"note":1345,"demo":568},"trueValue","Value of the input when checked. It handles any kind of serializable object.","Checked-ness is derived by deep equality against this value, so object values match structurally rather than by reference.",{"name":514,"type":1171,"required":1152,"default":3,"description":1347,"note":1348,"demo":474},"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.","The amber counterpart of `errors`, for a value that is valid but worth a second look. It does not set `aria-invalid`, and errors suppress it when both are set.",[1350],{"name":1208,"type":1176,"note":1351,"demo":440},"Carries `true-value` on check and `false-value` on uncheck, and nothing else. Never derive the state from a `@click` or `@change` handler; those are for side concerns.",[1353,1356,1359,1362,1365,1368,1371,1374,1377],{"name":1354,"signature":1355,"description":3,"note":3,"demo":3},"blur","(event: \"blur\", event: FocusEvent): void",{"name":1357,"signature":1358,"description":3,"note":3,"demo":3},"change","(event: \"change\", event: Event): void",{"name":1360,"signature":1361,"description":3,"note":3,"demo":3},"click","(event: \"click\", event: MouseEvent): void",{"name":1363,"signature":1364,"description":3,"note":3,"demo":3},"focus","(event: \"focus\", event: FocusEvent): void",{"name":1366,"signature":1367,"description":3,"note":3,"demo":3},"input","(event: \"input\", event: Event): void",{"name":1369,"signature":1370,"description":3,"note":3,"demo":3},"keydown","(event: \"keydown\", event: KeyboardEvent): void",{"name":1372,"signature":1373,"description":3,"note":3,"demo":3},"mousedown","(event: \"mousedown\", event: MouseEvent): void",{"name":1375,"signature":1376,"description":3,"note":3,"demo":3},"mouseup","(event: \"mouseup\", event: MouseEvent): void",{"name":552,"signature":1378,"description":3,"note":3,"demo":3},"(event: \"update:modelValue\", value: any): void",[1380,1383,1387],{"name":489,"type":1381,"description":1382,"note":3,"demo":3},"BbCheckboxDescriptionSlotProps","Replaces the description text. Provided alone (no `description` prop) it still\nrenders the description region and wires it into `aria-describedby`.",{"name":952,"type":1384,"description":1385,"note":1386,"demo":886},"BbCheckboxIconSlotProps","Replaces the default checkmark SVG inside the checkbox box. Receives the\ncheckbox state plus the label text.","Replaces the entire box visual — border, background and checkmark — so the slot content has to communicate every state itself. When the row around it is the problem rather than the box, drop to `BbBaseCheckboxIcon` instead.",{"name":450,"type":1388,"description":1389,"note":1390,"demo":685},"BbCheckboxLabelSlotProps","Replaces the default label text rendered next to the checkbox.","Receives `{ text, hasErrors, hasWarnings }`. The whole control is one `\u003Clabel>`, so interactive children have to be real anchors: a click on an `\u003Ca>` navigates, a click on anything else toggles the box.",[],{"parts":1393,"states":1408},[1394,1397,1399,1401,1404,1406],{"name":1395,"description":1396},"root","The toggle's container: the glyph, the label and the lines under them.",{"name":450,"description":1398},"The label text beside the glyph (the `label` prop).",{"name":489,"description":1400},"The muted line under the label (the `description` prop).",{"name":1402,"description":1403},"message","The errors \u002F warnings line. A node of its own: it can show at the same time as `hint`.",{"name":493,"description":1405},"The helper line (the `hint` prop), shown on focus, or always with `persistent-hint`.",{"name":952,"description":1407},"The drawn glyph — the box, the dot or the switch track. The default one: a consumer `icon` slot replaces it. The hidden native input is not a part.",[1409,1411,1413,1415,1417,1419,1421,1423],{"name":751,"description":1410},"Component-wide: the toggle is on.",{"name":541,"description":1412},"Component-wide: the toggle is `disabled`.",{"name":506,"description":1414},"Component-wide: the toggle shows errors — the glyph and the message line turn red.",{"name":921,"description":1416},"Component-wide: that focus is keyboard-visible — where a focus ring belongs.",{"name":970,"description":1418},"Component-wide: the native input has focus — any focus, mouse included, like the `focused` slot prop.",{"name":744,"description":1420},"Component-wide: the mixed state (the `indeterminate` prop) — neither on nor off.",{"name":537,"description":1422},"Component-wide: the toggle is `readonly` — focusable, cannot change.",{"name":514,"description":1424},"Component-wide: the toggle shows warnings and no errors.",{"entrypoint":1426,"props":1427},"bitboss-ui\u002Fvalidated",[1428,1432,1437],{"name":1429,"type":1430,"required":1152,"default":3,"description":1431,"note":3,"demo":3},"rules","RuleExpression\u003Cany>","vee-validate rules for this field.",{"name":1433,"type":1434,"required":1152,"default":1435,"description":1436,"note":3,"demo":3},"validateOn","ValidateTiming[] | undefined","[\"update:modelValue\", \"change\", \"blur\"]","Which interactions trigger validation (see\n`ValidatedFieldProps.validateOn` for the timing vocabulary).",{"name":1438,"type":1159,"required":1152,"default":3,"description":1439,"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":1441,"renamed":1452},[1442,1447],{"name":1100,"replacedBy":3,"since":1443,"migration":1444,"silent":1129,"fix":1445},"3.0.0-unreleased","ai\u002Fguides\u002Fmigration\u002Fcomponents\u002Fbb-checkbox.md",{"kind":1446},"manual",{"name":1448,"replacedBy":1181,"since":1443,"migration":1449,"silent":1129,"fix":1450},"hasWarning","ai\u002Fguides\u002Fmigration\u002Fv2-to-v3.md",{"kind":1451},"rename",[1453],{"from":1448,"to":1181,"since":1443,"migration":1449,"fix":1454},{"kind":1451},1790005160724]