[{"data":1,"prerenderedAt":1624},["ShallowReactive",2],{"locale-alternates":3,"docs-nav-en":124,"api-none":352,"page-en-\u002Fguides\u002Ffetching-data":353},{"\u002Fit\u002Fcomponenti\u002Fbb-accordion":4,"\u002Fen\u002Fcomponents\u002Fbb-accordion":5,"\u002Fit\u002Fcomponenti\u002Fbb-alert":6,"\u002Fen\u002Fcomponents\u002Fbb-alert":7,"\u002Fit\u002Fcomponenti\u002Fbb-asterisk":8,"\u002Fen\u002Fcomponents\u002Fbb-asterisk":9,"\u002Fit\u002Fcomponenti\u002Fbb-avatar":10,"\u002Fen\u002Fcomponents\u002Fbb-avatar":11,"\u002Fit\u002Fcomponenti\u002Fbb-badge":12,"\u002Fen\u002Fcomponents\u002Fbb-badge":13,"\u002Fit\u002Fcomponenti\u002Fbb-base-button":14,"\u002Fen\u002Fcomponents\u002Fbb-base-button":15,"\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs":16,"\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs":17,"\u002Fit\u002Fcomponenti\u002Fbb-button":18,"\u002Fen\u002Fcomponents\u002Fbb-button":19,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox":20,"\u002Fen\u002Fcomponents\u002Fbb-checkbox":21,"\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group":22,"\u002Fen\u002Fcomponents\u002Fbb-checkbox-group":23,"\u002Fit\u002Fcomponenti\u002Fbb-collapsible":24,"\u002Fen\u002Fcomponents\u002Fbb-collapsible":25,"\u002Fit\u002Fcomponenti\u002Fbb-color-input":26,"\u002Fen\u002Fcomponents\u002Fbb-color-input":27,"\u002Fit\u002Fcomponenti\u002Fbb-color-palette":28,"\u002Fen\u002Fcomponents\u002Fbb-color-palette":29,"\u002Fit\u002Fcomponenti\u002Fbb-confirm":30,"\u002Fen\u002Fcomponents\u002Fbb-confirm":31,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker":32,"\u002Fen\u002Fcomponents\u002Fbb-date-picker":33,"\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input":34,"\u002Fen\u002Fcomponents\u002Fbb-date-picker-input":35,"\u002Fit\u002Fcomponenti\u002Fbb-dialog":36,"\u002Fen\u002Fcomponents\u002Fbb-dialog":37,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown":38,"\u002Fen\u002Fcomponents\u002Fbb-dropdown":39,"\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button":40,"\u002Fen\u002Fcomponents\u002Fbb-dropdown-button":41,"\u002Fit\u002Fcomponenti\u002Fbb-dropzone":42,"\u002Fen\u002Fcomponents\u002Fbb-dropzone":43,"\u002Fit\u002Fcomponenti\u002Fbb-form":44,"\u002Fen\u002Fcomponents\u002Fbb-form":45,"\u002Fit\u002Fcomponenti\u002Fbb-icon":46,"\u002Fen\u002Fcomponents\u002Fbb-icon":47,"\u002Fit\u002Fcomponenti\u002Fbb-indicator":48,"\u002Fen\u002Fcomponents\u002Fbb-indicator":49,"\u002Fit\u002Fcomponenti\u002Fbb-number-input":50,"\u002Fen\u002Fcomponents\u002Fbb-number-input":51,"\u002Fit\u002Fcomponenti\u002Fbb-off-canvas":52,"\u002Fen\u002Fcomponents\u002Fbb-off-canvas":53,"\u002Fit\u002Fcomponenti\u002Fbb-pagination":54,"\u002Fen\u002Fcomponents\u002Fbb-pagination":55,"\u002Fit\u002Fcomponenti\u002Fbb-popover":56,"\u002Fen\u002Fcomponents\u002Fbb-popover":57,"\u002Fit\u002Fcomponenti\u002Fbb-progress":58,"\u002Fen\u002Fcomponents\u002Fbb-progress":59,"\u002Fit\u002Fcomponenti\u002Fbb-radio":60,"\u002Fen\u002Fcomponents\u002Fbb-radio":61,"\u002Fit\u002Fcomponenti\u002Fbb-radio-group":62,"\u002Fen\u002Fcomponents\u002Fbb-radio-group":63,"\u002Fit\u002Fcomponenti\u002Fbb-rating":64,"\u002Fen\u002Fcomponents\u002Fbb-rating":65,"\u002Fit\u002Fcomponenti\u002Fbb-select":66,"\u002Fen\u002Fcomponents\u002Fbb-select":67,"\u002Fit\u002Fcomponenti\u002Fbb-select-popover":68,"\u002Fen\u002Fcomponents\u002Fbb-select-popover":69,"\u002Fit\u002Fcomponenti\u002Fbb-slider":70,"\u002Fen\u002Fcomponents\u002Fbb-slider":71,"\u002Fit\u002Fcomponenti\u002Fbb-smooth-height":72,"\u002Fen\u002Fcomponents\u002Fbb-smooth-height":73,"\u002Fit\u002Fcomponenti\u002Fbb-spinner":74,"\u002Fen\u002Fcomponents\u002Fbb-spinner":75,"\u002Fit\u002Fcomponenti\u002Fbb-switch":76,"\u002Fen\u002Fcomponents\u002Fbb-switch":77,"\u002Fit\u002Fcomponenti\u002Fbb-switch-group":78,"\u002Fen\u002Fcomponents\u002Fbb-switch-group":79,"\u002Fit\u002Fcomponenti\u002Fbb-table":80,"\u002Fen\u002Fcomponents\u002Fbb-table":81,"\u002Fit\u002Fcomponenti\u002Fbb-tabs":82,"\u002Fen\u002Fcomponents\u002Fbb-tabs":83,"\u002Fit\u002Fcomponenti\u002Fbb-tag":84,"\u002Fen\u002Fcomponents\u002Fbb-tag":85,"\u002Fit\u002Fcomponenti\u002Fbb-text-input":86,"\u002Fen\u002Fcomponents\u002Fbb-text-input":87,"\u002Fit\u002Fcomponenti\u002Fbb-textarea":88,"\u002Fen\u002Fcomponents\u002Fbb-textarea":89,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker":90,"\u002Fen\u002Fcomponents\u002Fbb-time-picker":91,"\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input":92,"\u002Fen\u002Fcomponents\u002Fbb-time-picker-input":93,"\u002Fit\u002Fcomponenti\u002Fbb-toast":94,"\u002Fen\u002Fcomponents\u002Fbb-toast":95,"\u002Fit\u002Fcomponenti\u002Fbb-tooltip":96,"\u002Fen\u002Fcomponents\u002Fbb-tooltip":97,"\u002Fit\u002Fcomponenti\u002Fbb-tree":98,"\u002Fen\u002Fcomponents\u002Fbb-tree":99,"\u002Fit\u002Fguide\u002Fai-agents":100,"\u002Fen\u002Fguides\u002Fai-agents":101,"\u002Fit\u002Fguide\u002Fcoherence":102,"\u002Fen\u002Fguides\u002Fcoherence":103,"\u002Fit\u002Fguide\u002Fdesign-language":104,"\u002Fen\u002Fguides\u002Fdesign-language":105,"\u002Fit\u002Fguide\u002Fdesign-tokens":106,"\u002Fen\u002Fguides\u002Fdesign-tokens":107,"\u002Fit\u002Fguide\u002Ffetching-data":108,"\u002Fen\u002Fguides\u002Ffetching-data":109,"\u002Fit\u002Fguide\u002Ficons":110,"\u002Fen\u002Fguides\u002Ficons":111,"\u002Fit\u002Fguide\u002Finertia":112,"\u002Fen\u002Fguides\u002Finertia":113,"\u002Fit\u002Fguide\u002Finstallation":114,"\u002Fen\u002Fguides\u002Finstallation":115,"\u002Fit\u002Fguide\u002Fmigration":116,"\u002Fen\u002Fguides\u002Fmigration":117,"\u002Fit\u002Fguide\u002Fnuxt":118,"\u002Fen\u002Fguides\u002Fnuxt":119,"\u002Fit\u002Fguide\u002Foptions-and-items":120,"\u002Fen\u002Fguides\u002Foptions-and-items":121,"\u002Fit\u002Fguide\u002Fvalidated-forms":122,"\u002Fen\u002Fguides\u002Fvalidated-forms":123},"\u002Fen\u002Fcomponents\u002Fbb-accordion","\u002Fit\u002Fcomponenti\u002Fbb-accordion","\u002Fen\u002Fcomponents\u002Fbb-alert","\u002Fit\u002Fcomponenti\u002Fbb-alert","\u002Fen\u002Fcomponents\u002Fbb-asterisk","\u002Fit\u002Fcomponenti\u002Fbb-asterisk","\u002Fen\u002Fcomponents\u002Fbb-avatar","\u002Fit\u002Fcomponenti\u002Fbb-avatar","\u002Fen\u002Fcomponents\u002Fbb-badge","\u002Fit\u002Fcomponenti\u002Fbb-badge","\u002Fen\u002Fcomponents\u002Fbb-base-button","\u002Fit\u002Fcomponenti\u002Fbb-base-button","\u002Fen\u002Fcomponents\u002Fbb-breadcrumbs","\u002Fit\u002Fcomponenti\u002Fbb-breadcrumbs","\u002Fen\u002Fcomponents\u002Fbb-button","\u002Fit\u002Fcomponenti\u002Fbb-button","\u002Fen\u002Fcomponents\u002Fbb-checkbox","\u002Fit\u002Fcomponenti\u002Fbb-checkbox","\u002Fen\u002Fcomponents\u002Fbb-checkbox-group","\u002Fit\u002Fcomponenti\u002Fbb-checkbox-group","\u002Fen\u002Fcomponents\u002Fbb-collapsible","\u002Fit\u002Fcomponenti\u002Fbb-collapsible","\u002Fen\u002Fcomponents\u002Fbb-color-input","\u002Fit\u002Fcomponenti\u002Fbb-color-input","\u002Fen\u002Fcomponents\u002Fbb-color-palette","\u002Fit\u002Fcomponenti\u002Fbb-color-palette","\u002Fen\u002Fcomponents\u002Fbb-confirm","\u002Fit\u002Fcomponenti\u002Fbb-confirm","\u002Fen\u002Fcomponents\u002Fbb-date-picker","\u002Fit\u002Fcomponenti\u002Fbb-date-picker","\u002Fen\u002Fcomponents\u002Fbb-date-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-date-picker-input","\u002Fen\u002Fcomponents\u002Fbb-dialog","\u002Fit\u002Fcomponenti\u002Fbb-dialog","\u002Fen\u002Fcomponents\u002Fbb-dropdown","\u002Fit\u002Fcomponenti\u002Fbb-dropdown","\u002Fen\u002Fcomponents\u002Fbb-dropdown-button","\u002Fit\u002Fcomponenti\u002Fbb-dropdown-button","\u002Fen\u002Fcomponents\u002Fbb-dropzone","\u002Fit\u002Fcomponenti\u002Fbb-dropzone","\u002Fen\u002Fcomponents\u002Fbb-form","\u002Fit\u002Fcomponenti\u002Fbb-form","\u002Fen\u002Fcomponents\u002Fbb-icon","\u002Fit\u002Fcomponenti\u002Fbb-icon","\u002Fen\u002Fcomponents\u002Fbb-indicator","\u002Fit\u002Fcomponenti\u002Fbb-indicator","\u002Fen\u002Fcomponents\u002Fbb-number-input","\u002Fit\u002Fcomponenti\u002Fbb-number-input","\u002Fen\u002Fcomponents\u002Fbb-off-canvas","\u002Fit\u002Fcomponenti\u002Fbb-off-canvas","\u002Fen\u002Fcomponents\u002Fbb-pagination","\u002Fit\u002Fcomponenti\u002Fbb-pagination","\u002Fen\u002Fcomponents\u002Fbb-popover","\u002Fit\u002Fcomponenti\u002Fbb-popover","\u002Fen\u002Fcomponents\u002Fbb-progress","\u002Fit\u002Fcomponenti\u002Fbb-progress","\u002Fen\u002Fcomponents\u002Fbb-radio","\u002Fit\u002Fcomponenti\u002Fbb-radio","\u002Fen\u002Fcomponents\u002Fbb-radio-group","\u002Fit\u002Fcomponenti\u002Fbb-radio-group","\u002Fen\u002Fcomponents\u002Fbb-rating","\u002Fit\u002Fcomponenti\u002Fbb-rating","\u002Fen\u002Fcomponents\u002Fbb-select","\u002Fit\u002Fcomponenti\u002Fbb-select","\u002Fen\u002Fcomponents\u002Fbb-select-popover","\u002Fit\u002Fcomponenti\u002Fbb-select-popover","\u002Fen\u002Fcomponents\u002Fbb-slider","\u002Fit\u002Fcomponenti\u002Fbb-slider","\u002Fen\u002Fcomponents\u002Fbb-smooth-height","\u002Fit\u002Fcomponenti\u002Fbb-smooth-height","\u002Fen\u002Fcomponents\u002Fbb-spinner","\u002Fit\u002Fcomponenti\u002Fbb-spinner","\u002Fen\u002Fcomponents\u002Fbb-switch","\u002Fit\u002Fcomponenti\u002Fbb-switch","\u002Fen\u002Fcomponents\u002Fbb-switch-group","\u002Fit\u002Fcomponenti\u002Fbb-switch-group","\u002Fen\u002Fcomponents\u002Fbb-table","\u002Fit\u002Fcomponenti\u002Fbb-table","\u002Fen\u002Fcomponents\u002Fbb-tabs","\u002Fit\u002Fcomponenti\u002Fbb-tabs","\u002Fen\u002Fcomponents\u002Fbb-tag","\u002Fit\u002Fcomponenti\u002Fbb-tag","\u002Fen\u002Fcomponents\u002Fbb-text-input","\u002Fit\u002Fcomponenti\u002Fbb-text-input","\u002Fen\u002Fcomponents\u002Fbb-textarea","\u002Fit\u002Fcomponenti\u002Fbb-textarea","\u002Fen\u002Fcomponents\u002Fbb-time-picker","\u002Fit\u002Fcomponenti\u002Fbb-time-picker","\u002Fen\u002Fcomponents\u002Fbb-time-picker-input","\u002Fit\u002Fcomponenti\u002Fbb-time-picker-input","\u002Fen\u002Fcomponents\u002Fbb-toast","\u002Fit\u002Fcomponenti\u002Fbb-toast","\u002Fen\u002Fcomponents\u002Fbb-tooltip","\u002Fit\u002Fcomponenti\u002Fbb-tooltip","\u002Fen\u002Fcomponents\u002Fbb-tree","\u002Fit\u002Fcomponenti\u002Fbb-tree","\u002Fen\u002Fguides\u002Fai-agents","\u002Fit\u002Fguide\u002Fai-agents","\u002Fen\u002Fguides\u002Fcoherence","\u002Fit\u002Fguide\u002Fcoherence","\u002Fen\u002Fguides\u002Fdesign-language","\u002Fit\u002Fguide\u002Fdesign-language","\u002Fen\u002Fguides\u002Fdesign-tokens","\u002Fit\u002Fguide\u002Fdesign-tokens","\u002Fen\u002Fguides\u002Ffetching-data","\u002Fit\u002Fguide\u002Ffetching-data","\u002Fen\u002Fguides\u002Ficons","\u002Fit\u002Fguide\u002Ficons","\u002Fen\u002Fguides\u002Finertia","\u002Fit\u002Fguide\u002Finertia","\u002Fen\u002Fguides\u002Finstallation","\u002Fit\u002Fguide\u002Finstallation","\u002Fen\u002Fguides\u002Fmigration","\u002Fit\u002Fguide\u002Fmigration","\u002Fen\u002Fguides\u002Fnuxt","\u002Fit\u002Fguide\u002Fnuxt","\u002Fen\u002Fguides\u002Foptions-and-items","\u002Fit\u002Fguide\u002Foptions-and-items","\u002Fen\u002Fguides\u002Fvalidated-forms","\u002Fit\u002Fguide\u002Fvalidated-forms",[125,136,145,166,178,220,253,286,307,328,340,346],{"label":126,"entries":127},"Getting started",[128,132],{"title":129,"path":130,"order":131},"Installation","\u002Fguides\u002Finstallation",1,{"title":133,"path":134,"order":135},"Migrating from v2","\u002Fguides\u002Fmigration",2,{"label":137,"entries":138},"Design system",[139,142],{"title":140,"path":141,"order":131},"Design tokens","\u002Fguides\u002Fdesign-tokens",{"title":143,"path":144,"order":135},"Design language","\u002Fguides\u002Fdesign-language",{"label":146,"entries":147},"Playbooks",[148,151,154,158,162],{"title":149,"path":150,"order":131},"Options and items","\u002Fguides\u002Foptions-and-items",{"title":152,"path":153,"order":135},"Fetching data","\u002Fguides\u002Ffetching-data",{"title":155,"path":156,"order":157},"Coherence","\u002Fguides\u002Fcoherence",3,{"title":159,"path":160,"order":161},"Validated forms","\u002Fguides\u002Fvalidated-forms",4,{"title":163,"path":164,"order":165},"Icons","\u002Fguides\u002Ficons",5,{"label":167,"entries":168},"Ecosystem",[169,172,175],{"title":170,"path":171,"order":131},"Inertia and Laravel","\u002Fguides\u002Finertia",{"title":173,"path":174,"order":135},"Nuxt","\u002Fguides\u002Fnuxt",{"title":176,"path":177,"order":157},"AI agents","\u002Fguides\u002Fai-agents",{"label":179,"entries":180},"Inputs",[181,184,187,190,193,196,200,204,208,212,216],{"title":182,"path":183,"component":182,"order":131},"BbBaseButton","\u002Fcomponents\u002Fbb-base-button",{"title":185,"path":186,"component":185,"order":135},"BbButton","\u002Fcomponents\u002Fbb-button",{"title":188,"path":189,"component":188,"order":157},"BbColorInput","\u002Fcomponents\u002Fbb-color-input",{"title":191,"path":192,"component":191,"order":161},"BbDatePickerInput","\u002Fcomponents\u002Fbb-date-picker-input",{"title":194,"path":195,"component":194,"order":165},"BbDropzone","\u002Fcomponents\u002Fbb-dropzone",{"title":197,"path":198,"component":197,"order":199},"BbForm","\u002Fcomponents\u002Fbb-form",6,{"title":201,"path":202,"component":201,"order":203},"BbNumberInput","\u002Fcomponents\u002Fbb-number-input",7,{"title":205,"path":206,"component":205,"order":207},"BbTag","\u002Fcomponents\u002Fbb-tag",8,{"title":209,"path":210,"component":209,"order":211},"BbTextarea","\u002Fcomponents\u002Fbb-textarea",9,{"title":213,"path":214,"component":213,"order":215},"BbTextInput","\u002Fcomponents\u002Fbb-text-input",10,{"title":217,"path":218,"component":217,"order":219},"BbTimePickerInput","\u002Fcomponents\u002Fbb-time-picker-input",11,{"label":221,"entries":222},"Selection",[223,226,229,232,235,238,241,244,247,250],{"title":224,"path":225,"component":224,"order":131},"BbCheckbox","\u002Fcomponents\u002Fbb-checkbox",{"title":227,"path":228,"component":227,"order":135},"BbCheckboxGroup","\u002Fcomponents\u002Fbb-checkbox-group",{"title":230,"path":231,"component":230,"order":157},"BbRadio","\u002Fcomponents\u002Fbb-radio",{"title":233,"path":234,"component":233,"order":161},"BbRadioGroup","\u002Fcomponents\u002Fbb-radio-group",{"title":236,"path":237,"component":236,"order":165},"BbRating","\u002Fcomponents\u002Fbb-rating",{"title":239,"path":240,"component":239,"order":199},"BbSelect","\u002Fcomponents\u002Fbb-select",{"title":242,"path":243,"component":242,"order":203},"BbSelectPopover","\u002Fcomponents\u002Fbb-select-popover",{"title":245,"path":246,"component":245,"order":207},"BbSlider","\u002Fcomponents\u002Fbb-slider",{"title":248,"path":249,"component":248,"order":211},"BbSwitch","\u002Fcomponents\u002Fbb-switch",{"title":251,"path":252,"component":251,"order":215},"BbSwitchGroup","\u002Fcomponents\u002Fbb-switch-group",{"label":254,"entries":255},"Overlay",[256,259,262,265,268,271,274,277,280,283],{"title":257,"path":258,"component":257,"order":131},"BbColorPalette","\u002Fcomponents\u002Fbb-color-palette",{"title":260,"path":261,"component":260,"order":135},"BbConfirm","\u002Fcomponents\u002Fbb-confirm",{"title":263,"path":264,"component":263,"order":157},"BbDatePicker","\u002Fcomponents\u002Fbb-date-picker",{"title":266,"path":267,"component":266,"order":161},"BbDialog","\u002Fcomponents\u002Fbb-dialog",{"title":269,"path":270,"component":269,"order":165},"BbDropdown","\u002Fcomponents\u002Fbb-dropdown",{"title":272,"path":273,"component":272,"order":199},"BbDropdownButton","\u002Fcomponents\u002Fbb-dropdown-button",{"title":275,"path":276,"component":275,"order":203},"BbOffCanvas","\u002Fcomponents\u002Fbb-off-canvas",{"title":278,"path":279,"component":278,"order":207},"BbPopover","\u002Fcomponents\u002Fbb-popover",{"title":281,"path":282,"component":281,"order":211},"BbTimePicker","\u002Fcomponents\u002Fbb-time-picker",{"title":284,"path":285,"component":284,"order":215},"BbTooltip","\u002Fcomponents\u002Fbb-tooltip",{"label":287,"entries":288},"Navigation",[289,292,295,298,301,304],{"title":290,"path":291,"component":290,"order":131},"BbAccordion","\u002Fcomponents\u002Fbb-accordion",{"title":293,"path":294,"component":293,"order":135},"BbBreadcrumbs","\u002Fcomponents\u002Fbb-breadcrumbs",{"title":296,"path":297,"component":296,"order":157},"BbCollapsible","\u002Fcomponents\u002Fbb-collapsible",{"title":299,"path":300,"component":299,"order":161},"BbPagination","\u002Fcomponents\u002Fbb-pagination",{"title":302,"path":303,"component":302,"order":165},"BbTabs","\u002Fcomponents\u002Fbb-tabs",{"title":305,"path":306,"component":305,"order":199},"BbTree","\u002Fcomponents\u002Fbb-tree",{"label":308,"entries":309},"Feedback",[310,313,316,319,322,325],{"title":311,"path":312,"component":311,"order":131},"BbAlert","\u002Fcomponents\u002Fbb-alert",{"title":314,"path":315,"component":314,"order":135},"BbBadge","\u002Fcomponents\u002Fbb-badge",{"title":317,"path":318,"component":317,"order":157},"BbIndicator","\u002Fcomponents\u002Fbb-indicator",{"title":320,"path":321,"component":320,"order":161},"BbProgress","\u002Fcomponents\u002Fbb-progress",{"title":323,"path":324,"component":323,"order":165},"BbSpinner","\u002Fcomponents\u002Fbb-spinner",{"title":326,"path":327,"component":326,"order":199},"BbToast","\u002Fcomponents\u002Fbb-toast",{"label":329,"entries":330},"Data Display",[331,334,337],{"title":332,"path":333,"component":332,"order":131},"BbAvatar","\u002Fcomponents\u002Fbb-avatar",{"title":335,"path":336,"component":335,"order":135},"BbIcon","\u002Fcomponents\u002Fbb-icon",{"title":338,"path":339,"component":338,"order":157},"BbTable","\u002Fcomponents\u002Fbb-table",{"label":341,"entries":342},"Layout & Utility",[343],{"title":344,"path":345,"component":344,"order":131},"BbSmoothHeight","\u002Fcomponents\u002Fbb-smooth-height",{"label":347,"entries":348},"Other",[349],{"title":350,"path":351,"component":350,"order":131},"BbAsterisk","\u002Fcomponents\u002Fbb-asterisk",null,{"id":354,"title":152,"body":355,"component":352,"description":1610,"extension":1611,"group":146,"meta":1612,"navigation":1613,"order":135,"path":153,"sections":1614,"seo":1621,"stem":1622,"__hash__":1623},"docs_en\u002Fguides\u002Ffetching-data.md",{"type":356,"value":357,"toc":1602},"minimark",[358,372,382,390,393,405,508,523,587,599,612,618,752,758,773,797,812,822,851,864,867,905,922,928,931,975,990,996,1003,1169,1182,1231,1241,1373,1382,1484,1529,1535,1541,1544,1554,1564,1581,1598],[359,360,361,362,366,367,371],"p",{},"Pass a ",[363,364,365],"strong",{},"function"," to ",[368,369,370],"code",{},"items"," instead of an array and the component runs it,\ntracks loading, and discards stale responses. A static array bypasses the\nprovider entirely.",[359,373,374,375,378,379,381],{},"Read ",[376,377,149],"a",{"href":120}," first: mapping and value\nidentity work the same either way. ",[376,380,155],{"href":102}," picks up\nwhere this page ends, with what happens to a bound value when a fetch returns\ndifferent options.",[383,384,386],"h2",{"id":385},"signatures",[387,388,389],"span",{},"Provider signatures",[359,391,392],{},"Three shapes, one per component family.",[359,394,395,398,399,401,402,404],{},[363,396,397],{},"Query-aware",", on ",[368,400,239],{}," and ",[368,403,242],{},":",[406,407,412],"pre",{"className":408,"code":409,"language":410,"meta":411,"style":411},"language-ts shiki shiki-themes github-light-high-contrast github-dark-high-contrast","type QueryItemsProvider\u003CT> = (\n    query: string,\n    prefill: boolean,\n    modelValue: any \u002F\u002F your v-model: an array with `multiple`, the raw value otherwise\n) => T[] | Promise\u003CT[]>;\n","ts","",[368,413,414,441,455,467,481],{"__ignoreMap":411},[387,415,417,421,425,429,432,435,438],{"class":416,"line":131},"line",[387,418,420],{"class":419},"sHUrx","type",[387,422,424],{"class":423},"soyes"," QueryItemsProvider",[387,426,428],{"class":427},"suds8","\u003C",[387,430,431],{"class":423},"T",[387,433,434],{"class":427},"> ",[387,436,437],{"class":419},"=",[387,439,440],{"class":427}," (\n",[387,442,443,446,448,452],{"class":416,"line":135},[387,444,445],{"class":423},"    query",[387,447,404],{"class":419},[387,449,451],{"class":450},"s-5SL"," string",[387,453,454],{"class":427},",\n",[387,456,457,460,462,465],{"class":416,"line":157},[387,458,459],{"class":423},"    prefill",[387,461,404],{"class":419},[387,463,464],{"class":450}," boolean",[387,466,454],{"class":427},[387,468,469,472,474,477],{"class":416,"line":161},[387,470,471],{"class":423},"    modelValue",[387,473,404],{"class":419},[387,475,476],{"class":450}," any",[387,478,480],{"class":479},"sLBg1"," \u002F\u002F your v-model: an array with `multiple`, the raw value otherwise\n",[387,482,483,486,489,492,495,498,501,503,505],{"class":416,"line":165},[387,484,485],{"class":427},") ",[387,487,488],{"class":419},"=>",[387,490,491],{"class":423}," T",[387,493,494],{"class":427},"[] ",[387,496,497],{"class":419},"|",[387,499,500],{"class":423}," Promise",[387,502,428],{"class":427},[387,504,431],{"class":423},[387,506,507],{"class":427},"[]>;\n",[359,509,510,398,513,515,516,515,518,520,521,404],{},[363,511,512],{},"Non-query",[368,514,227],{},", ",[368,517,233],{},[368,519,251],{}," and\n",[368,522,338],{},[406,524,526],{"className":408,"code":525,"language":410,"meta":411,"style":411},"type ItemsProvider\u003CT> = (\n    prefill: boolean,\n    modelValue?: any \u002F\u002F groups: the v-model; BbTable: the current selection\n) => T[] | Promise\u003CT[]>;\n",[368,527,528,545,555,567],{"__ignoreMap":411},[387,529,530,532,535,537,539,541,543],{"class":416,"line":131},[387,531,420],{"class":419},[387,533,534],{"class":423}," ItemsProvider",[387,536,428],{"class":427},[387,538,431],{"class":423},[387,540,434],{"class":427},[387,542,437],{"class":419},[387,544,440],{"class":427},[387,546,547,549,551,553],{"class":416,"line":135},[387,548,459],{"class":423},[387,550,404],{"class":419},[387,552,464],{"class":450},[387,554,454],{"class":427},[387,556,557,559,562,564],{"class":416,"line":157},[387,558,471],{"class":423},[387,560,561],{"class":419},"?:",[387,563,476],{"class":450},[387,565,566],{"class":479}," \u002F\u002F groups: the v-model; BbTable: the current selection\n",[387,568,569,571,573,575,577,579,581,583,585],{"class":416,"line":161},[387,570,485],{"class":427},[387,572,488],{"class":419},[387,574,491],{"class":423},[387,576,494],{"class":427},[387,578,497],{"class":419},[387,580,500],{"class":423},[387,582,428],{"class":427},[387,584,431],{"class":423},[387,586,507],{"class":427},[359,588,589,594,595,598],{},[363,590,591,593],{},[368,592,269],{}," pipeline groups"," take the same non-query shape, where\n",[368,596,597],{},"modelValue"," is that group's own selection.",[359,600,601,602,604,605,608,609,611],{},"The prop declares ",[368,603,597],{}," as ",[368,606,607],{},"any",", so annotate it ",[368,610,607],{}," or your own model\ntype and branch on the shape you know you passed. Anything else the request\nneeds (filters, the parent record) you read from your own refs.",[383,613,615],{"id":614},"when",[387,616,617],{},"When the provider runs",[619,620,621,648],"table",{},[622,623,624],"thead",{},[625,626,627,631,638,641,645],"tr",{},[628,629,630],"th",{},"Trigger",[628,632,633,635,636],{},[368,634,239],{}," \u002F ",[368,637,242],{},[628,639,640],{},"Groups",[628,642,643],{},[368,644,338],{},[628,646,647],{},"Dropdown group",[649,650,651,678,700,728],"tbody",{},[625,652,653,657,662,668,673],{},[654,655,656],"td",{},"Initial load",[654,658,659],{},[368,660,661],{},"(query, true, modelValue)",[654,663,664,667],{},[368,665,666],{},"(true, modelValue)"," on mount",[654,669,670,667],{},[368,671,672],{},"(true, selected)",[654,674,675,677],{},[368,676,666],{}," on first open",[625,679,680,683,693,696,698],{},[654,681,682],{},"User types",[654,684,685,688,689,692],{},[368,686,687],{},"(query, false, modelValue)",", debounced ",[368,690,691],{},"query-debounce-time"," (500ms)",[654,694,695],{},"—",[654,697,695],{},[654,699,695],{},[625,701,702,708,715,720,724],{},[654,703,704,707],{},[368,705,706],{},"dependencies"," change",[654,709,710,688,712],{},[368,711,661],{},[368,713,714],{},"deps-debounce-time",[654,716,717,719],{},[368,718,666],{},", debounced",[654,721,722,719],{},[368,723,672],{},[654,725,726,719],{},[368,727,666],{},[625,729,730,735,743,748,750],{},[654,731,732,733,707],{},"External ",[368,734,597],{},[654,736,737,739,740],{},[368,738,661],{}," — only when incoherent, debounced ",[368,741,742],{},"model-value-debounce-time",[654,744,745,747],{},[368,746,666],{}," — only when incoherent",[654,749,695],{},[654,751,695],{},[383,753,755],{"id":754},"prefill",[387,756,757],{},"What prefill means",[359,759,760,761,763,764,768,769,772],{},"There are two ",[368,762,754],{},"s on this page and they are not the same thing. The\nargument tells you ",[765,766,767],"em",{},"who asked","; the prop tells you ",[765,770,771],{},"when the first load happens",".",[359,774,775,778,779,782,783,786,787,790,791,793,794,796],{},[363,776,777],{},"The argument."," ",[368,780,781],{},"prefill === false"," means exactly one thing, everywhere: ",[363,784,785],{},"the\nuser typed."," Every fetch the component starts itself passes ",[368,788,789],{},"true",", and expects\nthe current selection to stay resolvable in the response. That covers the mount\nor first-open load, a dependency change and a coherence refetch. Components with\nno search field always pass ",[368,792,789],{},". The argument is in their signature so one\nprovider can be shared with a ",[368,795,239],{}," and branch identically.",[798,799,800],"warning",{},[359,801,802,804,805,807,808,811],{},[368,803,754],{}," cannot tell an initial load from a dependency refetch: both pass\n",[368,806,789],{},". If a provider has to reconcile the selection against a new result set,\ndo it on ",[363,809,810],{},"every"," call. Your provider already closes over the filter that\nchanged, so it knows what it is fetching.",[359,813,814,398,817,401,819,821],{},[363,815,816],{},"The prop",[368,818,239],{},[368,820,242],{},", controls when the first load\nhappens:",[823,824,825,832,841],"ul",{},[826,827,828,831],"li",{},[368,829,830],{},"'interaction'"," (default) waits for the first user interaction.",[826,833,834,836,837,840],{},[368,835,789],{}," loads on mount, and runs in ",[368,838,839],{},"onServerPrefetch",", so it is the\nSSR-friendly one.",[826,842,843,846,847,850],{},[368,844,845],{},"false"," is ",[363,848,849],{},"search-first",": nothing loads until the user types. Opening the\npanel fetches nothing and the list shows a hint until the first query. Reach\nfor it when the result set is too large or expensive to browse and a query is\nthe only sensible entry point.",[359,852,853,401,855,857,858,860,861,863],{},[368,854,845],{},[368,856,830],{}," differ on exactly that point. Both skip the mount\nload, but ",[368,859,830],{}," fetches on open and ",[368,862,845],{}," waits for a query.",[359,865,866],{},"Four cases ignore the prop and load anyway, because deferring would buy nothing\nor break a promise the component already made:",[823,868,869,877,886,897],{},[826,870,871,876],{},[363,872,873,875],{},[368,874,370],{}," is an array."," There is no request to defer.",[826,878,879,885],{},[363,880,881,884],{},[368,882,883],{},"enforce-coherence"," over a non-empty model."," Validating a value is\nimpossible without options. An empty model stays lazy, because empty is\nalways coherent.",[826,887,888,778,893,896],{},[363,889,890,892],{},[368,891,845],{}," with writing disabled.",[368,894,895],{},"disable-writing"," hides the search field,\nso a search-first load could never be triggered.",[826,898,899,904],{},[363,900,901,903],{},[368,902,845],{}," with a non-empty model."," The selection's text has to resolve in\norder to render.",[359,906,907,909,910,914,915,918,919,772],{},[368,908,239],{}," additionally upgrades any non-empty model to an immediate prefill so\nthe in-field selection can show its text. A standalone\n",[376,911,912],{"href":68},[368,913,242],{}," does ",[363,916,917],{},"not",": the trigger\nis yours, so label it from your own state rather than reaching for\n",[368,920,921],{},"prefill: true",[383,923,925],{"id":924},"guarantees",[387,926,927],{},"What the component handles",[359,929,930],{},"Four things you do not write:",[823,932,933,941,951,963],{},[826,934,935,938,939,772],{},[363,936,937],{},"Race protection."," Out-of-order responses are discarded; only the latest\nrequest may write ",[368,940,370],{},[826,942,943,946,947,950],{},[363,944,945],{},"Loading."," In-flight requests are tracked internally. Do not add your own\n",[368,948,949],{},"loading"," ref for option fetching.",[826,952,953,778,956,515,958,520,960,962],{},[363,954,955],{},"Debouncing.",[368,957,691],{},[368,959,714],{},[368,961,742],{}," cover it. A hand-rolled debounce around the\nprovider fights them.",[826,964,965,778,968,970,971,974],{},[363,966,967],{},"Dependency comparison.",[368,969,706],{}," are compared by hashed value, not by\nreference, so ",[368,972,973],{},":dependencies=\"[filters]\""," refetches when the content changes\nand not merely when the array identity does.",[359,976,977,978,981,982,985,986,989],{},"One thing you do write: ",[363,979,980],{},"errors",". A rejected provider is logged with\n",[368,983,984],{},"console.error"," and the previous items are kept. If the user has to know a fetch\nfailed, surface it yourself. ",[368,987,988],{},"useToast"," is the usual answer.",[383,991,993],{"id":992},"patterns",[387,994,995],{},"Canonical patterns",[359,997,998,999,1002],{},"A query component branches explicitly and returns the ",[363,1000,1001],{},"same item shape"," from\nevery path:",[406,1004,1006],{"className":408,"code":1005,"language":410,"meta":411,"style":411},"const searchMembers = async (\n    query: string,\n    prefill: boolean,\n    modelValue: string[]\n): Promise\u003CMember[]> => {\n    \u002F\u002F Component-initiated: keep the current selection resolvable.\n    if (prefill && modelValue.length) {\n        return api.members.byIds(modelValue);\n    }\n    if (!query.trim()) return []; \u002F\u002F project-defined idle behaviour\n    return api.members.search({ query });\n};\n",[368,1007,1008,1025,1035,1045,1056,1078,1083,1103,1117,1122,1150,1163],{"__ignoreMap":411},[387,1009,1010,1013,1017,1020,1023],{"class":416,"line":131},[387,1011,1012],{"class":419},"const",[387,1014,1016],{"class":1015},"sKwhi"," searchMembers",[387,1018,1019],{"class":419}," =",[387,1021,1022],{"class":419}," async",[387,1024,440],{"class":427},[387,1026,1027,1029,1031,1033],{"class":416,"line":135},[387,1028,445],{"class":423},[387,1030,404],{"class":419},[387,1032,451],{"class":450},[387,1034,454],{"class":427},[387,1036,1037,1039,1041,1043],{"class":416,"line":157},[387,1038,459],{"class":423},[387,1040,404],{"class":419},[387,1042,464],{"class":450},[387,1044,454],{"class":427},[387,1046,1047,1049,1051,1053],{"class":416,"line":161},[387,1048,471],{"class":423},[387,1050,404],{"class":419},[387,1052,451],{"class":450},[387,1054,1055],{"class":427},"[]\n",[387,1057,1058,1061,1063,1065,1067,1070,1073,1075],{"class":416,"line":165},[387,1059,1060],{"class":427},")",[387,1062,404],{"class":419},[387,1064,500],{"class":423},[387,1066,428],{"class":427},[387,1068,1069],{"class":423},"Member",[387,1071,1072],{"class":427},"[]> ",[387,1074,488],{"class":419},[387,1076,1077],{"class":427}," {\n",[387,1079,1080],{"class":416,"line":199},[387,1081,1082],{"class":479},"    \u002F\u002F Component-initiated: keep the current selection resolvable.\n",[387,1084,1085,1088,1091,1094,1097,1100],{"class":416,"line":203},[387,1086,1087],{"class":419},"    if",[387,1089,1090],{"class":427}," (prefill ",[387,1092,1093],{"class":419},"&&",[387,1095,1096],{"class":427}," modelValue.",[387,1098,1099],{"class":450},"length",[387,1101,1102],{"class":427},") {\n",[387,1104,1105,1108,1111,1114],{"class":416,"line":207},[387,1106,1107],{"class":419},"        return",[387,1109,1110],{"class":427}," api.members.",[387,1112,1113],{"class":1015},"byIds",[387,1115,1116],{"class":427},"(modelValue);\n",[387,1118,1119],{"class":416,"line":211},[387,1120,1121],{"class":427},"    }\n",[387,1123,1124,1126,1129,1132,1135,1138,1141,1144,1147],{"class":416,"line":215},[387,1125,1087],{"class":419},[387,1127,1128],{"class":427}," (",[387,1130,1131],{"class":419},"!",[387,1133,1134],{"class":427},"query.",[387,1136,1137],{"class":1015},"trim",[387,1139,1140],{"class":427},"()) ",[387,1142,1143],{"class":419},"return",[387,1145,1146],{"class":427}," []; ",[387,1148,1149],{"class":479},"\u002F\u002F project-defined idle behaviour\n",[387,1151,1152,1155,1157,1160],{"class":416,"line":219},[387,1153,1154],{"class":419},"    return",[387,1156,1110],{"class":427},[387,1158,1159],{"class":1015},"search",[387,1161,1162],{"class":427},"({ query });\n",[387,1164,1166],{"class":416,"line":1165},12,[387,1167,1168],{"class":427},"};\n",[359,1170,1171,1172,1175,1176,1178,1179,1181],{},"A non-query component is the same shape minus ",[368,1173,1174],{},"query",". ",[368,1177,754],{}," is always\n",[368,1180,789],{}," here; it exists so the provider can be shared with a select:",[406,1183,1185],{"className":408,"code":1184,"language":410,"meta":411,"style":411},"const fetchRoles = (_prefill: boolean, selected?: string[]) =>\n    api.roles.list({ selectedIds: selected });\n",[368,1186,1187,1220],{"__ignoreMap":411},[387,1188,1189,1191,1194,1196,1198,1201,1203,1205,1207,1210,1212,1214,1217],{"class":416,"line":131},[387,1190,1012],{"class":419},[387,1192,1193],{"class":1015}," fetchRoles",[387,1195,1019],{"class":419},[387,1197,1128],{"class":427},[387,1199,1200],{"class":423},"_prefill",[387,1202,404],{"class":419},[387,1204,464],{"class":450},[387,1206,515],{"class":427},[387,1208,1209],{"class":423},"selected",[387,1211,561],{"class":419},[387,1213,451],{"class":450},[387,1215,1216],{"class":427},"[]) ",[387,1218,1219],{"class":419},"=>\n",[387,1221,1222,1225,1228],{"class":416,"line":135},[387,1223,1224],{"class":427},"    api.roles.",[387,1226,1227],{"class":1015},"list",[387,1229,1230],{"class":427},"({ selectedIds: selected });\n",[359,1232,1233,1237,1238,1240],{},[376,1234,1235],{"href":80},[368,1236,338],{}," ships ",[368,1239,883],{}," too, so reach for\nthe prop before writing reconciliation by hand. Where the prop cannot see the\ncase, reconcile unconditionally:",[406,1242,1244],{"className":408,"code":1243,"language":410,"meta":411,"style":411},"const fetchMembers = async (_prefill: boolean, selectedIds?: string[]) => {\n    const rows = await api.members.list({ role: role.value });\n    if (selectedIds?.length) {\n        selected.value = selectedIds.filter((id) => rows.some((r) => r.id === id));\n    }\n    return rows;\n};\n",[368,1245,1246,1280,1300,1311,1358,1362,1369],{"__ignoreMap":411},[387,1247,1248,1250,1253,1255,1257,1259,1261,1263,1265,1267,1270,1272,1274,1276,1278],{"class":416,"line":131},[387,1249,1012],{"class":419},[387,1251,1252],{"class":1015}," fetchMembers",[387,1254,1019],{"class":419},[387,1256,1022],{"class":419},[387,1258,1128],{"class":427},[387,1260,1200],{"class":423},[387,1262,404],{"class":419},[387,1264,464],{"class":450},[387,1266,515],{"class":427},[387,1268,1269],{"class":423},"selectedIds",[387,1271,561],{"class":419},[387,1273,451],{"class":450},[387,1275,1216],{"class":427},[387,1277,488],{"class":419},[387,1279,1077],{"class":427},[387,1281,1282,1285,1288,1290,1293,1295,1297],{"class":416,"line":135},[387,1283,1284],{"class":419},"    const",[387,1286,1287],{"class":450}," rows",[387,1289,1019],{"class":419},[387,1291,1292],{"class":419}," await",[387,1294,1110],{"class":427},[387,1296,1227],{"class":1015},[387,1298,1299],{"class":427},"({ role: role.value });\n",[387,1301,1302,1304,1307,1309],{"class":416,"line":157},[387,1303,1087],{"class":419},[387,1305,1306],{"class":427}," (selectedIds?.",[387,1308,1099],{"class":450},[387,1310,1102],{"class":427},[387,1312,1313,1316,1318,1321,1324,1327,1330,1332,1334,1337,1340,1342,1345,1347,1349,1352,1355],{"class":416,"line":161},[387,1314,1315],{"class":427},"        selected.value ",[387,1317,437],{"class":419},[387,1319,1320],{"class":427}," selectedIds.",[387,1322,1323],{"class":1015},"filter",[387,1325,1326],{"class":427},"((",[387,1328,1329],{"class":423},"id",[387,1331,485],{"class":427},[387,1333,488],{"class":419},[387,1335,1336],{"class":427}," rows.",[387,1338,1339],{"class":1015},"some",[387,1341,1326],{"class":427},[387,1343,1344],{"class":423},"r",[387,1346,485],{"class":427},[387,1348,488],{"class":419},[387,1350,1351],{"class":427}," r.id ",[387,1353,1354],{"class":419},"===",[387,1356,1357],{"class":427}," id));\n",[387,1359,1360],{"class":416,"line":165},[387,1361,1121],{"class":427},[387,1363,1364,1366],{"class":416,"line":199},[387,1365,1154],{"class":419},[387,1367,1368],{"class":427}," rows;\n",[387,1370,1371],{"class":416,"line":203},[387,1372,1168],{"class":427},[359,1374,1375,1376,1378,1379,404],{},"On a server-driven table, forward the page state and refetch through\n",[368,1377,706],{}," rather than a manual ",[368,1380,1381],{},"watch",[406,1383,1385],{"className":408,"code":1384,"language":410,"meta":411,"style":411},"const fetchInvoices = async (): Promise\u003CInvoice[]> => {\n    const res = await api.invoices.list({\n        search: search.value,\n        status: status.value,\n        orderBy: sort.value, \u002F\u002F the v-model:sort array, forwarded as-is\n        page: page.value,\n    });\n    totalItems.value = res.total;\n    return res.data;\n};\n",[368,1386,1387,1416,1435,1440,1445,1453,1458,1463,1473,1480],{"__ignoreMap":411},[387,1388,1389,1391,1394,1396,1398,1401,1403,1405,1407,1410,1412,1414],{"class":416,"line":131},[387,1390,1012],{"class":419},[387,1392,1393],{"class":1015}," fetchInvoices",[387,1395,1019],{"class":419},[387,1397,1022],{"class":419},[387,1399,1400],{"class":427}," ()",[387,1402,404],{"class":419},[387,1404,500],{"class":423},[387,1406,428],{"class":427},[387,1408,1409],{"class":423},"Invoice",[387,1411,1072],{"class":427},[387,1413,488],{"class":419},[387,1415,1077],{"class":427},[387,1417,1418,1420,1423,1425,1427,1430,1432],{"class":416,"line":135},[387,1419,1284],{"class":419},[387,1421,1422],{"class":450}," res",[387,1424,1019],{"class":419},[387,1426,1292],{"class":419},[387,1428,1429],{"class":427}," api.invoices.",[387,1431,1227],{"class":1015},[387,1433,1434],{"class":427},"({\n",[387,1436,1437],{"class":416,"line":157},[387,1438,1439],{"class":427},"        search: search.value,\n",[387,1441,1442],{"class":416,"line":161},[387,1443,1444],{"class":427},"        status: status.value,\n",[387,1446,1447,1450],{"class":416,"line":165},[387,1448,1449],{"class":427},"        orderBy: sort.value, ",[387,1451,1452],{"class":479},"\u002F\u002F the v-model:sort array, forwarded as-is\n",[387,1454,1455],{"class":416,"line":199},[387,1456,1457],{"class":427},"        page: page.value,\n",[387,1459,1460],{"class":416,"line":203},[387,1461,1462],{"class":427},"    });\n",[387,1464,1465,1468,1470],{"class":416,"line":207},[387,1466,1467],{"class":427},"    totalItems.value ",[387,1469,437],{"class":419},[387,1471,1472],{"class":427}," res.total;\n",[387,1474,1475,1477],{"class":416,"line":211},[387,1476,1154],{"class":419},[387,1478,1479],{"class":427}," res.data;\n",[387,1481,1482],{"class":416,"line":215},[387,1483,1168],{"class":427},[406,1485,1489],{"className":1486,"code":1487,"language":1488,"meta":411,"style":411},"language-vue shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u003CBbTable :items=\"fetchInvoices\" :dependencies=\"[search, status, sort]\" \u002F>\n","vue",[368,1490,1491],{"__ignoreMap":411},[387,1492,1493,1495,1498,1501,1503,1505,1508,1511,1513,1515,1517,1519,1521,1524,1526],{"class":416,"line":131},[387,1494,428],{"class":427},[387,1496,338],{"class":1497},"sne4z",[387,1499,1500],{"class":427}," :",[387,1502,370],{"class":450},[387,1504,437],{"class":427},[387,1506,1507],{"class":427},"\"",[387,1509,1510],{"class":427},"fetchInvoices",[387,1512,1507],{"class":427},[387,1514,1500],{"class":427},[387,1516,706],{"class":450},[387,1518,437],{"class":427},[387,1520,1507],{"class":427},[387,1522,1523],{"class":427},"[search, status, sort]",[387,1525,1507],{"class":427},[387,1527,1528],{"class":427}," \u002F>\n",[359,1530,1531,1534],{},[368,1532,1533],{},"page"," is deliberately not in that list: a provider-backed table already\nrefetches when its shared page moves. List only your own filters and sort.",[383,1536,1538],{"id":1537},"idle",[387,1539,1540],{},"The idle state",[359,1542,1543],{},"What a query component returns for an empty query is a product decision, not a\ndefault. Make it once and keep it deterministic across the app.",[359,1545,1546,1549,1550,1553],{},[363,1547,1548],{},"Empty query, nothing selected:"," return ",[368,1551,1552],{},"[]"," for an explicit empty state, or\na default list for guided discovery.",[359,1555,1556,1559,1560,1563],{},[363,1557,1558],{},"Empty query, values selected:"," return at least the selected items, alone or\nmerged with a default list, so the selection is never orphaned. Enabling ",[368,1561,1562],{},"stash","\non the select keeps already-picked options resolvable across searches without\nre-including them in every response.",[359,1565,1566,1567,401,1570,1573,1574,401,1577,1580],{},"Fill the panel's own states with ",[368,1568,1569],{},"loading-text",[368,1571,1572],{},"no-data-text",", or the\n",[368,1575,1576],{},"#loading",[368,1578,1579],{},"#no-data"," slots. An empty panel with no words in it reads as a\nbroken request.",[359,1582,1583,1584,846,1586,1588,1589,1591,1592,1597],{},"Build the provider in three passes: return a deterministic result for an empty\nquery, keep selected values resolvable when ",[368,1585,754],{},[368,1587,789],{},", then add\n",[368,1590,706],{}," for external filters. If a dependency can make the model\ninvalid, finish the flow with\n",[376,1593,1595],{"href":1594},"\u002Fen\u002Fguides\u002Fcoherence#props",[368,1596,883],{}," instead of a reset watcher.",[1599,1600,1601],"style",{},"html pre.shiki code .sHUrx, html code.shiki .sHUrx{--shiki-default:#A0111F;--shiki-dark:#FF9492}html pre.shiki code .soyes, html code.shiki .soyes{--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .suds8, html code.shiki .suds8{--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .s-5SL, html code.shiki .s-5SL{--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .sLBg1, html code.shiki .sLBg1{--shiki-default:#66707B;--shiki-dark:#BDC4CC}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 .sKwhi, html code.shiki .sKwhi{--shiki-default:#622CBC;--shiki-dark:#DBB7FF}html pre.shiki code .sne4z, html code.shiki .sne4z{--shiki-default:#024C1A;--shiki-dark:#72F088}",{"title":411,"searchDepth":157,"depth":157,"links":1603},[1604,1605,1606,1607,1608,1609],{"id":385,"depth":135,"text":389},{"id":614,"depth":135,"text":617},{"id":754,"depth":135,"text":757},{"id":924,"depth":135,"text":927},{"id":992,"depth":135,"text":995},{"id":1537,"depth":135,"text":1540},"When items is a function: the provider signatures, when each one runs, and what prefill means.","md",{},true,[1615,1616,1617,1618,1619,1620],{"id":385,"title":389},{"id":614,"title":617},{"id":754,"title":757},{"id":924,"title":927},{"id":992,"title":995},{"id":1537,"title":1540},{"title":152,"description":1610},"guides\u002Ffetching-data","rmPqBaXIs5lUhsx7hyH7tV4frCstE4R04CJXaB4qxqs",1790005167944]