[{"data":1,"prerenderedAt":1732},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcwa-layer\u002Fdate-pickers":413,"\u002Fnuxt-module\u002Fcwa-layer\u002Fdate-pickers-surround":1727},[4,14,36,69,144,384],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17,"children":18,"page":35},"Guides","\u002Fguides","2.guides",[19,23,27,31],{"title":20,"path":21,"stem":22},"Your First Layout","\u002Fguides\u002Fyour-first-layout","2.guides\u002F1.your-first-layout",{"title":24,"path":25,"stem":26},"Your First Page Template","\u002Fguides\u002Fyour-first-page-template","2.guides\u002F2.your-first-page-template",{"title":28,"path":29,"stem":30},"Your First Component","\u002Fguides\u002Fyour-first-component","2.guides\u002F3.your-first-component",{"title":32,"path":33,"stem":34},"Alternative UI Variants","\u002Fguides\u002Falternative-ui-variants","2.guides\u002F4.alternative-ui-variants",false,{"title":37,"path":38,"stem":39,"children":40,"page":35},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[41,45,49,53,57,61,65],{"title":42,"path":43,"stem":44},"How It All Works","\u002Fcore-concepts\u002Farchitecture","3.core-concepts\u002F1.architecture",{"title":46,"path":47,"stem":48},"The Data Model","\u002Fcore-concepts\u002Fthe-data-model","3.core-concepts\u002F2.the-data-model",{"title":50,"path":51,"stem":52},"Layouts & Pages","\u002Fcore-concepts\u002Flayouts-and-pages","3.core-concepts\u002F3.layouts-and-pages",{"title":54,"path":55,"stem":56},"Dynamic Pages","\u002Fcore-concepts\u002Fdynamic-pages","3.core-concepts\u002F4.dynamic-pages",{"title":58,"path":59,"stem":60},"Components","\u002Fcore-concepts\u002Fcomponents","3.core-concepts\u002F5.components",{"title":62,"path":63,"stem":64},"Draft & Publish Workflow","\u002Fcore-concepts\u002Fdraft-and-publish","3.core-concepts\u002F6.draft-and-publish",{"title":66,"path":67,"stem":68},"The Admin Panel","\u002Fcore-concepts\u002Fadmin-panel","3.core-concepts\u002F7.admin-panel",{"title":70,"path":71,"stem":72,"children":73,"page":35},"Api","\u002Fapi","4.api",[74,78,120,124,128,132,136,140],{"title":75,"path":76,"stem":77},"Bundle Setup","\u002Fapi\u002Fbundle-setup","4.api\u002F1.bundle-setup",{"title":58,"path":79,"stem":80,"children":81,"page":35},"\u002Fapi\u002Fcomponents","4.api\u002F2.components",[82,86,107],{"title":83,"path":84,"stem":85},"Creating Components","\u002Fapi\u002Fcomponents\u002Fcreating-components","4.api\u002F2.components\u002F1.creating-components",{"title":87,"path":88,"stem":89,"children":90,"page":35},"Annotations","\u002Fapi\u002Fcomponents\u002Fannotations","4.api\u002F2.components\u002F2.annotations",[91,95,99,103],{"title":92,"path":93,"stem":94},"Publishable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fpublishable","4.api\u002F2.components\u002F2.annotations\u002F1.publishable",{"title":96,"path":97,"stem":98},"Uploadable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fuploadable","4.api\u002F2.components\u002F2.annotations\u002F2.uploadable",{"title":100,"path":101,"stem":102},"Timestamped","\u002Fapi\u002Fcomponents\u002Fannotations\u002Ftimestamped","4.api\u002F2.components\u002F2.annotations\u002F3.timestamped",{"title":104,"path":105,"stem":106},"Explicit Allow Only","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fexplicit-allow-only","4.api\u002F2.components\u002F2.annotations\u002F4.explicit-allow-only",{"title":108,"path":109,"stem":110,"children":111,"page":35},"Built Ins","\u002Fapi\u002Fcomponents\u002Fbuilt-ins","4.api\u002F2.components\u002F3.built-ins",[112,116],{"title":113,"path":114,"stem":115},"Collection Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component","4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component",{"title":117,"path":118,"stem":119},"Form Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fform-component","4.api\u002F2.components\u002F3.built-ins\u002F2.form-component",{"title":121,"path":122,"stem":123},"Dynamic & Nested Pages","\u002Fapi\u002Fdynamic-pages","4.api\u002F3.dynamic-pages",{"title":125,"path":126,"stem":127},"Users & Security","\u002Fapi\u002Fusers-and-security","4.api\u002F4.users-and-security",{"title":129,"path":130,"stem":131},"Data Fixtures","\u002Fapi\u002Fdata-fixtures","4.api\u002F5.data-fixtures",{"title":133,"path":134,"stem":135},"Configuration Reference","\u002Fapi\u002Fconfiguration","4.api\u002F6.configuration",{"title":137,"path":138,"stem":139},"Console Commands","\u002Fapi\u002Fconsole-commands","4.api\u002F7.console-commands",{"title":141,"path":142,"stem":143},"Debugging & Profiler","\u002Fapi\u002Fdebugging","4.api\u002F8.debugging",{"title":145,"path":146,"stem":147,"children":148,"page":35},"Nuxt Module","\u002Fnuxt-module","5.nuxt-module",[149,153,157,161,174,194,215,248,332,356,360],{"title":150,"path":151,"stem":152},"Module Setup","\u002Fnuxt-module\u002Fmodule-setup","5.nuxt-module\u002F1.module-setup",{"title":154,"path":155,"stem":156},"PWA & Offline","\u002Fnuxt-module\u002Fpwa","5.nuxt-module\u002F10.pwa",{"title":158,"path":159,"stem":160},"Page Caching","\u002Fnuxt-module\u002Fpage-caching","5.nuxt-module\u002F11.page-caching",{"title":162,"path":163,"stem":164,"children":165,"page":35},"Configuration","\u002Fnuxt-module\u002Fconfiguration","5.nuxt-module\u002F2.configuration",[166,170],{"title":167,"path":168,"stem":169},"Nuxt Config","\u002Fnuxt-module\u002Fconfiguration\u002Fnuxt-config","5.nuxt-module\u002F2.configuration\u002F1.nuxt-config",{"title":171,"path":172,"stem":173},"Site Config & SEO","\u002Fnuxt-module\u002Fconfiguration\u002Fsite-config-and-seo","5.nuxt-module\u002F2.configuration\u002F2.site-config-and-seo",{"title":175,"path":176,"stem":177,"children":178,"page":35},"Building Your Ui","\u002Fnuxt-module\u002Fbuilding-your-ui","5.nuxt-module\u002F3.building-your-ui",[179,183,187,190],{"title":180,"path":181,"stem":182},"Layouts","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-layouts","5.nuxt-module\u002F3.building-your-ui\u002F1.creating-layouts",{"title":184,"path":185,"stem":186},"Page Templates","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-page-templates","5.nuxt-module\u002F3.building-your-ui\u002F2.creating-page-templates",{"title":83,"path":188,"stem":189},"\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-components","5.nuxt-module\u002F3.building-your-ui\u002F3.creating-components",{"title":191,"path":192,"stem":193},"CLI Generator","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcwa-cli","5.nuxt-module\u002F3.building-your-ui\u002F4.cwa-cli",{"title":195,"path":196,"stem":197,"children":198,"page":35},"Cwa Components","\u002Fnuxt-module\u002Fcwa-components","5.nuxt-module\u002F4.cwa-components",[199,203,207,211],{"title":200,"path":201,"stem":202},"\u003CCwaComponentGroup \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group","5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group",{"title":204,"path":205,"stem":206},"\u003CCwaPage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-page","5.nuxt-module\u002F4.cwa-components\u002F2.cwa-page",{"title":208,"path":209,"stem":210},"\u003CCwaLink \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-link","5.nuxt-module\u002F4.cwa-components\u002F3.cwa-link",{"title":212,"path":213,"stem":214},"\u003CCwaDefaultLayout \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-default-layout","5.nuxt-module\u002F4.cwa-components\u002F5.cwa-default-layout",{"title":216,"path":217,"stem":218,"children":219,"page":35},"Cwa Api","\u002Fnuxt-module\u002Fcwa-api","5.nuxt-module\u002F5.cwa-api",[220,224,228,232,236,240,244],{"title":221,"path":222,"stem":223},"Overview","\u002Fnuxt-module\u002Fcwa-api\u002Foverview","5.nuxt-module\u002F5.cwa-api\u002F1.overview",{"title":225,"path":226,"stem":227},"Resources","\u002Fnuxt-module\u002Fcwa-api\u002Fresources","5.nuxt-module\u002F5.cwa-api\u002F2.resources",{"title":229,"path":230,"stem":231},"Resources Manager","\u002Fnuxt-module\u002Fcwa-api\u002Fresources-manager","5.nuxt-module\u002F5.cwa-api\u002F3.resources-manager",{"title":233,"path":234,"stem":235},"Auth","\u002Fnuxt-module\u002Fcwa-api\u002Fauth","5.nuxt-module\u002F5.cwa-api\u002F4.auth",{"title":237,"path":238,"stem":239},"Forms","\u002Fnuxt-module\u002Fcwa-api\u002Fforms","5.nuxt-module\u002F5.cwa-api\u002F5.forms",{"title":241,"path":242,"stem":243},"Admin","\u002Fnuxt-module\u002Fcwa-api\u002Fadmin","5.nuxt-module\u002F5.cwa-api\u002F6.admin",{"title":245,"path":246,"stem":247},"Site Config","\u002Fnuxt-module\u002Fcwa-api\u002Fsite-config","5.nuxt-module\u002F5.cwa-api\u002F7.site-config",{"title":249,"path":250,"stem":251,"children":252,"page":35},"Composables","\u002Fnuxt-module\u002Fcomposables","5.nuxt-module\u002F6.composables",[253,261,298,315],{"title":254,"path":255,"stem":256,"children":257,"page":35},"Layout","\u002Fnuxt-module\u002Fcomposables\u002Flayout","5.nuxt-module\u002F6.composables\u002F0.layout",[258],{"title":254,"path":259,"stem":260},"\u002Fnuxt-module\u002Fcomposables\u002Flayout\u002Fuse-cwa-layout","5.nuxt-module\u002F6.composables\u002F0.layout\u002F1.use-cwa-layout",{"title":262,"path":263,"stem":264,"children":265,"page":35},"Component","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent","5.nuxt-module\u002F6.composables\u002F1.component",[266,270,274,278,282,286,290,294],{"title":267,"path":268,"stem":269},"Component (recommended)","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component","5.nuxt-module\u002F6.composables\u002F1.component\u002F0.use-cwa-component",{"title":271,"path":272,"stem":273},"Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource",{"title":275,"path":276,"stem":277},"Collection Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-collection-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F2.use-cwa-collection-resource",{"title":279,"path":280,"stem":281},"File Field","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-file-field","5.nuxt-module\u002F6.composables\u002F1.component\u002F3.use-cwa-file-field",{"title":283,"path":284,"stem":285},"Form","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form","5.nuxt-module\u002F6.composables\u002F1.component\u002F4.use-cwa-form",{"title":287,"path":288,"stem":289},"Form Input","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-input","5.nuxt-module\u002F6.composables\u002F1.component\u002F5.use-cwa-form-input",{"title":291,"path":292,"stem":293},"Form Repeated","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated","5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated",{"title":295,"path":296,"stem":297},"Form Collection","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-collection","5.nuxt-module\u002F6.composables\u002F1.component\u002F7.use-cwa-form-collection",{"title":299,"path":300,"stem":301,"children":302,"page":35},"Admin Manager","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager","5.nuxt-module\u002F6.composables\u002F2.admin-manager",[303,307,311],{"title":304,"path":305,"stem":306},"Manager Tab","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-manager-tab","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F1.use-cwa-resource-manager-tab",{"title":308,"path":309,"stem":310},"Resource Model","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-model","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F2.use-cwa-resource-model",{"title":312,"path":313,"stem":314},"Resource Upload","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F3.use-cwa-resource-upload",{"title":316,"path":317,"stem":318,"children":319,"page":35},"Utilities","\u002Fnuxt-module\u002Fcomposables\u002Futilities","5.nuxt-module\u002F6.composables\u002F3.utilities",[320,324,328],{"title":321,"path":322,"stem":323},"Resource Endpoint","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-endpoint","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F1.use-cwa-resource-endpoint",{"title":325,"path":326,"stem":327},"Query Model","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-query-bound-model","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F2.use-query-bound-model",{"title":329,"path":330,"stem":331},"Resource Route","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-route","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F3.use-cwa-resource-route",{"title":333,"path":334,"stem":335,"children":336,"page":35},"Component Helpers","\u002Fnuxt-module\u002Fcomponent-helpers","5.nuxt-module\u002F7.component-helpers",[337,341,345,349,353],{"title":338,"path":339,"stem":340},"Images & Media","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fimages-and-uploads","5.nuxt-module\u002F7.component-helpers\u002F1.images-and-uploads",{"title":342,"path":343,"stem":344},"Collections & Pagination","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fcollections-and-pagination","5.nuxt-module\u002F7.component-helpers\u002F2.collections-and-pagination",{"title":346,"path":347,"stem":348},"HTML Content","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fhtml-content","5.nuxt-module\u002F7.component-helpers\u002F3.html-content",{"title":350,"path":351,"stem":352},"Real-Time Updates","\u002Fnuxt-module\u002Fcomponent-helpers\u002Freal-time-updates","5.nuxt-module\u002F7.component-helpers\u002F4.real-time-updates",{"title":237,"path":354,"stem":355},"\u002Fnuxt-module\u002Fcomponent-helpers\u002Fforms","5.nuxt-module\u002F7.component-helpers\u002F5.forms",{"title":357,"path":358,"stem":359},"Authentication","\u002Fnuxt-module\u002Fauthentication","5.nuxt-module\u002F8.authentication",{"title":361,"path":362,"stem":363,"children":364,"page":35},"Cwa Layer","\u002Fnuxt-module\u002Fcwa-layer","5.nuxt-module\u002F9.cwa-layer",[365,368,372,376,380],{"title":221,"path":366,"stem":367},"\u002Fnuxt-module\u002Fcwa-layer\u002Foverview","5.nuxt-module\u002F9.cwa-layer\u002F1.overview",{"title":369,"path":370,"stem":371},"Auth Pages","\u002Fnuxt-module\u002Fcwa-layer\u002Fauth-pages","5.nuxt-module\u002F9.cwa-layer\u002F2.auth-pages",{"title":373,"path":374,"stem":375},"Admin Panel","\u002Fnuxt-module\u002Fcwa-layer\u002Fadmin-panel","5.nuxt-module\u002F9.cwa-layer\u002F3.admin-panel",{"title":377,"path":378,"stem":379},"Styling","\u002Fnuxt-module\u002Fcwa-layer\u002Fstyling","5.nuxt-module\u002F9.cwa-layer\u002F4.styling",{"title":381,"path":382,"stem":383},"Date Pickers","\u002Fnuxt-module\u002Fcwa-layer\u002Fdate-pickers","5.nuxt-module\u002F9.cwa-layer\u002F5.date-pickers",{"title":385,"path":386,"stem":387,"children":388,"page":35},"Deployment","\u002Fdeployment","6.deployment",[389,393,397,401,405,409],{"title":390,"path":391,"stem":392},"Docker","\u002Fdeployment\u002Fdocker","6.deployment\u002F1.docker",{"title":394,"path":395,"stem":396},"Kubernetes & Helm","\u002Fdeployment\u002Fkubernetes","6.deployment\u002F2.kubernetes",{"title":398,"path":399,"stem":400},"CI\u002FCD","\u002Fdeployment\u002Fci-cd","6.deployment\u002F3.ci-cd",{"title":402,"path":403,"stem":404},"Load Testing","\u002Fdeployment\u002Fload-testing","6.deployment\u002F4.load-testing",{"title":406,"path":407,"stem":408},"Faster Functional Tests","\u002Fdeployment\u002Ffaster-functional-tests","6.deployment\u002F5.faster-functional-tests",{"title":410,"path":411,"stem":412},"Cloudflare","\u002Fdeployment\u002Fcloudflare","6.deployment\u002F6.cloudflare",{"id":414,"title":415,"badge":416,"body":417,"description":1721,"extension":1722,"links":416,"meta":1723,"navigation":1724,"path":382,"seo":1725,"stem":383,"__hash__":1726},"docs\u002F5.nuxt-module\u002F9.cwa-layer\u002F5.date-pickers.md","Date and Time Pickers",null,{"type":418,"value":419,"toc":1713},"minimark",[420,446,463,527,533,538,737,740,746,888,893,896,900,923,1108,1111,1416,1420,1423,1457,1661,1667,1671,1677,1685,1694,1709],[421,422,423,424,428,429,433,434,437,438,445],"p",{},"The UI kit has three date components. The admin uses ",[425,426,427],"code",{},"\u003CCwaUiDatePicker>"," for a component's scheduled publish time and a route's ",[430,431,432],"strong",{},"Goes live"," date, and you can use all three in your own admin tabs and pages. Like the rest of the kit, they're auto-imported with the ",[425,435,436],{},"CwaUi"," prefix. They're built on ",[439,440,444],"a",{"href":441,"rel":442},"https:\u002F\u002Freka-ui.com",[443],"nofollow","reka-ui"," and ported from Nuxt UI's Calendar and InputDate.",[447,448,450],"callout",{"icon":449},"i-heroicons-information-circle",[421,451,452],{},[430,453,454,455,458,459,462],{},"Added in ",[425,456,457],{},"@cwa\u002Fnuxt"," ",[425,460,461],{},"2.0.0-alpha.2",".",[464,465,466,481],"table",{},[467,468,469],"thead",{},[470,471,472,475,478],"tr",{},[473,474,262],"th",{},[473,476,477],{},"What it is",[473,479,480],{},"Value",[482,483,484,497,513],"tbody",{},[470,485,486,491,494],{},[487,488,489],"td",{},[425,490,427],{},[487,492,493],{},"A date and time field with a calendar popover",[487,495,496],{},"A UTC ISO string",[470,498,499,504,507],{},[487,500,501],{},[425,502,503],{},"\u003CCwaUiCalendar>",[487,505,506],{},"The calendar on its own",[487,508,509,512],{},[425,510,511],{},"@internationalized\u002Fdate"," values",[470,514,515,520,523],{},[487,516,517],{},[425,518,519],{},"\u003CCwaUiInputDate>",[487,521,522],{},"The segmented field on its own",[487,524,525,512],{},[425,526,511],{},[421,528,529,530,532],{},"Use ",[425,531,427],{}," when you're storing a date in the API. The other two are the parts it's built from, for when you need a date without a time, a range, or several dates.",[534,535,537],"h2",{"id":536},"cwauidatepicker","CwaUiDatePicker",[539,540,545],"pre",{"className":541,"code":542,"language":543,"meta":544,"style":544},"language-vue shiki shiki-themes github-light github-dark material-theme-palenight","\u003Cscript setup lang=\"ts\">\nconst goLive = ref\u003Cstring | null>(null)\nconst now = new Date().toISOString()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CCwaUiDatePicker v-model=\"goLive\" label=\"Goes live\" :min=\"now\" \u002F>\n\u003C\u002Ftemplate>\n","vue","",[425,546,547,583,628,655,665,672,682,728],{"__ignoreMap":544},[548,549,552,556,560,564,567,570,574,578,580],"span",{"class":550,"line":551},"line",1,[548,553,555],{"class":554},"sOvfz","\u003C",[548,557,559],{"class":558},"s-h7I","script",[548,561,563],{"class":562},"sGtlX"," setup",[548,565,566],{"class":562}," lang",[548,568,569],{"class":554},"=",[548,571,573],{"class":572},"seSrl","\"",[548,575,577],{"class":576},"sLL54","ts",[548,579,573],{"class":572},[548,581,582],{"class":554},">\n",[548,584,586,590,594,598,602,604,608,611,614,617,621,625],{"class":550,"line":585},2,[548,587,589],{"class":588},"swB56","const",[548,591,593],{"class":592},"sc2zw"," goLive",[548,595,597],{"class":596},"sVlFx"," =",[548,599,601],{"class":600},"sKpYG"," ref",[548,603,555],{"class":554},[548,605,607],{"class":606},"sbW4m","string",[548,609,610],{"class":596}," |",[548,612,613],{"class":606}," null",[548,615,616],{"class":554},">",[548,618,620],{"class":619},"sPB8G","(",[548,622,624],{"class":623},"sBtbT","null",[548,626,627],{"class":619},")\n",[548,629,631,633,636,638,641,644,647,649,652],{"class":550,"line":630},3,[548,632,589],{"class":588},[548,634,635],{"class":592}," now",[548,637,597],{"class":596},[548,639,640],{"class":596}," new",[548,642,643],{"class":600}," Date",[548,645,646],{"class":619},"()",[548,648,462],{"class":554},[548,650,651],{"class":600},"toISOString",[548,653,654],{"class":619},"()\n",[548,656,658,661,663],{"class":550,"line":657},4,[548,659,660],{"class":554},"\u003C\u002F",[548,662,559],{"class":558},[548,664,582],{"class":554},[548,666,668],{"class":550,"line":667},5,[548,669,671],{"emptyLinePlaceholder":670},true,"\n",[548,673,675,677,680],{"class":550,"line":674},6,[548,676,555],{"class":554},[548,678,679],{"class":558},"template",[548,681,582],{"class":554},[548,683,685,688,690,693,695,697,700,702,705,707,709,711,713,716,718,720,723,725],{"class":550,"line":684},7,[548,686,687],{"class":554},"  \u003C",[548,689,537],{"class":558},[548,691,692],{"class":562}," v-model",[548,694,569],{"class":554},[548,696,573],{"class":572},[548,698,699],{"class":576},"goLive",[548,701,573],{"class":572},[548,703,704],{"class":562}," label",[548,706,569],{"class":554},[548,708,573],{"class":572},[548,710,432],{"class":576},[548,712,573],{"class":572},[548,714,715],{"class":562}," :min",[548,717,569],{"class":554},[548,719,573],{"class":572},[548,721,722],{"class":576},"now",[548,724,573],{"class":572},[548,726,727],{"class":554}," \u002F>\n",[548,729,731,733,735],{"class":550,"line":730},8,[548,732,660],{"class":554},[548,734,679],{"class":558},[548,736,582],{"class":554},[421,738,739],{},"The field has day, month, year, hour and minute segments, on a 24-hour clock. Editors type into a segment or step it with the arrow keys, or open the calendar with the button at the end of the field. Picking a day in the calendar keeps the time already set, or uses 09:00 if the field was empty.",[447,741,743],{"icon":742},"i-heroicons-photo",[421,744,745],{},"IMAGE: CwaUiDatePicker with its calendar popover open: the date and time segments and the calendar button inside the field, and the month grid below with the month and year controls",[464,747,748,764],{},[467,749,750],{},[470,751,752,755,758,761],{},[473,753,754],{},"Prop",[473,756,757],{},"Type",[473,759,760],{},"Default",[473,762,763],{},"Description",[482,765,766,794,810,833,852,871],{},[470,767,768,773,778,781],{},[487,769,770],{},[425,771,772],{},"v-model",[487,774,775],{},[425,776,777],{},"string | null",[487,779,780],{},"—",[487,782,783,784,787,788,790,791,793],{},"The chosen moment as a UTC ISO string, such as ",[425,785,786],{},"2026-10-01T08:30:00.000Z",". ",[425,789,624],{}," shows an empty field. The picker never emits ",[425,792,624],{},", so clear the value yourself if you need to.",[470,795,796,801,805,807],{},[487,797,798],{},[425,799,800],{},"label",[487,802,803],{},[425,804,607],{},[487,806,780],{},[487,808,809],{},"Shown above the field and used as its accessible name.",[470,811,812,817,821,823],{},[487,813,814],{},[425,815,816],{},"min",[487,818,819],{},[425,820,607],{},[487,822,780],{},[487,824,825,826,828,829,832],{},"A UTC ISO string. Nothing earlier can be chosen or emitted: the earliest time is ",[425,827,816],{}," rounded up to the next ",[425,830,831],{},"minuteStep",", and an earlier value is replaced by it.",[470,834,835,839,844,849],{},[487,836,837],{},[425,838,831],{},[487,840,841],{},[425,842,843],{},"number",[487,845,846],{},[425,847,848],{},"5",[487,850,851],{},"How far the arrow keys move the minutes.",[470,853,854,859,863,868],{},[487,855,856],{},[425,857,858],{},"locale",[487,860,861],{},[425,862,607],{},[487,864,865],{},[425,866,867],{},"en-GB",[487,869,870],{},"Sets the order and format of the segments and the calendar's month names.",[470,872,873,878,883,885],{},[487,874,875],{},[425,876,877],{},"disabled",[487,879,880],{},[425,881,882],{},"boolean",[487,884,780],{},[487,886,887],{},"Disables the field and the calendar button.",[889,890,892],"h3",{"id":891},"time-zones","Time Zones",[421,894,895],{},"The editor picks a time on their own computer's clock, and the picker converts it to UTC. Hovering the calendar button names the zone and its UTC offset: \"Times are in Europe\u002FLondon, UTC+01:00\". The offset is the one at the chosen date, not today's, so a time on the other side of a clock change shows the offset that will apply then.",[534,897,899],{"id":898},"cwauicalendar","CwaUiCalendar",[421,901,902,903,906,907,913,914,917,918,922],{},"A calendar on its own. It uses the ",[425,904,905],{},"DateValue"," types from ",[439,908,911],{"href":909,"rel":910},"https:\u002F\u002Freact-spectrum.adobe.com\u002Finternationalized\u002Fdate\u002F",[443],[425,912,511],{},". The module depends on it, but pnpm only lets your code import packages your app lists, so add it with the same major version (",[425,915,916],{},"pnpm add @internationalized\u002Fdate@^3",") and keep to one copy, see ",[439,919,921],{"href":920},"#troubleshooting-the-picker-shows-no-time","Troubleshooting",":",[539,924,926],{"className":541,"code":925,"language":543,"meta":544,"style":544},"\u003Cscript setup lang=\"ts\">\nimport { today, getLocalTimeZone } from '@internationalized\u002Fdate'\nimport type { DateValue } from '@internationalized\u002Fdate'\n\nconst day = shallowRef\u003CDateValue>()\nconst earliest = today(getLocalTimeZone())\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CCwaUiCalendar v-model=\"day\" :min-value=\"earliest\" \u002F>\n\u003C\u002Ftemplate>\n",[425,927,928,948,980,1002,1006,1027,1046,1054,1058,1067,1099],{"__ignoreMap":544},[548,929,930,932,934,936,938,940,942,944,946],{"class":550,"line":551},[548,931,555],{"class":554},[548,933,559],{"class":558},[548,935,563],{"class":562},[548,937,566],{"class":562},[548,939,569],{"class":554},[548,941,573],{"class":572},[548,943,577],{"class":576},[548,945,573],{"class":572},[548,947,582],{"class":554},[548,949,950,954,957,960,963,966,969,972,975,977],{"class":550,"line":585},[548,951,953],{"class":952},"sm4w6","import",[548,955,956],{"class":554}," {",[548,958,959],{"class":619}," today",[548,961,962],{"class":554},",",[548,964,965],{"class":619}," getLocalTimeZone",[548,967,968],{"class":554}," }",[548,970,971],{"class":952}," from",[548,973,974],{"class":572}," '",[548,976,511],{"class":576},[548,978,979],{"class":572},"'\n",[548,981,982,984,987,989,992,994,996,998,1000],{"class":550,"line":630},[548,983,953],{"class":952},[548,985,986],{"class":952}," type",[548,988,956],{"class":554},[548,990,991],{"class":619}," DateValue",[548,993,968],{"class":554},[548,995,971],{"class":952},[548,997,974],{"class":572},[548,999,511],{"class":576},[548,1001,979],{"class":572},[548,1003,1004],{"class":550,"line":657},[548,1005,671],{"emptyLinePlaceholder":670},[548,1007,1008,1010,1013,1015,1018,1020,1023,1025],{"class":550,"line":667},[548,1009,589],{"class":588},[548,1011,1012],{"class":592}," day",[548,1014,597],{"class":596},[548,1016,1017],{"class":600}," shallowRef",[548,1019,555],{"class":554},[548,1021,905],{"class":1022},"sRCss",[548,1024,616],{"class":554},[548,1026,654],{"class":619},[548,1028,1029,1031,1034,1036,1038,1040,1043],{"class":550,"line":674},[548,1030,589],{"class":588},[548,1032,1033],{"class":592}," earliest",[548,1035,597],{"class":596},[548,1037,959],{"class":600},[548,1039,620],{"class":619},[548,1041,1042],{"class":600},"getLocalTimeZone",[548,1044,1045],{"class":619},"())\n",[548,1047,1048,1050,1052],{"class":550,"line":684},[548,1049,660],{"class":554},[548,1051,559],{"class":558},[548,1053,582],{"class":554},[548,1055,1056],{"class":550,"line":730},[548,1057,671],{"emptyLinePlaceholder":670},[548,1059,1061,1063,1065],{"class":550,"line":1060},9,[548,1062,555],{"class":554},[548,1064,679],{"class":558},[548,1066,582],{"class":554},[548,1068,1070,1072,1074,1076,1078,1080,1083,1085,1088,1090,1092,1095,1097],{"class":550,"line":1069},10,[548,1071,687],{"class":554},[548,1073,899],{"class":558},[548,1075,692],{"class":562},[548,1077,569],{"class":554},[548,1079,573],{"class":572},[548,1081,1082],{"class":576},"day",[548,1084,573],{"class":572},[548,1086,1087],{"class":562}," :min-value",[548,1089,569],{"class":554},[548,1091,573],{"class":572},[548,1093,1094],{"class":576},"earliest",[548,1096,573],{"class":572},[548,1098,727],{"class":554},[548,1100,1102,1104,1106],{"class":550,"line":1101},11,[548,1103,660],{"class":554},[548,1105,679],{"class":558},[548,1107,582],{"class":554},[421,1109,1110],{},"The heading switches between the day, month and year views, and the arrow buttons move by a month or a year.",[464,1112,1113,1125],{},[467,1114,1115],{},[470,1116,1117,1119,1121,1123],{},[473,1118,754],{},[473,1120,757],{},[473,1122,760],{},[473,1124,763],{},[482,1126,1127,1154,1169,1186,1205,1225,1246,1265,1293,1309,1327,1344,1365,1383,1400],{},[470,1128,1129,1133,1138,1140],{},[487,1130,1131],{},[425,1132,772],{},[487,1134,1135],{},[425,1136,1137],{},"DateValue | DateValue[] | DateRange | null",[487,1139,780],{},[487,1141,1142,1143,1146,1147,1150,1151,462],{},"A single date, an array with ",[425,1144,1145],{},"multiple",", or ",[425,1148,1149],{},"{ start, end }"," with ",[425,1152,1153],{},"range",[470,1155,1156,1160,1164,1166],{},[487,1157,1158],{},[425,1159,1153],{},[487,1161,1162],{},[425,1163,882],{},[487,1165,780],{},[487,1167,1168],{},"Select a start and end date.",[470,1170,1171,1175,1179,1181],{},[487,1172,1173],{},[425,1174,1145],{},[487,1176,1177],{},[425,1178,882],{},[487,1180,780],{},[487,1182,1183,1184,462],{},"Select several dates. Ignored with ",[425,1185,1153],{},[470,1187,1188,1193,1198,1202],{},[487,1189,1190],{},[425,1191,1192],{},"type",[487,1194,1195],{},[425,1196,1197],{},"'day' | 'month' | 'year'",[487,1199,1200],{},[425,1201,1082],{},[487,1203,1204],{},"What a selection picks: a day, a month or a year. The views above it are still available for navigation.",[470,1206,1207,1216,1220,1222],{},[487,1208,1209,1212,1213],{},[425,1210,1211],{},"minValue"," \u002F ",[425,1214,1215],{},"maxValue",[487,1217,1218],{},[425,1219,905],{},[487,1221,780],{},[487,1223,1224],{},"The earliest and latest date that can be chosen.",[470,1226,1227,1232,1237,1239],{},[487,1228,1229],{},[425,1230,1231],{},"isDateDisabled",[487,1233,1234],{},[425,1235,1236],{},"(date: DateValue) => boolean",[487,1238,780],{},[487,1240,1241,1242,1245],{},"Disables the dates it returns ",[425,1243,1244],{},"true"," for.",[470,1247,1248,1253,1257,1259],{},[487,1249,1250],{},[425,1251,1252],{},"isDateUnavailable",[487,1254,1255],{},[425,1256,1236],{},[487,1258,780],{},[487,1260,1261,1262,1264],{},"Marks the dates it returns ",[425,1263,1244],{}," for as unavailable.",[470,1266,1267,1272,1281,1287],{},[487,1268,1269],{},[425,1270,1271],{},"weekStartsOn",[487,1273,1274,1277,1278],{},[425,1275,1276],{},"0","–",[425,1279,1280],{},"6",[487,1282,1283,1286],{},[425,1284,1285],{},"1"," (Monday)",[487,1288,1289,1290,1292],{},"The first day of the week, where ",[425,1291,1276],{}," is Sunday.",[470,1294,1295,1300,1304,1306],{},[487,1296,1297],{},[425,1298,1299],{},"numberOfMonths",[487,1301,1302],{},[425,1303,843],{},[487,1305,780],{},[487,1307,1308],{},"How many months to show side by side.",[470,1310,1311,1316,1320,1324],{},[487,1312,1313],{},[425,1314,1315],{},"fixedWeeks",[487,1317,1318],{},[425,1319,882],{},[487,1321,1322],{},[425,1323,1244],{},[487,1325,1326],{},"Always shows six weeks, so the height doesn't change between months.",[470,1328,1329,1333,1337,1341],{},[487,1330,1331],{},[425,1332,858],{},[487,1334,1335],{},[425,1336,607],{},[487,1338,1339],{},[425,1340,867],{},[487,1342,1343],{},"Month and weekday names.",[470,1345,1346,1354,1358,1362],{},[487,1347,1348,1212,1351],{},[425,1349,1350],{},"monthControls",[425,1352,1353],{},"yearControls",[487,1355,1356],{},[425,1357,882],{},[487,1359,1360],{},[425,1361,1244],{},[487,1363,1364],{},"Show the previous\u002Fnext month and previous\u002Fnext year buttons.",[470,1366,1367,1372,1376,1380],{},[487,1368,1369],{},[425,1370,1371],{},"viewControl",[487,1373,1374],{},[425,1375,882],{},[487,1377,1378],{},[425,1379,1244],{},[487,1381,1382],{},"Let the heading switch to the month and year views.",[470,1384,1385,1392,1396,1398],{},[487,1386,1387,1212,1389],{},[425,1388,877],{},[425,1390,1391],{},"readonly",[487,1393,1394],{},[425,1395,882],{},[487,1397,780],{},[487,1399],{},[470,1401,1402,1407,1411,1413],{},[487,1403,1404],{},[425,1405,1406],{},"initialFocus",[487,1408,1409],{},[425,1410,882],{},[487,1412,780],{},[487,1414,1415],{},"Focus the calendar when it mounts.",[534,1417,1419],{"id":1418},"cwauiinputdate","CwaUiInputDate",[421,1421,1422],{},"The segmented field on its own, without the calendar:",[539,1424,1426],{"className":541,"code":1425,"language":543,"meta":544,"style":544},"\u003CCwaUiInputDate v-model=\"day\" granularity=\"day\" \u002F>\n",[425,1427,1428],{"__ignoreMap":544},[548,1429,1430,1432,1434,1436,1438,1440,1442,1444,1447,1449,1451,1453,1455],{"class":550,"line":551},[548,1431,555],{"class":554},[548,1433,1419],{"class":558},[548,1435,692],{"class":562},[548,1437,569],{"class":554},[548,1439,573],{"class":572},[548,1441,1082],{"class":619},[548,1443,573],{"class":572},[548,1445,1446],{"class":562}," granularity",[548,1448,569],{"class":554},[548,1450,573],{"class":572},[548,1452,1082],{"class":576},[548,1454,573],{"class":572},[548,1456,727],{"class":554},[464,1458,1459,1471],{},[467,1460,1461],{},[470,1462,1463,1465,1467,1469],{},[473,1464,754],{},[473,1466,757],{},[473,1468,760],{},[473,1470,763],{},[482,1472,1473,1493,1508,1525,1542,1559,1576,1591,1608,1626,1642],{},[470,1474,1475,1479,1484,1486],{},[487,1476,1477],{},[425,1478,772],{},[487,1480,1481],{},[425,1482,1483],{},"DateValue | DateRange | null",[487,1485,780],{},[487,1487,1488,1489,1150,1491,462],{},"A single date, or ",[425,1490,1149],{},[425,1492,1153],{},[470,1494,1495,1499,1503,1505],{},[487,1496,1497],{},[425,1498,1153],{},[487,1500,1501],{},[425,1502,882],{},[487,1504,780],{},[487,1506,1507],{},"Show a start and an end field.",[470,1509,1510,1515,1520,1522],{},[487,1511,1512],{},[425,1513,1514],{},"granularity",[487,1516,1517],{},[425,1518,1519],{},"'day' | 'hour' | 'minute' | 'second'",[487,1521,780],{},[487,1523,1524],{},"The smallest segment shown.",[470,1526,1527,1532,1537,1539],{},[487,1528,1529],{},[425,1530,1531],{},"hourCycle",[487,1533,1534],{},[425,1535,1536],{},"12 | 24",[487,1538,780],{},[487,1540,1541],{},"The clock used for the hour segment.",[470,1543,1544,1549,1554,1556],{},[487,1545,1546],{},[425,1547,1548],{},"step",[487,1550,1551],{},[425,1552,1553],{},"{ year?, month?, day?, hour?, minute?, second? }",[487,1555,780],{},[487,1557,1558],{},"How far the arrow keys move each segment.",[470,1560,1561,1567,1571,1573],{},[487,1562,1563,1212,1565],{},[425,1564,1211],{},[425,1566,1215],{},[487,1568,1569],{},[425,1570,905],{},[487,1572,780],{},[487,1574,1575],{},"The earliest and latest value.",[470,1577,1578,1582,1586,1588],{},[487,1579,1580],{},[425,1581,1252],{},[487,1583,1584],{},[425,1585,1236],{},[487,1587,780],{},[487,1589,1590],{},"Marks dates as unavailable.",[470,1592,1593,1597,1601,1605],{},[487,1594,1595],{},[425,1596,858],{},[487,1598,1599],{},[425,1600,607],{},[487,1602,1603],{},[425,1604,867],{},[487,1606,1607],{},"Sets the order and format of the segments.",[470,1609,1610,1615,1619,1623],{},[487,1611,1612],{},[425,1613,1614],{},"hideTimeZone",[487,1616,1617],{},[425,1618,882],{},[487,1620,1621],{},[425,1622,1244],{},[487,1624,1625],{},"Hides the time zone segment of a zoned value.",[470,1627,1628,1634,1638,1640],{},[487,1629,1630,1212,1632],{},[425,1631,877],{},[425,1633,1391],{},[487,1635,1636],{},[425,1637,882],{},[487,1639,780],{},[487,1641],{},[470,1643,1644,1652,1656,1658],{},[487,1645,1646,1212,1649],{},[425,1647,1648],{},"id",[425,1650,1651],{},"name",[487,1653,1654],{},[425,1655,607],{},[487,1657,780],{},[487,1659,1660],{},"Passed to the field.",[421,1662,1663,1664,1666],{},"Anything in the default slot is shown at the end of the field. ",[425,1665,427],{}," puts its calendar button there.",[534,1668,1670],{"id":1669},"troubleshooting-the-picker-shows-no-time","Troubleshooting: the Picker Shows No Time",[421,1672,1673,1674,1676],{},"If ",[425,1675,427],{}," shows a date with no hour and minute, check the browser console for this warning:",[539,1678,1683],{"className":1679,"code":1681,"language":1682},[1680],"language-text","[CWA] Two copies of @internationalized\u002Fdate are installed, so reka-ui cannot read the date picker value and its time is not shown.\n","text",[425,1684,1681],{"__ignoreMap":544},[421,1686,1687,1688,1690,1691,1693],{},"Your lockfile has two copies of ",[425,1689,511],{},", so reka-ui doesn't recognise the date-time value the picker gives it. It can happen when your app already had ",[425,1692,444],{}," installed, for example through Nuxt UI, on an older version. Run this to keep one copy:",[539,1695,1699],{"className":1696,"code":1697,"language":1698,"meta":544,"style":544},"language-bash shiki shiki-themes github-light github-dark material-theme-palenight","pnpm dedupe\n","bash",[425,1700,1701],{"__ignoreMap":544},[548,1702,1703,1706],{"class":550,"line":551},[548,1704,1705],{"class":1022},"pnpm",[548,1707,1708],{"class":576}," dedupe\n",[1710,1711,1712],"style",{},"html pre.shiki code .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .s-h7I, html code.shiki .s-h7I{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#F07178}html pre.shiki code .sGtlX, html code.shiki .sGtlX{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#C792EA}html pre.shiki code .seSrl, html code.shiki .seSrl{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#89DDFF}html pre.shiki code .sLL54, html code.shiki .sLL54{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#C3E88D}html pre.shiki code .swB56, html code.shiki .swB56{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#C792EA}html pre.shiki code .sc2zw, html code.shiki .sc2zw{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#BABED8}html pre.shiki code .sVlFx, html code.shiki .sVlFx{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#89DDFF}html pre.shiki code .sKpYG, html code.shiki .sKpYG{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#82AAFF}html pre.shiki code .sbW4m, html code.shiki .sbW4m{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}html pre.shiki code .sPB8G, html code.shiki .sPB8G{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}html pre.shiki code .sBtbT, html code.shiki .sBtbT{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .sm4w6, html code.shiki .sm4w6{--shiki-light:#D73A49;--shiki-light-font-style:inherit;--shiki-default:#F97583;--shiki-default-font-style:inherit;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sRCss, html code.shiki .sRCss{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#FFCB6B}",{"title":544,"searchDepth":585,"depth":585,"links":1714},[1715,1718,1719,1720],{"id":536,"depth":585,"text":537,"children":1716},[1717],{"id":891,"depth":630,"text":892},{"id":898,"depth":585,"text":899},{"id":1418,"depth":585,"text":1419},{"id":1669,"depth":585,"text":1670},"The UI kit's date and time picker, calendar and segmented date field, what values they take, and how to fix a picker that shows no time.","md",{},{"title":381},{"title":415,"description":1721},"I31VU9h0pFdW5y7BtPgfzTTjQFoZ6lQ-RHdkrLeQogo",[1728,1730],{"title":377,"path":378,"stem":379,"description":1729,"children":-1},"How CWA's bundled CSS uses cascade layers so your app's styles win — and why you should scope global element styles to keep them out of the admin UI.",{"title":390,"path":391,"stem":392,"description":1731,"children":-1},"The Docker Compose setup for local development and production — services, environment variables, volumes, and build workflow.",1791209735898]