[{"data":1,"prerenderedAt":3995},["ShallowReactive",2],{"content-query-AJ9oD5GhJY":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":7,"body":9,"_type":3989,"_id":3990,"_source":3991,"_file":3992,"_stem":3993,"_extension":3994},"/whats-new/releases/cedar-17","releases",false,"","Cedar 17",{"type":10,"children":11,"toc":3946},"root",[12,34,39,119,150,163,167,172,194,198,205,216,369,389,515,521,532,686,691,697,708,714,735,741,762,766,772,785,791,826,832,844,850,871,885,890,951,963,982,1032,1038,1051,1056,1076,1080,1097,1103,1373,1378,1419,1425,1501,1615,1621,1634,1737,1757,1763,1781,1906,1912,1932,1938,1943,1947,1961,2002,2014,2025,2043,2049,2068,2074,2109,2113,2122,2127,2131,2142,2154,2158,2163,2167,2173,2187,2224,2229,2235,2260,2265,2270,2349,2361,2392,2397,2428,2440,2446,2562,2585,2590,2636,2642,2673,2678,2736,2742,2974,3013,3040,3045,3108,3191,3197,3318,3341,3364,3387,3406,3442,3447,3453,3542,3548,3586,3592,3612,3686,3692,3697,3727,3733,3759,3763,3769,3774,3940],{"type":13,"tag":14,"props":15,"children":16},"element","page-heading",{},[17,24],{"type":13,"tag":18,"props":19,"children":21},"h1",{"id":20},"cedar-17",[22],{"type":23,"value":8},"text",{"type":13,"tag":25,"props":26,"children":27},"template",{"v-slot:summary":7},[28],{"type":13,"tag":29,"props":30,"children":31},"p",{},[32],{"type":23,"value":33},"Modular component imports, first-class TypeScript contracts, and the Cedar Tokens v14 architecture",{"type":13,"tag":35,"props":36,"children":38},"linked-subheading",{"heading":37},"Update steps",[],{"type":13,"tag":40,"props":41,"children":42},"table",{},[43,62],{"type":13,"tag":44,"props":45,"children":46},"thead",{},[47],{"type":13,"tag":48,"props":49,"children":50},"tr",{},[51,57],{"type":13,"tag":52,"props":53,"children":54},"th",{},[55],{"type":23,"value":56},"package name",{"type":13,"tag":52,"props":58,"children":59},{},[60],{"type":23,"value":61},"version",{"type":13,"tag":63,"props":64,"children":65},"tbody",{},[66,85,102],{"type":13,"tag":48,"props":67,"children":68},{},[69,80],{"type":13,"tag":70,"props":71,"children":72},"td",{},[73],{"type":13,"tag":74,"props":75,"children":77},"code",{"className":76},[],[78],{"type":23,"value":79},"@rei/cedar",{"type":13,"tag":70,"props":81,"children":82},{},[83],{"type":23,"value":84},"^17.x.x",{"type":13,"tag":48,"props":86,"children":87},{},[88,97],{"type":13,"tag":70,"props":89,"children":90},{},[91],{"type":13,"tag":74,"props":92,"children":94},{"className":93},[],[95],{"type":23,"value":96},"@rei/cdr-tokens",{"type":13,"tag":70,"props":98,"children":99},{},[100],{"type":23,"value":101},"^14.x.x",{"type":13,"tag":48,"props":103,"children":104},{},[105,114],{"type":13,"tag":70,"props":106,"children":107},{},[108],{"type":13,"tag":74,"props":109,"children":111},{"className":110},[],[112],{"type":23,"value":113},"@rei/cdr-component-variables",{"type":13,"tag":70,"props":115,"children":116},{},[117],{"type":23,"value":118},"^11.x.x",{"type":13,"tag":120,"props":121,"children":123},"message-banner",{"type":122},"warning",[124],{"type":13,"tag":29,"props":125,"children":126},{},[127,129,134,136,141,143,148],{"type":23,"value":128},"Cedar 17 and Cedar Tokens 14 are a coordinated release. Upgrade ",{"type":13,"tag":74,"props":130,"children":132},{"className":131},[],[133],{"type":23,"value":79},{"type":23,"value":135},", ",{"type":13,"tag":74,"props":137,"children":139},{"className":138},[],[140],{"type":23,"value":96},{"type":23,"value":142},", and ",{"type":13,"tag":74,"props":144,"children":146},{"className":145},[],[147],{"type":23,"value":113},{"type":23,"value":149}," together in the same change.",{"type":13,"tag":29,"props":151,"children":152},{},[153,155,161],{"type":23,"value":154},"External modules that use Cedar should list it as a ",{"type":13,"tag":74,"props":156,"children":158},{"className":157},[],[159],{"type":23,"value":160},"peerDependency",{"type":23,"value":162}," so your application controls the resolved version.",{"type":13,"tag":35,"props":164,"children":166},{"heading":165},"Before you upgrade",[],{"type":13,"tag":29,"props":168,"children":169},{},[170],{"type":23,"value":171},"Cedar 17 is mostly a package-structure release: the components are the same building blocks, but the public import paths, generated declarations, and token package outputs are much stricter.",{"type":13,"tag":29,"props":173,"children":174},{},[175,177,184,186,192],{"type":23,"value":176},"Read the breaking changes, then use the migration guide below as the single source for upgrade steps. For detailed installation instructions, see the ",{"type":13,"tag":178,"props":179,"children":181},"a",{"href":180},"/tools-resources/installing-cedar",[182],{"type":23,"value":183},"Installing Cedar",{"type":23,"value":185}," page. For a complete list of deprecated APIs, see the ",{"type":13,"tag":178,"props":187,"children":189},{"href":188},"/tools-resources/deprecated-items",[190],{"type":23,"value":191},"Deprecated items",{"type":23,"value":193}," page.",{"type":13,"tag":35,"props":195,"children":197},{"heading":196},"New features",[],{"type":13,"tag":199,"props":200,"children":202},"h3",{"id":201},"modular-component-imports",[203],{"type":23,"value":204},"Modular component imports",{"type":13,"tag":29,"props":206,"children":207},{},[208,210,214],{"type":23,"value":209},"Root imports continue to work, and Cedar now also publishes component-level entrypoints for smaller bundles and clearer dependency boundaries. See the ",{"type":13,"tag":178,"props":211,"children":212},{"href":180},[213],{"type":23,"value":183},{"type":23,"value":215}," page for usage examples.",{"type":13,"tag":217,"props":218,"children":222},"pre",{"className":219,"code":220,"language":221,"meta":7,"style":7},"language-ts shiki shiki-themes material-theme-palenight","import { CdrButton, CdrAccordion } from '@rei/cedar';\n\nimport CdrButton from '@rei/cedar/CdrButton';\nimport CdrAccordion from '@rei/cedar/CdrAccordion';\n","ts",[223],{"type":13,"tag":74,"props":224,"children":225},{"__ignoreMap":7},[226,290,300,335],{"type":13,"tag":227,"props":228,"children":231},"span",{"class":229,"line":230},"line",1,[232,238,244,250,255,260,265,270,275,280,285],{"type":13,"tag":227,"props":233,"children":235},{"style":234},"--shiki-default:#89DDFF;--shiki-default-font-style:italic",[236],{"type":23,"value":237},"import",{"type":13,"tag":227,"props":239,"children":241},{"style":240},"--shiki-default:#89DDFF",[242],{"type":23,"value":243}," {",{"type":13,"tag":227,"props":245,"children":247},{"style":246},"--shiki-default:#BABED8",[248],{"type":23,"value":249}," CdrButton",{"type":13,"tag":227,"props":251,"children":252},{"style":240},[253],{"type":23,"value":254},",",{"type":13,"tag":227,"props":256,"children":257},{"style":246},[258],{"type":23,"value":259}," CdrAccordion",{"type":13,"tag":227,"props":261,"children":262},{"style":240},[263],{"type":23,"value":264}," }",{"type":13,"tag":227,"props":266,"children":267},{"style":234},[268],{"type":23,"value":269}," from",{"type":13,"tag":227,"props":271,"children":272},{"style":240},[273],{"type":23,"value":274}," '",{"type":13,"tag":227,"props":276,"children":278},{"style":277},"--shiki-default:#C3E88D",[279],{"type":23,"value":79},{"type":13,"tag":227,"props":281,"children":282},{"style":240},[283],{"type":23,"value":284},"'",{"type":13,"tag":227,"props":286,"children":287},{"style":240},[288],{"type":23,"value":289},";\n",{"type":13,"tag":227,"props":291,"children":293},{"class":229,"line":292},2,[294],{"type":13,"tag":227,"props":295,"children":297},{"emptyLinePlaceholder":296},true,[298],{"type":23,"value":299},"\n",{"type":13,"tag":227,"props":301,"children":303},{"class":229,"line":302},3,[304,308,313,318,322,327,331],{"type":13,"tag":227,"props":305,"children":306},{"style":234},[307],{"type":23,"value":237},{"type":13,"tag":227,"props":309,"children":310},{"style":246},[311],{"type":23,"value":312}," CdrButton ",{"type":13,"tag":227,"props":314,"children":315},{"style":234},[316],{"type":23,"value":317},"from",{"type":13,"tag":227,"props":319,"children":320},{"style":240},[321],{"type":23,"value":274},{"type":13,"tag":227,"props":323,"children":324},{"style":277},[325],{"type":23,"value":326},"@rei/cedar/CdrButton",{"type":13,"tag":227,"props":328,"children":329},{"style":240},[330],{"type":23,"value":284},{"type":13,"tag":227,"props":332,"children":333},{"style":240},[334],{"type":23,"value":289},{"type":13,"tag":227,"props":336,"children":338},{"class":229,"line":337},4,[339,343,348,352,356,361,365],{"type":13,"tag":227,"props":340,"children":341},{"style":234},[342],{"type":23,"value":237},{"type":13,"tag":227,"props":344,"children":345},{"style":246},[346],{"type":23,"value":347}," CdrAccordion ",{"type":13,"tag":227,"props":349,"children":350},{"style":234},[351],{"type":23,"value":317},{"type":13,"tag":227,"props":353,"children":354},{"style":240},[355],{"type":23,"value":274},{"type":13,"tag":227,"props":357,"children":358},{"style":277},[359],{"type":23,"value":360},"@rei/cedar/CdrAccordion",{"type":13,"tag":227,"props":362,"children":363},{"style":240},[364],{"type":23,"value":284},{"type":13,"tag":227,"props":366,"children":367},{"style":240},[368],{"type":23,"value":289},{"type":13,"tag":29,"props":370,"children":371},{},[372,374,379,381,387],{"type":23,"value":373},"The modular paths use PascalCase component names matching the Vue component names. For example, use ",{"type":13,"tag":74,"props":375,"children":377},{"className":376},[],[378],{"type":23,"value":326},{"type":23,"value":380},", not ",{"type":13,"tag":74,"props":382,"children":384},{"className":383},[],[385],{"type":23,"value":386},"@rei/cedar/button",{"type":23,"value":388},".",{"type":13,"tag":40,"props":390,"children":391},{},[392,408],{"type":13,"tag":44,"props":393,"children":394},{},[395],{"type":13,"tag":48,"props":396,"children":397},{},[398,403],{"type":13,"tag":52,"props":399,"children":400},{},[401],{"type":23,"value":402},"Component",{"type":13,"tag":52,"props":404,"children":405},{},[406],{"type":23,"value":407},"Modular import",{"type":13,"tag":63,"props":409,"children":410},{},[411,431,452,473,494],{"type":13,"tag":48,"props":412,"children":413},{},[414,423],{"type":13,"tag":70,"props":415,"children":416},{},[417],{"type":13,"tag":74,"props":418,"children":420},{"className":419},[],[421],{"type":23,"value":422},"CdrButton",{"type":13,"tag":70,"props":424,"children":425},{},[426],{"type":13,"tag":74,"props":427,"children":429},{"className":428},[],[430],{"type":23,"value":326},{"type":13,"tag":48,"props":432,"children":433},{},[434,443],{"type":13,"tag":70,"props":435,"children":436},{},[437],{"type":13,"tag":74,"props":438,"children":440},{"className":439},[],[441],{"type":23,"value":442},"CdrAccordionGroup",{"type":13,"tag":70,"props":444,"children":445},{},[446],{"type":13,"tag":74,"props":447,"children":449},{"className":448},[],[450],{"type":23,"value":451},"@rei/cedar/CdrAccordionGroup",{"type":13,"tag":48,"props":453,"children":454},{},[455,464],{"type":13,"tag":70,"props":456,"children":457},{},[458],{"type":13,"tag":74,"props":459,"children":461},{"className":460},[],[462],{"type":23,"value":463},"CdrFulfillmentTile",{"type":13,"tag":70,"props":465,"children":466},{},[467],{"type":13,"tag":74,"props":468,"children":470},{"className":469},[],[471],{"type":23,"value":472},"@rei/cedar/CdrFulfillmentTile",{"type":13,"tag":48,"props":474,"children":475},{},[476,485],{"type":13,"tag":70,"props":477,"children":478},{},[479],{"type":13,"tag":74,"props":480,"children":482},{"className":481},[],[483],{"type":23,"value":484},"CdrMediaObject",{"type":13,"tag":70,"props":486,"children":487},{},[488],{"type":13,"tag":74,"props":489,"children":491},{"className":490},[],[492],{"type":23,"value":493},"@rei/cedar/CdrMediaObject",{"type":13,"tag":48,"props":495,"children":496},{},[497,506],{"type":13,"tag":70,"props":498,"children":499},{},[500],{"type":13,"tag":74,"props":501,"children":503},{"className":502},[],[504],{"type":23,"value":505},"CdrSurfaceNavigation",{"type":13,"tag":70,"props":507,"children":508},{},[509],{"type":13,"tag":74,"props":510,"children":512},{"className":511},[],[513],{"type":23,"value":514},"@rei/cedar/CdrSurfaceNavigation",{"type":13,"tag":199,"props":516,"children":518},{"id":517},"first-class-typescript-support",[519],{"type":23,"value":520},"First-class TypeScript support",{"type":13,"tag":29,"props":522,"children":523},{},[524,526,530],{"type":23,"value":525},"Cedar 17 publishes generated declarations for the package root and each component entrypoint. Component prop types, shared option types, and token-derived values are part of the public API instead of package-internal files. See the ",{"type":13,"tag":178,"props":527,"children":528},{"href":180},[529],{"type":23,"value":183},{"type":23,"value":531}," page for TypeScript usage examples.",{"type":13,"tag":217,"props":533,"children":535},{"className":219,"code":534,"language":221,"meta":7,"style":7},"import type { CdrButtonProps, Breakpoint, Space, TypeScale } from '@rei/cedar';\nimport CdrButton, {\n  type CdrButtonProps as ButtonProps,\n} from '@rei/cedar/CdrButton';\n",[536],{"type":13,"tag":74,"props":537,"children":538},{"__ignoreMap":7},[539,611,631,658],{"type":13,"tag":227,"props":540,"children":541},{"class":229,"line":230},[542,546,551,555,560,564,569,573,578,582,587,591,595,599,603,607],{"type":13,"tag":227,"props":543,"children":544},{"style":234},[545],{"type":23,"value":237},{"type":13,"tag":227,"props":547,"children":548},{"style":234},[549],{"type":23,"value":550}," type",{"type":13,"tag":227,"props":552,"children":553},{"style":240},[554],{"type":23,"value":243},{"type":13,"tag":227,"props":556,"children":557},{"style":246},[558],{"type":23,"value":559}," CdrButtonProps",{"type":13,"tag":227,"props":561,"children":562},{"style":240},[563],{"type":23,"value":254},{"type":13,"tag":227,"props":565,"children":566},{"style":246},[567],{"type":23,"value":568}," Breakpoint",{"type":13,"tag":227,"props":570,"children":571},{"style":240},[572],{"type":23,"value":254},{"type":13,"tag":227,"props":574,"children":575},{"style":246},[576],{"type":23,"value":577}," Space",{"type":13,"tag":227,"props":579,"children":580},{"style":240},[581],{"type":23,"value":254},{"type":13,"tag":227,"props":583,"children":584},{"style":246},[585],{"type":23,"value":586}," TypeScale",{"type":13,"tag":227,"props":588,"children":589},{"style":240},[590],{"type":23,"value":264},{"type":13,"tag":227,"props":592,"children":593},{"style":234},[594],{"type":23,"value":269},{"type":13,"tag":227,"props":596,"children":597},{"style":240},[598],{"type":23,"value":274},{"type":13,"tag":227,"props":600,"children":601},{"style":277},[602],{"type":23,"value":79},{"type":13,"tag":227,"props":604,"children":605},{"style":240},[606],{"type":23,"value":284},{"type":13,"tag":227,"props":608,"children":609},{"style":240},[610],{"type":23,"value":289},{"type":13,"tag":227,"props":612,"children":613},{"class":229,"line":292},[614,618,622,626],{"type":13,"tag":227,"props":615,"children":616},{"style":234},[617],{"type":23,"value":237},{"type":13,"tag":227,"props":619,"children":620},{"style":246},[621],{"type":23,"value":249},{"type":13,"tag":227,"props":623,"children":624},{"style":240},[625],{"type":23,"value":254},{"type":13,"tag":227,"props":627,"children":628},{"style":240},[629],{"type":23,"value":630}," {\n",{"type":13,"tag":227,"props":632,"children":633},{"class":229,"line":302},[634,639,643,648,653],{"type":13,"tag":227,"props":635,"children":636},{"style":234},[637],{"type":23,"value":638},"  type",{"type":13,"tag":227,"props":640,"children":641},{"style":246},[642],{"type":23,"value":559},{"type":13,"tag":227,"props":644,"children":645},{"style":234},[646],{"type":23,"value":647}," as",{"type":13,"tag":227,"props":649,"children":650},{"style":246},[651],{"type":23,"value":652}," ButtonProps",{"type":13,"tag":227,"props":654,"children":655},{"style":240},[656],{"type":23,"value":657},",\n",{"type":13,"tag":227,"props":659,"children":660},{"class":229,"line":337},[661,666,670,674,678,682],{"type":13,"tag":227,"props":662,"children":663},{"style":240},[664],{"type":23,"value":665},"}",{"type":13,"tag":227,"props":667,"children":668},{"style":234},[669],{"type":23,"value":269},{"type":13,"tag":227,"props":671,"children":672},{"style":240},[673],{"type":23,"value":274},{"type":13,"tag":227,"props":675,"children":676},{"style":277},[677],{"type":23,"value":326},{"type":13,"tag":227,"props":679,"children":680},{"style":240},[681],{"type":23,"value":284},{"type":13,"tag":227,"props":683,"children":684},{"style":240},[685],{"type":23,"value":289},{"type":13,"tag":29,"props":687,"children":688},{},[689],{"type":23,"value":690},"Each modular entrypoint exports the component as the default export, the named component export, and the component's public types.",{"type":13,"tag":199,"props":692,"children":694},{"id":693},"modal-ssr-hydration-fix",[695],{"type":23,"value":696},"Modal SSR hydration fix",{"type":13,"tag":29,"props":698,"children":699},{},[700,706],{"type":13,"tag":74,"props":701,"children":703},{"className":702},[],[704],{"type":23,"value":705},"CdrModal",{"type":23,"value":707}," now avoids the Teleport race condition that caused server/client markup divergence in Vue SSR and Nuxt pages.",{"type":13,"tag":199,"props":709,"children":711},{"id":710},"storybook-based-component-reference",[712],{"type":23,"value":713},"Storybook-based component reference",{"type":13,"tag":29,"props":715,"children":716},{},[717,719,726,728,734],{"type":23,"value":718},"The Cedar component reference is now backed by Storybook 10 on GitHub Pages. Component docs and isolated examples are available at ",{"type":13,"tag":178,"props":720,"children":724},{"href":721,"rel":722},"https://rei.github.io/rei-cedar/",[723],"nofollow",[725],{"type":23,"value":721},{"type":23,"value":727},". For links to all Cedar Storybook instances and GitHub repos, see the ",{"type":13,"tag":178,"props":729,"children":731},{"href":730},"/tools-resources/developer-onboarding",[732],{"type":23,"value":733},"Developer onboarding",{"type":23,"value":193},{"type":13,"tag":199,"props":736,"children":738},{"id":737},"tooling-modernization",[739],{"type":23,"value":740},"Tooling modernization",{"type":13,"tag":29,"props":742,"children":743},{},[744,746,752,754,760],{"type":23,"value":745},"Cedar's source repo now standardizes on pnpm, Vite, Vitest, Storybook 10, Oxlint, Stylelint, and ",{"type":13,"tag":74,"props":747,"children":749},{"className":748},[],[750],{"type":23,"value":751},"vue-tsc",{"type":23,"value":753},". Contributors building Cedar locally should use Node ",{"type":13,"tag":74,"props":755,"children":757},{"className":756},[],[758],{"type":23,"value":759},">=22.12.0 \u003C23",{"type":23,"value":761}," and pnpm.",{"type":13,"tag":35,"props":763,"children":765},{"heading":764},"Breaking changes",[],{"type":13,"tag":199,"props":767,"children":769},{"id":768},"upgrade-tokens-with-cedar",[770],{"type":23,"value":771},"Upgrade Tokens with Cedar",{"type":13,"tag":29,"props":773,"children":774},{},[775,777,783],{"type":23,"value":776},"Cedar 17 imports token values from the modular paths introduced in ",{"type":13,"tag":74,"props":778,"children":780},{"className":779},[],[781],{"type":23,"value":782},"@rei/cdr-tokens@14",{"type":23,"value":784},". A consuming application that upgrades Cedar without upgrading tokens will fail during import resolution.",{"type":13,"tag":199,"props":786,"children":788},{"id":787},"deep-cedar-imports-are-blocked",[789],{"type":23,"value":790},"Deep Cedar imports are blocked",{"type":13,"tag":29,"props":792,"children":793},{},[794,796,802,804,810,811,817,818,824],{"type":23,"value":795},"Cedar's ",{"type":13,"tag":74,"props":797,"children":799},{"className":798},[],[800],{"type":23,"value":801},"exports",{"type":23,"value":803}," map now defines the supported public API. Internal paths such as ",{"type":13,"tag":74,"props":805,"children":807},{"className":806},[],[808],{"type":23,"value":809},"@rei/cedar/dist/components/*",{"type":23,"value":135},{"type":13,"tag":74,"props":812,"children":814},{"className":813},[],[815],{"type":23,"value":816},"@rei/cedar/dist/types/*",{"type":23,"value":135},{"type":13,"tag":74,"props":819,"children":821},{"className":820},[],[822],{"type":23,"value":823},"@rei/cedar/src/*",{"type":23,"value":825},", and other implementation details should not be imported directly.",{"type":13,"tag":199,"props":827,"children":829},{"id":828},"full-cedar-stylesheet-renamed",[830],{"type":23,"value":831},"Full Cedar stylesheet renamed",{"type":13,"tag":29,"props":833,"children":834},{},[835,837,843],{"type":23,"value":836},"The full bundled stylesheet is now ",{"type":13,"tag":74,"props":838,"children":840},{"className":839},[],[841],{"type":23,"value":842},"cedar.css",{"type":23,"value":388},{"type":13,"tag":199,"props":845,"children":847},{"id":846},"type-export-barrels-replaced",[848],{"type":23,"value":849},"Type export barrels replaced",{"type":13,"tag":29,"props":851,"children":852},{},[853,855,861,863,869],{"type":23,"value":854},"The old ",{"type":13,"tag":74,"props":856,"children":858},{"className":857},[],[859],{"type":23,"value":860},"types/interfaces",{"type":23,"value":862}," and ",{"type":13,"tag":74,"props":864,"children":866},{"className":865},[],[867],{"type":23,"value":868},"types/other",{"type":23,"value":870}," barrels are no longer public entrypoints. Import component prop types and shared types from the package root, or from the matching modular component entrypoint.",{"type":13,"tag":199,"props":872,"children":874},{"id":873},"text-preset-scale-props-use-token-style-values",[875,877,883],{"type":23,"value":876},"Text preset ",{"type":13,"tag":74,"props":878,"children":880},{"className":879},[],[881],{"type":23,"value":882},"scale",{"type":23,"value":884}," props use token-style values",{"type":13,"tag":29,"props":886,"children":887},{},[888],{"type":23,"value":889},"Text preset scale props now use Cedar's token-derived scale values instead of bare numeric strings.",{"type":13,"tag":29,"props":891,"children":892},{},[893,895,901,902,908,909,915,916,922,923,929,930,936,937,943,945,950],{"type":23,"value":894},"Affected components include ",{"type":13,"tag":74,"props":896,"children":898},{"className":897},[],[899],{"type":23,"value":900},"CdrBody",{"type":23,"value":135},{"type":13,"tag":74,"props":903,"children":905},{"className":904},[],[906],{"type":23,"value":907},"CdrSubheadingSans",{"type":23,"value":135},{"type":13,"tag":74,"props":910,"children":912},{"className":911},[],[913],{"type":23,"value":914},"CdrUtilitySans",{"type":23,"value":135},{"type":13,"tag":74,"props":917,"children":919},{"className":918},[],[920],{"type":23,"value":921},"CdrUtilitySerif",{"type":23,"value":135},{"type":13,"tag":74,"props":924,"children":926},{"className":925},[],[927],{"type":23,"value":928},"CdrHeadingDisplay",{"type":23,"value":135},{"type":13,"tag":74,"props":931,"children":933},{"className":932},[],[934],{"type":23,"value":935},"CdrHeadingSans",{"type":23,"value":135},{"type":13,"tag":74,"props":938,"children":940},{"className":939},[],[941],{"type":23,"value":942},"CdrHeadingSerif",{"type":23,"value":944},", and related content scale options on ",{"type":13,"tag":74,"props":946,"children":948},{"className":947},[],[949],{"type":23,"value":463},{"type":23,"value":388},{"type":13,"tag":199,"props":952,"children":954},{"id":953},"scalevalue-type-removed",[955,961],{"type":13,"tag":74,"props":956,"children":958},{"className":957},[],[959],{"type":23,"value":960},"ScaleValue",{"type":23,"value":962}," type removed",{"type":13,"tag":29,"props":964,"children":965},{},[966,967,972,974,980],{"type":23,"value":854},{"type":13,"tag":74,"props":968,"children":970},{"className":969},[],[971],{"type":23,"value":960},{"type":23,"value":973}," type has been removed. ",{"type":13,"tag":74,"props":975,"children":977},{"className":976},[],[978],{"type":23,"value":979},"TypeScale",{"type":23,"value":981}," is the public type.",{"type":13,"tag":217,"props":983,"children":985},{"className":219,"code":984,"language":221,"meta":7,"style":7},"import type { TypeScale } from '@rei/cedar';\n",[986],{"type":13,"tag":74,"props":987,"children":988},{"__ignoreMap":7},[989],{"type":13,"tag":227,"props":990,"children":991},{"class":229,"line":230},[992,996,1000,1004,1008,1012,1016,1020,1024,1028],{"type":13,"tag":227,"props":993,"children":994},{"style":234},[995],{"type":23,"value":237},{"type":13,"tag":227,"props":997,"children":998},{"style":234},[999],{"type":23,"value":550},{"type":13,"tag":227,"props":1001,"children":1002},{"style":240},[1003],{"type":23,"value":243},{"type":13,"tag":227,"props":1005,"children":1006},{"style":246},[1007],{"type":23,"value":586},{"type":13,"tag":227,"props":1009,"children":1010},{"style":240},[1011],{"type":23,"value":264},{"type":13,"tag":227,"props":1013,"children":1014},{"style":234},[1015],{"type":23,"value":269},{"type":13,"tag":227,"props":1017,"children":1018},{"style":240},[1019],{"type":23,"value":274},{"type":13,"tag":227,"props":1021,"children":1022},{"style":277},[1023],{"type":23,"value":79},{"type":13,"tag":227,"props":1025,"children":1026},{"style":240},[1027],{"type":23,"value":284},{"type":13,"tag":227,"props":1029,"children":1030},{"style":240},[1031],{"type":23,"value":289},{"type":13,"tag":199,"props":1033,"children":1035},{"id":1034},"fluid-css-custom-property-names-updated",[1036],{"type":23,"value":1037},"Fluid CSS custom property names updated",{"type":13,"tag":29,"props":1039,"children":1040},{},[1041,1043,1049],{"type":23,"value":1042},"Negative type scale CSS custom properties now use ",{"type":13,"tag":74,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":23,"value":1048},"minus",{"type":23,"value":1050}," in the token name.",{"type":13,"tag":29,"props":1052,"children":1053},{},[1054],{"type":23,"value":1055},"Compound space scale CSS custom properties now match token package output with a single hyphen between numeric ranges.",{"type":13,"tag":29,"props":1057,"children":1058},{},[1059,1061,1067,1069,1075],{"type":23,"value":1060},"Cedar component props keep the descriptive option names, such as ",{"type":13,"tag":74,"props":1062,"children":1064},{"className":1063},[],[1065],{"type":23,"value":1066},"scale-3--5",{"type":23,"value":1068},", while emitted CSS variables use the canonical token names, such as ",{"type":13,"tag":74,"props":1070,"children":1072},{"className":1071},[],[1073],{"type":23,"value":1074},"--cdr-space-scale-3-5",{"type":23,"value":388},{"type":13,"tag":35,"props":1077,"children":1079},{"heading":1078},"Cedar Tokens v14",[],{"type":13,"tag":29,"props":1081,"children":1082},{},[1083,1088,1090,1095],{"type":13,"tag":74,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":23,"value":782},{"type":23,"value":1089}," is the aligned token release for Cedar 17. The main change is a modular token architecture: foundation, component, and palette outputs are split into explicit CSS, SCSS, JavaScript, JSON, and TypeScript artifacts with a stricter package ",{"type":13,"tag":74,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":23,"value":801},{"type":23,"value":1096}," map.",{"type":13,"tag":199,"props":1098,"children":1100},{"id":1099},"token-package-outputs",[1101],{"type":23,"value":1102},"Token package outputs",{"type":13,"tag":40,"props":1104,"children":1105},{},[1106,1122],{"type":13,"tag":44,"props":1107,"children":1108},{},[1109],{"type":13,"tag":48,"props":1110,"children":1111},{},[1112,1117],{"type":13,"tag":52,"props":1113,"children":1114},{},[1115],{"type":23,"value":1116},"Need",{"type":13,"tag":52,"props":1118,"children":1119},{},[1120],{"type":23,"value":1121},"Import",{"type":13,"tag":63,"props":1123,"children":1124},{},[1125,1142,1174,1191,1216,1233,1250,1267,1284,1301,1325,1349],{"type":13,"tag":48,"props":1126,"children":1127},{},[1128,1133],{"type":13,"tag":70,"props":1129,"children":1130},{},[1131],{"type":23,"value":1132},"Full CSS custom properties",{"type":13,"tag":70,"props":1134,"children":1135},{},[1136],{"type":13,"tag":74,"props":1137,"children":1139},{"className":1138},[],[1140],{"type":23,"value":1141},"@rei/cdr-tokens/css",{"type":13,"tag":48,"props":1143,"children":1144},{},[1145,1150],{"type":13,"tag":70,"props":1146,"children":1147},{},[1148],{"type":23,"value":1149},"Single CSS foundation",{"type":13,"tag":70,"props":1151,"children":1152},{},[1153,1159,1160,1166,1168],{"type":13,"tag":74,"props":1154,"children":1156},{"className":1155},[],[1157],{"type":23,"value":1158},"@rei/cdr-tokens/css/color-background",{"type":23,"value":135},{"type":13,"tag":74,"props":1161,"children":1163},{"className":1162},[],[1164],{"type":23,"value":1165},"@rei/cdr-tokens/css/type",{"type":23,"value":1167},", or ",{"type":13,"tag":74,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":23,"value":1173},"@rei/cdr-tokens/css/space-scale",{"type":13,"tag":48,"props":1175,"children":1176},{},[1177,1182],{"type":13,"tag":70,"props":1178,"children":1179},{},[1180],{"type":23,"value":1181},"Full SCSS bundle",{"type":13,"tag":70,"props":1183,"children":1184},{},[1185],{"type":13,"tag":74,"props":1186,"children":1188},{"className":1187},[],[1189],{"type":23,"value":1190},"@rei/cdr-tokens/scss",{"type":13,"tag":48,"props":1192,"children":1193},{},[1194,1199],{"type":13,"tag":70,"props":1195,"children":1196},{},[1197],{"type":23,"value":1198},"SCSS utility mixins",{"type":13,"tag":70,"props":1200,"children":1201},{},[1202,1208,1210],{"type":13,"tag":74,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":23,"value":1207},"@rei/cdr-tokens/scss/breakpoint-mixins",{"type":23,"value":1209}," or ",{"type":13,"tag":74,"props":1211,"children":1213},{"className":1212},[],[1214],{"type":23,"value":1215},"@rei/cdr-tokens/scss/type-mixins",{"type":13,"tag":48,"props":1217,"children":1218},{},[1219,1224],{"type":13,"tag":70,"props":1220,"children":1221},{},[1222],{"type":23,"value":1223},"Themed SCSS foundation partial",{"type":13,"tag":70,"props":1225,"children":1226},{},[1227],{"type":13,"tag":74,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":23,"value":1232},"@rei/cdr-tokens/rei-dot-com/scss/foundations/cdr-space.scss",{"type":13,"tag":48,"props":1234,"children":1235},{},[1236,1241],{"type":13,"tag":70,"props":1237,"children":1238},{},[1239],{"type":23,"value":1240},"Generated JavaScript constants",{"type":13,"tag":70,"props":1242,"children":1243},{},[1244],{"type":13,"tag":74,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":23,"value":1249},"@rei/cdr-tokens/tokens",{"type":13,"tag":48,"props":1251,"children":1252},{},[1253,1258],{"type":13,"tag":70,"props":1254,"children":1255},{},[1256],{"type":23,"value":1257},"Themed JavaScript foundation module",{"type":13,"tag":70,"props":1259,"children":1260},{},[1261],{"type":13,"tag":74,"props":1262,"children":1264},{"className":1263},[],[1265],{"type":23,"value":1266},"@rei/cdr-tokens/rei-dot-com/js/foundations/cdr-space",{"type":13,"tag":48,"props":1268,"children":1269},{},[1270,1275],{"type":13,"tag":70,"props":1271,"children":1272},{},[1273],{"type":23,"value":1274},"Semantic foundation objects and order",{"type":13,"tag":70,"props":1276,"children":1277},{},[1278],{"type":13,"tag":74,"props":1279,"children":1281},{"className":1280},[],[1282],{"type":23,"value":1283},"@rei/cdr-tokens/types",{"type":13,"tag":48,"props":1285,"children":1286},{},[1287,1292],{"type":13,"tag":70,"props":1288,"children":1289},{},[1290],{"type":23,"value":1291},"Single TypeScript foundation module",{"type":13,"tag":70,"props":1293,"children":1294},{},[1295],{"type":13,"tag":74,"props":1296,"children":1298},{"className":1297},[],[1299],{"type":23,"value":1300},"@rei/cdr-tokens/types/space",{"type":13,"tag":48,"props":1302,"children":1303},{},[1304,1309],{"type":13,"tag":70,"props":1305,"children":1306},{},[1307],{"type":23,"value":1308},"Generated token types",{"type":13,"tag":70,"props":1310,"children":1311},{},[1312,1317,1319],{"type":13,"tag":74,"props":1313,"children":1315},{"className":1314},[],[1316],{"type":23,"value":1283},{"type":23,"value":1318}," and type-only paths such as ",{"type":13,"tag":74,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":23,"value":1324},"@rei/cdr-tokens/types/space.keys",{"type":13,"tag":48,"props":1326,"children":1327},{},[1328,1333],{"type":13,"tag":70,"props":1329,"children":1330},{},[1331],{"type":23,"value":1332},"JSON token data",{"type":13,"tag":70,"props":1334,"children":1335},{},[1336,1342,1343],{"type":13,"tag":74,"props":1337,"children":1339},{"className":1338},[],[1340],{"type":23,"value":1341},"@rei/cdr-tokens/json",{"type":23,"value":862},{"type":13,"tag":74,"props":1344,"children":1346},{"className":1345},[],[1347],{"type":23,"value":1348},"@rei/cdr-tokens/json/foundations/cdr-space.json",{"type":13,"tag":48,"props":1350,"children":1351},{},[1352,1357],{"type":13,"tag":70,"props":1353,"children":1354},{},[1355],{"type":23,"value":1356},"Docsite token assets",{"type":13,"tag":70,"props":1358,"children":1359},{},[1360,1366,1367],{"type":13,"tag":74,"props":1361,"children":1363},{"className":1362},[],[1364],{"type":23,"value":1365},"@rei/cdr-tokens/docsite/css",{"type":23,"value":862},{"type":13,"tag":74,"props":1368,"children":1370},{"className":1369},[],[1371],{"type":23,"value":1372},"@rei/cdr-tokens/docsite/scss",{"type":13,"tag":29,"props":1374,"children":1375},{},[1376],{"type":23,"value":1377},"LESS output is no longer distributed.",{"type":13,"tag":29,"props":1379,"children":1380},{},[1381,1383,1388,1390,1396,1398,1403,1405,1411,1412,1418],{"type":23,"value":1382},"Use ",{"type":13,"tag":74,"props":1384,"children":1386},{"className":1385},[],[1387],{"type":23,"value":1283},{"type":23,"value":1389}," when you need semantic foundation objects at runtime, such as ",{"type":13,"tag":74,"props":1391,"children":1393},{"className":1392},[],[1394],{"type":23,"value":1395},"CdrBreakpointOrder",{"type":23,"value":1397},". Use ",{"type":13,"tag":74,"props":1399,"children":1401},{"className":1400},[],[1402],{"type":23,"value":1249},{"type":23,"value":1404}," when you need generated JavaScript constants, such as ",{"type":13,"tag":74,"props":1406,"children":1408},{"className":1407},[],[1409],{"type":23,"value":1410},"CdrBreakpointLg",{"type":23,"value":1209},{"type":13,"tag":74,"props":1413,"children":1415},{"className":1414},[],[1416],{"type":23,"value":1417},"CdrSpaceOneX",{"type":23,"value":388},{"type":13,"tag":199,"props":1420,"children":1422},{"id":1421},"per-foundation-modules",[1423],{"type":23,"value":1424},"Per-foundation modules",{"type":13,"tag":29,"props":1426,"children":1427},{},[1428,1430,1436,1438,1444,1445,1451,1452,1458,1459,1465,1466,1472,1473,1479,1480,1486,1487,1493,1494,1500],{"type":23,"value":1429},"Foundation token outputs now live under ",{"type":13,"tag":74,"props":1431,"children":1433},{"className":1432},[],[1434],{"type":23,"value":1435},"foundations/",{"type":23,"value":1437}," in each output format. CSS, SCSS, JavaScript, JSON, and TypeScript all include foundation files such as ",{"type":13,"tag":74,"props":1439,"children":1441},{"className":1440},[],[1442],{"type":23,"value":1443},"cdr-breakpoint",{"type":23,"value":135},{"type":13,"tag":74,"props":1446,"children":1448},{"className":1447},[],[1449],{"type":23,"value":1450},"cdr-color-background",{"type":23,"value":135},{"type":13,"tag":74,"props":1453,"children":1455},{"className":1454},[],[1456],{"type":23,"value":1457},"cdr-radius",{"type":23,"value":135},{"type":13,"tag":74,"props":1460,"children":1462},{"className":1461},[],[1463],{"type":23,"value":1464},"cdr-space",{"type":23,"value":135},{"type":13,"tag":74,"props":1467,"children":1469},{"className":1468},[],[1470],{"type":23,"value":1471},"cdr-space-scale",{"type":23,"value":135},{"type":13,"tag":74,"props":1474,"children":1476},{"className":1475},[],[1477],{"type":23,"value":1478},"cdr-text-size",{"type":23,"value":135},{"type":13,"tag":74,"props":1481,"children":1483},{"className":1482},[],[1484],{"type":23,"value":1485},"cdr-type",{"type":23,"value":135},{"type":13,"tag":74,"props":1488,"children":1490},{"className":1489},[],[1491],{"type":23,"value":1492},"cdr-motion-duration",{"type":23,"value":142},{"type":13,"tag":74,"props":1495,"children":1497},{"className":1496},[],[1498],{"type":23,"value":1499},"cdr-prominence",{"type":23,"value":388},{"type":13,"tag":217,"props":1502,"children":1504},{"className":219,"code":1503,"language":221,"meta":7,"style":7},"import '@rei/cdr-tokens/css/color-background';\nimport { CdrSpaceOneX } from '@rei/cdr-tokens/tokens';\nimport type { CdrSpaceKey } from '@rei/cdr-tokens/types/space.keys';\n",[1505],{"type":13,"tag":74,"props":1506,"children":1507},{"__ignoreMap":7},[1508,1531,1571],{"type":13,"tag":227,"props":1509,"children":1510},{"class":229,"line":230},[1511,1515,1519,1523,1527],{"type":13,"tag":227,"props":1512,"children":1513},{"style":234},[1514],{"type":23,"value":237},{"type":13,"tag":227,"props":1516,"children":1517},{"style":240},[1518],{"type":23,"value":274},{"type":13,"tag":227,"props":1520,"children":1521},{"style":277},[1522],{"type":23,"value":1158},{"type":13,"tag":227,"props":1524,"children":1525},{"style":240},[1526],{"type":23,"value":284},{"type":13,"tag":227,"props":1528,"children":1529},{"style":240},[1530],{"type":23,"value":289},{"type":13,"tag":227,"props":1532,"children":1533},{"class":229,"line":292},[1534,1538,1542,1547,1551,1555,1559,1563,1567],{"type":13,"tag":227,"props":1535,"children":1536},{"style":234},[1537],{"type":23,"value":237},{"type":13,"tag":227,"props":1539,"children":1540},{"style":240},[1541],{"type":23,"value":243},{"type":13,"tag":227,"props":1543,"children":1544},{"style":246},[1545],{"type":23,"value":1546}," CdrSpaceOneX",{"type":13,"tag":227,"props":1548,"children":1549},{"style":240},[1550],{"type":23,"value":264},{"type":13,"tag":227,"props":1552,"children":1553},{"style":234},[1554],{"type":23,"value":269},{"type":13,"tag":227,"props":1556,"children":1557},{"style":240},[1558],{"type":23,"value":274},{"type":13,"tag":227,"props":1560,"children":1561},{"style":277},[1562],{"type":23,"value":1249},{"type":13,"tag":227,"props":1564,"children":1565},{"style":240},[1566],{"type":23,"value":284},{"type":13,"tag":227,"props":1568,"children":1569},{"style":240},[1570],{"type":23,"value":289},{"type":13,"tag":227,"props":1572,"children":1573},{"class":229,"line":302},[1574,1578,1582,1586,1591,1595,1599,1603,1607,1611],{"type":13,"tag":227,"props":1575,"children":1576},{"style":234},[1577],{"type":23,"value":237},{"type":13,"tag":227,"props":1579,"children":1580},{"style":234},[1581],{"type":23,"value":550},{"type":13,"tag":227,"props":1583,"children":1584},{"style":240},[1585],{"type":23,"value":243},{"type":13,"tag":227,"props":1587,"children":1588},{"style":246},[1589],{"type":23,"value":1590}," CdrSpaceKey",{"type":13,"tag":227,"props":1592,"children":1593},{"style":240},[1594],{"type":23,"value":264},{"type":13,"tag":227,"props":1596,"children":1597},{"style":234},[1598],{"type":23,"value":269},{"type":13,"tag":227,"props":1600,"children":1601},{"style":240},[1602],{"type":23,"value":274},{"type":13,"tag":227,"props":1604,"children":1605},{"style":277},[1606],{"type":23,"value":1324},{"type":13,"tag":227,"props":1608,"children":1609},{"style":240},[1610],{"type":23,"value":284},{"type":13,"tag":227,"props":1612,"children":1613},{"style":240},[1614],{"type":23,"value":289},{"type":13,"tag":199,"props":1616,"children":1618},{"id":1617},"kebab-case-key-unions",[1619],{"type":23,"value":1620},"Kebab-case key unions",{"type":13,"tag":29,"props":1622,"children":1623},{},[1624,1626,1632],{"type":23,"value":1625},"Generated ",{"type":13,"tag":74,"props":1627,"children":1629},{"className":1628},[],[1630],{"type":23,"value":1631},".keys",{"type":23,"value":1633}," modules export strict token-key unions for each foundation. This lets TypeScript consumers and utility generators work with token keys directly instead of transforming PascalCase constant names.",{"type":13,"tag":217,"props":1635,"children":1637},{"className":219,"code":1636,"language":221,"meta":7,"style":7},"import type { CdrSpaceKey } from '@rei/cdr-tokens/types/space.keys';\n\nconst space: CdrSpaceKey = 'one-x';\n",[1638],{"type":13,"tag":74,"props":1639,"children":1640},{"__ignoreMap":7},[1641,1684,1691],{"type":13,"tag":227,"props":1642,"children":1643},{"class":229,"line":230},[1644,1648,1652,1656,1660,1664,1668,1672,1676,1680],{"type":13,"tag":227,"props":1645,"children":1646},{"style":234},[1647],{"type":23,"value":237},{"type":13,"tag":227,"props":1649,"children":1650},{"style":234},[1651],{"type":23,"value":550},{"type":13,"tag":227,"props":1653,"children":1654},{"style":240},[1655],{"type":23,"value":243},{"type":13,"tag":227,"props":1657,"children":1658},{"style":246},[1659],{"type":23,"value":1590},{"type":13,"tag":227,"props":1661,"children":1662},{"style":240},[1663],{"type":23,"value":264},{"type":13,"tag":227,"props":1665,"children":1666},{"style":234},[1667],{"type":23,"value":269},{"type":13,"tag":227,"props":1669,"children":1670},{"style":240},[1671],{"type":23,"value":274},{"type":13,"tag":227,"props":1673,"children":1674},{"style":277},[1675],{"type":23,"value":1324},{"type":13,"tag":227,"props":1677,"children":1678},{"style":240},[1679],{"type":23,"value":284},{"type":13,"tag":227,"props":1681,"children":1682},{"style":240},[1683],{"type":23,"value":289},{"type":13,"tag":227,"props":1685,"children":1686},{"class":229,"line":292},[1687],{"type":13,"tag":227,"props":1688,"children":1689},{"emptyLinePlaceholder":296},[1690],{"type":23,"value":299},{"type":13,"tag":227,"props":1692,"children":1693},{"class":229,"line":302},[1694,1700,1705,1710,1715,1720,1724,1729,1733],{"type":13,"tag":227,"props":1695,"children":1697},{"style":1696},"--shiki-default:#C792EA",[1698],{"type":23,"value":1699},"const",{"type":13,"tag":227,"props":1701,"children":1702},{"style":246},[1703],{"type":23,"value":1704}," space",{"type":13,"tag":227,"props":1706,"children":1707},{"style":240},[1708],{"type":23,"value":1709},":",{"type":13,"tag":227,"props":1711,"children":1713},{"style":1712},"--shiki-default:#FFCB6B",[1714],{"type":23,"value":1590},{"type":13,"tag":227,"props":1716,"children":1717},{"style":240},[1718],{"type":23,"value":1719}," =",{"type":13,"tag":227,"props":1721,"children":1722},{"style":240},[1723],{"type":23,"value":274},{"type":13,"tag":227,"props":1725,"children":1726},{"style":277},[1727],{"type":23,"value":1728},"one-x",{"type":13,"tag":227,"props":1730,"children":1731},{"style":240},[1732],{"type":23,"value":284},{"type":13,"tag":227,"props":1734,"children":1735},{"style":240},[1736],{"type":23,"value":289},{"type":13,"tag":29,"props":1738,"children":1739},{},[1740,1742,1748,1749,1755],{"type":23,"value":1741},"The unions are strict. A value like ",{"type":13,"tag":74,"props":1743,"children":1745},{"className":1744},[],[1746],{"type":23,"value":1747},"'oneX'",{"type":23,"value":1209},{"type":13,"tag":74,"props":1750,"children":1752},{"className":1751},[],[1753],{"type":23,"value":1754},"'OneX'",{"type":23,"value":1756}," is now a type error.",{"type":13,"tag":199,"props":1758,"children":1760},{"id":1759},"canonical-breakpoint-order",[1761],{"type":23,"value":1762},"Canonical breakpoint order",{"type":13,"tag":29,"props":1764,"children":1765},{},[1766,1771,1773,1779],{"type":13,"tag":74,"props":1767,"children":1769},{"className":1768},[],[1770],{"type":23,"value":1395},{"type":23,"value":1772}," is exported as a typed const tuple in the semantic token contract. Use it instead of hardcoding ",{"type":13,"tag":74,"props":1774,"children":1776},{"className":1775},[],[1777],{"type":23,"value":1778},"['xs', 'sm', 'md', 'lg']",{"type":23,"value":1780}," in responsive logic.",{"type":13,"tag":217,"props":1782,"children":1784},{"className":219,"code":1783,"language":221,"meta":7,"style":7},"import { CdrBreakpointOrder } from '@rei/cdr-tokens/types';\n\nCdrBreakpointOrder.forEach((breakpoint) => {\n  // breakpoint is typed as 'xs' | 'sm' | 'md' | 'lg'\n});\n",[1785],{"type":13,"tag":74,"props":1786,"children":1787},{"__ignoreMap":7},[1788,1828,1835,1881,1890],{"type":13,"tag":227,"props":1789,"children":1790},{"class":229,"line":230},[1791,1795,1799,1804,1808,1812,1816,1820,1824],{"type":13,"tag":227,"props":1792,"children":1793},{"style":234},[1794],{"type":23,"value":237},{"type":13,"tag":227,"props":1796,"children":1797},{"style":240},[1798],{"type":23,"value":243},{"type":13,"tag":227,"props":1800,"children":1801},{"style":246},[1802],{"type":23,"value":1803}," CdrBreakpointOrder",{"type":13,"tag":227,"props":1805,"children":1806},{"style":240},[1807],{"type":23,"value":264},{"type":13,"tag":227,"props":1809,"children":1810},{"style":234},[1811],{"type":23,"value":269},{"type":13,"tag":227,"props":1813,"children":1814},{"style":240},[1815],{"type":23,"value":274},{"type":13,"tag":227,"props":1817,"children":1818},{"style":277},[1819],{"type":23,"value":1283},{"type":13,"tag":227,"props":1821,"children":1822},{"style":240},[1823],{"type":23,"value":284},{"type":13,"tag":227,"props":1825,"children":1826},{"style":240},[1827],{"type":23,"value":289},{"type":13,"tag":227,"props":1829,"children":1830},{"class":229,"line":292},[1831],{"type":13,"tag":227,"props":1832,"children":1833},{"emptyLinePlaceholder":296},[1834],{"type":23,"value":299},{"type":13,"tag":227,"props":1836,"children":1837},{"class":229,"line":302},[1838,1842,1846,1852,1857,1861,1867,1872,1877],{"type":13,"tag":227,"props":1839,"children":1840},{"style":246},[1841],{"type":23,"value":1395},{"type":13,"tag":227,"props":1843,"children":1844},{"style":240},[1845],{"type":23,"value":388},{"type":13,"tag":227,"props":1847,"children":1849},{"style":1848},"--shiki-default:#82AAFF",[1850],{"type":23,"value":1851},"forEach",{"type":13,"tag":227,"props":1853,"children":1854},{"style":246},[1855],{"type":23,"value":1856},"(",{"type":13,"tag":227,"props":1858,"children":1859},{"style":240},[1860],{"type":23,"value":1856},{"type":13,"tag":227,"props":1862,"children":1864},{"style":1863},"--shiki-default:#BABED8;--shiki-default-font-style:italic",[1865],{"type":23,"value":1866},"breakpoint",{"type":13,"tag":227,"props":1868,"children":1869},{"style":240},[1870],{"type":23,"value":1871},")",{"type":13,"tag":227,"props":1873,"children":1874},{"style":1696},[1875],{"type":23,"value":1876}," =>",{"type":13,"tag":227,"props":1878,"children":1879},{"style":240},[1880],{"type":23,"value":630},{"type":13,"tag":227,"props":1882,"children":1883},{"class":229,"line":337},[1884],{"type":13,"tag":227,"props":1885,"children":1887},{"style":1886},"--shiki-default:#676E95;--shiki-default-font-style:italic",[1888],{"type":23,"value":1889},"  // breakpoint is typed as 'xs' | 'sm' | 'md' | 'lg'\n",{"type":13,"tag":227,"props":1891,"children":1893},{"class":229,"line":1892},5,[1894,1898,1902],{"type":13,"tag":227,"props":1895,"children":1896},{"style":240},[1897],{"type":23,"value":665},{"type":13,"tag":227,"props":1899,"children":1900},{"style":246},[1901],{"type":23,"value":1871},{"type":13,"tag":227,"props":1903,"children":1904},{"style":240},[1905],{"type":23,"value":289},{"type":13,"tag":199,"props":1907,"children":1909},{"id":1908},"dtcg-aligned-typography-tokens",[1910],{"type":23,"value":1911},"DTCG-aligned typography tokens",{"type":13,"tag":29,"props":1913,"children":1914},{},[1915,1917,1923,1924,1930],{"type":23,"value":1916},"Typography JSON now uses the W3C Design Token Community Group ",{"type":13,"tag":74,"props":1918,"children":1920},{"className":1919},[],[1921],{"type":23,"value":1922},"$type",{"type":23,"value":862},{"type":13,"tag":74,"props":1925,"children":1927},{"className":1926},[],[1928],{"type":23,"value":1929},"$value",{"type":23,"value":1931}," shape. Tools such as Tokens Studio, Figma Variables workflows, and token pipelines that consume DTCG-style JSON can read Cedar typography output with less project-owned translation code.",{"type":13,"tag":199,"props":1933,"children":1935},{"id":1934},"component-variables-v11",[1936],{"type":23,"value":1937},"Component variables v11",{"type":13,"tag":29,"props":1939,"children":1940},{},[1941],{"type":23,"value":1942},"Component variables v11 is the aligned release for Cedar 17 and cdr-tokens 14.",{"type":13,"tag":35,"props":1944,"children":1946},{"heading":1945},"Token breaking changes",[],{"type":13,"tag":199,"props":1948,"children":1950},{"id":1949},"direct-token-dist-imports-are-no-longer-public",[1951,1953,1959],{"type":23,"value":1952},"Direct token ",{"type":13,"tag":74,"props":1954,"children":1956},{"className":1955},[],[1957],{"type":23,"value":1958},"dist/",{"type":23,"value":1960}," imports are no longer public",{"type":13,"tag":29,"props":1962,"children":1963},{},[1964,1966,1972,1974,1979,1981,1986,1988,1993,1995,2000],{"type":23,"value":1965},"The token package now relies on explicit package exports. Use per-category imports like ",{"type":13,"tag":74,"props":1967,"children":1969},{"className":1968},[],[1970],{"type":23,"value":1971},"@rei/cdr-tokens/css/color",{"type":23,"value":1973}," instead of direct ",{"type":13,"tag":74,"props":1975,"children":1977},{"className":1976},[],[1978],{"type":23,"value":1958},{"type":23,"value":1980}," paths. If your bundler doesn't support ",{"type":13,"tag":74,"props":1982,"children":1984},{"className":1983},[],[1985],{"type":23,"value":801},{"type":23,"value":1987}," (older Webpack 4), you can reference ",{"type":13,"tag":74,"props":1989,"children":1991},{"className":1990},[],[1992],{"type":23,"value":1958},{"type":23,"value":1994}," paths directly using the new ",{"type":13,"tag":74,"props":1996,"children":1998},{"className":1997},[],[1999],{"type":23,"value":1435},{"type":23,"value":2001}," structure.",{"type":13,"tag":199,"props":2003,"children":2005},{"id":2004},"runtime-constants-moved-behind-tokens",[2006,2008],{"type":23,"value":2007},"Runtime constants moved behind ",{"type":13,"tag":74,"props":2009,"children":2011},{"className":2010},[],[2012],{"type":23,"value":2013},"tokens",{"type":13,"tag":29,"props":2015,"children":2016},{},[2017,2019,2024],{"type":23,"value":2018},"Generated JavaScript constants are exposed through ",{"type":13,"tag":74,"props":2020,"children":2022},{"className":2021},[],[2023],{"type":23,"value":1249},{"type":23,"value":388},{"type":13,"tag":29,"props":2026,"children":2027},{},[2028,2030,2035,2037,2042],{"type":23,"value":2029},"The ",{"type":13,"tag":74,"props":2031,"children":2033},{"className":2032},[],[2034],{"type":23,"value":1283},{"type":23,"value":2036}," export describes the semantic foundation contract. If your application needs the generated constant names that existed in the older JS bundle, use ",{"type":13,"tag":74,"props":2038,"children":2040},{"className":2039},[],[2041],{"type":23,"value":1249},{"type":23,"value":388},{"type":13,"tag":199,"props":2044,"children":2046},{"id":2045},"json-output-is-nested",[2047],{"type":23,"value":2048},"JSON output is nested",{"type":13,"tag":29,"props":2050,"children":2051},{},[2052,2054,2060,2061,2066],{"type":23,"value":2053},"Token JSON output now includes nested ",{"type":13,"tag":74,"props":2055,"children":2057},{"className":2056},[],[2058],{"type":23,"value":2059},"components/",{"type":23,"value":862},{"type":13,"tag":74,"props":2062,"children":2064},{"className":2063},[],[2065],{"type":23,"value":1435},{"type":23,"value":2067}," directories in addition to platform-level JSON files.",{"type":13,"tag":199,"props":2069,"children":2071},{"id":2070},"scss-shortcut-paths-are-limited",[2072],{"type":23,"value":2073},"SCSS shortcut paths are limited",{"type":13,"tag":29,"props":2075,"children":2076},{},[2077,2079,2085,2087,2093,2094,2100,2101,2107],{"type":23,"value":2078},"The short ",{"type":13,"tag":74,"props":2080,"children":2082},{"className":2081},[],[2083],{"type":23,"value":2084},"@rei/cdr-tokens/scss/*",{"type":23,"value":2086}," path is for utility mixins such as ",{"type":13,"tag":74,"props":2088,"children":2090},{"className":2089},[],[2091],{"type":23,"value":2092},"breakpoint-mixins",{"type":23,"value":135},{"type":13,"tag":74,"props":2095,"children":2097},{"className":2096},[],[2098],{"type":23,"value":2099},"display-mixins",{"type":23,"value":142},{"type":13,"tag":74,"props":2102,"children":2104},{"className":2103},[],[2105],{"type":23,"value":2106},"type-mixins",{"type":23,"value":2108},". Foundation SCSS partials are exposed through themed paths.",{"type":13,"tag":35,"props":2110,"children":2112},{"heading":2111},"Component API changes",[],{"type":13,"tag":199,"props":2114,"children":2116},{"id":2115},"cdrmodal",[2117],{"type":13,"tag":74,"props":2118,"children":2120},{"className":2119},[],[2121],{"type":23,"value":705},{"type":13,"tag":29,"props":2123,"children":2124},{},[2125],{"type":23,"value":2126},"No props, slots, or events changed.",{"type":13,"tag":35,"props":2128,"children":2130},{"heading":2129},"Bug fixes",[],{"type":13,"tag":199,"props":2132,"children":2134},{"id":2133},"cdrmodal-ssr-hydration",[2135,2140],{"type":13,"tag":74,"props":2136,"children":2138},{"className":2137},[],[2139],{"type":23,"value":705},{"type":23,"value":2141}," SSR hydration",{"type":13,"tag":29,"props":2143,"children":2144},{},[2145,2147,2152],{"type":23,"value":2146},"Fixed a ",{"type":13,"tag":74,"props":2148,"children":2150},{"className":2149},[],[2151],{"type":23,"value":705},{"type":23,"value":2153}," Teleport race condition that could cause hydration mismatches on server-rendered Vue and Nuxt pages.",{"type":13,"tag":35,"props":2155,"children":2157},{"heading":2156},"Design changes",[],{"type":13,"tag":29,"props":2159,"children":2160},{},[2161],{"type":23,"value":2162},"No Cedar component visual redesigns are included in this release. The design-system changes are token contract changes: typography JSON is DTCG-aligned, type and space custom property names are canonicalized, and component variables remain aligned with Tokens 14.",{"type":13,"tag":35,"props":2164,"children":2166},{"heading":2165},"Migration guide",[],{"type":13,"tag":199,"props":2168,"children":2170},{"id":2169},"_1-upgrade-in-a-branch",[2171],{"type":23,"value":2172},"1. Upgrade in a branch",{"type":13,"tag":29,"props":2174,"children":2175},{},[2176,2178,2185],{"type":23,"value":2177},"Start in a new branch, following the same approach recommended by ",{"type":13,"tag":178,"props":2179,"children":2182},{"href":2180,"rel":2181},"https://tailwindcss.com/docs/upgrade-guide",[723],[2183],{"type":23,"value":2184},"Tailwind's v3 to v4 upgrade guide",{"type":23,"value":2186},". Update the Cedar packages together, then review the application diff before merging. Use your application's package manager; for npm:",{"type":13,"tag":217,"props":2188,"children":2192},{"className":2189,"code":2190,"language":2191,"meta":7,"style":7},"language-sh shiki shiki-themes material-theme-palenight","npm install @rei/cedar@17 @rei/cdr-tokens@14 @rei/cdr-component-variables@11\n","sh",[2193],{"type":13,"tag":74,"props":2194,"children":2195},{"__ignoreMap":7},[2196],{"type":13,"tag":227,"props":2197,"children":2198},{"class":229,"line":230},[2199,2204,2209,2214,2219],{"type":13,"tag":227,"props":2200,"children":2201},{"style":1712},[2202],{"type":23,"value":2203},"npm",{"type":13,"tag":227,"props":2205,"children":2206},{"style":277},[2207],{"type":23,"value":2208}," install",{"type":13,"tag":227,"props":2210,"children":2211},{"style":277},[2212],{"type":23,"value":2213}," @rei/cedar@17",{"type":13,"tag":227,"props":2215,"children":2216},{"style":277},[2217],{"type":23,"value":2218}," @rei/cdr-tokens@14",{"type":13,"tag":227,"props":2220,"children":2221},{"style":277},[2222],{"type":23,"value":2223}," @rei/cdr-component-variables@11\n",{"type":13,"tag":29,"props":2225,"children":2226},{},[2227],{"type":23,"value":2228},"Update external modules that also use Cedar to the same major version.",{"type":13,"tag":199,"props":2230,"children":2232},{"id":2231},"_2-replace-the-full-cedar-stylesheet",[2233],{"type":23,"value":2234},"2. Replace the full Cedar stylesheet",{"type":13,"tag":217,"props":2236,"children":2240},{"className":2237,"code":2238,"language":2239,"meta":7,"style":7},"language-diff shiki shiki-themes material-theme-palenight","- import '@rei/cedar/dist/cdr-style.css';\n+ import '@rei/cedar/dist/cedar.css';\n","diff",[2241],{"type":13,"tag":74,"props":2242,"children":2243},{"__ignoreMap":7},[2244,2252],{"type":13,"tag":227,"props":2245,"children":2246},{"class":229,"line":230},[2247],{"type":13,"tag":227,"props":2248,"children":2249},{},[2250],{"type":23,"value":2251},"- import '@rei/cedar/dist/cdr-style.css';\n",{"type":13,"tag":227,"props":2253,"children":2254},{"class":229,"line":292},[2255],{"type":13,"tag":227,"props":2256,"children":2257},{},[2258],{"type":23,"value":2259},"+ import '@rei/cedar/dist/cedar.css';\n",{"type":13,"tag":29,"props":2261,"children":2262},{},[2263],{"type":23,"value":2264},"Keep any explicit reset, font, palette, or component CSS imports that your application already owns, as long as they use public CSS paths.",{"type":13,"tag":29,"props":2266,"children":2267},{},[2268],{"type":23,"value":2269},"Supported core CSS imports include:",{"type":13,"tag":217,"props":2271,"children":2273},{"className":219,"code":2272,"language":221,"meta":7,"style":7},"import '@rei/cedar/dist/cdr-reset.css';\nimport '@rei/cedar/dist/cdr-fonts.css';\nimport '@rei/cedar/dist/cedar.css';\n",[2274],{"type":13,"tag":74,"props":2275,"children":2276},{"__ignoreMap":7},[2277,2301,2325],{"type":13,"tag":227,"props":2278,"children":2279},{"class":229,"line":230},[2280,2284,2288,2293,2297],{"type":13,"tag":227,"props":2281,"children":2282},{"style":234},[2283],{"type":23,"value":237},{"type":13,"tag":227,"props":2285,"children":2286},{"style":240},[2287],{"type":23,"value":274},{"type":13,"tag":227,"props":2289,"children":2290},{"style":277},[2291],{"type":23,"value":2292},"@rei/cedar/dist/cdr-reset.css",{"type":13,"tag":227,"props":2294,"children":2295},{"style":240},[2296],{"type":23,"value":284},{"type":13,"tag":227,"props":2298,"children":2299},{"style":240},[2300],{"type":23,"value":289},{"type":13,"tag":227,"props":2302,"children":2303},{"class":229,"line":292},[2304,2308,2312,2317,2321],{"type":13,"tag":227,"props":2305,"children":2306},{"style":234},[2307],{"type":23,"value":237},{"type":13,"tag":227,"props":2309,"children":2310},{"style":240},[2311],{"type":23,"value":274},{"type":13,"tag":227,"props":2313,"children":2314},{"style":277},[2315],{"type":23,"value":2316},"@rei/cedar/dist/cdr-fonts.css",{"type":13,"tag":227,"props":2318,"children":2319},{"style":240},[2320],{"type":23,"value":284},{"type":13,"tag":227,"props":2322,"children":2323},{"style":240},[2324],{"type":23,"value":289},{"type":13,"tag":227,"props":2326,"children":2327},{"class":229,"line":302},[2328,2332,2336,2341,2345],{"type":13,"tag":227,"props":2329,"children":2330},{"style":234},[2331],{"type":23,"value":237},{"type":13,"tag":227,"props":2333,"children":2334},{"style":240},[2335],{"type":23,"value":274},{"type":13,"tag":227,"props":2337,"children":2338},{"style":277},[2339],{"type":23,"value":2340},"@rei/cedar/dist/cedar.css",{"type":13,"tag":227,"props":2342,"children":2343},{"style":240},[2344],{"type":23,"value":284},{"type":13,"tag":227,"props":2346,"children":2347},{"style":240},[2348],{"type":23,"value":289},{"type":13,"tag":29,"props":2350,"children":2351},{},[2352,2354,2360],{"type":23,"value":2353},"Component CSS is still available from ",{"type":13,"tag":74,"props":2355,"children":2357},{"className":2356},[],[2358],{"type":23,"value":2359},"@rei/cedar/dist/style/*",{"type":23,"value":1709},{"type":13,"tag":217,"props":2362,"children":2364},{"className":219,"code":2363,"language":221,"meta":7,"style":7},"import '@rei/cedar/dist/style/cdr-button.css';\n",[2365],{"type":13,"tag":74,"props":2366,"children":2367},{"__ignoreMap":7},[2368],{"type":13,"tag":227,"props":2369,"children":2370},{"class":229,"line":230},[2371,2375,2379,2384,2388],{"type":13,"tag":227,"props":2372,"children":2373},{"style":234},[2374],{"type":23,"value":237},{"type":13,"tag":227,"props":2376,"children":2377},{"style":240},[2378],{"type":23,"value":274},{"type":13,"tag":227,"props":2380,"children":2381},{"style":277},[2382],{"type":23,"value":2383},"@rei/cedar/dist/style/cdr-button.css",{"type":13,"tag":227,"props":2385,"children":2386},{"style":240},[2387],{"type":23,"value":284},{"type":13,"tag":227,"props":2389,"children":2390},{"style":240},[2391],{"type":23,"value":289},{"type":13,"tag":29,"props":2393,"children":2394},{},[2395],{"type":23,"value":2396},"If you imported the old standalone fluid variable file, replace it with token CSS:",{"type":13,"tag":217,"props":2398,"children":2400},{"className":2237,"code":2399,"language":2239,"meta":7,"style":7},"- import '@rei/cedar/dist/style/cdr-fluid-vars.css';\n+ import '@rei/cdr-tokens/css/type';\n+ import '@rei/cdr-tokens/css/space-scale';\n",[2401],{"type":13,"tag":74,"props":2402,"children":2403},{"__ignoreMap":7},[2404,2412,2420],{"type":13,"tag":227,"props":2405,"children":2406},{"class":229,"line":230},[2407],{"type":13,"tag":227,"props":2408,"children":2409},{},[2410],{"type":23,"value":2411},"- import '@rei/cedar/dist/style/cdr-fluid-vars.css';\n",{"type":13,"tag":227,"props":2413,"children":2414},{"class":229,"line":292},[2415],{"type":13,"tag":227,"props":2416,"children":2417},{},[2418],{"type":23,"value":2419},"+ import '@rei/cdr-tokens/css/type';\n",{"type":13,"tag":227,"props":2421,"children":2422},{"class":229,"line":302},[2423],{"type":13,"tag":227,"props":2424,"children":2425},{},[2426],{"type":23,"value":2427},"+ import '@rei/cdr-tokens/css/space-scale';\n",{"type":13,"tag":29,"props":2429,"children":2430},{},[2431,2433,2438],{"type":23,"value":2432},"You can also import the full token CSS bundle with ",{"type":13,"tag":74,"props":2434,"children":2436},{"className":2435},[],[2437],{"type":23,"value":1141},{"type":23,"value":2439}," if your application needs all token custom properties.",{"type":13,"tag":199,"props":2441,"children":2443},{"id":2442},"_3-replace-internal-cedar-imports",[2444],{"type":23,"value":2445},"3. Replace internal Cedar imports",{"type":13,"tag":40,"props":2447,"children":2448},{},[2449,2465],{"type":13,"tag":44,"props":2450,"children":2451},{},[2452],{"type":13,"tag":48,"props":2453,"children":2454},{},[2455,2460],{"type":13,"tag":52,"props":2456,"children":2457},{},[2458],{"type":23,"value":2459},"Previous pattern",{"type":13,"tag":52,"props":2461,"children":2462},{},[2463],{"type":23,"value":2464},"Replacement",{"type":13,"tag":63,"props":2466,"children":2467},{},[2468,2495,2517,2545],{"type":13,"tag":48,"props":2469,"children":2470},{},[2471,2480],{"type":13,"tag":70,"props":2472,"children":2473},{},[2474],{"type":13,"tag":74,"props":2475,"children":2477},{"className":2476},[],[2478],{"type":23,"value":2479},"@rei/cedar/dist/components/button/CdrButton.vue",{"type":13,"tag":70,"props":2481,"children":2482},{},[2483,2488,2489],{"type":13,"tag":74,"props":2484,"children":2486},{"className":2485},[],[2487],{"type":23,"value":326},{"type":23,"value":1209},{"type":13,"tag":74,"props":2490,"children":2492},{"className":2491},[],[2493],{"type":23,"value":2494},"{ CdrButton } from '@rei/cedar'",{"type":13,"tag":48,"props":2496,"children":2497},{},[2498,2507],{"type":13,"tag":70,"props":2499,"children":2500},{},[2501],{"type":13,"tag":74,"props":2502,"children":2504},{"className":2503},[],[2505],{"type":23,"value":2506},"@rei/cedar/dist/lib.mjs",{"type":13,"tag":70,"props":2508,"children":2509},{},[2510,2512],{"type":23,"value":2511},"Named imports from ",{"type":13,"tag":74,"props":2513,"children":2515},{"className":2514},[],[2516],{"type":23,"value":79},{"type":13,"tag":48,"props":2518,"children":2519},{},[2520,2528],{"type":13,"tag":70,"props":2521,"children":2522},{},[2523],{"type":13,"tag":74,"props":2524,"children":2526},{"className":2525},[],[2527],{"type":23,"value":816},{"type":13,"tag":70,"props":2529,"children":2530},{},[2531,2533,2538,2539],{"type":23,"value":2532},"Type exports from ",{"type":13,"tag":74,"props":2534,"children":2536},{"className":2535},[],[2537],{"type":23,"value":79},{"type":23,"value":1209},{"type":13,"tag":74,"props":2540,"children":2542},{"className":2541},[],[2543],{"type":23,"value":2544},"@rei/cedar/CdrButton/types",{"type":13,"tag":48,"props":2546,"children":2547},{},[2548,2557],{"type":13,"tag":70,"props":2549,"children":2550},{},[2551],{"type":13,"tag":74,"props":2552,"children":2554},{"className":2553},[],[2555],{"type":23,"value":2556},"@rei/cedar/dist/component-docgen.json",{"type":13,"tag":70,"props":2558,"children":2559},{},[2560],{"type":23,"value":2561},"Use the public Storybook docs instead; the package-internal docgen file is not a public API",{"type":13,"tag":217,"props":2563,"children":2565},{"className":2237,"code":2564,"language":2239,"meta":7,"style":7},"- import CdrButton from '@rei/cedar/dist/components/button/CdrButton.vue';\n+ import CdrButton from '@rei/cedar/CdrButton';\n",[2566],{"type":13,"tag":74,"props":2567,"children":2568},{"__ignoreMap":7},[2569,2577],{"type":13,"tag":227,"props":2570,"children":2571},{"class":229,"line":230},[2572],{"type":13,"tag":227,"props":2573,"children":2574},{},[2575],{"type":23,"value":2576},"- import CdrButton from '@rei/cedar/dist/components/button/CdrButton.vue';\n",{"type":13,"tag":227,"props":2578,"children":2579},{"class":229,"line":292},[2580],{"type":13,"tag":227,"props":2581,"children":2582},{},[2583],{"type":23,"value":2584},"+ import CdrButton from '@rei/cedar/CdrButton';\n",{"type":13,"tag":29,"props":2586,"children":2587},{},[2588],{"type":23,"value":2589},"Root imports remain supported:",{"type":13,"tag":217,"props":2591,"children":2593},{"className":219,"code":2592,"language":221,"meta":7,"style":7},"import { CdrButton } from '@rei/cedar';\n",[2594],{"type":13,"tag":74,"props":2595,"children":2596},{"__ignoreMap":7},[2597],{"type":13,"tag":227,"props":2598,"children":2599},{"class":229,"line":230},[2600,2604,2608,2612,2616,2620,2624,2628,2632],{"type":13,"tag":227,"props":2601,"children":2602},{"style":234},[2603],{"type":23,"value":237},{"type":13,"tag":227,"props":2605,"children":2606},{"style":240},[2607],{"type":23,"value":243},{"type":13,"tag":227,"props":2609,"children":2610},{"style":246},[2611],{"type":23,"value":249},{"type":13,"tag":227,"props":2613,"children":2614},{"style":240},[2615],{"type":23,"value":264},{"type":13,"tag":227,"props":2617,"children":2618},{"style":234},[2619],{"type":23,"value":269},{"type":13,"tag":227,"props":2621,"children":2622},{"style":240},[2623],{"type":23,"value":274},{"type":13,"tag":227,"props":2625,"children":2626},{"style":277},[2627],{"type":23,"value":79},{"type":13,"tag":227,"props":2629,"children":2630},{"style":240},[2631],{"type":23,"value":284},{"type":13,"tag":227,"props":2633,"children":2634},{"style":240},[2635],{"type":23,"value":289},{"type":13,"tag":199,"props":2637,"children":2639},{"id":2638},"_4-update-cedar-type-imports",[2640],{"type":23,"value":2641},"4. Update Cedar type imports",{"type":13,"tag":217,"props":2643,"children":2645},{"className":2237,"code":2644,"language":2239,"meta":7,"style":7},"- import type { CdrButtonProps } from '@rei/cedar/types/interfaces';\n- import type { CdrAccordionProps } from '@rei/cedar/types/other';\n+ import type { CdrButtonProps, CdrAccordionProps } from '@rei/cedar';\n",[2646],{"type":13,"tag":74,"props":2647,"children":2648},{"__ignoreMap":7},[2649,2657,2665],{"type":13,"tag":227,"props":2650,"children":2651},{"class":229,"line":230},[2652],{"type":13,"tag":227,"props":2653,"children":2654},{},[2655],{"type":23,"value":2656},"- import type { CdrButtonProps } from '@rei/cedar/types/interfaces';\n",{"type":13,"tag":227,"props":2658,"children":2659},{"class":229,"line":292},[2660],{"type":13,"tag":227,"props":2661,"children":2662},{},[2663],{"type":23,"value":2664},"- import type { CdrAccordionProps } from '@rei/cedar/types/other';\n",{"type":13,"tag":227,"props":2666,"children":2667},{"class":229,"line":302},[2668],{"type":13,"tag":227,"props":2669,"children":2670},{},[2671],{"type":23,"value":2672},"+ import type { CdrButtonProps, CdrAccordionProps } from '@rei/cedar';\n",{"type":13,"tag":29,"props":2674,"children":2675},{},[2676],{"type":23,"value":2677},"For component-local imports:",{"type":13,"tag":217,"props":2679,"children":2681},{"className":219,"code":2680,"language":221,"meta":7,"style":7},"import CdrButton, { type CdrButtonProps } from '@rei/cedar/CdrButton';\n",[2682],{"type":13,"tag":74,"props":2683,"children":2684},{"__ignoreMap":7},[2685],{"type":13,"tag":227,"props":2686,"children":2687},{"class":229,"line":230},[2688,2692,2696,2700,2704,2708,2712,2716,2720,2724,2728,2732],{"type":13,"tag":227,"props":2689,"children":2690},{"style":234},[2691],{"type":23,"value":237},{"type":13,"tag":227,"props":2693,"children":2694},{"style":246},[2695],{"type":23,"value":249},{"type":13,"tag":227,"props":2697,"children":2698},{"style":240},[2699],{"type":23,"value":254},{"type":13,"tag":227,"props":2701,"children":2702},{"style":240},[2703],{"type":23,"value":243},{"type":13,"tag":227,"props":2705,"children":2706},{"style":234},[2707],{"type":23,"value":550},{"type":13,"tag":227,"props":2709,"children":2710},{"style":246},[2711],{"type":23,"value":559},{"type":13,"tag":227,"props":2713,"children":2714},{"style":240},[2715],{"type":23,"value":264},{"type":13,"tag":227,"props":2717,"children":2718},{"style":234},[2719],{"type":23,"value":269},{"type":13,"tag":227,"props":2721,"children":2722},{"style":240},[2723],{"type":23,"value":274},{"type":13,"tag":227,"props":2725,"children":2726},{"style":277},[2727],{"type":23,"value":326},{"type":13,"tag":227,"props":2729,"children":2730},{"style":240},[2731],{"type":23,"value":284},{"type":13,"tag":227,"props":2733,"children":2734},{"style":240},[2735],{"type":23,"value":289},{"type":13,"tag":199,"props":2737,"children":2739},{"id":2738},"_5-update-text-scale-values",[2740],{"type":23,"value":2741},"5. Update text scale values",{"type":13,"tag":40,"props":2743,"children":2744},{},[2745,2761],{"type":13,"tag":44,"props":2746,"children":2747},{},[2748],{"type":13,"tag":48,"props":2749,"children":2750},{},[2751,2756],{"type":13,"tag":52,"props":2752,"children":2753},{},[2754],{"type":23,"value":2755},"Previous value",{"type":13,"tag":52,"props":2757,"children":2758},{},[2759],{"type":23,"value":2760},"New value",{"type":13,"tag":63,"props":2762,"children":2763},{},[2764,2785,2806,2827,2848,2869,2890,2911,2932,2953],{"type":13,"tag":48,"props":2765,"children":2766},{},[2767,2776],{"type":13,"tag":70,"props":2768,"children":2769},{},[2770],{"type":13,"tag":74,"props":2771,"children":2773},{"className":2772},[],[2774],{"type":23,"value":2775},"-2",{"type":13,"tag":70,"props":2777,"children":2778},{},[2779],{"type":13,"tag":74,"props":2780,"children":2782},{"className":2781},[],[2783],{"type":23,"value":2784},"scale-minus-2",{"type":13,"tag":48,"props":2786,"children":2787},{},[2788,2797],{"type":13,"tag":70,"props":2789,"children":2790},{},[2791],{"type":13,"tag":74,"props":2792,"children":2794},{"className":2793},[],[2795],{"type":23,"value":2796},"-1",{"type":13,"tag":70,"props":2798,"children":2799},{},[2800],{"type":13,"tag":74,"props":2801,"children":2803},{"className":2802},[],[2804],{"type":23,"value":2805},"scale-minus-1",{"type":13,"tag":48,"props":2807,"children":2808},{},[2809,2818],{"type":13,"tag":70,"props":2810,"children":2811},{},[2812],{"type":13,"tag":74,"props":2813,"children":2815},{"className":2814},[],[2816],{"type":23,"value":2817},"0",{"type":13,"tag":70,"props":2819,"children":2820},{},[2821],{"type":13,"tag":74,"props":2822,"children":2824},{"className":2823},[],[2825],{"type":23,"value":2826},"scale-0",{"type":13,"tag":48,"props":2828,"children":2829},{},[2830,2839],{"type":13,"tag":70,"props":2831,"children":2832},{},[2833],{"type":13,"tag":74,"props":2834,"children":2836},{"className":2835},[],[2837],{"type":23,"value":2838},"1",{"type":13,"tag":70,"props":2840,"children":2841},{},[2842],{"type":13,"tag":74,"props":2843,"children":2845},{"className":2844},[],[2846],{"type":23,"value":2847},"scale-1",{"type":13,"tag":48,"props":2849,"children":2850},{},[2851,2860],{"type":13,"tag":70,"props":2852,"children":2853},{},[2854],{"type":13,"tag":74,"props":2855,"children":2857},{"className":2856},[],[2858],{"type":23,"value":2859},"2",{"type":13,"tag":70,"props":2861,"children":2862},{},[2863],{"type":13,"tag":74,"props":2864,"children":2866},{"className":2865},[],[2867],{"type":23,"value":2868},"scale-2",{"type":13,"tag":48,"props":2870,"children":2871},{},[2872,2881],{"type":13,"tag":70,"props":2873,"children":2874},{},[2875],{"type":13,"tag":74,"props":2876,"children":2878},{"className":2877},[],[2879],{"type":23,"value":2880},"3",{"type":13,"tag":70,"props":2882,"children":2883},{},[2884],{"type":13,"tag":74,"props":2885,"children":2887},{"className":2886},[],[2888],{"type":23,"value":2889},"scale-3",{"type":13,"tag":48,"props":2891,"children":2892},{},[2893,2902],{"type":13,"tag":70,"props":2894,"children":2895},{},[2896],{"type":13,"tag":74,"props":2897,"children":2899},{"className":2898},[],[2900],{"type":23,"value":2901},"4",{"type":13,"tag":70,"props":2903,"children":2904},{},[2905],{"type":13,"tag":74,"props":2906,"children":2908},{"className":2907},[],[2909],{"type":23,"value":2910},"scale-4",{"type":13,"tag":48,"props":2912,"children":2913},{},[2914,2923],{"type":13,"tag":70,"props":2915,"children":2916},{},[2917],{"type":13,"tag":74,"props":2918,"children":2920},{"className":2919},[],[2921],{"type":23,"value":2922},"5",{"type":13,"tag":70,"props":2924,"children":2925},{},[2926],{"type":13,"tag":74,"props":2927,"children":2929},{"className":2928},[],[2930],{"type":23,"value":2931},"scale-5",{"type":13,"tag":48,"props":2933,"children":2934},{},[2935,2944],{"type":13,"tag":70,"props":2936,"children":2937},{},[2938],{"type":13,"tag":74,"props":2939,"children":2941},{"className":2940},[],[2942],{"type":23,"value":2943},"6",{"type":13,"tag":70,"props":2945,"children":2946},{},[2947],{"type":13,"tag":74,"props":2948,"children":2950},{"className":2949},[],[2951],{"type":23,"value":2952},"scale-6",{"type":13,"tag":48,"props":2954,"children":2955},{},[2956,2965],{"type":13,"tag":70,"props":2957,"children":2958},{},[2959],{"type":13,"tag":74,"props":2960,"children":2962},{"className":2961},[],[2963],{"type":23,"value":2964},"7",{"type":13,"tag":70,"props":2966,"children":2967},{},[2968],{"type":13,"tag":74,"props":2969,"children":2971},{"className":2970},[],[2972],{"type":23,"value":2973},"scale-7",{"type":13,"tag":217,"props":2975,"children":2977},{"className":2237,"code":2976,"language":2239,"meta":7,"style":7},"- \u003CCdrBody scale=\"-1\">Body copy\u003C/CdrBody>\n- \u003CCdrHeadingSans scale=\"2\">Heading\u003C/CdrHeadingSans>\n+ \u003CCdrBody scale=\"scale-minus-1\">Body copy\u003C/CdrBody>\n+ \u003CCdrHeadingSans scale=\"scale-2\">Heading\u003C/CdrHeadingSans>\n",[2978],{"type":13,"tag":74,"props":2979,"children":2980},{"__ignoreMap":7},[2981,2989,2997,3005],{"type":13,"tag":227,"props":2982,"children":2983},{"class":229,"line":230},[2984],{"type":13,"tag":227,"props":2985,"children":2986},{},[2987],{"type":23,"value":2988},"- \u003CCdrBody scale=\"-1\">Body copy\u003C/CdrBody>\n",{"type":13,"tag":227,"props":2990,"children":2991},{"class":229,"line":292},[2992],{"type":13,"tag":227,"props":2993,"children":2994},{},[2995],{"type":23,"value":2996},"- \u003CCdrHeadingSans scale=\"2\">Heading\u003C/CdrHeadingSans>\n",{"type":13,"tag":227,"props":2998,"children":2999},{"class":229,"line":302},[3000],{"type":13,"tag":227,"props":3001,"children":3002},{},[3003],{"type":23,"value":3004},"+ \u003CCdrBody scale=\"scale-minus-1\">Body copy\u003C/CdrBody>\n",{"type":13,"tag":227,"props":3006,"children":3007},{"class":229,"line":337},[3008],{"type":13,"tag":227,"props":3009,"children":3010},{},[3011],{"type":23,"value":3012},"+ \u003CCdrHeadingSans scale=\"scale-2\">Heading\u003C/CdrHeadingSans>\n",{"type":13,"tag":29,"props":3014,"children":3015},{},[3016,3018,3023,3025,3030,3032,3038],{"type":23,"value":3017},"Replace ",{"type":13,"tag":74,"props":3019,"children":3021},{"className":3020},[],[3022],{"type":23,"value":960},{"type":23,"value":3024}," with ",{"type":13,"tag":74,"props":3026,"children":3028},{"className":3027},[],[3029],{"type":23,"value":979},{"type":23,"value":3031}," anywhere you reference the shared type. Use ",{"type":13,"tag":74,"props":3033,"children":3035},{"className":3034},[],[3036],{"type":23,"value":3037},"Extract\u003CTypeScale, ...>",{"type":23,"value":3039}," if a component should only accept a subset of Cedar type-scale values.",{"type":13,"tag":29,"props":3041,"children":3042},{},[3043],{"type":23,"value":3044},"Update direct CSS custom property references if your app uses the old fluid token names:",{"type":13,"tag":40,"props":3046,"children":3047},{},[3048,3063],{"type":13,"tag":44,"props":3049,"children":3050},{},[3051],{"type":13,"tag":48,"props":3052,"children":3053},{},[3054,3059],{"type":13,"tag":52,"props":3055,"children":3056},{},[3057],{"type":23,"value":3058},"Previous CSS variable",{"type":13,"tag":52,"props":3060,"children":3061},{},[3062],{"type":23,"value":2464},{"type":13,"tag":63,"props":3064,"children":3065},{},[3066,3087],{"type":13,"tag":48,"props":3067,"children":3068},{},[3069,3078],{"type":13,"tag":70,"props":3070,"children":3071},{},[3072],{"type":13,"tag":74,"props":3073,"children":3075},{"className":3074},[],[3076],{"type":23,"value":3077},"--cdr-type-scale--1",{"type":13,"tag":70,"props":3079,"children":3080},{},[3081],{"type":13,"tag":74,"props":3082,"children":3084},{"className":3083},[],[3085],{"type":23,"value":3086},"--cdr-type-scale-minus-1",{"type":13,"tag":48,"props":3088,"children":3089},{},[3090,3099],{"type":13,"tag":70,"props":3091,"children":3092},{},[3093],{"type":13,"tag":74,"props":3094,"children":3096},{"className":3095},[],[3097],{"type":23,"value":3098},"--cdr-type-scale--2",{"type":13,"tag":70,"props":3100,"children":3101},{},[3102],{"type":13,"tag":74,"props":3103,"children":3105},{"className":3104},[],[3106],{"type":23,"value":3107},"--cdr-type-scale-minus-2",{"type":13,"tag":40,"props":3109,"children":3110},{},[3111,3127],{"type":13,"tag":44,"props":3112,"children":3113},{},[3114],{"type":13,"tag":48,"props":3115,"children":3116},{},[3117,3122],{"type":13,"tag":52,"props":3118,"children":3119},{},[3120],{"type":23,"value":3121},"Cedar spacing option",{"type":13,"tag":52,"props":3123,"children":3124},{},[3125],{"type":23,"value":3126},"CSS custom property",{"type":13,"tag":63,"props":3128,"children":3129},{},[3130,3151,3172],{"type":13,"tag":48,"props":3131,"children":3132},{},[3133,3142],{"type":13,"tag":70,"props":3134,"children":3135},{},[3136],{"type":13,"tag":74,"props":3137,"children":3139},{"className":3138},[],[3140],{"type":23,"value":3141},"scale-0--1",{"type":13,"tag":70,"props":3143,"children":3144},{},[3145],{"type":13,"tag":74,"props":3146,"children":3148},{"className":3147},[],[3149],{"type":23,"value":3150},"--cdr-space-scale-0-1",{"type":13,"tag":48,"props":3152,"children":3153},{},[3154,3163],{"type":13,"tag":70,"props":3155,"children":3156},{},[3157],{"type":13,"tag":74,"props":3158,"children":3160},{"className":3159},[],[3161],{"type":23,"value":3162},"scale-3--4",{"type":13,"tag":70,"props":3164,"children":3165},{},[3166],{"type":13,"tag":74,"props":3167,"children":3169},{"className":3168},[],[3170],{"type":23,"value":3171},"--cdr-space-scale-3-4",{"type":13,"tag":48,"props":3173,"children":3174},{},[3175,3183],{"type":13,"tag":70,"props":3176,"children":3177},{},[3178],{"type":13,"tag":74,"props":3179,"children":3181},{"className":3180},[],[3182],{"type":23,"value":1066},{"type":13,"tag":70,"props":3184,"children":3185},{},[3186],{"type":13,"tag":74,"props":3187,"children":3189},{"className":3188},[],[3190],{"type":23,"value":1074},{"type":13,"tag":199,"props":3192,"children":3194},{"id":3193},"_6-update-token-imports",[3195],{"type":23,"value":3196},"6. Update token imports",{"type":13,"tag":40,"props":3198,"children":3199},{},[3200,3215],{"type":13,"tag":44,"props":3201,"children":3202},{},[3203],{"type":13,"tag":48,"props":3204,"children":3205},{},[3206,3211],{"type":13,"tag":52,"props":3207,"children":3208},{},[3209],{"type":23,"value":3210},"Previous import",{"type":13,"tag":52,"props":3212,"children":3213},{},[3214],{"type":23,"value":2464},{"type":13,"tag":63,"props":3216,"children":3217},{},[3218,3238,3258,3278,3298],{"type":13,"tag":48,"props":3219,"children":3220},{},[3221,3230],{"type":13,"tag":70,"props":3222,"children":3223},{},[3224],{"type":13,"tag":74,"props":3225,"children":3227},{"className":3226},[],[3228],{"type":23,"value":3229},"@rei/cdr-tokens/dist/rei-dot-com/scss/cdr-tokens.scss",{"type":13,"tag":70,"props":3231,"children":3232},{},[3233],{"type":13,"tag":74,"props":3234,"children":3236},{"className":3235},[],[3237],{"type":23,"value":1190},{"type":13,"tag":48,"props":3239,"children":3240},{},[3241,3250],{"type":13,"tag":70,"props":3242,"children":3243},{},[3244],{"type":13,"tag":74,"props":3245,"children":3247},{"className":3246},[],[3248],{"type":23,"value":3249},"~@rei/cdr-tokens/dist/rei-dot-com/scss/cdr-tokens.scss",{"type":13,"tag":70,"props":3251,"children":3252},{},[3253],{"type":13,"tag":74,"props":3254,"children":3256},{"className":3255},[],[3257],{"type":23,"value":1190},{"type":13,"tag":48,"props":3259,"children":3260},{},[3261,3270],{"type":13,"tag":70,"props":3262,"children":3263},{},[3264],{"type":13,"tag":74,"props":3265,"children":3267},{"className":3266},[],[3268],{"type":23,"value":3269},"@rei/cdr-tokens/dist/rei-dot-com/css/cdr-tokens.css",{"type":13,"tag":70,"props":3271,"children":3272},{},[3273],{"type":13,"tag":74,"props":3274,"children":3276},{"className":3275},[],[3277],{"type":23,"value":1141},{"type":13,"tag":48,"props":3279,"children":3280},{},[3281,3290],{"type":13,"tag":70,"props":3282,"children":3283},{},[3284],{"type":13,"tag":74,"props":3285,"children":3287},{"className":3286},[],[3288],{"type":23,"value":3289},"@rei/cdr-tokens/dist/docsite/scss/cdr-tokens.scss",{"type":13,"tag":70,"props":3291,"children":3292},{},[3293],{"type":13,"tag":74,"props":3294,"children":3296},{"className":3295},[],[3297],{"type":23,"value":1372},{"type":13,"tag":48,"props":3299,"children":3300},{},[3301,3310],{"type":13,"tag":70,"props":3302,"children":3303},{},[3304],{"type":13,"tag":74,"props":3305,"children":3307},{"className":3306},[],[3308],{"type":23,"value":3309},"@rei/cdr-tokens/dist/docsite/css/cdr-tokens.css",{"type":13,"tag":70,"props":3311,"children":3312},{},[3313],{"type":13,"tag":74,"props":3314,"children":3316},{"className":3315},[],[3317],{"type":23,"value":1365},{"type":13,"tag":217,"props":3319,"children":3321},{"className":2237,"code":3320,"language":2239,"meta":7,"style":7},"- @use '~@rei/cdr-tokens/dist/rei-dot-com/scss/cdr-tokens.scss' as cdr;\n+ @use '@rei/cdr-tokens/scss' as cdr;\n",[3322],{"type":13,"tag":74,"props":3323,"children":3324},{"__ignoreMap":7},[3325,3333],{"type":13,"tag":227,"props":3326,"children":3327},{"class":229,"line":230},[3328],{"type":13,"tag":227,"props":3329,"children":3330},{},[3331],{"type":23,"value":3332},"- @use '~@rei/cdr-tokens/dist/rei-dot-com/scss/cdr-tokens.scss' as cdr;\n",{"type":13,"tag":227,"props":3334,"children":3335},{"class":229,"line":292},[3336],{"type":13,"tag":227,"props":3337,"children":3338},{},[3339],{"type":23,"value":3340},"+ @use '@rei/cdr-tokens/scss' as cdr;\n",{"type":13,"tag":217,"props":3342,"children":3344},{"className":2237,"code":3343,"language":2239,"meta":7,"style":7},"- import { CdrBreakpointLg } from '@rei/cdr-tokens';\n+ import { CdrBreakpointLg } from '@rei/cdr-tokens/tokens';\n",[3345],{"type":13,"tag":74,"props":3346,"children":3347},{"__ignoreMap":7},[3348,3356],{"type":13,"tag":227,"props":3349,"children":3350},{"class":229,"line":230},[3351],{"type":13,"tag":227,"props":3352,"children":3353},{},[3354],{"type":23,"value":3355},"- import { CdrBreakpointLg } from '@rei/cdr-tokens';\n",{"type":13,"tag":227,"props":3357,"children":3358},{"class":229,"line":292},[3359],{"type":13,"tag":227,"props":3360,"children":3361},{},[3362],{"type":23,"value":3363},"+ import { CdrBreakpointLg } from '@rei/cdr-tokens/tokens';\n",{"type":13,"tag":217,"props":3365,"children":3367},{"className":2237,"code":3366,"language":2239,"meta":7,"style":7},"- import '@rei/cdr-tokens/dist/rei-dot-com/css/cdr-tokens.css';\n+ import '@rei/cdr-tokens/css';\n",[3368],{"type":13,"tag":74,"props":3369,"children":3370},{"__ignoreMap":7},[3371,3379],{"type":13,"tag":227,"props":3372,"children":3373},{"class":229,"line":230},[3374],{"type":13,"tag":227,"props":3375,"children":3376},{},[3377],{"type":23,"value":3378},"- import '@rei/cdr-tokens/dist/rei-dot-com/css/cdr-tokens.css';\n",{"type":13,"tag":227,"props":3380,"children":3381},{"class":229,"line":292},[3382],{"type":13,"tag":227,"props":3383,"children":3384},{},[3385],{"type":23,"value":3386},"+ import '@rei/cdr-tokens/css';\n",{"type":13,"tag":29,"props":3388,"children":3389},{},[3390,3392,3397,3399,3404],{"type":23,"value":3391},"Use full foundation names for CSS shortcuts, such as ",{"type":13,"tag":74,"props":3393,"children":3395},{"className":3394},[],[3396],{"type":23,"value":1158},{"type":23,"value":3398},". A path like ",{"type":13,"tag":74,"props":3400,"children":3402},{"className":3401},[],[3403],{"type":23,"value":1971},{"type":23,"value":3405}," is not a published file.",{"type":13,"tag":29,"props":3407,"children":3408},{},[3409,3410,3415,3417,3422,3424,3429,3430,3435,3436,3441],{"type":23,"value":1382},{"type":13,"tag":74,"props":3411,"children":3413},{"className":3412},[],[3414],{"type":23,"value":1190},{"type":23,"value":3416}," for the full SCSS bundle. The short ",{"type":13,"tag":74,"props":3418,"children":3420},{"className":3419},[],[3421],{"type":23,"value":2084},{"type":23,"value":3423}," path is only for utility mixins, such as ",{"type":13,"tag":74,"props":3425,"children":3427},{"className":3426},[],[3428],{"type":23,"value":2092},{"type":23,"value":135},{"type":13,"tag":74,"props":3431,"children":3433},{"className":3432},[],[3434],{"type":23,"value":2099},{"type":23,"value":142},{"type":13,"tag":74,"props":3437,"children":3439},{"className":3438},[],[3440],{"type":23,"value":2106},{"type":23,"value":388},{"type":13,"tag":29,"props":3443,"children":3444},{},[3445],{"type":23,"value":3446},"Replace LESS imports with CSS, SCSS, JavaScript, TypeScript, or JSON token outputs.",{"type":13,"tag":199,"props":3448,"children":3450},{"id":3449},"_7-update-token-type-imports",[3451],{"type":23,"value":3452},"7. Update token type imports",{"type":13,"tag":217,"props":3454,"children":3456},{"className":219,"code":3455,"language":221,"meta":7,"style":7},"import type { CdrSpaceKey } from '@rei/cdr-tokens/types/space.keys';\nimport { CdrBreakpointOrder } from '@rei/cdr-tokens/types';\n",[3457],{"type":13,"tag":74,"props":3458,"children":3459},{"__ignoreMap":7},[3460,3503],{"type":13,"tag":227,"props":3461,"children":3462},{"class":229,"line":230},[3463,3467,3471,3475,3479,3483,3487,3491,3495,3499],{"type":13,"tag":227,"props":3464,"children":3465},{"style":234},[3466],{"type":23,"value":237},{"type":13,"tag":227,"props":3468,"children":3469},{"style":234},[3470],{"type":23,"value":550},{"type":13,"tag":227,"props":3472,"children":3473},{"style":240},[3474],{"type":23,"value":243},{"type":13,"tag":227,"props":3476,"children":3477},{"style":246},[3478],{"type":23,"value":1590},{"type":13,"tag":227,"props":3480,"children":3481},{"style":240},[3482],{"type":23,"value":264},{"type":13,"tag":227,"props":3484,"children":3485},{"style":234},[3486],{"type":23,"value":269},{"type":13,"tag":227,"props":3488,"children":3489},{"style":240},[3490],{"type":23,"value":274},{"type":13,"tag":227,"props":3492,"children":3493},{"style":277},[3494],{"type":23,"value":1324},{"type":13,"tag":227,"props":3496,"children":3497},{"style":240},[3498],{"type":23,"value":284},{"type":13,"tag":227,"props":3500,"children":3501},{"style":240},[3502],{"type":23,"value":289},{"type":13,"tag":227,"props":3504,"children":3505},{"class":229,"line":292},[3506,3510,3514,3518,3522,3526,3530,3534,3538],{"type":13,"tag":227,"props":3507,"children":3508},{"style":234},[3509],{"type":23,"value":237},{"type":13,"tag":227,"props":3511,"children":3512},{"style":240},[3513],{"type":23,"value":243},{"type":13,"tag":227,"props":3515,"children":3516},{"style":246},[3517],{"type":23,"value":1803},{"type":13,"tag":227,"props":3519,"children":3520},{"style":240},[3521],{"type":23,"value":264},{"type":13,"tag":227,"props":3523,"children":3524},{"style":234},[3525],{"type":23,"value":269},{"type":13,"tag":227,"props":3527,"children":3528},{"style":240},[3529],{"type":23,"value":274},{"type":13,"tag":227,"props":3531,"children":3532},{"style":277},[3533],{"type":23,"value":1283},{"type":13,"tag":227,"props":3535,"children":3536},{"style":240},[3537],{"type":23,"value":284},{"type":13,"tag":227,"props":3539,"children":3540},{"style":240},[3541],{"type":23,"value":289},{"type":13,"tag":199,"props":3543,"children":3545},{"id":3544},"_8-copy-token-json-recursively",[3546],{"type":23,"value":3547},"8. Copy token JSON recursively",{"type":13,"tag":29,"props":3549,"children":3550},{},[3551,3553,3558,3559,3564,3566,3571,3572,3577,3579,3584],{"type":23,"value":3552},"If your build consumes token JSON artifacts, copy the full JSON tree so the new ",{"type":13,"tag":74,"props":3554,"children":3556},{"className":3555},[],[3557],{"type":23,"value":1435},{"type":23,"value":862},{"type":13,"tag":74,"props":3560,"children":3562},{"className":3561},[],[3563],{"type":23,"value":2059},{"type":23,"value":3565}," directories are included. Use the exported JSON paths, such as ",{"type":13,"tag":74,"props":3567,"children":3569},{"className":3568},[],[3570],{"type":23,"value":1341},{"type":23,"value":1209},{"type":13,"tag":74,"props":3573,"children":3575},{"className":3574},[],[3576],{"type":23,"value":1348},{"type":23,"value":3578},", instead of direct ",{"type":13,"tag":74,"props":3580,"children":3582},{"className":3581},[],[3583],{"type":23,"value":1958},{"type":23,"value":3585}," paths.",{"type":13,"tag":199,"props":3587,"children":3589},{"id":3588},"_9-remove-modal-ssr-workarounds",[3590],{"type":23,"value":3591},"9. Remove modal SSR workarounds",{"type":13,"tag":29,"props":3593,"children":3594},{},[3595,3597,3602,3604,3610],{"type":23,"value":3596},"If you wrapped ",{"type":13,"tag":74,"props":3598,"children":3600},{"className":3599},[],[3601],{"type":23,"value":705},{"type":23,"value":3603}," in ",{"type":13,"tag":74,"props":3605,"children":3607},{"className":3606},[],[3608],{"type":23,"value":3609},"ClientOnly",{"type":23,"value":3611}," only to avoid hydration mismatches, test removing that wrapper.",{"type":13,"tag":217,"props":3613,"children":3615},{"className":2237,"code":3614,"language":2239,"meta":7,"style":7},"- \u003CClientOnly>\n-   \u003CCdrModal :opened=\"opened\" label=\"Example\">\n-     ...\n-   \u003C/CdrModal>\n- \u003C/ClientOnly>\n+ \u003CCdrModal :opened=\"opened\" label=\"Example\">\n+   ...\n+ \u003C/CdrModal>\n",[3616],{"type":13,"tag":74,"props":3617,"children":3618},{"__ignoreMap":7},[3619,3627,3635,3643,3651,3659,3668,3677],{"type":13,"tag":227,"props":3620,"children":3621},{"class":229,"line":230},[3622],{"type":13,"tag":227,"props":3623,"children":3624},{},[3625],{"type":23,"value":3626},"- \u003CClientOnly>\n",{"type":13,"tag":227,"props":3628,"children":3629},{"class":229,"line":292},[3630],{"type":13,"tag":227,"props":3631,"children":3632},{},[3633],{"type":23,"value":3634},"-   \u003CCdrModal :opened=\"opened\" label=\"Example\">\n",{"type":13,"tag":227,"props":3636,"children":3637},{"class":229,"line":302},[3638],{"type":13,"tag":227,"props":3639,"children":3640},{},[3641],{"type":23,"value":3642},"-     ...\n",{"type":13,"tag":227,"props":3644,"children":3645},{"class":229,"line":337},[3646],{"type":13,"tag":227,"props":3647,"children":3648},{},[3649],{"type":23,"value":3650},"-   \u003C/CdrModal>\n",{"type":13,"tag":227,"props":3652,"children":3653},{"class":229,"line":1892},[3654],{"type":13,"tag":227,"props":3655,"children":3656},{},[3657],{"type":23,"value":3658},"- \u003C/ClientOnly>\n",{"type":13,"tag":227,"props":3660,"children":3662},{"class":229,"line":3661},6,[3663],{"type":13,"tag":227,"props":3664,"children":3665},{},[3666],{"type":23,"value":3667},"+ \u003CCdrModal :opened=\"opened\" label=\"Example\">\n",{"type":13,"tag":227,"props":3669,"children":3671},{"class":229,"line":3670},7,[3672],{"type":13,"tag":227,"props":3673,"children":3674},{},[3675],{"type":23,"value":3676},"+   ...\n",{"type":13,"tag":227,"props":3678,"children":3680},{"class":229,"line":3679},8,[3681],{"type":13,"tag":227,"props":3682,"children":3683},{},[3684],{"type":23,"value":3685},"+ \u003C/CdrModal>\n",{"type":13,"tag":199,"props":3687,"children":3689},{"id":3688},"_10-optionally-adopt-modular-component-imports",[3690],{"type":23,"value":3691},"10. Optionally adopt modular component imports",{"type":13,"tag":29,"props":3693,"children":3694},{},[3695],{"type":23,"value":3696},"The barrel import still works. Modular component imports are opt-in and are useful when you want the consuming page to import only the components it uses.",{"type":13,"tag":217,"props":3698,"children":3700},{"className":2237,"code":3699,"language":2239,"meta":7,"style":7},"- import { CdrButton, CdrAccordion } from '@rei/cedar';\n+ import CdrButton from '@rei/cedar/CdrButton';\n+ import CdrAccordion from '@rei/cedar/CdrAccordion';\n",[3701],{"type":13,"tag":74,"props":3702,"children":3703},{"__ignoreMap":7},[3704,3712,3719],{"type":13,"tag":227,"props":3705,"children":3706},{"class":229,"line":230},[3707],{"type":13,"tag":227,"props":3708,"children":3709},{},[3710],{"type":23,"value":3711},"- import { CdrButton, CdrAccordion } from '@rei/cedar';\n",{"type":13,"tag":227,"props":3713,"children":3714},{"class":229,"line":292},[3715],{"type":13,"tag":227,"props":3716,"children":3717},{},[3718],{"type":23,"value":2584},{"type":13,"tag":227,"props":3720,"children":3721},{"class":229,"line":302},[3722],{"type":13,"tag":227,"props":3723,"children":3724},{},[3725],{"type":23,"value":3726},"+ import CdrAccordion from '@rei/cedar/CdrAccordion';\n",{"type":13,"tag":199,"props":3728,"children":3730},{"id":3729},"_11-validate-the-upgrade",[3731],{"type":23,"value":3732},"11. Validate the upgrade",{"type":13,"tag":29,"props":3734,"children":3735},{},[3736,3738,3743,3745,3750,3752,3757],{"type":23,"value":3737},"Run your application build and typecheck, then review the areas most likely to show migration issues: SSR or Nuxt pages with ",{"type":13,"tag":74,"props":3739,"children":3741},{"className":3740},[],[3742],{"type":23,"value":705},{"type":23,"value":3744},", pages using text preset ",{"type":13,"tag":74,"props":3746,"children":3748},{"className":3747},[],[3749],{"type":23,"value":882},{"type":23,"value":3751}," props, stylesheets that import Cedar or token CSS, and build scripts that copy token JSON artifacts. If your bundler does not support package ",{"type":13,"tag":74,"props":3753,"children":3755},{"className":3754},[],[3756],{"type":23,"value":801},{"type":23,"value":3758},", update its resolver before consuming Cedar 17 and Tokens 14.",{"type":13,"tag":35,"props":3760,"children":3762},{"heading":3761},"Deprecation notes",[],{"type":13,"tag":199,"props":3764,"children":3766},{"id":3765},"docsite-only-sass-variables",[3767],{"type":23,"value":3768},"Docsite-only Sass variables",{"type":13,"tag":29,"props":3770,"children":3771},{},[3772],{"type":23,"value":3773},"Several docsite-only Sass variable names are no longer present in the v14 SCSS partials. Avoid adding new dependencies on these names. If a docs or marketing site still needs the exact legacy values, define project-owned CSS custom properties.",{"type":13,"tag":40,"props":3775,"children":3776},{},[3777,3793],{"type":13,"tag":44,"props":3778,"children":3779},{},[3780],{"type":13,"tag":48,"props":3781,"children":3782},{},[3783,3788],{"type":13,"tag":52,"props":3784,"children":3785},{},[3786],{"type":23,"value":3787},"Removed Sass variable",{"type":13,"tag":52,"props":3789,"children":3790},{},[3791],{"type":23,"value":3792},"Legacy value",{"type":13,"tag":63,"props":3794,"children":3795},{},[3796,3817,3838,3858,3878,3899,3920],{"type":13,"tag":48,"props":3797,"children":3798},{},[3799,3808],{"type":13,"tag":70,"props":3800,"children":3801},{},[3802],{"type":13,"tag":74,"props":3803,"children":3805},{"className":3804},[],[3806],{"type":23,"value":3807},"$cdr-knockout-color-background-primary",{"type":13,"tag":70,"props":3809,"children":3810},{},[3811],{"type":13,"tag":74,"props":3812,"children":3814},{"className":3813},[],[3815],{"type":23,"value":3816},"#2e2e2b",{"type":13,"tag":48,"props":3818,"children":3819},{},[3820,3829],{"type":13,"tag":70,"props":3821,"children":3822},{},[3823],{"type":13,"tag":74,"props":3824,"children":3826},{"className":3825},[],[3827],{"type":23,"value":3828},"$cdr-knockout-color-border-inverse-primary",{"type":13,"tag":70,"props":3830,"children":3831},{},[3832],{"type":13,"tag":74,"props":3833,"children":3835},{"className":3834},[],[3836],{"type":23,"value":3837},"#4b4a48",{"type":13,"tag":48,"props":3839,"children":3840},{},[3841,3850],{"type":13,"tag":70,"props":3842,"children":3843},{},[3844],{"type":13,"tag":74,"props":3845,"children":3847},{"className":3846},[],[3848],{"type":23,"value":3849},"$cdr-knockout-color-border-table-row",{"type":13,"tag":70,"props":3851,"children":3852},{},[3853],{"type":13,"tag":74,"props":3854,"children":3856},{"className":3855},[],[3857],{"type":23,"value":3837},{"type":13,"tag":48,"props":3859,"children":3860},{},[3861,3870],{"type":13,"tag":70,"props":3862,"children":3863},{},[3864],{"type":13,"tag":74,"props":3865,"children":3867},{"className":3866},[],[3868],{"type":23,"value":3869},"$cdr-color-background-code",{"type":13,"tag":70,"props":3871,"children":3872},{},[3873],{"type":13,"tag":74,"props":3874,"children":3876},{"className":3875},[],[3877],{"type":23,"value":3816},{"type":13,"tag":48,"props":3879,"children":3880},{},[3881,3890],{"type":13,"tag":70,"props":3882,"children":3883},{},[3884],{"type":13,"tag":74,"props":3885,"children":3887},{"className":3886},[],[3888],{"type":23,"value":3889},"$cdr-color-background-code-snippet",{"type":13,"tag":70,"props":3891,"children":3892},{},[3893],{"type":13,"tag":74,"props":3894,"children":3896},{"className":3895},[],[3897],{"type":23,"value":3898},"#edeae3",{"type":13,"tag":48,"props":3900,"children":3901},{},[3902,3911],{"type":13,"tag":70,"props":3903,"children":3904},{},[3905],{"type":13,"tag":74,"props":3906,"children":3908},{"className":3907},[],[3909],{"type":23,"value":3910},"$cdr-color-border-note",{"type":13,"tag":70,"props":3912,"children":3913},{},[3914],{"type":13,"tag":74,"props":3915,"children":3917},{"className":3916},[],[3918],{"type":23,"value":3919},"#c4b03b",{"type":13,"tag":48,"props":3921,"children":3922},{},[3923,3932],{"type":13,"tag":70,"props":3924,"children":3925},{},[3926],{"type":13,"tag":74,"props":3927,"children":3929},{"className":3928},[],[3930],{"type":23,"value":3931},"$cdr-color-icon-background-note",{"type":13,"tag":70,"props":3933,"children":3934},{},[3935],{"type":13,"tag":74,"props":3936,"children":3938},{"className":3937},[],[3939],{"type":23,"value":3919},{"type":13,"tag":3941,"props":3942,"children":3943},"style",{},[3944],{"type":23,"value":3945},"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);}",{"title":7,"searchDepth":292,"depth":292,"links":3947},[3948,3949,3950,3951,3952,3953,3954,3955,3956,3957,3959,3961,3962,3963,3964,3965,3966,3967,3968,3970,3972,3973,3974,3975,3977,3978,3979,3980,3981,3982,3983,3984,3985,3986,3987,3988],{"id":201,"depth":302,"text":204},{"id":517,"depth":302,"text":520},{"id":693,"depth":302,"text":696},{"id":710,"depth":302,"text":713},{"id":737,"depth":302,"text":740},{"id":768,"depth":302,"text":771},{"id":787,"depth":302,"text":790},{"id":828,"depth":302,"text":831},{"id":846,"depth":302,"text":849},{"id":873,"depth":302,"text":3958},"Text preset scale props use token-style values",{"id":953,"depth":302,"text":3960},"ScaleValue type removed",{"id":1034,"depth":302,"text":1037},{"id":1099,"depth":302,"text":1102},{"id":1421,"depth":302,"text":1424},{"id":1617,"depth":302,"text":1620},{"id":1759,"depth":302,"text":1762},{"id":1908,"depth":302,"text":1911},{"id":1934,"depth":302,"text":1937},{"id":1949,"depth":302,"text":3969},"Direct token dist/ imports are no longer public",{"id":2004,"depth":302,"text":3971},"Runtime constants moved behind tokens",{"id":2045,"depth":302,"text":2048},{"id":2070,"depth":302,"text":2073},{"id":2115,"depth":302,"text":705},{"id":2133,"depth":302,"text":3976},"CdrModal SSR hydration",{"id":2169,"depth":302,"text":2172},{"id":2231,"depth":302,"text":2234},{"id":2442,"depth":302,"text":2445},{"id":2638,"depth":302,"text":2641},{"id":2738,"depth":302,"text":2741},{"id":3193,"depth":302,"text":3196},{"id":3449,"depth":302,"text":3452},{"id":3544,"depth":302,"text":3547},{"id":3588,"depth":302,"text":3591},{"id":3688,"depth":302,"text":3691},{"id":3729,"depth":302,"text":3732},{"id":3765,"depth":302,"text":3768},"markdown","content:whats-new:releases:cedar-17.md","content","whats-new/releases/cedar-17.md","whats-new/releases/cedar-17","md",1781196964097]