@canopy-iiif/app 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/build/mdx.js +19 -2
- package/package.json +1 -1
- package/ui/dist/server.mjs +2 -2
- package/ui/dist/server.mjs.map +1 -1
- package/ui/styles/base/_markdown.scss +6 -0
- package/ui/styles/index.css +6 -0
package/ui/dist/server.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../node_modules/slugify/slugify.js", "../src/HelloWorld.jsx", "../src/iiif/Viewer.jsx", "../src/iiif/Slider.jsx", "../src/iiif/sliderOptions.js", "../src/iiif/Scroll.jsx", "../src/iiif/Image.jsx", "../src/iiif/MdxRelatedItems.jsx", "../src/interstitials/index.js", "../src/interstitials/Hero.jsx", "../src/interstitials/hero-utils.js", "../src/layout/Button.jsx", "../src/layout/ButtonWrapper.jsx", "../src/layout/SubNavigation.jsx", "../src/layout/Layout.jsx", "../src/layout/ContentNavigation.jsx", "../src/layout/CanopyHeader.jsx", "../src/search/SearchPanel.jsx", "../src/Icons.jsx", "../src/search/SearchPanelForm.jsx", "../src/search/SearchPanelTeaserResults.jsx", "../src/layout/CanopyBrand.jsx", "../src/layout/CanopyModal.jsx", "../src/layout/CanopyFooter.jsx", "../src/layout/TeaserCard.jsx", "../src/layout/GoogleAnalytics.jsx", "../src/layout/Container.jsx", "../src/layout/Card.jsx", "../src/content/ReferencedItems.jsx", "../src/content/References.jsx", "../src/content/timeline/MdxTimeline.jsx", "../src/content/timeline/Timeline.jsx", "../src/content/timeline/date-utils.js", "../src/content/timeline/TimelinePoint.jsx", "../src/search/MdxSearchResults.jsx", "../src/search/SearchSummary.jsx", "../src/search/MdxSearchTabs.jsx", "../src/search/MdxSearch.jsx", "../src/search-form/MdxSearchFormModal.jsx", "../src/iiif/ManifestPrimitives.jsx", "../src/docs/CodeBlock.jsx", "../src/docs/MarkdownTable.jsx", "../src/docs/Diagram.jsx", "../src/docs/ThemeShowcase.jsx", "../../../../node_modules/@radix-ui/colors/index.mjs"],
|
|
4
|
-
"sourcesContent": ["\n;(function (name, root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory()\n module.exports['default'] = factory()\n }\n /* istanbul ignore next */\n else if (typeof define === 'function' && define.amd) {\n define(factory)\n }\n else {\n root[name] = factory()\n }\n}('slugify', this, function () {\n var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"\u00A2\":\"cent\",\"\u00A3\":\"pound\",\"\u00A4\":\"currency\",\"\u00A5\":\"yen\",\"\u00A9\":\"(c)\",\"\u00AA\":\"a\",\"\u00AE\":\"(r)\",\"\u00BA\":\"o\",\"\u00C0\":\"A\",\"\u00C1\":\"A\",\"\u00C2\":\"A\",\"\u00C3\":\"A\",\"\u00C4\":\"A\",\"\u00C5\":\"A\",\"\u00C6\":\"AE\",\"\u00C7\":\"C\",\"\u00C8\":\"E\",\"\u00C9\":\"E\",\"\u00CA\":\"E\",\"\u00CB\":\"E\",\"\u00CC\":\"I\",\"\u00CD\":\"I\",\"\u00CE\":\"I\",\"\u00CF\":\"I\",\"\u00D0\":\"D\",\"\u00D1\":\"N\",\"\u00D2\":\"O\",\"\u00D3\":\"O\",\"\u00D4\":\"O\",\"\u00D5\":\"O\",\"\u00D6\":\"O\",\"\u00D8\":\"O\",\"\u00D9\":\"U\",\"\u00DA\":\"U\",\"\u00DB\":\"U\",\"\u00DC\":\"U\",\"\u00DD\":\"Y\",\"\u00DE\":\"TH\",\"\u00DF\":\"ss\",\"\u00E0\":\"a\",\"\u00E1\":\"a\",\"\u00E2\":\"a\",\"\u00E3\":\"a\",\"\u00E4\":\"a\",\"\u00E5\":\"a\",\"\u00E6\":\"ae\",\"\u00E7\":\"c\",\"\u00E8\":\"e\",\"\u00E9\":\"e\",\"\u00EA\":\"e\",\"\u00EB\":\"e\",\"\u00EC\":\"i\",\"\u00ED\":\"i\",\"\u00EE\":\"i\",\"\u00EF\":\"i\",\"\u00F0\":\"d\",\"\u00F1\":\"n\",\"\u00F2\":\"o\",\"\u00F3\":\"o\",\"\u00F4\":\"o\",\"\u00F5\":\"o\",\"\u00F6\":\"o\",\"\u00F8\":\"o\",\"\u00F9\":\"u\",\"\u00FA\":\"u\",\"\u00FB\":\"u\",\"\u00FC\":\"u\",\"\u00FD\":\"y\",\"\u00FE\":\"th\",\"\u00FF\":\"y\",\"\u0100\":\"A\",\"\u0101\":\"a\",\"\u0102\":\"A\",\"\u0103\":\"a\",\"\u0104\":\"A\",\"\u0105\":\"a\",\"\u0106\":\"C\",\"\u0107\":\"c\",\"\u010C\":\"C\",\"\u010D\":\"c\",\"\u010E\":\"D\",\"\u010F\":\"d\",\"\u0110\":\"DJ\",\"\u0111\":\"dj\",\"\u0112\":\"E\",\"\u0113\":\"e\",\"\u0116\":\"E\",\"\u0117\":\"e\",\"\u0118\":\"e\",\"\u0119\":\"e\",\"\u011A\":\"E\",\"\u011B\":\"e\",\"\u011E\":\"G\",\"\u011F\":\"g\",\"\u0122\":\"G\",\"\u0123\":\"g\",\"\u0128\":\"I\",\"\u0129\":\"i\",\"\u012A\":\"i\",\"\u012B\":\"i\",\"\u012E\":\"I\",\"\u012F\":\"i\",\"\u0130\":\"I\",\"\u0131\":\"i\",\"\u0136\":\"k\",\"\u0137\":\"k\",\"\u013B\":\"L\",\"\u013C\":\"l\",\"\u013D\":\"L\",\"\u013E\":\"l\",\"\u0141\":\"L\",\"\u0142\":\"l\",\"\u0143\":\"N\",\"\u0144\":\"n\",\"\u0145\":\"N\",\"\u0146\":\"n\",\"\u0147\":\"N\",\"\u0148\":\"n\",\"\u014C\":\"O\",\"\u014D\":\"o\",\"\u0150\":\"O\",\"\u0151\":\"o\",\"\u0152\":\"OE\",\"\u0153\":\"oe\",\"\u0154\":\"R\",\"\u0155\":\"r\",\"\u0158\":\"R\",\"\u0159\":\"r\",\"\u015A\":\"S\",\"\u015B\":\"s\",\"\u015E\":\"S\",\"\u015F\":\"s\",\"\u0160\":\"S\",\"\u0161\":\"s\",\"\u0162\":\"T\",\"\u0163\":\"t\",\"\u0164\":\"T\",\"\u0165\":\"t\",\"\u0168\":\"U\",\"\u0169\":\"u\",\"\u016A\":\"u\",\"\u016B\":\"u\",\"\u016E\":\"U\",\"\u016F\":\"u\",\"\u0170\":\"U\",\"\u0171\":\"u\",\"\u0172\":\"U\",\"\u0173\":\"u\",\"\u0174\":\"W\",\"\u0175\":\"w\",\"\u0176\":\"Y\",\"\u0177\":\"y\",\"\u0178\":\"Y\",\"\u0179\":\"Z\",\"\u017A\":\"z\",\"\u017B\":\"Z\",\"\u017C\":\"z\",\"\u017D\":\"Z\",\"\u017E\":\"z\",\"\u018F\":\"E\",\"\u0192\":\"f\",\"\u01A0\":\"O\",\"\u01A1\":\"o\",\"\u01AF\":\"U\",\"\u01B0\":\"u\",\"\u01C8\":\"LJ\",\"\u01C9\":\"lj\",\"\u01CB\":\"NJ\",\"\u01CC\":\"nj\",\"\u0218\":\"S\",\"\u0219\":\"s\",\"\u021A\":\"T\",\"\u021B\":\"t\",\"\u0259\":\"e\",\"\u02DA\":\"o\",\"\u0386\":\"A\",\"\u0388\":\"E\",\"\u0389\":\"H\",\"\u038A\":\"I\",\"\u038C\":\"O\",\"\u038E\":\"Y\",\"\u038F\":\"W\",\"\u0390\":\"i\",\"\u0391\":\"A\",\"\u0392\":\"B\",\"\u0393\":\"G\",\"\u0394\":\"D\",\"\u0395\":\"E\",\"\u0396\":\"Z\",\"\u0397\":\"H\",\"\u0398\":\"8\",\"\u0399\":\"I\",\"\u039A\":\"K\",\"\u039B\":\"L\",\"\u039C\":\"M\",\"\u039D\":\"N\",\"\u039E\":\"3\",\"\u039F\":\"O\",\"\u03A0\":\"P\",\"\u03A1\":\"R\",\"\u03A3\":\"S\",\"\u03A4\":\"T\",\"\u03A5\":\"Y\",\"\u03A6\":\"F\",\"\u03A7\":\"X\",\"\u03A8\":\"PS\",\"\u03A9\":\"W\",\"\u03AA\":\"I\",\"\u03AB\":\"Y\",\"\u03AC\":\"a\",\"\u03AD\":\"e\",\"\u03AE\":\"h\",\"\u03AF\":\"i\",\"\u03B0\":\"y\",\"\u03B1\":\"a\",\"\u03B2\":\"b\",\"\u03B3\":\"g\",\"\u03B4\":\"d\",\"\u03B5\":\"e\",\"\u03B6\":\"z\",\"\u03B7\":\"h\",\"\u03B8\":\"8\",\"\u03B9\":\"i\",\"\u03BA\":\"k\",\"\u03BB\":\"l\",\"\u03BC\":\"m\",\"\u03BD\":\"n\",\"\u03BE\":\"3\",\"\u03BF\":\"o\",\"\u03C0\":\"p\",\"\u03C1\":\"r\",\"\u03C2\":\"s\",\"\u03C3\":\"s\",\"\u03C4\":\"t\",\"\u03C5\":\"y\",\"\u03C6\":\"f\",\"\u03C7\":\"x\",\"\u03C8\":\"ps\",\"\u03C9\":\"w\",\"\u03CA\":\"i\",\"\u03CB\":\"y\",\"\u03CC\":\"o\",\"\u03CD\":\"y\",\"\u03CE\":\"w\",\"\u0401\":\"Yo\",\"\u0402\":\"DJ\",\"\u0404\":\"Ye\",\"\u0406\":\"I\",\"\u0407\":\"Yi\",\"\u0408\":\"J\",\"\u0409\":\"LJ\",\"\u040A\":\"NJ\",\"\u040B\":\"C\",\"\u040F\":\"DZ\",\"\u0410\":\"A\",\"\u0411\":\"B\",\"\u0412\":\"V\",\"\u0413\":\"G\",\"\u0414\":\"D\",\"\u0415\":\"E\",\"\u0416\":\"Zh\",\"\u0417\":\"Z\",\"\u0418\":\"I\",\"\u0419\":\"J\",\"\u041A\":\"K\",\"\u041B\":\"L\",\"\u041C\":\"M\",\"\u041D\":\"N\",\"\u041E\":\"O\",\"\u041F\":\"P\",\"\u0420\":\"R\",\"\u0421\":\"S\",\"\u0422\":\"T\",\"\u0423\":\"U\",\"\u0424\":\"F\",\"\u0425\":\"H\",\"\u0426\":\"C\",\"\u0427\":\"Ch\",\"\u0428\":\"Sh\",\"\u0429\":\"Sh\",\"\u042A\":\"U\",\"\u042B\":\"Y\",\"\u042C\":\"\",\"\u042D\":\"E\",\"\u042E\":\"Yu\",\"\u042F\":\"Ya\",\"\u0430\":\"a\",\"\u0431\":\"b\",\"\u0432\":\"v\",\"\u0433\":\"g\",\"\u0434\":\"d\",\"\u0435\":\"e\",\"\u0436\":\"zh\",\"\u0437\":\"z\",\"\u0438\":\"i\",\"\u0439\":\"j\",\"\u043A\":\"k\",\"\u043B\":\"l\",\"\u043C\":\"m\",\"\u043D\":\"n\",\"\u043E\":\"o\",\"\u043F\":\"p\",\"\u0440\":\"r\",\"\u0441\":\"s\",\"\u0442\":\"t\",\"\u0443\":\"u\",\"\u0444\":\"f\",\"\u0445\":\"h\",\"\u0446\":\"c\",\"\u0447\":\"ch\",\"\u0448\":\"sh\",\"\u0449\":\"sh\",\"\u044A\":\"u\",\"\u044B\":\"y\",\"\u044C\":\"\",\"\u044D\":\"e\",\"\u044E\":\"yu\",\"\u044F\":\"ya\",\"\u0451\":\"yo\",\"\u0452\":\"dj\",\"\u0454\":\"ye\",\"\u0456\":\"i\",\"\u0457\":\"yi\",\"\u0458\":\"j\",\"\u0459\":\"lj\",\"\u045A\":\"nj\",\"\u045B\":\"c\",\"\u045D\":\"u\",\"\u045F\":\"dz\",\"\u0490\":\"G\",\"\u0491\":\"g\",\"\u0492\":\"GH\",\"\u0493\":\"gh\",\"\u049A\":\"KH\",\"\u049B\":\"kh\",\"\u04A2\":\"NG\",\"\u04A3\":\"ng\",\"\u04AE\":\"UE\",\"\u04AF\":\"ue\",\"\u04B0\":\"U\",\"\u04B1\":\"u\",\"\u04BA\":\"H\",\"\u04BB\":\"h\",\"\u04D8\":\"AE\",\"\u04D9\":\"ae\",\"\u04E8\":\"OE\",\"\u04E9\":\"oe\",\"\u0531\":\"A\",\"\u0532\":\"B\",\"\u0533\":\"G\",\"\u0534\":\"D\",\"\u0535\":\"E\",\"\u0536\":\"Z\",\"\u0537\":\"E\\'\",\"\u0538\":\"Y\\'\",\"\u0539\":\"T\\'\",\"\u053A\":\"JH\",\"\u053B\":\"I\",\"\u053C\":\"L\",\"\u053D\":\"X\",\"\u053E\":\"C\\'\",\"\u053F\":\"K\",\"\u0540\":\"H\",\"\u0541\":\"D\\'\",\"\u0542\":\"GH\",\"\u0543\":\"TW\",\"\u0544\":\"M\",\"\u0545\":\"Y\",\"\u0546\":\"N\",\"\u0547\":\"SH\",\"\u0549\":\"CH\",\"\u054A\":\"P\",\"\u054B\":\"J\",\"\u054C\":\"R\\'\",\"\u054D\":\"S\",\"\u054E\":\"V\",\"\u054F\":\"T\",\"\u0550\":\"R\",\"\u0551\":\"C\",\"\u0553\":\"P\\'\",\"\u0554\":\"Q\\'\",\"\u0555\":\"O\\'\\'\",\"\u0556\":\"F\",\"\u0587\":\"EV\",\"\u0621\":\"a\",\"\u0622\":\"aa\",\"\u0623\":\"a\",\"\u0624\":\"u\",\"\u0625\":\"i\",\"\u0626\":\"e\",\"\u0627\":\"a\",\"\u0628\":\"b\",\"\u0629\":\"h\",\"\u062A\":\"t\",\"\u062B\":\"th\",\"\u062C\":\"j\",\"\u062D\":\"h\",\"\u062E\":\"kh\",\"\u062F\":\"d\",\"\u0630\":\"th\",\"\u0631\":\"r\",\"\u0632\":\"z\",\"\u0633\":\"s\",\"\u0634\":\"sh\",\"\u0635\":\"s\",\"\u0636\":\"dh\",\"\u0637\":\"t\",\"\u0638\":\"z\",\"\u0639\":\"a\",\"\u063A\":\"gh\",\"\u0641\":\"f\",\"\u0642\":\"q\",\"\u0643\":\"k\",\"\u0644\":\"l\",\"\u0645\":\"m\",\"\u0646\":\"n\",\"\u0647\":\"h\",\"\u0648\":\"w\",\"\u0649\":\"a\",\"\u064A\":\"y\",\"\u064B\":\"an\",\"\u064C\":\"on\",\"\u064D\":\"en\",\"\u064E\":\"a\",\"\u064F\":\"u\",\"\u0650\":\"e\",\"\u0652\":\"\",\"\u0660\":\"0\",\"\u0661\":\"1\",\"\u0662\":\"2\",\"\u0663\":\"3\",\"\u0664\":\"4\",\"\u0665\":\"5\",\"\u0666\":\"6\",\"\u0667\":\"7\",\"\u0668\":\"8\",\"\u0669\":\"9\",\"\u067E\":\"p\",\"\u0686\":\"ch\",\"\u0698\":\"zh\",\"\u06A9\":\"k\",\"\u06AF\":\"g\",\"\u06CC\":\"y\",\"\u06F0\":\"0\",\"\u06F1\":\"1\",\"\u06F2\":\"2\",\"\u06F3\":\"3\",\"\u06F4\":\"4\",\"\u06F5\":\"5\",\"\u06F6\":\"6\",\"\u06F7\":\"7\",\"\u06F8\":\"8\",\"\u06F9\":\"9\",\"\u0E3F\":\"baht\",\"\u10D0\":\"a\",\"\u10D1\":\"b\",\"\u10D2\":\"g\",\"\u10D3\":\"d\",\"\u10D4\":\"e\",\"\u10D5\":\"v\",\"\u10D6\":\"z\",\"\u10D7\":\"t\",\"\u10D8\":\"i\",\"\u10D9\":\"k\",\"\u10DA\":\"l\",\"\u10DB\":\"m\",\"\u10DC\":\"n\",\"\u10DD\":\"o\",\"\u10DE\":\"p\",\"\u10DF\":\"zh\",\"\u10E0\":\"r\",\"\u10E1\":\"s\",\"\u10E2\":\"t\",\"\u10E3\":\"u\",\"\u10E4\":\"f\",\"\u10E5\":\"k\",\"\u10E6\":\"gh\",\"\u10E7\":\"q\",\"\u10E8\":\"sh\",\"\u10E9\":\"ch\",\"\u10EA\":\"ts\",\"\u10EB\":\"dz\",\"\u10EC\":\"ts\",\"\u10ED\":\"ch\",\"\u10EE\":\"kh\",\"\u10EF\":\"j\",\"\u10F0\":\"h\",\"\u1E62\":\"S\",\"\u1E63\":\"s\",\"\u1E80\":\"W\",\"\u1E81\":\"w\",\"\u1E82\":\"W\",\"\u1E83\":\"w\",\"\u1E84\":\"W\",\"\u1E85\":\"w\",\"\u1E9E\":\"SS\",\"\u1EA0\":\"A\",\"\u1EA1\":\"a\",\"\u1EA2\":\"A\",\"\u1EA3\":\"a\",\"\u1EA4\":\"A\",\"\u1EA5\":\"a\",\"\u1EA6\":\"A\",\"\u1EA7\":\"a\",\"\u1EA8\":\"A\",\"\u1EA9\":\"a\",\"\u1EAA\":\"A\",\"\u1EAB\":\"a\",\"\u1EAC\":\"A\",\"\u1EAD\":\"a\",\"\u1EAE\":\"A\",\"\u1EAF\":\"a\",\"\u1EB0\":\"A\",\"\u1EB1\":\"a\",\"\u1EB2\":\"A\",\"\u1EB3\":\"a\",\"\u1EB4\":\"A\",\"\u1EB5\":\"a\",\"\u1EB6\":\"A\",\"\u1EB7\":\"a\",\"\u1EB8\":\"E\",\"\u1EB9\":\"e\",\"\u1EBA\":\"E\",\"\u1EBB\":\"e\",\"\u1EBC\":\"E\",\"\u1EBD\":\"e\",\"\u1EBE\":\"E\",\"\u1EBF\":\"e\",\"\u1EC0\":\"E\",\"\u1EC1\":\"e\",\"\u1EC2\":\"E\",\"\u1EC3\":\"e\",\"\u1EC4\":\"E\",\"\u1EC5\":\"e\",\"\u1EC6\":\"E\",\"\u1EC7\":\"e\",\"\u1EC8\":\"I\",\"\u1EC9\":\"i\",\"\u1ECA\":\"I\",\"\u1ECB\":\"i\",\"\u1ECC\":\"O\",\"\u1ECD\":\"o\",\"\u1ECE\":\"O\",\"\u1ECF\":\"o\",\"\u1ED0\":\"O\",\"\u1ED1\":\"o\",\"\u1ED2\":\"O\",\"\u1ED3\":\"o\",\"\u1ED4\":\"O\",\"\u1ED5\":\"o\",\"\u1ED6\":\"O\",\"\u1ED7\":\"o\",\"\u1ED8\":\"O\",\"\u1ED9\":\"o\",\"\u1EDA\":\"O\",\"\u1EDB\":\"o\",\"\u1EDC\":\"O\",\"\u1EDD\":\"o\",\"\u1EDE\":\"O\",\"\u1EDF\":\"o\",\"\u1EE0\":\"O\",\"\u1EE1\":\"o\",\"\u1EE2\":\"O\",\"\u1EE3\":\"o\",\"\u1EE4\":\"U\",\"\u1EE5\":\"u\",\"\u1EE6\":\"U\",\"\u1EE7\":\"u\",\"\u1EE8\":\"U\",\"\u1EE9\":\"u\",\"\u1EEA\":\"U\",\"\u1EEB\":\"u\",\"\u1EEC\":\"U\",\"\u1EED\":\"u\",\"\u1EEE\":\"U\",\"\u1EEF\":\"u\",\"\u1EF0\":\"U\",\"\u1EF1\":\"u\",\"\u1EF2\":\"Y\",\"\u1EF3\":\"y\",\"\u1EF4\":\"Y\",\"\u1EF5\":\"y\",\"\u1EF6\":\"Y\",\"\u1EF7\":\"y\",\"\u1EF8\":\"Y\",\"\u1EF9\":\"y\",\"\u2013\":\"-\",\"\u2018\":\"\\'\",\"\u2019\":\"\\'\",\"\u201C\":\"\\\\\\\"\",\"\u201D\":\"\\\\\\\"\",\"\u201E\":\"\\\\\\\"\",\"\u2020\":\"+\",\"\u2022\":\"*\",\"\u2026\":\"...\",\"\u20A0\":\"ecu\",\"\u20A2\":\"cruzeiro\",\"\u20A3\":\"french franc\",\"\u20A4\":\"lira\",\"\u20A5\":\"mill\",\"\u20A6\":\"naira\",\"\u20A7\":\"peseta\",\"\u20A8\":\"rupee\",\"\u20A9\":\"won\",\"\u20AA\":\"new shequel\",\"\u20AB\":\"dong\",\"\u20AC\":\"euro\",\"\u20AD\":\"kip\",\"\u20AE\":\"tugrik\",\"\u20AF\":\"drachma\",\"\u20B0\":\"penny\",\"\u20B1\":\"peso\",\"\u20B2\":\"guarani\",\"\u20B3\":\"austral\",\"\u20B4\":\"hryvnia\",\"\u20B5\":\"cedi\",\"\u20B8\":\"kazakhstani tenge\",\"\u20B9\":\"indian rupee\",\"\u20BA\":\"turkish lira\",\"\u20BD\":\"russian ruble\",\"\u20BF\":\"bitcoin\",\"\u2120\":\"sm\",\"\u2122\":\"tm\",\"\u2202\":\"d\",\"\u2206\":\"delta\",\"\u2211\":\"sum\",\"\u221E\":\"infinity\",\"\u2665\":\"love\",\"\u5143\":\"yuan\",\"\u5186\":\"yen\",\"\uFDFC\":\"rial\",\"\uFEF5\":\"laa\",\"\uFEF7\":\"laa\",\"\uFEF9\":\"lai\",\"\uFEFB\":\"la\"}')\n var locales = JSON.parse('{\"bg\":{\"\u0419\":\"Y\",\"\u0426\":\"Ts\",\"\u0429\":\"Sht\",\"\u042A\":\"A\",\"\u042C\":\"Y\",\"\u0439\":\"y\",\"\u0446\":\"ts\",\"\u0449\":\"sht\",\"\u044A\":\"a\",\"\u044C\":\"y\"},\"de\":{\"\u00C4\":\"AE\",\"\u00E4\":\"ae\",\"\u00D6\":\"OE\",\"\u00F6\":\"oe\",\"\u00DC\":\"UE\",\"\u00FC\":\"ue\",\"\u00DF\":\"ss\",\"%\":\"prozent\",\"&\":\"und\",\"|\":\"oder\",\"\u2211\":\"summe\",\"\u221E\":\"unendlich\",\"\u2665\":\"liebe\"},\"es\":{\"%\":\"por ciento\",\"&\":\"y\",\"<\":\"menor que\",\">\":\"mayor que\",\"|\":\"o\",\"\u00A2\":\"centavos\",\"\u00A3\":\"libras\",\"\u00A4\":\"moneda\",\"\u20A3\":\"francos\",\"\u2211\":\"suma\",\"\u221E\":\"infinito\",\"\u2665\":\"amor\"},\"fr\":{\"%\":\"pourcent\",\"&\":\"et\",\"<\":\"plus petit\",\">\":\"plus grand\",\"|\":\"ou\",\"\u00A2\":\"centime\",\"\u00A3\":\"livre\",\"\u00A4\":\"devise\",\"\u20A3\":\"franc\",\"\u2211\":\"somme\",\"\u221E\":\"infini\",\"\u2665\":\"amour\"},\"pt\":{\"%\":\"porcento\",\"&\":\"e\",\"<\":\"menor\",\">\":\"maior\",\"|\":\"ou\",\"\u00A2\":\"centavo\",\"\u2211\":\"soma\",\"\u00A3\":\"libra\",\"\u221E\":\"infinito\",\"\u2665\":\"amor\"},\"uk\":{\"\u0418\":\"Y\",\"\u0438\":\"y\",\"\u0419\":\"Y\",\"\u0439\":\"y\",\"\u0426\":\"Ts\",\"\u0446\":\"ts\",\"\u0425\":\"Kh\",\"\u0445\":\"kh\",\"\u0429\":\"Shch\",\"\u0449\":\"shch\",\"\u0413\":\"H\",\"\u0433\":\"h\"},\"vi\":{\"\u0110\":\"D\",\"\u0111\":\"d\"},\"da\":{\"\u00D8\":\"OE\",\"\u00F8\":\"oe\",\"\u00C5\":\"AA\",\"\u00E5\":\"aa\",\"%\":\"procent\",\"&\":\"og\",\"|\":\"eller\",\"$\":\"dollar\",\"<\":\"mindre end\",\">\":\"st\u00F8rre end\"},\"nb\":{\"&\":\"og\",\"\u00C5\":\"AA\",\"\u00C6\":\"AE\",\"\u00D8\":\"OE\",\"\u00E5\":\"aa\",\"\u00E6\":\"ae\",\"\u00F8\":\"oe\"},\"it\":{\"&\":\"e\"},\"nl\":{\"&\":\"en\"},\"sv\":{\"&\":\"och\",\"\u00C5\":\"AA\",\"\u00C4\":\"AE\",\"\u00D6\":\"OE\",\"\u00E5\":\"aa\",\"\u00E4\":\"ae\",\"\u00F6\":\"oe\"}}')\n\n function replace (string, options) {\n if (typeof string !== 'string') {\n throw new Error('slugify: string argument expected')\n }\n\n options = (typeof options === 'string')\n ? {replacement: options}\n : options || {}\n\n var locale = locales[options.locale] || {}\n\n var replacement = options.replacement === undefined ? '-' : options.replacement\n\n var trim = options.trim === undefined ? true : options.trim\n\n var slug = string.normalize().split('')\n // replace characters based on charMap\n .reduce(function (result, ch) {\n var appendChar = locale[ch];\n if (appendChar === undefined) appendChar = charMap[ch];\n if (appendChar === undefined) appendChar = ch;\n if (appendChar === replacement) appendChar = ' ';\n return result + appendChar\n // remove not allowed characters\n .replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]+/g, '')\n }, '');\n\n if (options.strict) {\n slug = slug.replace(/[^A-Za-z0-9\\s]/g, '');\n }\n\n if (trim) {\n slug = slug.trim()\n }\n\n // Replace spaces with replacement character, treating multiple consecutive\n // spaces as a single space.\n slug = slug.replace(/\\s+/g, replacement);\n\n if (options.lower) {\n slug = slug.toLowerCase()\n }\n\n return slug\n }\n\n replace.extend = function (customMap) {\n Object.assign(charMap, customMap)\n }\n\n return replace\n}))\n", "import React from \"react\";\n\nexport const HelloWorld = () => {\n return <div>Hello, World!</div>;\n};\n", "import React, { useEffect, useState } from \"react\";\n\n// SSR-safe wrapper around Clover's viewer. Clover touches the DOM at import time,\n// so we dynamically import it only in the browser.\n\n// Default Clover viewer options; can be overridden per-usage via props.options\nconst DEFAULT_VIEWER_OPTIONS = {\n showDownload: false,\n showIIIFBadge: false,\n showTitle: false,\n informationPanel: {\n open: false,\n renderAbout: false,\n renderToggle: false,\n },\n};\n\nfunction isPlainObject(val) {\n return val && typeof val === \"object\" && !Array.isArray(val);\n}\n\nfunction deepMerge(base, override) {\n if (!isPlainObject(base)) return override;\n const out = { ...base };\n if (!isPlainObject(override)) return out;\n for (const key of Object.keys(override)) {\n const a = base[key];\n const b = override[key];\n if (isPlainObject(a) && isPlainObject(b)) out[key] = deepMerge(a, b);\n else out[key] = b;\n }\n return out;\n}\n\nexport const Viewer = (props) => {\n const [CloverViewer, setCloverViewer] = useState(null);\n const mergedOptions = deepMerge(\n DEFAULT_VIEWER_OPTIONS,\n props && props.options\n );\n\n useEffect(() => {\n let mounted = true;\n const canUseDom =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (canUseDom) {\n import(\"@samvera/clover-iiif/viewer\")\n .then((mod) => {\n if (!mounted) return;\n // Loaded Clover viewer dynamically in the browser\n const Comp = mod && (mod.default || mod.Viewer || mod);\n setCloverViewer(() => Comp);\n })\n .catch(() => {\n // Silently ignore load errors on the server or if Clover is unavailable\n });\n }\n return () => {\n mounted = false;\n };\n }, []);\n\n if (!CloverViewer) {\n // SSR placeholder for client hydration; props provided as JSON\n let json = \"{}\";\n try {\n const p = { ...(props || {}) };\n if (mergedOptions) p.options = mergedOptions;\n json = JSON.stringify(p);\n } catch (_) {\n json = \"{}\";\n }\n return (\n <div data-canopy-viewer=\"1\" className=\"not-prose\">\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{ __html: json }}\n />\n </div>\n );\n }\n return <CloverViewer {...props} options={mergedOptions} />;\n};\n", "import React, {useEffect, useState} from \"react\";\nimport {mergeSliderOptions, normalizeSliderOptions} from \"./sliderOptions.js\";\n\n// SSR-safe wrapper around Clover's slider. Clover touches the DOM at import time,\n// so we dynamically import it only in the browser.\nexport const Slider = (props = {}) => {\n const [CloverSlider, setCloverSlider] = useState(null);\n\n useEffect(() => {\n let mounted = true;\n const canUseDom =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (canUseDom) {\n import(\"@samvera/clover-iiif/slider\")\n .then((mod) => {\n if (!mounted) return;\n const Comp = mod && (mod.default || mod.Slider || mod);\n setCloverSlider(() => Comp);\n })\n .catch(() => {\n // Silently ignore load errors on the server or if Clover is unavailable\n });\n }\n return () => {\n mounted = false;\n };\n }, []);\n\n const {className, ...rest} = props || {};\n const sliderClassName = [\"canopy-slider\", className]\n .filter(Boolean)\n .join(\" \");\n const mergedOptions = mergeSliderOptions(rest.options);\n const normalizedOptions = normalizeSliderOptions(mergedOptions);\n const resolvedProps = {\n ...rest,\n className: sliderClassName,\n options: normalizedOptions,\n };\n\n if (!CloverSlider) {\n // SSR placeholder for client hydration; props provided as JSON\n let json = \"{}\";\n try {\n json = JSON.stringify(resolvedProps || {});\n } catch (_) {\n json = \"{}\";\n }\n return (\n <div className={sliderClassName} data-canopy-slider=\"1\">\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{__html: json}}\n />\n </div>\n );\n }\n return <CloverSlider {...resolvedProps} />;\n};\n", "const UNIT_TOKEN = \"__canopySliderUnit\";\nconst UNIT_REM = \"rem\";\nconst DEFAULT_FONT_SIZE = 16;\nlet cachedRootFontSize = null;\n\n// Shared defaults applied to every slider instance (manual + generated).\nexport const sliderOptions = {\n breakpoints: {\n 400: {\n slidesPerView: 2,\n spaceBetween: rem(1),\n },\n 640: {\n slidesPerView: 3,\n spaceBetween: rem(1.618),\n },\n 1024: {\n slidesPerView: 4,\n spaceBetween: rem(1.618),\n },\n },\n};\n\nexport function rem(value) {\n const numeric = typeof value === \"number\" ? value : parseFloat(value);\n return {\n [UNIT_TOKEN]: UNIT_REM,\n value: Number.isFinite(numeric) ? numeric : 0,\n };\n}\n\nfunction cloneBreakpoints(source) {\n if (!source || typeof source !== \"object\") return undefined;\n const clone = {};\n Object.entries(source).forEach(([key, entry]) => {\n clone[key] = entry && typeof entry === \"object\" ? {...entry} : {};\n });\n return clone;\n}\n\nfunction cloneOptions(options = {}) {\n const clone = {...options};\n if (options.breakpoints && typeof options.breakpoints === \"object\") {\n clone.breakpoints = cloneBreakpoints(options.breakpoints);\n }\n return clone;\n}\n\nexport function mergeSliderOptions(overrides) {\n const base = cloneOptions(sliderOptions);\n const incoming = cloneOptions(overrides || {});\n const merged = {\n ...base,\n ...incoming,\n };\n if (base.breakpoints || incoming.breakpoints) {\n merged.breakpoints = {\n ...(base.breakpoints || {}),\n ...(incoming.breakpoints || {}),\n };\n }\n return merged;\n}\n\nfunction hasBrowserEnv() {\n return typeof window !== \"undefined\" && typeof document !== \"undefined\";\n}\n\nfunction measureRootFontSize() {\n if (!hasBrowserEnv()) return DEFAULT_FONT_SIZE;\n if (cachedRootFontSize !== null) return cachedRootFontSize;\n let size = DEFAULT_FONT_SIZE;\n try {\n const root = window.document && window.document.documentElement;\n if (root && window.getComputedStyle) {\n const computed = window.getComputedStyle(root).fontSize;\n const parsed = parseFloat(computed);\n if (Number.isFinite(parsed)) size = parsed;\n }\n } catch (_) {\n size = DEFAULT_FONT_SIZE;\n }\n cachedRootFontSize = size;\n return size;\n}\n\nfunction convertSpacing(value) {\n if (!hasBrowserEnv()) return value;\n if (value && typeof value === \"object\" && value[UNIT_TOKEN] === UNIT_REM) {\n const remValue =\n typeof value.value === \"number\" ? value.value : parseFloat(value.value);\n if (!Number.isFinite(remValue)) return value;\n return remValue * measureRootFontSize();\n }\n return value;\n}\n\nfunction normalizeBreakpoints(breakpoints) {\n if (!breakpoints || typeof breakpoints !== \"object\") return breakpoints;\n const normalized = {};\n Object.entries(breakpoints).forEach(([key, entry]) => {\n const clone = entry && typeof entry === \"object\" ? {...entry} : {};\n if (Object.prototype.hasOwnProperty.call(clone, \"spaceBetween\")) {\n clone.spaceBetween = convertSpacing(clone.spaceBetween);\n }\n normalized[key] = clone;\n });\n return normalized;\n}\n\nexport function normalizeSliderOptions(options) {\n const clone = cloneOptions(options || {});\n if (!hasBrowserEnv()) return clone;\n if (Object.prototype.hasOwnProperty.call(clone, \"spaceBetween\")) {\n clone.spaceBetween = convertSpacing(clone.spaceBetween);\n }\n if (clone.breakpoints) {\n clone.breakpoints = normalizeBreakpoints(clone.breakpoints);\n }\n return clone;\n}\n", "import React, { useEffect, useState } from \"react\";\n\n// SSR-safe wrapper around Clover's scroll component. The library touches the DOM\n// during import, so we only load it in the browser and render a placeholder on the\n// server for the hydration runtime to mount.\nexport const Scroll = (props) => {\n const [CloverScroll, setCloverScroll] = useState(null);\n\n useEffect(() => {\n let mounted = true;\n const canUseDom =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (canUseDom) {\n import(\"@samvera/clover-iiif/scroll\")\n .then((mod) => {\n if (!mounted) return;\n const Comp = mod && (mod.default || mod.Scroll || mod);\n setCloverScroll(() => Comp);\n })\n .catch(() => {\n // Silently ignore load errors during SSR or when Clover is unavailable.\n });\n }\n return () => {\n mounted = false;\n };\n }, []);\n\n if (!CloverScroll) {\n // SSR placeholder for client hydration; props provided as JSON\n let json = \"{}\";\n try {\n json = JSON.stringify(props || {});\n } catch (_) {\n json = \"{}\";\n }\n return (\n <div data-canopy-scroll=\"1\" className=\"not-prose\">\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{ __html: json }}\n />\n </div>\n );\n }\n\n return <CloverScroll {...props} />;\n};\n", "import React, {useEffect, useState} from \"react\";\n\n// SSR-safe wrapper around Clover's image component. The module relies on the DOM\n// during import, so we lazy-load it in the browser and render a placeholder on the\n// server for the hydration runtime.\nexport const Image = (props = {}) => {\n const [CloverImage, setCloverImage] = useState(null);\n const baseClass = \"canopy-iiif-image\";\n const {\n height = `600px`,\n backgroundColor = `var(--color-gray-200)`,\n caption,\n className: userClassName,\n } = props || {};\n const rootClassName = [userClassName, baseClass].filter(Boolean).join(\" \");\n\n useEffect(() => {\n let mounted = true;\n const canUseDom =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (canUseDom) {\n import(\"@samvera/clover-iiif/image\")\n .then((mod) => {\n if (!mounted) return;\n const Comp = mod && (mod.default || mod.Image || mod);\n setCloverImage(() => Comp);\n })\n .catch(() => {\n // Suppress errors during SSR or when the Clover bundle is unavailable.\n });\n }\n return () => {\n mounted = false;\n };\n }, []);\n\n if (!CloverImage) {\n let json = \"{}\";\n try {\n json = JSON.stringify(props || {});\n } catch (_) {\n json = \"{}\";\n }\n\n return (\n <figure className={rootClassName}>\n <div\n className={`${baseClass}__placeholder`}\n data-canopy-image=\"1\"\n style={{\n \"--canopy-iiif-image-height\": height,\n \"--canopy-iiif-image-bg\": backgroundColor,\n }}\n >\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{__html: json}}\n />\n </div>\n {caption && (\n <figcaption className={`${baseClass}__caption`}>\n {caption}\n </figcaption>\n )}\n </figure>\n );\n }\n\n return <CloverImage {...props} className={rootClassName} />;\n};\n", "import React from \"react\";\n\n// SSR-safe placeholder for RelatedItems. Hydrated by canopy-related-items.js + canopy-slider.js\nexport default function MdxRelatedItems(props) {\n let json = \"{}\";\n try {\n json = JSON.stringify(props || {});\n } catch (_) {\n json = \"{}\";\n }\n return (\n <div data-canopy-related-items=\"1\">\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{__html: json}}\n />\n </div>\n );\n}\n", "export { default as Hero } from './Hero.jsx';\nexport { computeHeroHeightStyle } from './hero-utils.js';\n", "import React from \"react\";\nimport helpers from \"../../../lib/components/featured.js\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\nimport {computeHeroHeightStyle} from \"./hero-utils.js\";\nimport Button from \"../layout/Button.jsx\";\nimport ButtonWrapper from \"../layout/ButtonWrapper.jsx\";\n\nconst NavIconBase = ({children, ...rest}) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n {...rest}\n >\n {children}\n </svg>\n);\n\nconst PrevArrowIcon = (props) => (\n <NavIconBase {...props}>\n <path\n d=\"M10.5 3L5.5 8L10.5 13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.618\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </NavIconBase>\n);\n\nconst NextArrowIcon = (props) => (\n <NavIconBase {...props}>\n <path\n d=\"M5.5 3L10.5 8L5.5 13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.618\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </NavIconBase>\n);\n\nconst HERO_DEFAULT_SIZES_ATTR = \"(min-width: 1024px) 1280px, 100vw\";\n\nconst basePath = (() => {\n try {\n const raw =\n typeof process !== \"undefined\" && process && process.env\n ? String(process.env.CANOPY_BASE_PATH || \"\")\n : \"\";\n return raw.replace(/\\/$/, \"\");\n } catch (_) {\n return \"\";\n }\n})();\n\nfunction applyBasePath(href) {\n try {\n if (!href) return href;\n if (!basePath) return href;\n if (typeof href === \"string\" && href.startsWith(\"/\")) {\n return `${basePath}${href}`;\n }\n } catch (_) {}\n return href;\n}\n\nfunction resolveFeaturedItem({item, index, random}) {\n if (item) return item;\n const list =\n helpers && helpers.readFeaturedFromCacheSync\n ? helpers.readFeaturedFromCacheSync()\n : [];\n if (!list.length) return null;\n if (typeof index === \"number\") {\n const idx = Math.max(0, Math.min(list.length - 1, Math.floor(index)));\n return list[idx];\n }\n if (random === true || random === \"true\") {\n const idx = Math.floor(Math.random() * Math.max(1, list.length));\n return list[idx];\n }\n return list[0];\n}\n\nfunction normalizeLinks(links) {\n if (!Array.isArray(links)) return [];\n return links\n .map((link) => {\n if (!link) return null;\n const href = applyBasePath(link.href || \"\");\n const title = link.title ? String(link.title) : \"\";\n if (!href || !title) return null;\n const type = link.type === \"secondary\" ? \"secondary\" : \"primary\";\n const target = link.target ? String(link.target) : undefined;\n return {href, title, type, target};\n })\n .filter(Boolean);\n}\n\nfunction sanitizeRest(rest) {\n const clone = {...rest};\n try {\n delete clone.random;\n delete clone.index;\n delete clone.item;\n delete clone.links;\n delete clone.overlay;\n delete clone.variant;\n delete clone.background;\n } catch (_) {}\n return clone;\n}\n\nfunction normalizeBackground(value) {\n try {\n const allowed = new Set([\"theme\", \"transparent\"]);\n const raw = value == null ? \"\" : String(value);\n const normalized = raw.trim().toLowerCase();\n return allowed.has(normalized) ? normalized : \"theme\";\n } catch (_) {\n return \"theme\";\n }\n}\n\nfunction findNodePathBySlug(node, targetSlug) {\n if (!node || !targetSlug) return null;\n const normalizedTarget = String(targetSlug || \"\");\n if (!normalizedTarget) return null;\n if (node.slug === normalizedTarget) return [node];\n const children = Array.isArray(node.children) ? node.children : [];\n for (const child of children) {\n const path = findNodePathBySlug(child, normalizedTarget);\n if (path && path.length) {\n return [node, ...path];\n }\n }\n return null;\n}\n\nfunction normalizeVariant(value) {\n try {\n const raw = value == null ? \"\" : String(value);\n const normalized = raw.trim().toLowerCase();\n if (normalized === \"breadcrumb\" || normalized === \"text\") return \"breadcrumb\";\n return \"featured\";\n } catch (_) {\n return \"featured\";\n }\n}\n\nexport default function Hero({\n height = 520,\n item,\n index,\n random = true,\n transition = \"fade\",\n headline,\n description,\n links = [],\n className = \"\",\n style = {},\n background = \"theme\",\n variant = \"featured\",\n homeLabel = \"Home\",\n ...rest\n}) {\n const normalizedVariant = normalizeVariant(variant);\n const isBreadcrumbVariant = normalizedVariant === \"breadcrumb\";\n const PageContext =\n navigationHelpers && typeof navigationHelpers.getPageContext === \"function\"\n ? navigationHelpers.getPageContext()\n : null;\n const pageContext = PageContext ? React.useContext(PageContext) : null;\n\n let orderedSlides = [];\n if (!isBreadcrumbVariant) {\n const resolved = resolveFeaturedItem({item, index, random});\n const helpersList =\n helpers && helpers.readFeaturedFromCacheSync\n ? helpers.readFeaturedFromCacheSync()\n : [];\n\n const slides = [];\n const pushUnique = (entry) => {\n if (!entry) return;\n const key = String(entry.href || entry.id || entry.title || \"\");\n const hasKey = slides.some(\n (item) =>\n String(item && (item.href || item.id || item.title || \"\")) === key\n );\n if (!hasKey) {\n slides.push(entry);\n }\n };\n\n if (resolved) pushUnique(resolved);\n helpersList.forEach(pushUnique);\n if (!slides.length) return null;\n\n orderedSlides = slides.slice();\n if (typeof index === \"number\" && orderedSlides.length > 1) {\n const clamp = Math.max(\n 0,\n Math.min(orderedSlides.length - 1, Math.floor(index))\n );\n if (clamp > 0) {\n orderedSlides = orderedSlides\n .slice(clamp)\n .concat(orderedSlides.slice(0, clamp));\n }\n } else if (random === true || random === \"true\") {\n const rand = Math.floor(Math.random() * orderedSlides.length);\n if (rand > 0) {\n orderedSlides = orderedSlides\n .slice(rand)\n .concat(orderedSlides.slice(0, rand));\n }\n }\n }\n\n const heroHeight = computeHeroHeightStyle(height);\n const heroStyles = {...(style || {})};\n if (heroHeight && heroHeight.height && !isBreadcrumbVariant) {\n heroStyles[\"--hero-height\"] = heroHeight.height;\n }\n if (isBreadcrumbVariant) {\n heroStyles[\"--hero-height\"] = \"auto\";\n }\n\n const derivedDescription = description ? String(description) : \"\";\n const normalizedLinks = normalizeLinks(links);\n\n const primarySlide = !isBreadcrumbVariant ? orderedSlides[0] || null : null;\n const overlayTitle = headline || (primarySlide && primarySlide.title) || \"\";\n const defaultLinkHref = applyBasePath(\n primarySlide && primarySlide.href ? primarySlide.href : \"#\"\n );\n const overlayLinks = normalizedLinks.length\n ? normalizedLinks\n : [\n {\n href: defaultLinkHref,\n title: \"View work\",\n type: \"primary\",\n },\n ].filter(Boolean);\n const finalOverlayLinks = isBreadcrumbVariant ? normalizedLinks : overlayLinks;\n\n const breadcrumbItems = React.useMemo(() => {\n if (!isBreadcrumbVariant) return [];\n const items = [];\n const label = typeof homeLabel === \"string\" ? homeLabel.trim() : \"\";\n if (label) {\n items.push({title: label, href: applyBasePath(\"/\")});\n }\n const navigation = pageContext && pageContext.navigation ? pageContext.navigation : null;\n const page = pageContext && pageContext.page ? pageContext.page : null;\n const slug =\n (page && page.slug) ||\n (navigation && navigation.currentSlug) ||\n \"\";\n const rootNode = navigation && navigation.root ? navigation.root : null;\n if (!slug || !rootNode) return items;\n const path = findNodePathBySlug(rootNode, slug);\n if (!path || !path.length) return items;\n path.forEach((node) => {\n if (!node) return;\n const title = node.title || node.slug || \"\";\n if (!title) return;\n const href = node.href ? applyBasePath(node.href) : null;\n items.push({title, href});\n });\n return items;\n }, [isBreadcrumbVariant, pageContext, homeLabel]);\n\n const breadcrumbNode = isBreadcrumbVariant && breadcrumbItems.length\n ? (\n <nav className=\"canopy-interstitial__breadcrumb\" aria-label=\"Breadcrumb\">\n {breadcrumbItems.map((item, idx) => {\n const isLast = idx === breadcrumbItems.length - 1;\n const key = `${item.title || idx}-${idx}`;\n const content = !isLast && item.href ? (\n <a href={item.href}>{item.title}</a>\n ) : (\n <span className=\"canopy-interstitial__breadcrumb-current\">\n {item.title}\n </span>\n );\n return (\n <React.Fragment key={key}>\n {idx > 0 ? (\n <span\n className=\"canopy-interstitial__breadcrumb-separator\"\n aria-hidden=\"true\"\n >\n >\n </span>\n ) : null}\n {content}\n </React.Fragment>\n );\n })}\n </nav>\n )\n : null;\n\n const normalizedBackground = normalizeBackground(background);\n const backgroundClassName =\n normalizedBackground === \"transparent\"\n ? \"canopy-interstitial--bg-transparent\"\n : \"\";\n\n const variantClassName = isBreadcrumbVariant\n ? \"canopy-interstitial--hero-breadcrumb\"\n : \"canopy-interstitial--hero-featured\";\n const containerClassName = [\n \"canopy-interstitial\",\n \"canopy-interstitial--hero\",\n variantClassName,\n backgroundClassName,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const normalizedTransition = (() => {\n try {\n const raw = transition == null ? \"\" : String(transition);\n const normalized = raw.trim().toLowerCase();\n return normalized === \"slide\" ? \"slide\" : \"fade\";\n } catch (_) {\n return \"fade\";\n }\n })();\n\n const renderSlide = (\n slide,\n idx,\n {showVeil = true, captionVariant = \"overlay\"} = {}\n ) => {\n const safeHref = applyBasePath(slide.href || \"#\");\n const isStaticCaption = captionVariant === \"static\";\n const paneClassName = [\n \"canopy-interstitial__pane\",\n showVeil ? \"\" : \"canopy-interstitial__pane--flat\",\n isStaticCaption ? \"canopy-interstitial__pane--static\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n\n const buildImageProps = (className) => {\n if (!slide.thumbnail) return null;\n const props = {\n src: slide.thumbnail,\n alt: \"\",\n \"aria-hidden\": true,\n className,\n loading: idx === 0 ? \"eager\" : \"lazy\",\n };\n if (slide.srcset) props.srcSet = slide.srcset;\n if (slide.srcset) props.sizes = slide.sizes || HERO_DEFAULT_SIZES_ATTR;\n return props;\n };\n\n const wrapWithLink = (node) => {\n if (!safeHref) return node;\n return (\n <a\n href={safeHref}\n className=\"canopy-interstitial__slide-link\"\n aria-label={slide.title || undefined}\n >\n {node}\n </a>\n );\n };\n\n if (isStaticCaption) {\n return (\n <div className=\"swiper-slide\" key={safeHref || idx}>\n {wrapWithLink(\n <article className={paneClassName}>\n {slide.thumbnail ? (\n <div className=\"canopy-interstitial__media-frame\">\n <img\n {...buildImageProps(\n \"canopy-interstitial__media canopy-interstitial__media--static\"\n )}\n />\n </div>\n ) : null}\n {slide.title ? (\n <div className=\"canopy-interstitial__caption canopy-interstitial__caption--static\">\n <span className=\"canopy-interstitial__caption-link\">\n {slide.title}\n </span>\n </div>\n ) : null}\n </article>\n )}\n </div>\n );\n }\n\n return (\n <div className=\"swiper-slide\" key={safeHref || idx}>\n {wrapWithLink(\n <article className={paneClassName}>\n {slide.thumbnail ? (\n <img {...buildImageProps(\"canopy-interstitial__media\")} />\n ) : null}\n {showVeil ? (\n <div className=\"canopy-interstitial__veil\" aria-hidden=\"true\" />\n ) : null}\n {slide.title ? (\n <div className=\"canopy-interstitial__caption\">\n <span className=\"canopy-interstitial__caption-link\">\n {slide.title}\n </span>\n </div>\n ) : null}\n </article>\n )}\n </div>\n );\n };\n\n const renderSlider = (options = {}) => (\n <div className=\"canopy-interstitial__slider swiper\">\n <div className=\"swiper-wrapper\">\n {orderedSlides.map((slide, idx) => renderSlide(slide, idx, options))}\n </div>\n <div className=\"canopy-interstitial__nav\">\n <button\n type=\"button\"\n aria-label=\"Previous slide\"\n className=\"canopy-interstitial__nav-btn canopy-interstitial__nav-btn--prev swiper-button-prev\"\n >\n <PrevArrowIcon />\n </button>\n <button\n type=\"button\"\n aria-label=\"Next slide\"\n className=\"canopy-interstitial__nav-btn canopy-interstitial__nav-btn--next swiper-button-next\"\n >\n <NextArrowIcon />\n </button>\n </div>\n <div className=\"canopy-interstitial__pagination swiper-pagination\" />\n </div>\n );\n\n const overlayContent = (\n <>\n {overlayTitle ? (\n <h1 className=\"canopy-interstitial__headline\">{overlayTitle}</h1>\n ) : null}\n {derivedDescription ? (\n <p className=\"canopy-interstitial__description\">{derivedDescription}</p>\n ) : null}\n {finalOverlayLinks.length ? (\n <ButtonWrapper className=\"canopy-interstitial__actions\">\n {finalOverlayLinks.map((link) => (\n <Button\n key={`${link.href}-${link.title}`}\n href={link.href}\n label={link.title}\n variant={link.type}\n target={link.target}\n />\n ))}\n </ButtonWrapper>\n ) : null}\n </>\n );\n\n const cleanedProps = sanitizeRest(rest);\n const sectionProps = {\n className: containerClassName,\n style: heroStyles,\n ...cleanedProps,\n };\n if (!isBreadcrumbVariant) {\n sectionProps[\"data-canopy-hero-slider\"] = \"1\";\n sectionProps[\"data-transition\"] = normalizedTransition;\n } else {\n sectionProps[\"data-canopy-hero-variant\"] = \"breadcrumb\";\n }\n\n return (\n <section {...sectionProps}>\n {isBreadcrumbVariant ? (\n <div className=\"canopy-interstitial__layout canopy-interstitial__layout--breadcrumb\">\n <div className=\"canopy-interstitial__panel\">\n <div className=\"canopy-interstitial__body\">\n {breadcrumbNode}\n {overlayContent}\n </div>\n </div>\n </div>\n ) : (\n <div className=\"canopy-interstitial__layout\">\n <div className=\"canopy-interstitial__panel\">\n <div className=\"canopy-interstitial__body\">{overlayContent}</div>\n </div>\n <div className=\"canopy-interstitial__media-group\">\n {renderSlider({showVeil: false, captionVariant: \"static\"})}\n </div>\n </div>\n )}\n </section>\n );\n}\n", "function computeHeroHeightStyle(height) {\n const h = typeof height === 'number' ? `${height}px` : String(height || '').trim();\n const val = h || '360px';\n return { width: '100%', height: val };\n}\n\nexport { computeHeroHeightStyle };\nexport default computeHeroHeightStyle;\n", "import React from 'react';\n\nconst VARIANTS = new Set(['primary', 'secondary']);\n\nexport default function Button({\n label,\n href = '#',\n target,\n rel,\n variant = 'primary',\n className = '',\n children,\n ...rest\n}) {\n const resolvedVariant = VARIANTS.has(variant) ? variant : 'primary';\n const computedRel =\n target === '_blank' && !rel ? 'noopener noreferrer' : rel;\n const content = children != null ? children : label;\n\n if (!content) return null;\n\n const classes = [\n 'canopy-button',\n `canopy-button--${resolvedVariant}`,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <a\n href={href}\n className={classes}\n target={target}\n rel={computedRel}\n {...rest}\n >\n {content}\n </a>\n );\n}\n", "import React from 'react';\n\nexport default function ButtonWrapper({\n className = '',\n children,\n text = '',\n variant = 'default',\n ...rest\n}) {\n const variantClass =\n variant && variant !== 'default'\n ? `canopy-button-group--${variant}`\n : '';\n const classes = ['canopy-button-group', variantClass, className]\n .filter(Boolean)\n .join(' ');\n return (\n <div className={classes} {...rest}>\n {text && <span className=\"canopy-button-group__text\">{text}</span>}\n <div className=\"canopy-button-group__actions\">{children}</div>\n </div>\n );\n}\n", "import React from \"react\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\n\nfunction resolveRelativeCandidate(page, current) {\n if (page && typeof page.relativePath === \"string\" && page.relativePath)\n return page.relativePath;\n if (page && typeof page.slug === \"string\" && page.slug) return page.slug;\n if (typeof current === \"string\" && current) return current;\n return \"\";\n}\n\nfunction renderNodes(nodes, parentKey = \"node\") {\n if (!Array.isArray(nodes) || !nodes.length) return null;\n return nodes.map((node, index) => {\n if (!node) return null;\n const key = node.slug || node.relativePath || `${parentKey}-${index}`;\n const hasChildren =\n Array.isArray(node.children) && node.children.length > 0;\n const showChildren = hasChildren && (node.isExpanded || node.depth === 0);\n const depth = typeof node.depth === \"number\" ? Math.max(0, node.depth) : 0;\n const depthClass = `depth-${Math.min(depth, 5)}`;\n const isRoadmap = !!node.isRoadmap;\n const isInteractive = !!(node.href && !isRoadmap);\n const classes = [\"canopy-sub-navigation__link\", depthClass];\n if (!node.href && !isRoadmap) classes.push(\"is-label\");\n if (isRoadmap) classes.push(\"is-disabled\");\n if (node.isActive) classes.push(\"is-active\");\n const linkClass = classes.join(\" \");\n const Tag = isInteractive ? \"a\" : \"span\";\n const badge = isRoadmap ? (\n <span className=\"canopy-sub-navigation__badge\">Roadmap</span>\n ) : null;\n return (\n <li key={key} className=\"canopy-sub-navigation__item\" data-depth={depth}>\n <Tag\n className={linkClass}\n href={isInteractive ? node.href : undefined}\n aria-current={node.isActive ? \"page\" : undefined}\n tabIndex={isInteractive ? undefined : -1}\n >\n {node.title || node.slug}\n {badge}\n </Tag>\n {showChildren ? (\n <ul\n className=\"canopy-sub-navigation__list canopy-sub-navigation__list--nested\"\n role=\"list\"\n >\n {renderNodes(node.children, key)}\n </ul>\n ) : null}\n </li>\n );\n });\n}\n\nexport default function SubNavigation({\n navigation: navigationProp,\n page,\n current,\n className = \"\",\n style = {},\n heading,\n ariaLabel,\n}) {\n const PageContext =\n navigationHelpers && navigationHelpers.getPageContext\n ? navigationHelpers.getPageContext()\n : null;\n const context = PageContext ? React.useContext(PageContext) : null;\n const contextNavigation =\n context && context.navigation ? context.navigation : null;\n const contextPage = context && context.page ? context.page : null;\n const effectiveNavigation = navigationProp || contextNavigation;\n const effectivePage = page || contextPage;\n const resolvedNavigation = React.useMemo(() => {\n if (effectiveNavigation && effectiveNavigation.root)\n return effectiveNavigation;\n const candidate = resolveRelativeCandidate(effectivePage, current);\n if (!candidate) return effectiveNavigation || null;\n const helpers =\n navigationHelpers && navigationHelpers.buildNavigationForFile\n ? navigationHelpers\n : null;\n if (!helpers) return effectiveNavigation || null;\n try {\n const normalized = navigationHelpers.normalizeRelativePath\n ? navigationHelpers.normalizeRelativePath(candidate)\n : candidate;\n const built = helpers.buildNavigationForFile(normalized);\n if (built) return built;\n } catch (_) {\n // ignore helper errors and fall back to provided navigation\n }\n return effectiveNavigation || null;\n }, [effectiveNavigation, effectivePage, current]);\n\n if (!resolvedNavigation || !resolvedNavigation.root) return null;\n\n const rootNode = resolvedNavigation.root;\n const finalHeading = heading || null;\n const labelSource = finalHeading || resolvedNavigation.title;\n const navLabel =\n ariaLabel ||\n (labelSource ? `${labelSource} navigation` : \"Section navigation\");\n const combinedClassName = [\"canopy-sub-navigation\", className]\n .filter(Boolean)\n .join(\" \");\n const inlineStyle = {...style};\n if (!Object.prototype.hasOwnProperty.call(inlineStyle, \"--sub-nav-indent\")) {\n inlineStyle[\"--sub-nav-indent\"] = \"0.85rem\";\n }\n\n return (\n <nav\n className={combinedClassName}\n style={inlineStyle}\n aria-label={navLabel}\n >\n {finalHeading ? (\n <div className=\"canopy-sub-navigation__heading\">{finalHeading}</div>\n ) : null}\n <ul className=\"canopy-sub-navigation__list\" role=\"list\">\n {renderNodes([rootNode], rootNode.slug || \"root\")}\n </ul>\n </nav>\n );\n}\n", "import React from \"react\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\nimport SubNavigation from \"./SubNavigation.jsx\";\nimport ContentNavigation from \"./ContentNavigation.jsx\";\n\nfunction buildHeadingTree(headings) {\n if (!Array.isArray(headings) || !headings.length) return [];\n const root = [];\n const stack = [];\n headings.forEach((heading) => {\n if (!heading || typeof heading !== \"object\") return;\n const depth =\n typeof heading.depth === \"number\" ? heading.depth : heading.level;\n if (typeof depth !== \"number\" || depth < 2) return;\n const entry = {\n id: heading.id || heading.slug || heading.title,\n title: heading.title || heading.text || heading.id,\n depth,\n children: [],\n };\n while (stack.length && stack[stack.length - 1].depth >= entry.depth) {\n stack.pop();\n }\n if (!stack.length) {\n root.push(entry);\n } else {\n stack[stack.length - 1].children.push(entry);\n }\n stack.push(entry);\n });\n return root;\n}\n\nfunction buildNavigationAside(sidebar, className) {\n if (!sidebar) {\n return <SubNavigation className={className} />;\n }\n if (typeof sidebar === \"function\") {\n return React.createElement(sidebar);\n }\n return sidebar;\n}\n\nfunction ContentNavigationScript() {\n const code = `\n(function () {\n if (typeof window === 'undefined') return;\n if (window.__CANOPY_CONTENT_NAV_READY__) return;\n window.__CANOPY_CONTENT_NAV_READY__ = true;\n var STORAGE_KEY = 'canopy_content_nav_collapsed';\n var storage = null;\n try {\n storage = window.localStorage;\n } catch (error) {\n storage = null;\n }\n\n function setStored(value) {\n if (!storage) return;\n try {\n if (value == null) {\n storage.removeItem(STORAGE_KEY);\n } else {\n storage.setItem(STORAGE_KEY, value);\n }\n } catch (error) {}\n }\n\n function getStored() {\n if (!storage) return null;\n try {\n return storage.getItem(STORAGE_KEY);\n } catch (error) {\n return null;\n }\n }\n\n function ready(fn) {\n if (!fn) return;\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', fn, { once: true });\n } else {\n fn();\n }\n }\n\n function applyState(root, collapsed) {\n if (!root) return;\n var isCollapsed = !!collapsed;\n root.classList.toggle('is-collapsed', isCollapsed);\n var layout = root.closest('.canopy-layout');\n if (layout) layout.classList.toggle('canopy-layout--content-nav-collapsed', isCollapsed);\n var nav = root.querySelector('[data-canopy-content-nav]');\n if (nav) nav.classList.toggle('canopy-content-navigation--collapsed', isCollapsed);\n var toggle = root.querySelector('[data-canopy-content-nav-toggle]');\n if (toggle) {\n var showLabel = toggle.getAttribute('data-show-label') || 'Show';\n var hideLabel = toggle.getAttribute('data-hide-label') || 'Hide';\n var showFull = toggle.getAttribute('data-show-full-label') || 'Show section navigation';\n var hideFull = toggle.getAttribute('data-hide-full-label') || 'Hide section navigation';\n toggle.textContent = isCollapsed ? showLabel : hideLabel;\n toggle.setAttribute('aria-expanded', isCollapsed ? 'false' : 'true');\n toggle.setAttribute('aria-label', isCollapsed ? showFull : hideFull);\n toggle.setAttribute('title', isCollapsed ? showFull : hideFull);\n }\n }\n\n ready(function () {\n var roots = Array.prototype.slice.call(\n document.querySelectorAll('[data-canopy-content-nav-root]')\n );\n if (!roots.length) return;\n var stored = getStored();\n var collapsed = true;\n if (stored === '0' || stored === 'false') {\n collapsed = false;\n } else if (stored === '1' || stored === 'true') {\n collapsed = true;\n }\n\n function sync(next) {\n collapsed = !!next;\n roots.forEach(function (root) {\n applyState(root, collapsed);\n });\n setStored(collapsed ? '1' : '0');\n }\n\n sync(collapsed);\n\n roots.forEach(function (root) {\n var toggle = root.querySelector('[data-canopy-content-nav-toggle]');\n if (!toggle) return;\n toggle.addEventListener('click', function (event) {\n event.preventDefault();\n sync(!collapsed);\n });\n });\n });\n})();\n `;\n\n return <script dangerouslySetInnerHTML={{ __html: code }} />;\n}\n\nexport default function Layout({\n children,\n sidebar,\n navigation = true,\n fluid = false,\n contentNavigation = true,\n className = \"\",\n contentClassName = \"\",\n sidebarClassName = \"\",\n contentNavigationClassName = \"\",\n ...rest\n}) {\n const PageContext =\n navigationHelpers && typeof navigationHelpers.getPageContext === \"function\"\n ? navigationHelpers.getPageContext()\n : null;\n const context = PageContext ? React.useContext(PageContext) : null;\n const pageHeadings = React.useMemo(() => {\n const headings = context && context.page ? context.page.headings : null;\n return Array.isArray(headings) ? headings : [];\n }, [context]);\n const contentHeading = React.useMemo(() => {\n const first = pageHeadings.find((heading) => {\n const depth = heading && (heading.depth || heading.level);\n return depth === 1;\n });\n return first && first.title ? first.title : null;\n }, [pageHeadings]);\n const headingAnchorId = React.useMemo(() => {\n const first = pageHeadings.find((heading) => {\n const depth = heading && (heading.depth || heading.level);\n return depth === 1;\n });\n return first && first.id ? first.id : null;\n }, [pageHeadings]);\n const headingTree = React.useMemo(\n () => buildHeadingTree(pageHeadings),\n [pageHeadings]\n );\n\n const showLeftColumn = navigation !== false;\n const hasContentNavigation =\n navigation !== false &&\n contentNavigation !== false &&\n headingTree.length > 0;\n\n const containerClassName = (() => {\n const classes = [\"canopy-layout\"];\n classes.push(fluid ? \"canopy-layout--fluid\" : \"canopy-layout--fixed\");\n if (showLeftColumn) classes.push(\"canopy-layout--with-sidebar\");\n if (hasContentNavigation) {\n classes.push(\"canopy-layout--with-content-nav\");\n classes.push(\"canopy-layout--content-nav-collapsed\");\n }\n if (className) classes.push(className);\n return classes.join(\" \");\n })();\n\n const leftAsideClassName = [\"canopy-layout__sidebar\", sidebarClassName]\n .filter(Boolean)\n .join(\" \");\n\n const contentClassNames = [\"canopy-layout__content\", contentClassName]\n .filter(Boolean)\n .join(\" \");\n\n const contentNavigationAsideClassName = [\n \"canopy-layout__content-nav\",\n \"is-collapsed\",\n contentNavigationClassName,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const sidebarNode = showLeftColumn\n ? buildNavigationAside(sidebar, sidebarClassName)\n : null;\n\n return (\n <div className={containerClassName} {...rest}>\n {showLeftColumn ? (\n <aside className={leftAsideClassName}>{sidebarNode}</aside>\n ) : null}\n <div className={contentClassNames}>{children}</div>\n {hasContentNavigation ? (\n <>\n <aside\n className={contentNavigationAsideClassName}\n data-canopy-content-nav-root=\"true\"\n >\n <ContentNavigation\n items={headingTree}\n heading={contentHeading || undefined}\n headingId={headingAnchorId || undefined}\n pageTitle={\n context && context.page ? context.page.title : undefined\n }\n />\n </aside>\n <ContentNavigationScript />\n </>\n ) : null}\n </div>\n );\n}\n", "import React from 'react';\n\nconst SCROLL_OFFSET_REM = 1.618;\nconst MAX_HEADING_DEPTH = 3;\n\nfunction depthIndex(depth) {\n return Math.max(0, Math.min(5, (depth || 1) - 1));\n}\n\nfunction resolveDepth(value, fallback = 1) {\n return Math.max(1, typeof value === 'number' ? value : fallback);\n}\n\nexport default function ContentNavigation({\n items = [],\n className = '',\n style = {},\n heading,\n headingId,\n pageTitle,\n ariaLabel,\n}) {\n const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n const savedDepthsRef = React.useRef(null);\n\n if ((!items || !items.length) && !headingId) return null;\n\n const combinedClassName = [\n 'canopy-sub-navigation canopy-content-navigation',\n 'canopy-content-navigation--collapsed',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const effectiveHeading = heading || pageTitle || null;\n const navLabel = ariaLabel || (effectiveHeading ? `${effectiveHeading} navigation` : 'Section navigation');\n\n const getSavedDepth = React.useCallback(\n (id, fallback) => {\n if (!id) return fallback;\n if (!savedDepthsRef.current) savedDepthsRef.current = new Map();\n const store = savedDepthsRef.current;\n if (store.has(id)) return store.get(id);\n store.set(id, fallback);\n return fallback;\n },\n []\n );\n\n const headingEntries = React.useMemo(() => {\n const entries = [];\n const seen = new Set();\n if (headingId) {\n const topId = String(headingId);\n entries.push({ id: topId, depth: 1 });\n seen.add(topId);\n }\n const pushNodes = (nodes) => {\n if (!Array.isArray(nodes)) return;\n nodes.forEach((node) => {\n if (!node || !node.id) return;\n const id = String(node.id);\n if (seen.has(id)) return;\n seen.add(id);\n const depth = resolveDepth(\n typeof node.depth === 'number' ? node.depth : node.level,\n getSavedDepth(id, 2)\n );\n if (depth > MAX_HEADING_DEPTH) return;\n entries.push({ id, depth });\n if (node.children && node.children.length) pushNodes(node.children);\n });\n };\n pushNodes(items);\n return entries;\n }, [headingId, items, getSavedDepth]);\n\n const fallbackId = headingEntries.length ? headingEntries[0].id : headingId || null;\n const [activeId, setActiveId] = React.useState(fallbackId);\n const activeIdRef = React.useRef(activeId);\n React.useEffect(() => {\n activeIdRef.current = activeId;\n }, [activeId]);\n\n React.useEffect(() => {\n if (!headingEntries.length) return;\n if (!headingEntries.some((entry) => entry.id === activeIdRef.current)) {\n const next = headingEntries[0].id;\n activeIdRef.current = next;\n setActiveId(next);\n }\n }, [headingEntries]);\n\n const computeOffsetPx = React.useCallback(() => {\n if (!isBrowser) return 0;\n try {\n const root = document.documentElement;\n const fontSize = root\n ? parseFloat(window.getComputedStyle(root).fontSize || '16') || 16\n : 16;\n return fontSize * SCROLL_OFFSET_REM;\n } catch (_) {\n return 0;\n }\n }, [isBrowser]);\n\n const headingElementsRef = React.useRef([]);\n\n const updateActiveFromElements = React.useCallback(\n (elements) => {\n if (!elements || !elements.length) return;\n const offset = computeOffsetPx();\n let nextId = elements[0].id;\n for (const { id, element } of elements) {\n const rect = element.getBoundingClientRect();\n if (rect.top - offset <= 0) {\n nextId = id;\n } else {\n break;\n }\n }\n if (nextId && nextId !== activeIdRef.current) {\n activeIdRef.current = nextId;\n setActiveId(nextId);\n }\n },\n [computeOffsetPx]\n );\n\n React.useEffect(() => {\n if (!isBrowser) return undefined;\n const elements = headingEntries\n .map((entry) => {\n const element = document.getElementById(entry.id);\n return element ? { id: entry.id, element } : null;\n })\n .filter(Boolean);\n headingElementsRef.current = elements;\n updateActiveFromElements(elements);\n if (!elements.length) return undefined;\n\n let ticking = false;\n const handle = () => {\n if (!ticking) {\n ticking = true;\n window.requestAnimationFrame(() => {\n updateActiveFromElements(elements);\n ticking = false;\n });\n }\n };\n window.addEventListener('scroll', handle, { passive: true });\n window.addEventListener('resize', handle);\n return () => {\n window.removeEventListener('scroll', handle);\n window.removeEventListener('resize', handle);\n };\n }, [headingEntries, isBrowser, updateActiveFromElements]);\n\n const handleAnchorClick = React.useCallback(\n (event, targetId, options = {}) => {\n try {\n if (event && typeof event.preventDefault === 'function') event.preventDefault();\n } catch (_) {}\n if (!isBrowser) return;\n const offset = computeOffsetPx();\n let top = 0;\n if (targetId && targetId !== 'top' && !options.scrollToTop) {\n const el = document.getElementById(targetId);\n if (el) {\n const rect = el.getBoundingClientRect();\n top = window.scrollY + rect.top - offset;\n }\n }\n if (!Number.isFinite(top) || top < 0 || options.scrollToTop) top = 0;\n const nextId = targetId && targetId !== 'top'\n ? targetId\n : headingEntries[0]?.id || headingId || null;\n if (nextId) {\n activeIdRef.current = nextId;\n setActiveId(nextId);\n }\n try {\n window.scrollTo({ top, behavior: 'smooth' });\n } catch (_) {\n window.scrollTo(0, top);\n }\n },\n [computeOffsetPx, headingEntries, headingId, isBrowser]\n );\n\n const renderNodes = React.useCallback(\n (nodes) => {\n if (!nodes || !nodes.length) return null;\n return nodes.map((node) => {\n if (!node) return null;\n const id = node.id ? String(node.id) : '';\n const depth = resolveDepth(\n typeof node.depth === 'number' ? node.depth : node.level,\n getSavedDepth(id, 2)\n );\n if (depth > MAX_HEADING_DEPTH) return null;\n const idx = depthIndex(depth);\n const isActive = id && activeId === id;\n const childNodes = depth < MAX_HEADING_DEPTH ? renderNodes(node.children) : null;\n return (\n <li key={id || node.title} className=\"canopy-sub-navigation__item\" data-depth={idx}>\n <a\n className={`canopy-sub-navigation__link depth-${idx}${isActive ? ' is-active' : ''}`}\n href={id ? `#${id}` : '#'}\n onClick={(event) => handleAnchorClick(event, id || null)}\n aria-current={isActive ? 'location' : undefined}\n >\n {node.title}\n </a>\n {childNodes ? (\n <ul\n className=\"canopy-sub-navigation__list canopy-sub-navigation__list--nested\"\n role=\"list\"\n >\n {childNodes}\n </ul>\n ) : null}\n </li>\n );\n });\n },\n [handleAnchorClick, activeId, getSavedDepth]\n );\n\n const nestedItems = React.useMemo(() => renderNodes(items), [items, renderNodes]);\n\n const topLink = headingId\n ? (\n <li className=\"canopy-sub-navigation__item\" data-depth={0}>\n <a\n className={`canopy-sub-navigation__link depth-0${activeId === headingId ? ' is-active' : ''}`}\n href={`#${headingId}`}\n onClick={(event) => handleAnchorClick(event, headingId, { scrollToTop: true })}\n aria-current={activeId === headingId ? 'location' : undefined}\n >\n {effectiveHeading || pageTitle || headingId}\n </a>\n {nestedItems ? (\n <ul\n className=\"canopy-sub-navigation__list canopy-sub-navigation__list--nested\"\n role=\"list\"\n >\n {nestedItems}\n </ul>\n ) : null}\n </li>\n )\n : null;\n\n return (\n <nav\n className={combinedClassName}\n style={style}\n aria-label={navLabel}\n data-canopy-content-nav=\"true\"\n >\n <button\n type=\"button\"\n className=\"canopy-content-navigation__toggle\"\n aria-expanded=\"false\"\n aria-label=\"Show section navigation\"\n title=\"Show section navigation\"\n data-canopy-content-nav-toggle=\"true\"\n data-show-label=\"Show\"\n data-hide-label=\"Hide\"\n data-show-full-label=\"Show section navigation\"\n data-hide-full-label=\"Hide section navigation\"\n >\n Show\n </button>\n <ul className=\"canopy-sub-navigation__list\" role=\"list\">\n {topLink || nestedItems}\n </ul>\n </nav>\n );\n}\n", "import React from \"react\";\nimport SearchPanel from \"../search/SearchPanel.jsx\";\nimport CanopyBrand from \"./CanopyBrand.jsx\";\nimport CanopyModal from \"./CanopyModal.jsx\";\n\nfunction HeaderScript() {\n const code = `\n(function () {\n if (typeof window === 'undefined') return;\n\n var doc = document;\n var body = doc.body;\n var root = doc.documentElement;\n\n function ready(fn) {\n if (doc.readyState === 'loading') {\n doc.addEventListener('DOMContentLoaded', fn, { once: true });\n } else {\n fn();\n }\n }\n\n ready(function () {\n var header = doc.querySelector('.canopy-header');\n if (!header) return;\n\n var NAV_ATTR = 'data-mobile-nav';\n var SEARCH_ATTR = 'data-mobile-search';\n\n function modalFor(type) {\n return doc.querySelector('[data-canopy-modal=\"' + type + '\"]');\n }\n\n function each(list, fn) {\n if (!list || typeof fn !== 'function') return;\n Array.prototype.forEach.call(list, fn);\n }\n\n function setExpanded(type, expanded) {\n var toggles = header.querySelectorAll('[data-canopy-header-toggle=\"' + type + '\"]');\n each(toggles, function (btn) {\n btn.setAttribute('aria-expanded', expanded ? 'true' : 'false');\n });\n var modal = modalFor(type);\n if (modal) {\n modal.setAttribute('data-open', expanded ? 'true' : 'false');\n modal.setAttribute('aria-hidden', expanded ? 'false' : 'true');\n }\n }\n\n function lockScroll(shouldLock) {\n if (!body) return;\n if (shouldLock) {\n if (!body.dataset.canopyScrollLock) {\n body.dataset.canopyScrollPrevOverflow = body.style.overflow || '';\n if (root && root.dataset) {\n root.dataset.canopyScrollPrevOverflow = root.style.overflow || '';\n }\n }\n body.dataset.canopyScrollLock = '1';\n body.style.overflow = 'hidden';\n if (root) root.style.overflow = 'hidden';\n } else {\n if (body.dataset.canopyScrollLock) {\n delete body.dataset.canopyScrollLock;\n body.style.overflow = body.dataset.canopyScrollPrevOverflow || '';\n delete body.dataset.canopyScrollPrevOverflow;\n }\n if (root && root.dataset) {\n root.style.overflow = root.dataset.canopyScrollPrevOverflow || '';\n delete root.dataset.canopyScrollPrevOverflow;\n }\n }\n }\n\n function stateFor(type) {\n if (type === 'nav') return header.getAttribute(NAV_ATTR);\n if (type === 'search') return header.getAttribute(SEARCH_ATTR);\n return 'closed';\n }\n\n function focusSearchForm() {\n var input = header.querySelector('[data-canopy-search-form-input]');\n if (!input) return;\n var raf = typeof window !== 'undefined' && window.requestAnimationFrame;\n (raf || function (fn) { return setTimeout(fn, 16); })(function () {\n try {\n input.focus({ preventScroll: true });\n } catch (_) {\n try { input.focus(); } catch (_) {}\n }\n });\n }\n\n function focusNavMenu() {\n var modal = modalFor('nav');\n if (!modal) return;\n var target = modal.querySelector('button, a, input, [tabindex]:not([tabindex=\"-1\"])');\n if (!target) return;\n var raf = typeof window !== 'undefined' && window.requestAnimationFrame;\n (raf || function (fn) { return setTimeout(fn, 16); })(function () {\n try {\n target.focus({ preventScroll: true });\n } catch (_) {\n try { target.focus(); } catch (_) {}\n }\n });\n }\n\n function setState(type, next) {\n if (type === 'nav') header.setAttribute(NAV_ATTR, next);\n if (type === 'search') header.setAttribute(SEARCH_ATTR, next);\n setExpanded(type, next === 'open');\n var navOpen = header.getAttribute(NAV_ATTR) === 'open';\n var searchOpen = header.getAttribute(SEARCH_ATTR) === 'open';\n lockScroll(navOpen || searchOpen);\n }\n\n function toggle(type, force) {\n var current = stateFor(type) === 'open';\n var shouldOpen = typeof force === 'boolean' ? force : !current;\n if (shouldOpen && type === 'nav') setState('search', 'closed');\n if (shouldOpen && type === 'search') setState('nav', 'closed');\n setState(type, shouldOpen ? 'open' : 'closed');\n if (type === 'search' && shouldOpen) focusSearchForm();\n if (type === 'nav' && shouldOpen) focusNavMenu();\n }\n\n each(header.querySelectorAll('[data-canopy-header-toggle]'), function (btn) {\n btn.addEventListener('click', function (event) {\n event.preventDefault();\n var type = btn.getAttribute('data-canopy-header-toggle');\n if (!type) return;\n toggle(type);\n });\n });\n\n each(doc.querySelectorAll('[data-canopy-header-close]'), function (btn) {\n btn.addEventListener('click', function () {\n var type = btn.getAttribute('data-canopy-header-close');\n if (!type) return;\n toggle(type, false);\n });\n });\n\n var navModal = modalFor('nav');\n if (navModal) {\n navModal.addEventListener('click', function (event) {\n if (event.target === navModal) {\n toggle('nav', false);\n return;\n }\n var target = event.target && event.target.closest && event.target.closest('a');\n if (!target) return;\n toggle('nav', false);\n });\n }\n\n var searchModal = modalFor('search');\n if (searchModal) {\n searchModal.addEventListener('click', function (event) {\n if (event.target === searchModal) toggle('search', false);\n });\n }\n\n doc.addEventListener('keydown', function (event) {\n if (event.key !== 'Escape') return;\n var navOpen = header.getAttribute(NAV_ATTR) === 'open';\n var searchOpen = header.getAttribute(SEARCH_ATTR) === 'open';\n if (!navOpen && !searchOpen) return;\n event.preventDefault();\n toggle('nav', false);\n toggle('search', false);\n });\n\n var mq = window.matchMedia('(min-width: 48rem)');\n function syncDesktopState() {\n if (mq.matches) {\n setState('nav', 'closed');\n setState('search', 'closed');\n setExpanded('nav', false);\n setExpanded('search', false);\n lockScroll(false);\n }\n }\n\n try {\n mq.addEventListener('change', syncDesktopState);\n } catch (_) {\n mq.addListener(syncDesktopState);\n }\n\n syncDesktopState();\n });\n})();\n `;\n\n return (\n <script\n dangerouslySetInnerHTML={{\n __html: code,\n }}\n />\n );\n}\n\nconst CONTEXT_KEY =\n typeof Symbol === \"function\"\n ? Symbol.for(\"__CANOPY_PAGE_CONTEXT__\")\n : \"__CANOPY_PAGE_CONTEXT__\";\n\nfunction getSharedRoot() {\n if (typeof globalThis !== \"undefined\") return globalThis;\n if (typeof window !== \"undefined\") return window;\n if (typeof global !== \"undefined\") return global;\n return null;\n}\n\nfunction getSafePageContext() {\n const root = getSharedRoot();\n if (root && root[CONTEXT_KEY]) return root[CONTEXT_KEY];\n const ctx = React.createContext({ navigation: null, page: null });\n if (root) root[CONTEXT_KEY] = ctx;\n return ctx;\n}\n\nfunction ensureArray(navLinks) {\n if (!Array.isArray(navLinks)) return [];\n return navLinks.filter(\n (link) => link && typeof link === \"object\" && typeof link.href === \"string\"\n );\n}\n\nfunction SectionNavList({ root }) {\n if (!root || !Array.isArray(root.children) || !root.children.length) return null;\n return (\n <ul className=\"canopy-modal__section-list\" role=\"list\">\n {root.children.map((node) => (\n <SectionNavItem key={node.slug || node.href || node.title} node={node} depth={0} />\n ))}\n </ul>\n );\n}\n\nfunction SectionNavItem({ node, depth }) {\n if (!node) return null;\n const hasChildren = Array.isArray(node.children) && node.children.length > 0;\n const Tag = node.href ? \"a\" : \"span\";\n const classes = [\n \"canopy-modal__section-link\",\n `depth-${Math.min(5, Math.max(0, depth + 1))}`,\n ];\n if (!node.href) classes.push(\"is-label\");\n if (node.isActive) classes.push(\"is-active\");\n\n return (\n <li className=\"canopy-modal__section-item\" data-depth={depth}>\n <Tag\n className={classes.join(\" \")}\n href={node.href || undefined}\n aria-current={node.isActive ? \"page\" : undefined}\n >\n {node.title || node.slug}\n </Tag>\n {hasChildren ? (\n <ul className=\"canopy-modal__section-list canopy-modal__section-list--nested\" role=\"list\">\n {node.children.map((child) => (\n <SectionNavItem key={child.slug || child.href || child.title} node={child} depth={depth + 1} />\n ))}\n </ul>\n ) : null}\n </li>\n );\n}\n\nexport default function CanopyHeader(props = {}) {\n const {\n navigation: navLinksProp,\n searchLabel = \"Search\",\n searchHotkey = \"mod+k\",\n searchPlaceholder = \"Search\u2026\",\n brandHref = \"/\",\n title = \"Canopy IIIF\",\n logo: SiteLogo,\n } = props;\n\n const navLinks = ensureArray(navLinksProp);\n const PageContext = getSafePageContext();\n const context = React.useContext(PageContext);\n const sectionNavigation =\n context && context.navigation && context.navigation.root\n ? context.navigation\n : null;\n const sectionHeading =\n (sectionNavigation && sectionNavigation.title) ||\n (sectionNavigation && sectionNavigation.root\n ? sectionNavigation.root.title\n : \"\");\n const hasSectionNav = !!(\n sectionNavigation &&\n sectionNavigation.root &&\n Array.isArray(sectionNavigation.root.children) &&\n sectionNavigation.root.children.length\n );\n const sectionLabel = sectionHeading\n ? `More in ${sectionHeading}`\n : \"More in this section\";\n const sectionAriaLabel = sectionHeading\n ? `${sectionHeading} section navigation`\n : \"Section navigation\";\n\n return (\n <>\n <header\n className=\"canopy-header\"\n data-mobile-nav=\"closed\"\n data-mobile-search=\"closed\"\n >\n <div className=\"canopy-header__brand\">\n <CanopyBrand\n label={title}\n href={brandHref}\n className=\"canopy-header__brand-link\"\n Logo={SiteLogo}\n />\n </div>\n\n <div className=\"canopy-header__desktop-search\">\n <SearchPanel\n label={searchLabel}\n hotkey={searchHotkey}\n placeholder={searchPlaceholder}\n />\n </div>\n\n <nav\n className=\"canopy-nav-links canopy-header__desktop-nav\"\n aria-label=\"Primary navigation\"\n >\n {navLinks.map((link) => (\n <a key={link.href} href={link.href}>\n {link.label || link.href}\n </a>\n ))}\n </nav>\n\n <div className=\"canopy-header__actions\">\n <button\n type=\"button\"\n className=\"canopy-header__icon-button canopy-header__search-trigger\"\n aria-label=\"Open search\"\n aria-controls=\"canopy-modal-search\"\n aria-expanded=\"false\"\n data-canopy-header-toggle=\"search\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n className=\"canopy-header__search-icon\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"m21 21-3.8-3.8M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z\"\n />\n </svg>\n </button>\n <button\n type=\"button\"\n className=\"canopy-header__icon-button canopy-header__menu\"\n aria-label=\"Open navigation\"\n aria-controls=\"canopy-modal-nav\"\n aria-expanded=\"false\"\n data-canopy-header-toggle=\"nav\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth=\"1.5\"\n stroke=\"currentColor\"\n className=\"canopy-header__menu-icon\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\n />\n </svg>\n </button>\n </div>\n </header>\n\n <CanopyModal\n id=\"canopy-modal-nav\"\n variant=\"nav\"\n labelledBy=\"canopy-modal-nav-label\"\n label={title}\n logo={SiteLogo}\n href={brandHref}\n closeLabel=\"Close navigation\"\n closeDataAttr=\"nav\"\n >\n <nav\n className=\"canopy-nav-links canopy-modal__nav\"\n aria-label=\"Primary navigation\"\n >\n {navLinks.map((link) => (\n <a key={link.href} href={link.href}>\n {link.label || link.href}\n </a>\n ))}\n </nav>\n {hasSectionNav ? (\n <nav\n className=\"canopy-modal__section-nav\"\n aria-label={sectionAriaLabel}\n >\n <div className=\"canopy-modal__section-label\">{sectionLabel}</div>\n <SectionNavList root={sectionNavigation.root} />\n </nav>\n ) : null}\n </CanopyModal>\n\n <CanopyModal\n id=\"canopy-modal-search\"\n variant=\"search\"\n labelledBy=\"canopy-modal-search-label\"\n label={title}\n logo={SiteLogo}\n href={brandHref}\n closeLabel=\"Close search\"\n closeDataAttr=\"search\"\n bodyClassName=\"canopy-modal__body--search\"\n >\n <SearchPanel\n label={searchLabel}\n hotkey={searchHotkey}\n placeholder={searchPlaceholder}\n />\n </CanopyModal>\n\n <HeaderScript />\n </>\n );\n}\n", "import React from 'react';\nimport SearchPanelForm, { resolveSearchPath } from './SearchPanelForm.jsx';\nimport SearchPanelTeaserResults from './SearchPanelTeaserResults.jsx';\n\n// High-level SearchPanel composed of a teaser form and teaser results panel.\n// Encodes configuration as JSON for the client runtime.\nexport default function SearchPanel(props = {}) {\n const {\n placeholder = 'Search\u2026',\n hotkey = 'mod+k',\n maxResults = 8,\n groupOrder = ['work', 'docs', 'page'],\n // Kept for backward compat; form always renders submit\n button = true, // eslint-disable-line no-unused-vars\n buttonLabel = 'Search',\n label,\n searchPath = '/search',\n } = props || {};\n\n const text = typeof label === 'string' && label.trim() ? label.trim() : buttonLabel;\n const resolvedSearchPath = resolveSearchPath(searchPath);\n const data = { placeholder, hotkey, maxResults, groupOrder, label: text, searchPath: resolvedSearchPath };\n\n return (\n <div data-canopy-search-form className=\"flex-1 min-w-0\">\n <div className=\"relative w-full\">\n <SearchPanelForm placeholder={placeholder} buttonLabel={buttonLabel} label={label} searchPath={resolvedSearchPath} />\n <SearchPanelTeaserResults />\n </div>\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }} />\n </div>\n );\n}\n", "import React from \"react\";\n\nexport const MagnifyingGlassIcon = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" {...props}>\n <path d=\"M456.69 421.39L362.6 327.3a173.81 173.81 0 0034.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 00327.3 362.6l94.09 94.09a25 25 0 0035.3-35.3zM97.92 222.72a124.8 124.8 0 11124.8 124.8 124.95 124.95 0 01-124.8-124.8z\" />\n </svg>\n);\n", "import {MagnifyingGlassIcon} from \"../Icons\";\nimport React from \"react\";\n\nfunction readBasePath() {\n const normalize = (val) => {\n const raw = typeof val === \"string\" ? val.trim() : \"\";\n if (!raw) return \"\";\n return raw.replace(/\\/+$/, \"\");\n };\n try {\n if (typeof window !== \"undefined\" && window.CANOPY_BASE_PATH != null) {\n const fromWindow = normalize(window.CANOPY_BASE_PATH);\n if (fromWindow) return fromWindow;\n }\n } catch (_) {}\n try {\n if (\n typeof globalThis !== \"undefined\" &&\n globalThis.CANOPY_BASE_PATH != null\n ) {\n const fromGlobal = normalize(globalThis.CANOPY_BASE_PATH);\n if (fromGlobal) return fromGlobal;\n }\n } catch (_) {}\n try {\n if (\n typeof process !== \"undefined\" &&\n process.env &&\n process.env.CANOPY_BASE_PATH\n ) {\n const fromEnv = normalize(process.env.CANOPY_BASE_PATH);\n if (fromEnv) return fromEnv;\n }\n } catch (_) {}\n return \"\";\n}\n\nfunction isAbsoluteUrl(href) {\n try {\n return /^https?:/i.test(String(href || \"\"));\n } catch (_) {\n return false;\n }\n}\n\nexport function resolveSearchPath(pathValue) {\n let raw = typeof pathValue === \"string\" ? pathValue.trim() : \"\";\n if (!raw) raw = \"/search\";\n if (isAbsoluteUrl(raw)) return raw;\n const normalizedPath = raw.startsWith(\"/\") ? raw : `/${raw}`;\n const base = readBasePath();\n if (!base) return normalizedPath;\n const baseWithLead = base.startsWith(\"/\") ? base : `/${base}`;\n const baseTrimmed = baseWithLead.replace(/\\/+$/, \"\");\n if (!baseTrimmed) return normalizedPath;\n if (\n normalizedPath === baseTrimmed ||\n normalizedPath.startsWith(`${baseTrimmed}/`)\n ) {\n return normalizedPath;\n }\n const pathTrimmed = normalizedPath.replace(/^\\/+/, \"\");\n return `${baseTrimmed}/${pathTrimmed}`;\n}\n\nexport default function SearchPanelForm(props = {}) {\n const {\n placeholder = \"Search\u2026\",\n buttonLabel = \"Search\",\n label,\n searchPath = \"/search\",\n inputId: inputIdProp,\n clearLabel = \"Clear search\",\n } = props || {};\n\n const text =\n typeof label === \"string\" && label.trim() ? label.trim() : buttonLabel;\n const action = React.useMemo(\n () => resolveSearchPath(searchPath),\n [searchPath]\n );\n const autoId = typeof React.useId === \"function\" ? React.useId() : undefined;\n const [fallbackId] = React.useState(\n () => `canopy-search-form-${Math.random().toString(36).slice(2, 10)}`\n );\n const inputId = inputIdProp || autoId || fallbackId;\n const inputRef = React.useRef(null);\n const [hasValue, setHasValue] = React.useState(false);\n\n const focusInput = React.useCallback(() => {\n const el = inputRef.current;\n if (!el) return;\n if (document.activeElement === el) return;\n try {\n el.focus({preventScroll: true});\n } catch (_) {\n try {\n el.focus();\n } catch (_) {}\n }\n }, []);\n\n const handlePointerDown = React.useCallback(\n (event) => {\n const target = event.target;\n if (target && typeof target.closest === \"function\") {\n if (target.closest(\"[data-canopy-search-form-trigger]\")) return;\n if (target.closest(\"[data-canopy-search-form-clear]\")) return;\n }\n event.preventDefault();\n focusInput();\n },\n [focusInput]\n );\n\n React.useEffect(() => {\n const el = inputRef.current;\n if (!el) return;\n if (el.value && el.value.trim()) {\n setHasValue(true);\n }\n }, []);\n\n const handleInputChange = React.useCallback((event) => {\n const nextHasValue = Boolean(\n event?.target?.value && event.target.value.trim()\n );\n setHasValue(nextHasValue);\n }, []);\n\n const handleClear = React.useCallback((event) => {}, []);\n\n const handleClearKey = React.useCallback(\n (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n handleClear(event);\n }\n },\n [handleClear]\n );\n\n return (\n <form\n action={action}\n method=\"get\"\n role=\"search\"\n autoComplete=\"off\"\n spellCheck=\"false\"\n className=\"canopy-search-form canopy-search-form-shell\"\n onPointerDown={handlePointerDown}\n data-has-value={hasValue ? \"1\" : \"0\"}\n >\n <label htmlFor={inputId} className=\"canopy-search-form__label\">\n <MagnifyingGlassIcon className=\"canopy-search-form__icon\" />\n <input\n id={inputId}\n type=\"search\"\n name=\"q\"\n inputMode=\"search\"\n data-canopy-search-form-input\n placeholder={placeholder}\n className=\"canopy-search-form__input\"\n aria-label=\"Search\"\n ref={inputRef}\n onChange={handleInputChange}\n onInput={handleInputChange}\n />\n </label>\n {hasValue ? (\n <button\n type=\"button\"\n className=\"canopy-search-form__clear\"\n onClick={handleClear}\n onPointerDown={(event) => event.stopPropagation()}\n onKeyDown={handleClearKey}\n aria-label={clearLabel}\n data-canopy-search-form-clear\n >\n \u00D7\n </button>\n ) : null}\n <button\n type=\"submit\"\n data-canopy-search-form-trigger=\"submit\"\n className=\"canopy-search-form__submit\"\n >\n {text}\n </button>\n </form>\n );\n}\n", "import React from \"react\";\n\n// SSR placeholder for teaser results panel; the runtime controls visibility and content.\nexport default function SearchPanelTeaserResults(props = {}) {\n const { style, className } = props || {};\n const classes = [\"canopy-search-teaser\", \"is-empty\", className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div\n data-canopy-search-form-panel\n hidden\n className={classes || undefined}\n style={style}\n >\n <div id=\"cplist\" className=\"canopy-search-teaser__list\" />\n </div>\n );\n}\n", "import React from 'react';\n\nexport default function CanopyBrand(props = {}) {\n const {\n labelId,\n label = 'Canopy IIIF',\n href = '/',\n className,\n Logo,\n } = props || {};\n const spanProps = labelId ? {id: labelId} : {};\n const classes = ['canopy-logo', className].filter(Boolean).join(' ');\n\n return (\n <a href={href} className={classes}>\n {typeof Logo === 'function' ? <Logo /> : null}\n <span {...spanProps}>{label}</span>\n </a>\n );\n}\n", "import React from 'react';\nimport CanopyBrand from './CanopyBrand.jsx';\n\nexport default function CanopyModal(props = {}) {\n const {\n id,\n variant,\n open = false,\n labelledBy,\n label,\n logo: Logo,\n href = '/',\n closeLabel = 'Close',\n closeDataAttr,\n onClose,\n onBackgroundClick,\n bodyClassName,\n padded = true,\n className,\n children,\n } = props;\n\n const rootClassName = ['canopy-modal', variant ? `canopy-modal--${variant}` : null, className]\n .filter(Boolean)\n .join(' ');\n\n const modalProps = {\n id,\n className: rootClassName,\n role: 'dialog',\n 'aria-modal': 'true',\n 'aria-hidden': open ? 'false' : 'true',\n 'data-open': open ? 'true' : 'false',\n };\n\n if (variant) modalProps['data-canopy-modal'] = variant;\n\n const resolvedLabelId = labelledBy || (label ? `${variant || 'modal'}-label` : undefined);\n if (resolvedLabelId) modalProps['aria-labelledby'] = resolvedLabelId;\n\n if (typeof onBackgroundClick === 'function') {\n modalProps.onClick = (event) => {\n if (event.target === event.currentTarget) onBackgroundClick(event);\n };\n }\n\n const closeButtonProps = {\n type: 'button',\n className: 'canopy-modal__close',\n 'aria-label': closeLabel,\n };\n\n if (typeof closeDataAttr === 'string' && closeDataAttr) {\n closeButtonProps['data-canopy-header-close'] = closeDataAttr;\n }\n\n if (typeof onClose === 'function') {\n closeButtonProps.onClick = onClose;\n }\n\n const bodyClasses = ['canopy-modal__body'];\n if (padded) bodyClasses.push('canopy-modal__body--padded');\n if (bodyClassName) bodyClasses.push(bodyClassName);\n const bodyClassNameValue = bodyClasses.join(' ');\n\n return (\n <div {...modalProps}>\n <div className=\"canopy-modal__panel\">\n <button {...closeButtonProps}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n className=\"canopy-modal__close-icon\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 6l12 12M6 18L18 6\" />\n </svg>\n <span className=\"sr-only\">{closeLabel}</span>\n </button>\n <div className={bodyClassNameValue}>\n {label ? (\n <div className=\"canopy-modal__brand\">\n <CanopyBrand\n labelId={resolvedLabelId}\n label={label}\n href={href}\n Logo={Logo}\n className=\"canopy-modal__brand-link\"\n />\n </div>\n ) : null}\n {children}\n </div>\n </div>\n </div>\n );\n}\n", "import React from 'react';\n\nexport default function CanopyFooter({ className = '', children }) {\n const footerClassName = ['canopy-footer', className].filter(Boolean).join(' ');\n\n return (\n <footer className={footerClassName}>\n <div className=\"canopy-footer__inner\">{children}</div>\n </footer>\n );\n}\n", "import React from \"react\";\n\nexport default function TeaserCard({\n href = \"\",\n title = \"\",\n metadata = [],\n summary = \"\",\n thumbnail = null,\n type = \"work\",\n className = \"\",\n ...rest\n}) {\n const Tag = href ? \"a\" : \"div\";\n const classes = [\n \"canopy-card\",\n \"canopy-card--teaser\",\n \"canopy-search-teaser__item\",\n \"canopy-teaser-card\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n const showThumb = type === \"work\" && thumbnail;\n const metaLine = (\n Array.isArray(metadata) && metadata.length\n ? metadata.filter(Boolean)\n : summary\n ? [summary]\n : []\n )\n .filter(Boolean)\n .slice(0, 2)\n .join(\" \u2022 \");\n\n return (\n <Tag\n className={classes}\n href={href || undefined}\n data-canopy-item={href ? \"\" : undefined}\n {...rest}\n >\n {showThumb ? (\n <div className=\"canopy-search-teaser__thumb\">\n <img\n src={thumbnail}\n alt=\"\"\n loading=\"lazy\"\n className=\"canopy-search-teaser__thumb-img\"\n />\n </div>\n ) : null}\n <div className=\"canopy-search-teaser__text\">\n <span className=\"canopy-search-teaser__title\">\n {title || href || 'Untitled'}\n </span>\n {metaLine ? (\n <span className=\"canopy-search-teaser__meta\">{metaLine}</span>\n ) : null}\n </div>\n </Tag>\n );\n}\n", "import React from 'react';\n\nconst GA_HOST = 'https://www.googletagmanager.com/gtag/js';\n\nexport default function GoogleAnalytics({ id }) {\n if (!id) return null;\n\n const inlineConfig = `\n window.dataLayer = window.dataLayer || [];\n function gtag(){window.dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${id}');\n `;\n\n return (\n <>\n <script async src={`${GA_HOST}?id=${encodeURIComponent(id)}`}></script>\n <script dangerouslySetInnerHTML={{ __html: inlineConfig }} />\n </>\n );\n}\n", "import React from \"react\";\n\nexport default function Container({\n className = \"\",\n variant = \"content\",\n children,\n ...rest\n}) {\n const variantClass = variant === \"wide\" ? \"max-w-wide\" : \"max-w-content\";\n const classes = [\"mx-auto\", variantClass, \"w-full\", className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div\n className={classes}\n {...rest}\n style={{...rest.style, padding: \"1.618rem\"}}\n >\n {children}\n </div>\n );\n}\n", "import React, { useEffect, useRef, useState } from \"react\";\n\nconst DEFAULT_CARD_ASPECT_RATIO = 4 / 3; // match ReferencedItems proportions\n\n/**\n * Card\n *\n * Renders an anchor wrapping a figure with an image and caption.\n * Minimal styling; consumers can override via className/style.\n *\n * Props:\n * - href: string (required) \u2014 link target\n * - src: string (optional) \u2014 image source\n * - alt: string (optional) \u2014 image alt text (falls back to title)\n * - title: string (optional) \u2014 primary caption text\n * - subtitle: string (optional) \u2014 secondary caption text\n * - className: string (optional)\n * - style: object (optional)\n * - children: ReactNode (optional) \u2014 appended inside figcaption\n */\nexport default function Card({\n href,\n src,\n alt,\n title,\n subtitle,\n // Optional intrinsic dimensions or aspect ratio to compute a responsive height\n imgWidth,\n imgHeight,\n aspectRatio,\n className,\n style,\n children,\n lazy = true,\n ...rest\n}) {\n const containerRef = useRef(null);\n const isBrowser = typeof window !== \"undefined\";\n const supportsIntersectionObserver =\n typeof IntersectionObserver === \"function\";\n const shouldRenderImmediately =\n !lazy || !isBrowser || !supportsIntersectionObserver;\n const [inView, setInView] = useState(shouldRenderImmediately);\n const [imageLoaded, setImageLoaded] = useState(shouldRenderImmediately);\n\n /**\n * Use IntersectionObserver to detect when the card enters the viewport.\n * When in view, setInView(true) to trigger image loading.\n * If IntersectionObserver is not supported, default to inView=true.\n */\n useEffect(() => {\n if (!lazy) return;\n if (!containerRef.current) return;\n if (!supportsIntersectionObserver) {\n setInView(true);\n return;\n }\n const el = containerRef.current;\n const obs = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n setInView(true);\n try {\n obs.unobserve(el);\n } catch (_) {}\n break;\n }\n }\n },\n { root: null, rootMargin: \"100px\", threshold: 0.1 }\n );\n try {\n obs.observe(el);\n } catch (_) {}\n return () => {\n try {\n obs.disconnect();\n } catch (_) {}\n };\n }, [lazy, supportsIntersectionObserver]);\n\n /**\n * Calculate aspect ratio and padding percent for responsive image container.\n */\n const w = Number(imgWidth);\n const h = Number(imgHeight);\n const hasAspectRatio =\n Number.isFinite(Number(aspectRatio)) && Number(aspectRatio) > 0;\n const hasDimensions =\n Number.isFinite(w) && w > 0 && Number.isFinite(h) && h > 0;\n const ratio = hasAspectRatio\n ? Number(aspectRatio)\n : hasDimensions\n ? w / h\n : src\n ? DEFAULT_CARD_ASPECT_RATIO\n : undefined;\n const paddingPercent = ratio ? 100 / ratio : 100;\n\n /**\n * Caption element (figcaption), rendered if title, subtitle, or children are provided.\n */\n const caption = (\n <figcaption>\n {title && <span>{title}</span>}\n {subtitle && <span>{subtitle}</span>}\n {children}\n </figcaption>\n );\n\n return (\n <a\n href={href}\n className={[\"canopy-card\", className].filter(Boolean).join(\" \")}\n style={style}\n ref={containerRef}\n data-aspect-ratio={ratio}\n data-in-view={inView ? \"true\" : \"false\"}\n data-image-loaded={imageLoaded ? \"true\" : \"false\"}\n {...rest}\n >\n <figure>\n {src ? (\n ratio ? (\n <div\n className=\"canopy-card-media\"\n style={{ \"--canopy-card-padding\": `${paddingPercent}%` }}\n >\n {inView ? (\n <img\n src={src}\n alt={alt || title || \"\"}\n loading=\"lazy\"\n onLoad={() => setImageLoaded(true)}\n onError={() => setImageLoaded(true)}\n />\n ) : null}\n </div>\n ) : (\n <img\n src={src}\n alt={alt || title || \"\"}\n loading=\"lazy\"\n onLoad={() => setImageLoaded(true)}\n onError={() => setImageLoaded(true)}\n className=\"canopy-card-image\"\n />\n )\n ) : null}\n {caption}\n </figure>\n </a>\n );\n}\n", "import React from \"react\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\nimport Card from \"../layout/Card.jsx\";\n\nfunction useReferencedItems(itemsProp) {\n if (Array.isArray(itemsProp)) return itemsProp;\n const PageContext =\n navigationHelpers && typeof navigationHelpers.getPageContext === \"function\"\n ? navigationHelpers.getPageContext()\n : null;\n if (!PageContext) return [];\n const context = React.useContext(PageContext);\n const items = context && context.page ? context.page.referencedItems : null;\n return Array.isArray(items) ? items : [];\n}\n\nexport default function ReferencedItems({\n items: itemsProp,\n emptyLabel = null,\n className = \"\",\n children,\n ...rest\n}) {\n const items = useReferencedItems(itemsProp);\n const hasItems = items.length > 0;\n\n if (!hasItems) {\n if (!emptyLabel) return null;\n const emptyClass = [\n \"referenced-items\",\n \"referenced-items--empty\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n return (\n <div className={emptyClass} {...rest}>\n {typeof emptyLabel === \"function\" ? emptyLabel() : emptyLabel}\n </div>\n );\n }\n\n const containerClassName = [\"referenced-items\", className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <section className={containerClassName} {...rest}>\n {children}\n <div className=\"referenced-items__grid\" role=\"list\">\n {items.map((item) => {\n if (!item) return null;\n const key = item.href || item.slug || item.id;\n return (\n <div className=\"referenced-items__item\" role=\"listitem\" key={key}>\n <Card\n href={item.href}\n src={item.thumbnail}\n imgWidth={item.thumbnailWidth}\n imgHeight={item.thumbnailHeight}\n title={item.title}\n subtitle={item.summary}\n className=\"referenced-items__card\"\n lazy={false}\n />\n </div>\n );\n })}\n </div>\n </section>\n );\n}\n", "import React from \"react\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\nimport referenced from \"../../../lib/components/referenced.js\";\n\nfunction getPageContext() {\n if (!navigationHelpers || typeof navigationHelpers.getPageContext !== \"function\") {\n return null;\n }\n try {\n return navigationHelpers.getPageContext();\n } catch (_) {\n return null;\n }\n}\n\nfunction resolveReferences(manifestId, contextList) {\n if (contextList && contextList.length) return contextList;\n if (!manifestId) return [];\n try {\n return referenced.getReferencesForManifest(manifestId);\n } catch (_) {\n return [];\n }\n}\n\nexport default function References({\n id = \"\",\n title = \"Referenced by\",\n emptyLabel = null,\n className = \"\",\n children,\n ...rest\n}) {\n const PageContext = getPageContext();\n const context = PageContext ? React.useContext(PageContext) : null;\n const contextPage = context && context.page ? context.page : null;\n const manifestId = id || (contextPage && contextPage.manifestId) || \"\";\n const contextReferences = !id && contextPage && Array.isArray(contextPage.referencedBy)\n ? contextPage.referencedBy\n : null;\n const references = resolveReferences(manifestId, contextReferences);\n\n if (!manifestId) return null;\n\n const entries = references && references.length ? references : null;\n if (!entries || !entries.length) return null;\n\n const containerClass = [\"references\", className].filter(Boolean).join(\" \");\n\n return (\n <dl className={containerClass} {...rest}>\n <div className=\"references__group\">\n <dt>{title}</dt>\n {entries.map((entry) => (\n <dd key={entry.href} className=\"references__item\">\n <a href={entry.href}>{entry.title || entry.href}</a>\n </dd>\n ))}\n </div>\n </dl>\n );\n}\n", "import React from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport Timeline from \"./Timeline.jsx\";\nimport TimelinePoint from \"./TimelinePoint.jsx\";\nimport navigationHelpers from \"../../../../lib/components/navigation.js\";\nimport {\n createLocale,\n buildPointMetadata,\n} from \"./date-utils.js\";\n\nfunction normalizeManifestId(raw) {\n if (!raw) return \"\";\n try {\n const url = new URL(String(raw));\n url.hash = \"\";\n const params = Array.from(url.searchParams.entries()).sort((a, b) =>\n a[0].localeCompare(b[0]) || a[1].localeCompare(b[1])\n );\n url.search = \"\";\n params.forEach(([key, value]) => url.searchParams.append(key, value));\n return url.toString();\n } catch (_) {\n return String(raw || \"\").trim();\n }\n}\n\nconst PageContextFallback = React.createContext(null);\n\nfunction useReferencedManifestMap() {\n const PageContext = navigationHelpers?.getPageContext?.() || PageContextFallback;\n const pageContext = React.useContext(PageContext);\n const referencedItems =\n pageContext && pageContext.page && Array.isArray(pageContext.page.referencedItems)\n ? pageContext.page.referencedItems\n : [];\n return React.useMemo(() => {\n const map = new Map();\n referencedItems.forEach((item) => {\n if (!item) return;\n const id = item.id || item.href;\n if (!id) return;\n const normalized = normalizeManifestId(id);\n map.set(normalized, item);\n map.set(String(id), item);\n });\n return map;\n }, [referencedItems]);\n}\n\nfunction normalizeResource(resource, index) {\n if (!resource) return null;\n const href = resource.href || resource.id || \"\";\n const label = resource.label || resource.title || href || `Resource ${index + 1}`;\n return {\n id: resource.id || href || `timeline-resource-${index}`,\n href,\n label,\n type: resource.type || \"IIIF\",\n thumbnail: resource.thumbnail || null,\n summary: resource.summary || null,\n };\n}\n\nfunction normalizePoint(child, index, options) {\n if (!React.isValidElement(child)) return null;\n if (child.type !== TimelinePoint && child.type?.displayName !== \"TimelinePoint\")\n return null;\n const props = child.props || {};\n const id = props.id || `timeline-point-${index}`;\n const granularity =\n props.precision ||\n props.granularity ||\n (options && options.range && options.range.granularity) ||\n \"year\";\n const value =\n props.date ??\n props.value ??\n props.timestamp ??\n props.year ??\n props.label ??\n props.title;\n const meta = buildPointMetadata({\n value,\n granularity,\n locale: options.locale,\n });\n let detailsHtml = \"\";\n try {\n if (props.children) {\n detailsHtml = ReactDOMServer.renderToStaticMarkup(\n React.createElement(React.Fragment, null, props.children)\n );\n }\n } catch (_) {\n detailsHtml = \"\";\n }\n const resources = Array.isArray(props.iiifResources)\n ? props.iiifResources.map(normalizeResource).filter(Boolean)\n : [];\n const manifestValues = Array.isArray(props.referencedManifests)\n ? props.referencedManifests\n : props.manifest\n ? [props.manifest]\n : Array.isArray(props.manifests)\n ? props.manifests\n : [];\n const manifests = resolveManifestReferences(manifestValues, options.manifestMap);\n return {\n id,\n title: props.title || props.label || `Point ${index + 1}`,\n summary: props.summary || props.description || \"\",\n description: props.description || \"\",\n highlight: props.highlight === true || props.highlight === \"true\",\n side: props.side || props.align || props.alignment || null,\n meta: {\n label: meta.label,\n timestamp: meta.timestamp,\n },\n detailsHtml,\n resources,\n manifests,\n };\n}\n\nfunction resolveManifestReferences(ids, manifestMap) {\n if (!Array.isArray(ids) || !ids.length || !manifestMap) return [];\n const seen = new Set();\n const out = [];\n ids.forEach((value) => {\n if (!value) return;\n const normalized = normalizeManifestId(value);\n if (!normalized || seen.has(normalized)) return;\n seen.add(normalized);\n const record = manifestMap.get(normalized);\n if (!record) return;\n out.push({\n id: record.id || value,\n href: record.href || null,\n title: record.title || record.href || value,\n summary: record.summary || \"\",\n thumbnail: record.thumbnail || null,\n thumbnailWidth: record.thumbnailWidth,\n thumbnailHeight: record.thumbnailHeight,\n type: record.type || \"work\",\n metadata:\n Array.isArray(record.metadata) && record.metadata.length\n ? record.metadata\n : record.summary\n ? [record.summary]\n : [],\n });\n });\n return out;\n}\n\nfunction serializeProps(props, payload, locale) {\n const clone = {};\n Object.keys(props || {}).forEach((key) => {\n if (key === \"children\") return;\n const value = props[key];\n if (typeof value === \"function\" || typeof value === \"symbol\") return;\n clone[key] = value;\n });\n clone.locale = locale;\n clone.__canopyTimeline = payload;\n return clone;\n}\n\nfunction serializeForScript(data) {\n try {\n return JSON.stringify(data).replace(/</g, \"\\\\u003c\");\n } catch (_) {\n return \"{}\";\n }\n}\n\nexport default function MdxTimeline({ children, ...rest }) {\n const localeValue = rest.locale || \"en-US\";\n const localeObj = createLocale(localeValue);\n const localeBase =\n typeof localeObj === \"string\" ? localeObj : localeObj.baseName || \"en-US\";\n const manifestMap = useReferencedManifestMap();\n const childArray = React.Children.toArray(children);\n const points = childArray\n .map((child, index) =>\n normalizePoint(child, index, {\n range: rest.range || {},\n locale: localeObj,\n manifestMap,\n })\n )\n .filter(Boolean);\n const payload = {\n points,\n locale: localeBase,\n range: rest.range || null,\n threshold: rest.threshold != null ? rest.threshold : null,\n steps: rest.steps != null ? rest.steps : null,\n };\n const json = serializeForScript(serializeProps(rest, payload, localeBase));\n return (\n <div data-canopy-timeline=\"1\">\n <Timeline {...rest} __canopyTimeline={payload} />\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{ __html: json }}\n />\n </div>\n );\n}\n", "import React from \"react\";\nimport {\n createLocale,\n normalizeRange,\n clampProgress,\n formatDateLabel,\n} from \"./date-utils.js\";\nimport TeaserCard from \"../../layout/TeaserCard.jsx\";\n\nconst DAY_MS = 24 * 60 * 60 * 1000;\nconst DEFAULT_TRACK_HEIGHT = 640;\nconst MIN_HEIGHT_PER_POINT = 220;\n\nfunction getThresholdMs(threshold, granularity) {\n const value = Number(threshold);\n if (!Number.isFinite(value) || value <= 0) return 0;\n if (granularity === \"day\") return value * DAY_MS;\n if (granularity === \"month\") return value * 30 * DAY_MS;\n return value * 365 * DAY_MS;\n}\n\nfunction buildGroupedEntries(points, thresholdMs, options) {\n if (!Array.isArray(points) || !points.length) return [];\n if (!thresholdMs) return points.map((point) => ({type: \"point\", point}));\n\n const entries = [];\n let currentGroup = null;\n let groupCounter = 0;\n\n function flush() {\n if (!currentGroup) return;\n if (currentGroup.points.length > 1) {\n const firstPoint = currentGroup.points[0];\n entries.push({\n type: \"group\",\n id: `canopy-timeline-group-${groupCounter}-${currentGroup.start}`,\n points: currentGroup.points,\n progress: firstPoint.progress,\n side: firstPoint.side,\n label: formatGroupLabel(currentGroup.start, currentGroup.end, options),\n count: currentGroup.points.length,\n });\n groupCounter += 1;\n } else {\n entries.push({type: \"point\", point: currentGroup.points[0]});\n }\n currentGroup = null;\n }\n\n points.forEach((point) => {\n const timestamp = point && point.meta ? point.meta.timestamp : null;\n if (!Number.isFinite(timestamp)) {\n flush();\n if (point) entries.push({type: \"point\", point});\n return;\n }\n if (!currentGroup) {\n currentGroup = {\n points: [point],\n start: timestamp,\n end: timestamp,\n last: timestamp,\n };\n return;\n }\n const diff = Math.abs(timestamp - currentGroup.last);\n if (diff <= thresholdMs) {\n currentGroup.points.push(point);\n currentGroup.last = timestamp;\n if (timestamp < currentGroup.start) currentGroup.start = timestamp;\n if (timestamp > currentGroup.end) currentGroup.end = timestamp;\n } else {\n flush();\n currentGroup = {\n points: [point],\n start: timestamp,\n end: timestamp,\n last: timestamp,\n };\n }\n });\n\n flush();\n return entries;\n}\n\nfunction formatGroupLabel(startTs, endTs, options) {\n if (!Number.isFinite(startTs) || !Number.isFinite(endTs)) return \"\";\n const startLabel = formatDateLabel(new Date(startTs), options);\n const endLabel = formatDateLabel(new Date(endTs), options);\n if (!startLabel || !endLabel) return \"\";\n return startLabel === endLabel ? startLabel : `${startLabel} \u2013 ${endLabel}`;\n}\n\nfunction deriveRangeOverrides(points, range) {\n const timestamps = points\n .map((point) => (point && point.meta ? point.meta.timestamp : null))\n .filter((timestamp) => Number.isFinite(timestamp));\n if (!timestamps.length) return range || {};\n const earliest = Math.min(...timestamps);\n const latest = Math.max(...timestamps);\n return {\n ...range,\n start: range && range.start ? range.start : new Date(earliest),\n end: range && range.end ? range.end : new Date(latest),\n };\n}\n\nfunction getActivePointId(points) {\n const highlighted = points.find((point) => point && point.highlight);\n if (highlighted) return highlighted.id;\n return points.length ? points[0].id : null;\n}\n\nfunction formatRangeLabel(rangeInfo) {\n if (!rangeInfo) return \"\";\n const startLabel = formatDateLabel(rangeInfo.startDate, {\n granularity: rangeInfo.granularity,\n locale: rangeInfo.locale,\n });\n const endLabel = formatDateLabel(rangeInfo.endDate, {\n granularity: rangeInfo.granularity,\n locale: rangeInfo.locale,\n });\n if (!startLabel || !endLabel) return \"\";\n if (startLabel === endLabel) return startLabel;\n return `${startLabel} \u2013 ${endLabel}`;\n}\n\nfunction sanitizePoints(points) {\n if (!Array.isArray(points)) return [];\n return points\n .map((point, index) => {\n if (!point) return null;\n const meta = point.meta || {};\n const timestamp = Number(meta.timestamp);\n const manifests = Array.isArray(point.manifests)\n ? point.manifests\n .map((manifest) => (manifest ? {...manifest} : null))\n .filter(Boolean)\n : [];\n const resources = Array.isArray(point.resources)\n ? point.resources.filter(Boolean)\n : [];\n return {\n ...point,\n id: point.id || `timeline-point-${index}`,\n title: point.title || point.label || `Point ${index + 1}`,\n summary: point.summary || point.description || \"\",\n detailsHtml: point.detailsHtml || \"\",\n highlight: !!point.highlight,\n side:\n point.side === \"left\" || point.side === \"right\" ? point.side : null,\n meta: {\n label: meta.label || \"\",\n timestamp: Number.isFinite(timestamp) ? timestamp : null,\n },\n manifests,\n resources,\n };\n })\n .filter(Boolean);\n}\n\nfunction resolveTrackHeight(height, pointCount) {\n const minimumPx = Math.max(\n DEFAULT_TRACK_HEIGHT,\n pointCount * MIN_HEIGHT_PER_POINT\n );\n const fallback = `${minimumPx}px`;\n if (height == null) return fallback;\n if (typeof height === \"number\") {\n const numeric = Number(height);\n if (Number.isFinite(numeric)) {\n return `${Math.max(numeric, pointCount * MIN_HEIGHT_PER_POINT)}px`;\n }\n return fallback;\n }\n if (typeof height === \"string\") {\n const trimmed = height.trim();\n if (!trimmed) return fallback;\n const numeric = Number(trimmed);\n if (Number.isFinite(numeric)) {\n return `${Math.max(numeric, pointCount * MIN_HEIGHT_PER_POINT)}px`;\n }\n return trimmed;\n }\n return fallback;\n}\n\nfunction TimelineConnector({side, isActive, highlight}) {\n const connectorClasses = [\n \"canopy-timeline__connector\",\n side === \"left\"\n ? \"canopy-timeline__connector--left\"\n : \"canopy-timeline__connector--right\",\n ]\n .filter(Boolean)\n .join(\" \");\n const dotClasses = [\n \"canopy-timeline__connector-dot\",\n highlight || isActive ? \"is-active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n return (\n <span className={connectorClasses} aria-hidden=\"true\">\n {side === \"left\" ? (\n <>\n <span className=\"canopy-timeline__connector-line\" />\n <span className={dotClasses} />\n </>\n ) : (\n <>\n <span className={dotClasses} />\n <span className=\"canopy-timeline__connector-line\" />\n </>\n )}\n </span>\n );\n}\n\nfunction renderResourceSection(point) {\n if (!point) return null;\n const manifestCards = Array.isArray(point.manifests)\n ? point.manifests.filter(Boolean)\n : [];\n const legacyResources = Array.isArray(point.resources)\n ? point.resources.filter(Boolean)\n : [];\n if (!manifestCards.length && !legacyResources.length) return null;\n return (\n <div className=\"canopy-timeline__resources\">\n <div className=\"canopy-timeline__resources-list\">\n {manifestCards.map((manifest) => (\n <div key={manifest.id || manifest.href}>\n <TeaserCard\n href={manifest.href}\n title={manifest.title || manifest.href}\n summary={manifest.summary}\n metadata={\n Array.isArray(manifest.metadata) && manifest.metadata.length\n ? manifest.metadata\n : manifest.summary\n ? [manifest.summary]\n : []\n }\n thumbnail={manifest.thumbnail}\n type={manifest.type || \"work\"}\n />\n </div>\n ))}\n {legacyResources.map((resource, idx) => (\n <div key={resource.id || resource.href || `legacy-${idx}`}>\n <TeaserCard\n href={resource.href}\n title={resource.label || resource.title || resource.href}\n summary={resource.summary}\n thumbnail={resource.thumbnail}\n type={resource.type || \"resource\"}\n />\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nexport default function Timeline({\n className = \"\",\n title,\n description,\n range: rangeProp,\n locale: localeProp = \"en-US\",\n height = DEFAULT_TRACK_HEIGHT,\n threshold: thresholdProp = null,\n steps = null,\n points: pointsProp,\n __canopyTimeline: payload = null,\n ...rest\n}) {\n const payloadPoints =\n payload && Array.isArray(payload.points) ? payload.points : null;\n const rawPoints = React.useMemo(() => {\n if (Array.isArray(pointsProp) && pointsProp.length) return pointsProp;\n if (payloadPoints && payloadPoints.length) return payloadPoints;\n return [];\n }, [pointsProp, payloadPoints]);\n\n const sanitizedPoints = React.useMemo(\n () => sanitizePoints(rawPoints),\n [rawPoints]\n );\n\n const localeValue = payload && payload.locale ? payload.locale : localeProp;\n const baseLocale = React.useMemo(\n () => createLocale(localeValue),\n [localeValue]\n );\n\n const rangeInput = payload && payload.range ? payload.range : rangeProp || {};\n const rangeOverrides = React.useMemo(\n () => deriveRangeOverrides(sanitizedPoints, rangeInput),\n [sanitizedPoints, rangeInput]\n );\n const effectiveRange = React.useMemo(\n () =>\n normalizeRange({\n ...rangeOverrides,\n locale: baseLocale,\n }),\n [rangeOverrides, baseLocale]\n );\n\n const spanStart = effectiveRange.startDate.getTime();\n const span = effectiveRange.span;\n\n const pointsWithPosition = React.useMemo(() => {\n if (!sanitizedPoints.length) return [];\n return sanitizedPoints.map((point, index) => {\n const timestamp = point.meta.timestamp;\n const fallbackProgress =\n sanitizedPoints.length > 1 ? index / (sanitizedPoints.length - 1) : 0;\n const progress = Number.isFinite(timestamp)\n ? clampProgress((timestamp - spanStart) / span)\n : fallbackProgress;\n const side = point.side || (index % 2 === 0 ? \"left\" : \"right\");\n return {\n ...point,\n progress,\n side,\n };\n });\n }, [sanitizedPoints, spanStart, span]);\n\n const [activeId, setActiveId] = React.useState(() =>\n getActivePointId(pointsWithPosition)\n );\n\n React.useEffect(() => {\n setActiveId(getActivePointId(pointsWithPosition));\n }, [pointsWithPosition]);\n\n const thresholdValue =\n typeof thresholdProp === \"number\"\n ? thresholdProp\n : payload && payload.threshold != null\n ? payload.threshold\n : null;\n const stepsValue =\n typeof steps === \"number\"\n ? Number(steps)\n : payload && typeof payload.steps === \"number\"\n ? Number(payload.steps)\n : null;\n\n const thresholdMs = React.useMemo(\n () => getThresholdMs(thresholdValue, effectiveRange.granularity),\n [thresholdValue, effectiveRange.granularity]\n );\n\n const groupedEntries = React.useMemo(\n () =>\n buildGroupedEntries(pointsWithPosition, thresholdMs, {\n granularity: effectiveRange.granularity,\n locale: baseLocale,\n }),\n [pointsWithPosition, thresholdMs, effectiveRange.granularity, baseLocale]\n );\n\n const [expandedGroupIds, setExpandedGroupIds] = React.useState(\n () => new Set()\n );\n\n React.useEffect(() => {\n setExpandedGroupIds((prev) => {\n if (!prev || prev.size === 0) return prev;\n const validIds = new Set(\n groupedEntries\n .filter((entry) => entry.type === \"group\")\n .map((entry) => entry.id)\n );\n const next = new Set();\n let changed = false;\n prev.forEach((id) => {\n if (validIds.has(id)) next.add(id);\n else changed = true;\n });\n return changed ? next : prev;\n });\n }, [groupedEntries]);\n\n const toggleGroup = React.useCallback((groupId) => {\n setExpandedGroupIds((prev) => {\n const next = new Set(prev || []);\n if (next.has(groupId)) next.delete(groupId);\n else next.add(groupId);\n return next;\n });\n }, []);\n\n const trackHeight = resolveTrackHeight(height, pointsWithPosition.length);\n const containerClasses = [\"canopy-timeline\", className]\n .filter(Boolean)\n .join(\" \");\n const rangeLabel = formatRangeLabel(effectiveRange);\n\n function renderPointEntry(point) {\n if (!point) return null;\n const wrapperClasses = [\n \"canopy-timeline__point-wrapper\",\n point.side === \"left\"\n ? \"canopy-timeline__point-wrapper--left\"\n : \"canopy-timeline__point-wrapper--right\",\n ]\n .filter(Boolean)\n .join(\" \");\n const wrapperStyle = {top: `${point.progress * 100}%`};\n const cardClasses = [\n \"canopy-timeline__point\",\n point.id === activeId ? \"is-active\" : \"\",\n point.highlight ? \"is-highlighted\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n const connector = (\n <TimelineConnector\n side={point.side}\n isActive={point.id === activeId}\n highlight={point.highlight}\n />\n );\n\n const body = (\n <div className=\"canopy-timeline__point-body\">\n <span className=\"canopy-timeline__point-date\">{point.meta.label}</span>\n <span className=\"canopy-timeline__point-title\">{point.title}</span>\n {point.summary ? (\n <span className=\"canopy-timeline__point-summary\">\n {point.summary}\n </span>\n ) : null}\n </div>\n );\n const resourceSection = renderResourceSection(point);\n\n return (\n <div\n key={point.id}\n className={wrapperClasses}\n style={wrapperStyle}\n role=\"listitem\"\n >\n {point.side === \"left\" ? (\n <>\n <div className={cardClasses}>\n {body}\n {resourceSection}\n </div>\n {connector}\n </>\n ) : (\n <>\n {connector}\n <div className={cardClasses}>\n {body}\n {resourceSection}\n </div>\n </>\n )}\n </div>\n );\n }\n\n function renderGroupEntry(entry) {\n const wrapperClasses = [\n \"canopy-timeline__point-wrapper\",\n entry.side === \"left\"\n ? \"canopy-timeline__point-wrapper--left\"\n : \"canopy-timeline__point-wrapper--right\",\n ]\n .filter(Boolean)\n .join(\" \");\n const wrapperStyle = {top: `${entry.progress * 100}%`};\n const isExpanded = expandedGroupIds.has(entry.id);\n const hasActivePoint = entry.points.some((point) => point.id === activeId);\n const connector = (\n <TimelineConnector\n side={entry.side}\n isActive={hasActivePoint}\n highlight={hasActivePoint}\n />\n );\n const groupClasses = [\n \"canopy-timeline__group\",\n isExpanded ? \"is-expanded\" : \"\",\n hasActivePoint ? \"is-active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n const countLabel = `${entry.count} event${entry.count > 1 ? \"s\" : \"\"}`;\n\n const header = (\n <div className=\"canopy-timeline__group-header\">\n <div className=\"canopy-timeline__group-summary\">\n <span className=\"canopy-timeline__point-date\">{entry.label}</span>\n <span className=\"canopy-timeline__group-count\">{countLabel}</span>\n </div>\n <button\n type=\"button\"\n className=\"canopy-timeline__group-toggle\"\n aria-expanded={isExpanded ? \"true\" : \"false\"}\n onClick={() => toggleGroup(entry.id)}\n >\n {isExpanded ? \"Hide details\" : \"Show details\"}\n </button>\n </div>\n );\n\n const groupPoints = isExpanded ? (\n <div className=\"canopy-timeline__group-points\">\n {entry.points.map((point) => (\n <button\n key={point.id}\n type=\"button\"\n className={[\n \"canopy-timeline__group-point\",\n point.id === activeId ? \"is-active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n onClick={() => setActiveId(point.id)}\n >\n <span className=\"canopy-timeline__point-date\">\n {point.meta.label}\n </span>\n <span className=\"canopy-timeline__group-point-title\">\n {point.title}\n </span>\n </button>\n ))}\n </div>\n ) : null;\n\n const groupCard = (\n <div className={groupClasses}>\n {header}\n {groupPoints}\n </div>\n );\n\n return (\n <div\n key={entry.id}\n className={wrapperClasses}\n style={wrapperStyle}\n role=\"listitem\"\n >\n {entry.side === \"left\" ? (\n <>\n {groupCard}\n {connector}\n </>\n ) : (\n <>\n {connector}\n {groupCard}\n </>\n )}\n </div>\n );\n }\n\n return (\n <section className={containerClasses} {...rest}>\n {title ? <h2 className=\"canopy-timeline__title\">{title}</h2> : null}\n {description ? (\n <p className=\"canopy-timeline__description\">{description}</p>\n ) : null}\n {rangeLabel ? (\n <p className=\"canopy-timeline__range\" aria-live=\"polite\">\n {rangeLabel}\n </p>\n ) : null}\n <div className=\"canopy-timeline__body\">\n <div\n className=\"canopy-timeline__list\"\n role=\"list\"\n style={{minHeight: trackHeight}}\n >\n <div className=\"canopy-timeline__spine\" aria-hidden=\"true\" />\n {renderSteps(stepsValue, effectiveRange)}\n {groupedEntries.map((entry) => {\n if (entry.type === \"group\") return renderGroupEntry(entry);\n return renderPointEntry(entry.point);\n })}\n </div>\n </div>\n </section>\n );\n}\n\nfunction renderSteps(stepSize, range) {\n if (!Number.isFinite(stepSize) || stepSize <= 0 || !range) return null;\n const startYear = range.startDate.getUTCFullYear();\n const endYear = range.endDate.getUTCFullYear();\n const markers = [];\n if (startYear < endYear) {\n markers.push(\n <span\n key=\"timeline-step-start\"\n className=\"canopy-timeline__step canopy-timeline__step--start\"\n style={{top: \"0%\"}}\n aria-hidden=\"true\"\n >\n <span className=\"canopy-timeline__step-line\" />\n <span className=\"canopy-timeline__step-label\">{startYear}</span>\n </span>\n );\n markers.push(\n <span\n key=\"timeline-step-end\"\n className=\"canopy-timeline__step canopy-timeline__step--end\"\n style={{top: \"100%\"}}\n aria-hidden=\"true\"\n >\n <span className=\"canopy-timeline__step-line\" />\n <span className=\"canopy-timeline__step-label\">{endYear}</span>\n </span>\n );\n }\n const baseYear = Math.ceil(startYear / stepSize) * stepSize;\n for (let year = baseYear; year <= endYear; year += stepSize) {\n const timestamp = Date.UTC(year, 0, 1);\n const progress = (timestamp - range.startDate.getTime()) / range.span;\n if (progress <= 0 || progress >= 1) continue;\n markers.push(\n <span\n key={`timeline-step-${year}`}\n className=\"canopy-timeline__step\"\n style={{top: `calc(${progress * 100}% - 0.5px)`}}\n aria-hidden=\"true\"\n >\n <span className=\"canopy-timeline__step-line\" />\n <span className=\"canopy-timeline__step-label\">{year}</span>\n </span>\n );\n }\n return markers.length ? markers : null;\n}\n", "const FALLBACK_LOCALE = (() => {\n try {\n return new Intl.Locale(\"en-US\");\n } catch (_) {\n return \"en-US\";\n }\n})();\n\nexport function createLocale(localeValue) {\n if (!localeValue) return FALLBACK_LOCALE;\n if (typeof Intl !== \"undefined\" && localeValue instanceof Intl.Locale)\n return localeValue;\n try {\n return new Intl.Locale(localeValue);\n } catch (_) {\n return FALLBACK_LOCALE;\n }\n}\n\nfunction parseMonthIndex(name = \"\", locale = FALLBACK_LOCALE) {\n const localeId =\n typeof locale === \"string\" ? locale : locale && locale.baseName\n ? locale.baseName\n : \"en-US\";\n const normalized = String(name || \"\")\n .trim()\n .toLocaleLowerCase(localeId);\n if (!normalized) return 0;\n const months = [\n \"january\",\n \"february\",\n \"march\",\n \"april\",\n \"may\",\n \"june\",\n \"july\",\n \"august\",\n \"september\",\n \"october\",\n \"november\",\n \"december\",\n ];\n const idx = months.indexOf(normalized);\n return idx === -1 ? 0 : idx;\n}\n\nfunction parseStructuredInput(value) {\n if (!value || typeof value !== \"object\") return null;\n const {year, month, day} = value;\n if (!Number.isFinite(Number(year))) return null;\n const y = Number(year);\n const m = Number.isFinite(Number(month)) ? Number(month) - 1 : 0;\n const d = Number.isFinite(Number(day)) ? Number(day) : 1;\n return new Date(Date.UTC(y, Math.max(0, Math.min(11, m)), Math.max(1, Math.min(31, d))));\n}\n\nexport function createDateFromInput(value, {locale} = {}) {\n const loc = createLocale(locale);\n if (value instanceof Date) return new Date(value.getTime());\n if (Number.isFinite(Number(value))) {\n const year = Number(value);\n return new Date(Date.UTC(year, 0, 1));\n }\n if (value && typeof value === \"object\") {\n const structured = parseStructuredInput(value);\n if (structured) return structured;\n }\n const text = typeof value === \"string\" ? value.trim() : \"\";\n if (!text) return null;\n const isoYear = text.match(/^(\\d{4})$/);\n if (isoYear) {\n return new Date(Date.UTC(Number(isoYear[1]), 0, 1));\n }\n const isoYearMonth = text.match(/^(\\d{4})-(\\d{2})$/);\n if (isoYearMonth) {\n return new Date(\n Date.UTC(Number(isoYearMonth[1]), Number(isoYearMonth[2]) - 1, 1)\n );\n }\n const isoDate = text.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/);\n if (isoDate) {\n return new Date(\n Date.UTC(\n Number(isoDate[1]),\n Number(isoDate[2]) - 1,\n Number(isoDate[3])\n )\n );\n }\n const monthDayYear = text.match(/^([A-Za-z]+)\\s+(\\d{1,2})(?:,)?\\s*(\\d{4})$/);\n if (monthDayYear) {\n const month = parseMonthIndex(monthDayYear[1], loc);\n const day = Number(monthDayYear[2]);\n const year = Number(monthDayYear[3]);\n return new Date(Date.UTC(year, month, day));\n }\n const monthYear = text.match(/^([A-Za-z]+)\\s+(\\d{4})$/);\n if (monthYear) {\n const month = parseMonthIndex(monthYear[1], loc);\n const year = Number(monthYear[2]);\n return new Date(Date.UTC(year, month, 1));\n }\n const fallback = new Date(text);\n if (!Number.isNaN(fallback.getTime())) return fallback;\n const alt = new Date(Date.parse(text));\n if (!Number.isNaN(alt.getTime())) return alt;\n return null;\n}\n\nexport function formatDateLabel(date, {granularity = \"day\", locale} = {}) {\n if (!(date instanceof Date) || Number.isNaN(date.getTime())) return \"\";\n const loc = createLocale(locale);\n const baseName = typeof loc === \"string\" ? loc : loc.baseName || \"en-US\";\n const options = {year: \"numeric\"};\n if (granularity === \"month\" || granularity === \"day\") {\n options.month = \"long\";\n }\n if (granularity === \"day\") {\n options.day = \"numeric\";\n }\n options.timeZone = \"UTC\";\n try {\n const formatter = new Intl.DateTimeFormat(baseName, options);\n return formatter.format(date);\n } catch (_) {\n return date.toISOString().slice(0, 10);\n }\n}\n\nexport function normalizeRange(range = {}) {\n const {start, end, granularity = \"year\", locale} = range || {};\n const loc = createLocale(locale);\n const startDate = createDateFromInput(start || new Date(), {locale: loc}) ||\n new Date(Date.UTC(0, 0, 1));\n let endDate = createDateFromInput(end, {locale: loc});\n if (!endDate) {\n const copy = new Date(startDate.getTime());\n copy.setUTCFullYear(copy.getUTCFullYear() + 1);\n endDate = copy;\n }\n if (endDate <= startDate) {\n const nextDay = new Date(startDate.getTime());\n nextDay.setUTCDate(nextDay.getUTCDate() + 1);\n endDate = nextDay;\n }\n const span = Math.max(1, endDate - startDate);\n return {\n startDate,\n endDate,\n span,\n granularity: granularity === \"month\" || granularity === \"day\" ? granularity : \"year\",\n locale: loc,\n };\n}\n\nexport function buildPointMetadata({value, granularity, locale}) {\n const date = createDateFromInput(value, {locale});\n return {\n date,\n label: formatDateLabel(date, {granularity, locale}),\n timestamp: date ? date.getTime() : null,\n };\n}\n\nexport function clampProgress(value) {\n if (!Number.isFinite(value)) return 0;\n if (value < 0) return 0;\n if (value > 1) return 1;\n return value;\n}\n", "export default function TimelinePoint() {\n return null;\n}\n\nTimelinePoint.displayName = \"TimelinePoint\";\n", "import React from 'react';\n\nexport default function MdxSearchResults(props) {\n let json = '{}';\n try { json = JSON.stringify(props || {}); } catch (_) { json = '{}'; }\n return (\n <div data-canopy-search-results=\"1\">\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: json }} />\n </div>\n );\n}\n\n", "import React from 'react';\n\nexport default function SearchSummary(props) {\n let json = '{}';\n try { json = JSON.stringify(props || {}); } catch (_) { json = '{}'; }\n return (\n <div data-canopy-search-summary=\"1\">\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: json }} />\n </div>\n );\n}\n\n", "import React from 'react';\n\nexport default function MdxSearchTabs(props) {\n let json = '{}';\n try { json = JSON.stringify(props || {}); } catch (_) { json = '{}'; }\n return (\n <div data-canopy-search-tabs=\"1\">\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: json }} />\n </div>\n );\n}\n\n", "import React from 'react';\nimport SearchSummary from './SearchSummary.jsx';\nimport SearchTabs from './MdxSearchTabs.jsx';\nimport SearchResults from './MdxSearchResults.jsx';\n\nexport default function MdxSearch(props = {}) {\n const {\n layout,\n tabsProps = {},\n summaryProps = {},\n resultsProps = {},\n className = '',\n showTabs = true,\n showSummary = true,\n showResults = true,\n children,\n } = props || {};\n const resultsPayload =\n resultsProps && typeof resultsProps === 'object'\n ? { ...resultsProps }\n : {};\n if (typeof layout !== 'undefined' && layout !== null && !resultsPayload.layout) {\n resultsPayload.layout = layout;\n }\n const classes = ['canopy-search', className].filter(Boolean).join(' ');\n\n return (\n <section className={classes} data-canopy-search=\"1\">\n {showTabs ? <SearchTabs {...tabsProps} /> : null}\n {showSummary ? <SearchSummary {...summaryProps} /> : null}\n {showResults ? <SearchResults {...resultsPayload} /> : null}\n {children || null}\n </section>\n );\n}\n", "import React from 'react';\nimport SearchPanelForm, { resolveSearchPath } from '../search/SearchPanelForm.jsx';\nimport SearchPanelTeaserResults from '../search/SearchPanelTeaserResults.jsx';\n\n// SSR-safe placeholder for the search form modal, composed from SearchPanel parts.\n// This ensures a single JSX source of truth for form/panel markup.\nexport default function MdxSearchFormModal(props = {}) {\n const {\n placeholder = 'Search\u2026',\n hotkey = 'mod+k',\n maxResults = 8,\n groupOrder = ['work', 'page'],\n button = true, // kept for backward compat; ignored by teaser form\n buttonLabel = 'Search',\n label,\n searchPath = '/search',\n } = props || {};\n\n const text = typeof label === 'string' && label.trim() ? label.trim() : buttonLabel;\n const resolvedSearchPath = resolveSearchPath(searchPath);\n const data = { placeholder, hotkey, maxResults, groupOrder, label: text, searchPath: resolvedSearchPath };\n return (\n <div data-canopy-search-form className=\"flex-1 min-w-0\">\n <div className=\"relative w-full\">\n <SearchPanelForm placeholder={placeholder} buttonLabel={buttonLabel} label={label} searchPath={resolvedSearchPath} />\n <SearchPanelTeaserResults />\n </div>\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }} />\n </div>\n );\n}\n", "import React from \"react\";\nimport slugify from \"slugify\";\nimport {\n Label as CloverLabel,\n Metadata as CloverMetadata,\n RequiredStatement as CloverRequiredStatement,\n Summary as CloverSummary,\n} from \"@samvera/clover-iiif/primitives\";\n\nfunction hasInternationalValue(value) {\n if (!value || typeof value !== \"object\") return false;\n return Object.keys(value).some((key) => {\n const entries = value[key];\n return (\n Array.isArray(entries) &&\n entries.some((entry) => String(entry || \"\").trim().length > 0)\n );\n });\n}\n\nfunction ensureMetadata(items) {\n if (!Array.isArray(items)) return [];\n return items.filter((item) => {\n if (!item || typeof item !== \"object\") return false;\n const { label, value } = item;\n return hasInternationalValue(label) && hasInternationalValue(value);\n });\n}\n\nfunction getFirstIntlValue(value) {\n if (!value) return \"\";\n if (typeof value === \"string\") return value;\n try {\n const keys = Object.keys(value || {});\n for (const key of keys) {\n const arr = Array.isArray(value[key]) ? value[key] : [];\n for (const entry of arr) {\n if (entry == null) continue;\n const str = typeof entry === \"string\" ? entry : String(entry);\n if (str) return str;\n }\n }\n } catch (_) {}\n return \"\";\n}\n\nfunction normalizeMetadataLabelText(label) {\n if (!label) return \"\";\n return label.trim().replace(/[:\\s]+$/g, \"\").toLowerCase();\n}\n\nfunction normalizeMetadataLabelValue(value) {\n const raw = getFirstIntlValue(value);\n if (!raw) return \"\";\n return normalizeMetadataLabelText(String(raw));\n}\n\nfunction buildFacetLabelMap(manifest) {\n const source =\n manifest && Array.isArray(manifest.__canopyMetadataFacets)\n ? manifest.__canopyMetadataFacets\n : null;\n if (!source || !source.length) return null;\n const map = new Map();\n for (const entry of source) {\n if (!entry || !entry.normalized) continue;\n map.set(entry.normalized, entry);\n }\n return map.size ? map : null;\n}\n\nconst SLUG_OPTIONS = {lower: true, strict: true, trim: true};\n\nfunction toValueSlug(value) {\n if (value == null) return \"\";\n try {\n const raw = typeof value === \"string\" ? value : String(value);\n return slugify(raw, SLUG_OPTIONS);\n } catch (_) {\n return \"\";\n }\n}\n\nfunction normalizeBasePath(value) {\n if (value == null) return \"\";\n const raw = String(value).trim();\n if (!raw) return \"\";\n const prefixed = raw.startsWith(\"/\") ? raw : `/${raw}`;\n const cleaned = prefixed.replace(/\\/+$/, \"\");\n return cleaned === \"/\" ? \"\" : cleaned;\n}\n\nlet cachedBasePath = null;\nfunction readBasePath() {\n if (cachedBasePath !== null) return cachedBasePath;\n const candidates = [];\n try {\n if (typeof window !== \"undefined\" && window.CANOPY_BASE_PATH != null) {\n candidates.push(window.CANOPY_BASE_PATH);\n }\n } catch (_) {}\n try {\n if (\n typeof globalThis !== \"undefined\" &&\n globalThis.CANOPY_BASE_PATH != null\n ) {\n candidates.push(globalThis.CANOPY_BASE_PATH);\n }\n } catch (_) {}\n try {\n if (typeof process !== \"undefined\" && process.env) {\n candidates.push(process.env.CANOPY_BASE_PATH);\n }\n } catch (_) {}\n for (const candidate of candidates) {\n const normalized = normalizeBasePath(candidate);\n if (normalized) {\n cachedBasePath = normalized;\n return cachedBasePath;\n }\n }\n cachedBasePath = \"\";\n return cachedBasePath;\n}\n\nfunction withBasePath(href) {\n try {\n const raw = typeof href === \"string\" ? href.trim() : \"\";\n if (!raw) return href;\n if (/^(?:[a-z][a-z0-9+.-]*:|\\/\\/|#)/i.test(raw)) return raw;\n if (!raw.startsWith(\"/\")) return raw;\n const base = readBasePath();\n if (!base) return raw;\n if (raw === base || raw.startsWith(`${base}/`)) return raw;\n return `${base}${raw}`;\n } catch (_) {\n return href;\n }\n}\n\nfunction buildFacetSearchHref(labelSlug, valueSlug) {\n if (!labelSlug || !valueSlug) return \"\";\n try {\n const params = new URLSearchParams();\n params.set(\"type\", \"work\");\n params.set(labelSlug, valueSlug);\n const path = `/search?${params.toString()}`;\n return withBasePath(path);\n } catch (_) {\n return \"\";\n }\n}\n\nfunction MetadataFacetLink(props) {\n const {value, facetSlug} = props;\n const text = value == null ? \"\" : String(value);\n if (!text) return null;\n const valueSlug = facetSlug ? toValueSlug(text) : \"\";\n const href = facetSlug && valueSlug ? buildFacetSearchHref(facetSlug, valueSlug) : \"\";\n if (!href) return text;\n return (\n <a\n href={href}\n data-canopy-facet-link=\"\"\n data-facet-label={facetSlug}\n data-facet-value={valueSlug}\n >\n {text}\n </a>\n );\n}\n\nfunction buildFacetCustomValueContent(items, manifest) {\n if (!Array.isArray(items) || !items.length || !manifest) return [];\n const facetMap = buildFacetLabelMap(manifest);\n if (!facetMap) return [];\n const seen = new Set();\n const custom = [];\n for (const item of items) {\n if (!item || !item.label) continue;\n const normalized = normalizeMetadataLabelValue(item.label);\n if (!normalized || seen.has(normalized)) continue;\n if (!facetMap.has(normalized)) continue;\n const facet = facetMap.get(normalized);\n seen.add(normalized);\n custom.push({\n matchingLabel: item.label,\n Content: <MetadataFacetLink facetSlug={facet.slug} />,\n });\n }\n return custom;\n}\n\nfunction normalizeMatchingLabel(label) {\n if (!label) return \"\";\n return normalizeMetadataLabelValue(label);\n}\n\nfunction mergeCustomValueContent(userContent, autoContent) {\n const merged = [];\n const seen = new Set();\n const addEntry = (entry, track = false) => {\n if (!entry || !entry.matchingLabel || !entry.Content) return;\n merged.push(entry);\n if (!track) return;\n const normalized = normalizeMatchingLabel(entry.matchingLabel);\n if (normalized) seen.add(normalized);\n };\n const userList = Array.isArray(userContent) ? userContent : [];\n userList.forEach((entry) => addEntry(entry, true));\n const autoList = Array.isArray(autoContent) ? autoContent : [];\n autoList.forEach((entry) => {\n const normalized = normalizeMatchingLabel(entry.matchingLabel);\n if (normalized && seen.has(normalized)) return;\n addEntry(entry, false);\n });\n return merged.length ? merged : undefined;\n}\n\nexport function Label({ manifest, label, ...rest }) {\n const intl = label || (manifest && manifest.label);\n if (!hasInternationalValue(intl)) return null;\n return <CloverLabel label={intl} {...rest} />;\n}\n\nexport function Summary({ manifest, summary, ...rest }) {\n const intl = summary || (manifest && manifest.summary);\n if (!hasInternationalValue(intl)) return null;\n return <CloverSummary summary={intl} {...rest} />;\n}\n\nexport function Metadata({ manifest, metadata, customValueContent, ...rest }) {\n const items = ensureMetadata(metadata || (manifest && manifest.metadata));\n if (!items.length) return null;\n const autoCustomContent = buildFacetCustomValueContent(items, manifest);\n const mergedCustomContent = mergeCustomValueContent(\n customValueContent,\n autoCustomContent\n );\n return (\n <CloverMetadata\n metadata={items}\n customValueContent={mergedCustomContent}\n {...rest}\n />\n );\n}\n\nexport function RequiredStatement({ manifest, requiredStatement, ...rest }) {\n const stmt = requiredStatement || (manifest && manifest.requiredStatement);\n if (\n !stmt ||\n !hasInternationalValue(stmt.label) ||\n !hasInternationalValue(stmt.value)\n ) {\n return null;\n }\n return <CloverRequiredStatement requiredStatement={stmt} {...rest} />;\n}\n\nexport const Primitives = {\n Label,\n Summary,\n Metadata,\n RequiredStatement,\n};\n\nexport default Primitives;\n", "import React from \"react\";\n\nfunction parseHighlightAttr(attr) {\n if (!attr) return new Set();\n const cleaned = String(attr || \"\").trim();\n if (!cleaned) return new Set();\n const segments = cleaned\n .split(\",\")\n .map((segment) => segment.trim())\n .filter(Boolean);\n const lines = new Set();\n for (const segment of segments) {\n if (!segment) continue;\n if (/^\\d+-\\d+$/.test(segment)) {\n const [startRaw, endRaw] = segment.split(\"-\");\n const start = Number(startRaw);\n const end = Number(endRaw);\n if (Number.isFinite(start) && Number.isFinite(end) && end >= start) {\n for (let i = start; i <= end; i += 1) {\n lines.add(i);\n }\n }\n } else if (/^\\d+$/.test(segment)) {\n const value = Number(segment);\n if (Number.isFinite(value)) lines.add(value);\n }\n }\n return lines;\n}\n\nfunction normaliseCode(children) {\n if (children == null) return \"\";\n if (typeof children === \"string\") return children;\n if (Array.isArray(children)) {\n return children\n .map((child) => (typeof child === \"string\" ? child : \"\"))\n .join(\"\");\n }\n if (typeof children === \"object\" && typeof children.toString === \"function\") {\n return children.toString();\n }\n return \"\";\n}\n\nconst baseLineStyle = {\n display: \"block\",\n padding: \"0.125rem 1.25rem\",\n boxSizing: \"border-box\",\n};\n\nconst highlightBaseStyle = {\n background:\n \"linear-gradient(to right, var(--color-accent-200, #bfdbfe), var(--color-accent-100, #bfdbfe))\",\n};\n\nexport default function DocsCodeBlock(props = {}) {\n const {children, ...rest} = props;\n const childArray = React.Children.toArray(children);\n const codeElement = childArray.find((el) => React.isValidElement(el));\n if (!codeElement || !codeElement.props) {\n return React.createElement(\"pre\", props);\n }\n\n const {\n className = \"\",\n children: codeChildren,\n ...codeProps\n } = codeElement.props;\n const rawCode = normaliseCode(codeChildren);\n const trimmedCode = rawCode.endsWith(\"\\n\") ? rawCode.slice(0, -1) : rawCode;\n const lines = trimmedCode.split(\"\\n\");\n const filename = codeProps[\"data-filename\"] || \"\";\n const highlightAttr = codeProps[\"data-highlight\"] || \"\";\n const highlightSet = parseHighlightAttr(highlightAttr);\n const copyAttr = codeProps[\"data-copy\"];\n const enableCopy =\n copyAttr !== undefined\n ? copyAttr === true || copyAttr === \"true\" || copyAttr === \"\"\n : false;\n\n const [copied, setCopied] = React.useState(false);\n\n const handleCopy = React.useCallback(async () => {\n const text = rawCode;\n try {\n if (\n typeof navigator !== \"undefined\" &&\n navigator.clipboard &&\n navigator.clipboard.writeText\n ) {\n await navigator.clipboard.writeText(text);\n } else {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.setAttribute(\"readonly\", \"\");\n textarea.style.position = \"absolute\";\n textarea.style.left = \"-9999px\";\n document.body.appendChild(textarea);\n textarea.select();\n document.execCommand(\"copy\");\n document.body.removeChild(textarea);\n }\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n } catch (_) {\n setCopied(false);\n }\n }, [rawCode]);\n\n const containerStyle = {\n borderRadius: \"12px\",\n overflow: \"hidden\",\n margin: \"1.5rem 0\",\n background: \"var(--color-accent-100)\",\n fontFamily: \"var(--font-mono)\",\n fontSize: \"0.85rem\",\n };\n\n const headerStyle = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem 1.25rem\",\n fontWeight: 700,\n background: \"var(--color-accent-100)\",\n borderBottom: \"1px solid var(--color-accent-200)\",\n color: \"var(--color-accent-900)\",\n };\n\n const preStyle = {\n margin: 0,\n background: \"var(--color-accent-100)\",\n color: \"var(--color-accent-800)\",\n lineHeight: 1.55,\n padding: \"1rem 0\",\n overflowX: \"auto\",\n };\n\n const codeStyle = {\n display: \"block\",\n padding: 0,\n };\n\n const lineContentStyle = {\n whiteSpace: \"pre\",\n display: \"inline\",\n };\n\n const showFilename = Boolean(filename);\n const showHeader = showFilename || enableCopy;\n\n const {style: preStyleOverride, className: preClassName, ...preRest} = rest;\n const mergedPreStyle = Object.assign({}, preStyle, preStyleOverride || {});\n\n const lineElements = lines.map((line, index) => {\n const lineNumber = index + 1;\n const highlight = highlightSet.has(lineNumber);\n const style = highlight\n ? {...baseLineStyle, ...highlightBaseStyle}\n : baseLineStyle;\n const displayLine = line === \"\" ? \" \" : line;\n return React.createElement(\n \"span\",\n {key: lineNumber, style},\n React.createElement(\"span\", {style: lineContentStyle}, displayLine)\n );\n });\n\n return React.createElement(\n \"div\",\n {style: containerStyle},\n showHeader\n ? React.createElement(\n \"div\",\n {style: headerStyle},\n React.createElement(\"span\", null, showFilename ? filename : null),\n enableCopy\n ? React.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleCopy,\n style: {\n border: \"1px solid var(--color-accent-300, #bfdbfe)\",\n borderRadius: \"6px\",\n padding: \"0.2rem 0.55rem\",\n fontSize: \"0.7rem\",\n fontWeight: 500,\n background:\n \"color-mix(in srgb, var(--color-accent-100, #e0f2ff) 55%, #ffffff)\",\n color: \"var(--color-accent-700, #1d4ed8)\",\n cursor: \"pointer\",\n },\n },\n copied ? \"Copied\" : \"Copy\"\n )\n : null\n )\n : null,\n React.createElement(\n \"pre\",\n {...preRest, className: preClassName, style: mergedPreStyle},\n React.createElement(\"code\", {style: codeStyle}, lineElements)\n )\n );\n}\n", "import React from 'react';\n\nexport default function MarkdownTable({ className = '', ...rest }) {\n const merged = ['markdown-table', className].filter(Boolean).join(' ');\n return (\n <div className=\"markdown-table__frame\">\n <table className={merged} {...rest} />\n </div>\n );\n}\n", "import React from \"react\";\n\nexport function CanopyDiagram() {\n return (\n <div className=\"canopy-diagram\">\n <section className=\"canopy-diagram__section canopy-diagram__section--collections\">\n <h3>IIIF Collection(s)</h3>\n <span className=\"canopy-diagram__section-summary\">\n Source collections contribute 105 total manifests that Canopy\n retrieves as-is via IIIF endpoints.\n </span>\n <div className=\"canopy-diagram__grid\">\n <article>\n <h4>Collection A</h4>\n <ul>\n <li>70 Manifests</li>\n <li>IIIF Images + A/V</li>\n <li>Textual Annotations</li>\n </ul>\n </article>\n <article>\n <h4>Collection B</h4>\n <ul>\n <li>35 Manifests</li>\n <li>IIIF Images + A/V</li>\n <li>Textual Annotations</li>\n </ul>\n </article>\n </div>\n </section>\n\n <div className=\"canopy-diagram__arrow\" aria-hidden=\"true\">\n <span className=\"canopy-diagram__arrow-line\" />\n <span className=\"canopy-diagram__arrow-head\" />\n </div>\n\n <section className=\"canopy-diagram__section canopy-diagram__section--build\">\n <h3>Canopy Build Process</h3>\n <span className=\"canopy-diagram__section-summary\">\n Canopy syncs manifests, page content, and annotations before bundling\n the site.\n </span>\n <div className=\"canopy-diagram__grid\">\n <article>\n <h4>Automated content</h4>\n <ul>\n <li>105 manifests \u2192 105 work pages</li>\n <li>One page per manifest</li>\n <li>Customize page layout</li>\n </ul>\n </article>\n <article>\n <h4>Contextual content</h4>\n <ul>\n <li>Markdown & MDX pages</li>\n <li>Author narratives & tours</li>\n <li>Reference manifests inline</li>\n </ul>\n </article>\n <article>\n <h4>Search index</h4>\n <ul>\n <li>Combines works + pages</li>\n <li>Customize result layout</li>\n <li>Optional annotations</li>\n </ul>\n </article>\n </div>\n </section>\n\n <div className=\"canopy-diagram__arrow\" aria-hidden=\"true\">\n <span className=\"canopy-diagram__arrow-line\" />\n <span className=\"canopy-diagram__arrow-head\" />\n </div>\n\n <section className=\"canopy-diagram__section canopy-diagram__section--output\">\n <h3>Static Digital Project</h3>\n <span className=\"canopy-diagram__section-summary\">\n The output is a lightweight bundle of HTML, CSS, JS, and JSON assets\n that can deploy anywhere.\n </span>\n <div className=\"canopy-diagram__grid\">\n <article>\n <h4>Work pages</h4>\n <ul>\n <li>105 generated HTML pages</li>\n <li>Each links back to source manifests</li>\n <li>Styled with Canopy components</li>\n </ul>\n </article>\n <article>\n <h4>Custom pages</h4>\n <ul>\n <li>Markdown & MDX-authored content</li>\n <li>Reusable layouts for narratives</li>\n <li>Embed IIIF media & interstitials</li>\n </ul>\n </article>\n <article>\n <h4>Search bundle</h4>\n <ul>\n <li>Static FlexSearch index</li>\n <li>Works + pages share records</li>\n <li>Optional annotation dataset</li>\n </ul>\n </article>\n </div>\n </section>\n </div>\n );\n}\n", "import React from \"react\";\nimport * as radixColors from \"@radix-ui/colors\";\n\nconst COLOR_SCALES = [\n {label: \"Accent\", prefix: \"--color-accent\"},\n {label: \"Gray\", prefix: \"--color-gray\"},\n];\n\nconst COLOR_STOPS = [\n \"50\",\n \"100\",\n \"200\",\n \"300\",\n \"400\",\n \"500\",\n \"600\",\n \"700\",\n \"800\",\n \"900\",\n];\n\nconst ACCENT_COLOR_NAMES = [\n \"gray\",\n \"gold\",\n \"bronze\",\n \"brown\",\n \"yellow\",\n \"amber\",\n \"orange\",\n \"tomato\",\n \"red\",\n \"ruby\",\n \"crimson\",\n \"pink\",\n \"plum\",\n \"purple\",\n \"violet\",\n \"iris\",\n \"indigo\",\n \"blue\",\n \"cyan\",\n \"teal\",\n \"jade\",\n \"green\",\n \"grass\",\n \"lime\",\n \"mint\",\n \"sky\",\n];\n\nconst GRAY_COLOR_NAMES = [\"gray\", \"mauve\", \"slate\", \"sage\", \"olive\", \"sand\"];\n\nconst Section = ({title, description, children}) => (\n <div className=\"canopy-theme-showcase__section\">\n <h3 className=\"canopy-theme-showcase__section-title\">{title}</h3>\n {description ? (\n <p className=\"canopy-theme-showcase__section-description\">\n {description}\n </p>\n ) : null}\n {children}\n </div>\n);\n\nconst ColorScaleRow = ({label, prefix}) => (\n <div className=\"canopy-theme-showcase__scale-row\">\n <div className=\"canopy-theme-showcase__scale-label\">\n <strong>{label}</strong>\n </div>\n <div className=\"canopy-theme-showcase__scale-track\">\n {COLOR_STOPS.map((stop) => (\n <div\n key={`${label}-${stop}`}\n className=\"canopy-theme-showcase__scale-stop\"\n >\n <span\n className=\"canopy-theme-showcase__scale-chip\"\n style={{backgroundColor: `var(${prefix}-${stop})`}}\n />\n <span className=\"canopy-theme-showcase__scale-token\">{stop}</span>\n </div>\n ))}\n </div>\n </div>\n);\n\nexport default function ThemeShowcase() {\n const accentColors = ACCENT_COLOR_NAMES;\n const grayColors = GRAY_COLOR_NAMES;\n\n const getRadixSwatch = (name) => {\n if (!name) return null;\n const scale = radixColors[name];\n if (!scale) return null;\n return scale[`${name}9`] || Object.values(scale)[8];\n };\n\n const ColorsLabeled = ({colors}) => (\n <div className=\"canopy-theme-showcase__swatch-grid\">\n {colors.map((name) => {\n const colorValue = getRadixSwatch(name);\n return (\n <div key={name} className=\"canopy-theme-showcase__swatch\">\n <div\n className=\"canopy-theme-showcase__swatch-chip\"\n style={{background: colorValue || \"var(--color-gray-200)\"}}\n />\n <div className=\"canopy-theme-showcase__swatch-label\">{name}</div>\n </div>\n );\n })}\n </div>\n );\n\n const styles = `\n .canopy-theme-showcase__section {\n margin: 2.618rem 0;\n }\n .canopy-theme-showcase__section:last-of-type {\n margin-bottom: 0;\n }\n .canopy-theme-showcase__section-title {\n margin: 0 0 0.382rem;\n font-size: 1.382rem;\n }\n .canopy-theme-showcase__section-description {\n margin: 0 0 1rem;\n color: var(--color-gray-muted);\n line-height: 1.5;\n }\n .canopy-theme-showcase__scale-group {\n display: flex;\n flex-direction: column;\n gap: 1.618rem;\n }\n .canopy-theme-showcase__scale-row {\n display: flex;\n gap: 1rem;\n align-items: center;\n flex-wrap: wrap;\n }\n .canopy-theme-showcase__scale-label {\n min-width: 90px;\n font-size: 0.9222rem;\n }\n .canopy-theme-showcase__scale-track {\n display: flex;\n flex: 1;\n overflow: auto;\n }\n .canopy-theme-showcase__scale-stop {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.382rem;\n overflow: hidden;\n\n &:first-child {\n .canopy-theme-showcase__scale-chip {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n }\n }\n\n &:last-child {\n .canopy-theme-showcase__scale-chip {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n }\n }\n }\n .canopy-theme-showcase__scale-chip {\n display: block;\n width: 100%;\n min-height: 2.618rem;\n }\n .canopy-theme-showcase__scale-token {\n font-size: 0.8333rem;\n }\n .canopy-theme-showcase__swatch-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 1rem;\n }\n .canopy-theme-showcase__swatch-chip {\n width: 4.236rem;\n height: 2.618rem;\n border-radius: 3px;\n }\n .canopy-theme-showcase__swatch-label {\n font-size: 0.8333rem;\n margin-top: 0.382rem;\n font-weight: 300;\n }\n `;\n\n return (\n <div className=\"canopy-theme-showcase\">\n <style dangerouslySetInnerHTML={{__html: styles}} />\n <Section\n title=\"Color scales\"\n description=\"Accent and gray ramps from the active theme.\"\n >\n <div style={{display: \"flex\", flexDirection: \"column\", gap: \"1.5rem\"}}>\n {COLOR_SCALES.map((scale) => (\n <ColorScaleRow\n key={scale.label}\n label={scale.label}\n prefix={scale.prefix}\n />\n ))}\n </div>\n </Section>\n <Section\n title=\"Accent color palette options\"\n description=\"Primary color steps used for buttons, links, and highlights.\"\n >\n <ColorsLabeled colors={accentColors} />\n </Section>\n <Section\n title=\"Gray color palette options\"\n description=\"Neutral color steps used for backgrounds, borders, and text.\"\n >\n <ColorsLabeled colors={grayColors} />\n </Section>\n </div>\n );\n}\n", "const grayDark = {\n gray1: \"#111111\",\n gray2: \"#191919\",\n gray3: \"#222222\",\n gray4: \"#2a2a2a\",\n gray5: \"#313131\",\n gray6: \"#3a3a3a\",\n gray7: \"#484848\",\n gray8: \"#606060\",\n gray9: \"#6e6e6e\",\n gray10: \"#7b7b7b\",\n gray11: \"#b4b4b4\",\n gray12: \"#eeeeee\",\n};\nconst grayDarkA = {\n grayA1: \"#00000000\",\n grayA2: \"#ffffff09\",\n grayA3: \"#ffffff12\",\n grayA4: \"#ffffff1b\",\n grayA5: \"#ffffff22\",\n grayA6: \"#ffffff2c\",\n grayA7: \"#ffffff3b\",\n grayA8: \"#ffffff55\",\n grayA9: \"#ffffff64\",\n grayA10: \"#ffffff72\",\n grayA11: \"#ffffffaf\",\n grayA12: \"#ffffffed\",\n};\nconst grayDarkP3 = {\n gray1: \"color(display-p3 0.067 0.067 0.067)\",\n gray2: \"color(display-p3 0.098 0.098 0.098)\",\n gray3: \"color(display-p3 0.135 0.135 0.135)\",\n gray4: \"color(display-p3 0.163 0.163 0.163)\",\n gray5: \"color(display-p3 0.192 0.192 0.192)\",\n gray6: \"color(display-p3 0.228 0.228 0.228)\",\n gray7: \"color(display-p3 0.283 0.283 0.283)\",\n gray8: \"color(display-p3 0.375 0.375 0.375)\",\n gray9: \"color(display-p3 0.431 0.431 0.431)\",\n gray10: \"color(display-p3 0.484 0.484 0.484)\",\n gray11: \"color(display-p3 0.706 0.706 0.706)\",\n gray12: \"color(display-p3 0.933 0.933 0.933)\",\n};\nconst grayDarkP3A = {\n grayA1: \"color(display-p3 0 0 0 / 0)\",\n grayA2: \"color(display-p3 1 1 1 / 0.034)\",\n grayA3: \"color(display-p3 1 1 1 / 0.071)\",\n grayA4: \"color(display-p3 1 1 1 / 0.105)\",\n grayA5: \"color(display-p3 1 1 1 / 0.134)\",\n grayA6: \"color(display-p3 1 1 1 / 0.172)\",\n grayA7: \"color(display-p3 1 1 1 / 0.231)\",\n grayA8: \"color(display-p3 1 1 1 / 0.332)\",\n grayA9: \"color(display-p3 1 1 1 / 0.391)\",\n grayA10: \"color(display-p3 1 1 1 / 0.445)\",\n grayA11: \"color(display-p3 1 1 1 / 0.685)\",\n grayA12: \"color(display-p3 1 1 1 / 0.929)\",\n};\nconst mauveDark = {\n mauve1: \"#121113\",\n mauve2: \"#1a191b\",\n mauve3: \"#232225\",\n mauve4: \"#2b292d\",\n mauve5: \"#323035\",\n mauve6: \"#3c393f\",\n mauve7: \"#49474e\",\n mauve8: \"#625f69\",\n mauve9: \"#6f6d78\",\n mauve10: \"#7c7a85\",\n mauve11: \"#b5b2bc\",\n mauve12: \"#eeeef0\",\n};\nconst mauveDarkA = {\n mauveA1: \"#00000000\",\n mauveA2: \"#f5f4f609\",\n mauveA3: \"#ebeaf814\",\n mauveA4: \"#eee5f81d\",\n mauveA5: \"#efe6fe25\",\n mauveA6: \"#f1e6fd30\",\n mauveA7: \"#eee9ff40\",\n mauveA8: \"#eee7ff5d\",\n mauveA9: \"#eae6fd6e\",\n mauveA10: \"#ece9fd7c\",\n mauveA11: \"#f5f1ffb7\",\n mauveA12: \"#fdfdffef\",\n};\nconst mauveDarkP3 = {\n mauve1: \"color(display-p3 0.07 0.067 0.074)\",\n mauve2: \"color(display-p3 0.101 0.098 0.105)\",\n mauve3: \"color(display-p3 0.138 0.134 0.144)\",\n mauve4: \"color(display-p3 0.167 0.161 0.175)\",\n mauve5: \"color(display-p3 0.196 0.189 0.206)\",\n mauve6: \"color(display-p3 0.232 0.225 0.245)\",\n mauve7: \"color(display-p3 0.286 0.277 0.302)\",\n mauve8: \"color(display-p3 0.383 0.373 0.408)\",\n mauve9: \"color(display-p3 0.434 0.428 0.467)\",\n mauve10: \"color(display-p3 0.487 0.48 0.519)\",\n mauve11: \"color(display-p3 0.707 0.7 0.735)\",\n mauve12: \"color(display-p3 0.933 0.933 0.94)\",\n};\nconst mauveDarkP3A = {\n mauveA1: \"color(display-p3 0 0 0 / 0)\",\n mauveA2: \"color(display-p3 0.996 0.992 1 / 0.034)\",\n mauveA3: \"color(display-p3 0.937 0.933 0.992 / 0.077)\",\n mauveA4: \"color(display-p3 0.957 0.918 0.996 / 0.111)\",\n mauveA5: \"color(display-p3 0.937 0.906 0.996 / 0.145)\",\n mauveA6: \"color(display-p3 0.953 0.925 0.996 / 0.183)\",\n mauveA7: \"color(display-p3 0.945 0.929 1 / 0.246)\",\n mauveA8: \"color(display-p3 0.937 0.918 1 / 0.361)\",\n mauveA9: \"color(display-p3 0.933 0.918 1 / 0.424)\",\n mauveA10: \"color(display-p3 0.941 0.925 1 / 0.479)\",\n mauveA11: \"color(display-p3 0.965 0.961 1 / 0.712)\",\n mauveA12: \"color(display-p3 0.992 0.992 1 / 0.937)\",\n};\nconst slateDark = {\n slate1: \"#111113\",\n slate2: \"#18191b\",\n slate3: \"#212225\",\n slate4: \"#272a2d\",\n slate5: \"#2e3135\",\n slate6: \"#363a3f\",\n slate7: \"#43484e\",\n slate8: \"#5a6169\",\n slate9: \"#696e77\",\n slate10: \"#777b84\",\n slate11: \"#b0b4ba\",\n slate12: \"#edeef0\",\n};\nconst slateDarkA = {\n slateA1: \"#00000000\",\n slateA2: \"#d8f4f609\",\n slateA3: \"#ddeaf814\",\n slateA4: \"#d3edf81d\",\n slateA5: \"#d9edfe25\",\n slateA6: \"#d6ebfd30\",\n slateA7: \"#d9edff40\",\n slateA8: \"#d9edff5d\",\n slateA9: \"#dfebfd6d\",\n slateA10: \"#e5edfd7b\",\n slateA11: \"#f1f7feb5\",\n slateA12: \"#fcfdffef\",\n};\nconst slateDarkP3 = {\n slate1: \"color(display-p3 0.067 0.067 0.074)\",\n slate2: \"color(display-p3 0.095 0.098 0.105)\",\n slate3: \"color(display-p3 0.13 0.135 0.145)\",\n slate4: \"color(display-p3 0.156 0.163 0.176)\",\n slate5: \"color(display-p3 0.183 0.191 0.206)\",\n slate6: \"color(display-p3 0.215 0.226 0.244)\",\n slate7: \"color(display-p3 0.265 0.28 0.302)\",\n slate8: \"color(display-p3 0.357 0.381 0.409)\",\n slate9: \"color(display-p3 0.415 0.431 0.463)\",\n slate10: \"color(display-p3 0.469 0.483 0.514)\",\n slate11: \"color(display-p3 0.692 0.704 0.728)\",\n slate12: \"color(display-p3 0.93 0.933 0.94)\",\n};\nconst slateDarkP3A = {\n slateA1: \"color(display-p3 0 0 0 / 0)\",\n slateA2: \"color(display-p3 0.875 0.992 1 / 0.034)\",\n slateA3: \"color(display-p3 0.882 0.933 0.992 / 0.077)\",\n slateA4: \"color(display-p3 0.882 0.953 0.996 / 0.111)\",\n slateA5: \"color(display-p3 0.878 0.929 0.996 / 0.145)\",\n slateA6: \"color(display-p3 0.882 0.949 0.996 / 0.183)\",\n slateA7: \"color(display-p3 0.882 0.929 1 / 0.246)\",\n slateA8: \"color(display-p3 0.871 0.937 1 / 0.361)\",\n slateA9: \"color(display-p3 0.898 0.937 1 / 0.42)\",\n slateA10: \"color(display-p3 0.918 0.945 1 / 0.475)\",\n slateA11: \"color(display-p3 0.949 0.969 0.996 / 0.708)\",\n slateA12: \"color(display-p3 0.988 0.992 1 / 0.937)\",\n};\nconst sageDark = {\n sage1: \"#101211\",\n sage2: \"#171918\",\n sage3: \"#202221\",\n sage4: \"#272a29\",\n sage5: \"#2e3130\",\n sage6: \"#373b39\",\n sage7: \"#444947\",\n sage8: \"#5b625f\",\n sage9: \"#63706b\",\n sage10: \"#717d79\",\n sage11: \"#adb5b2\",\n sage12: \"#eceeed\",\n};\nconst sageDarkA = {\n sageA1: \"#00000000\",\n sageA2: \"#f0f2f108\",\n sageA3: \"#f3f5f412\",\n sageA4: \"#f2fefd1a\",\n sageA5: \"#f1fbfa22\",\n sageA6: \"#edfbf42d\",\n sageA7: \"#edfcf73c\",\n sageA8: \"#ebfdf657\",\n sageA9: \"#dffdf266\",\n sageA10: \"#e5fdf674\",\n sageA11: \"#f4fefbb0\",\n sageA12: \"#fdfffeed\",\n};\nconst sageDarkP3 = {\n sage1: \"color(display-p3 0.064 0.07 0.067)\",\n sage2: \"color(display-p3 0.092 0.098 0.094)\",\n sage3: \"color(display-p3 0.128 0.135 0.131)\",\n sage4: \"color(display-p3 0.155 0.164 0.159)\",\n sage5: \"color(display-p3 0.183 0.193 0.188)\",\n sage6: \"color(display-p3 0.218 0.23 0.224)\",\n sage7: \"color(display-p3 0.269 0.285 0.277)\",\n sage8: \"color(display-p3 0.362 0.382 0.373)\",\n sage9: \"color(display-p3 0.398 0.438 0.421)\",\n sage10: \"color(display-p3 0.453 0.49 0.474)\",\n sage11: \"color(display-p3 0.685 0.709 0.697)\",\n sage12: \"color(display-p3 0.927 0.933 0.93)\",\n};\nconst sageDarkP3A = {\n sageA1: \"color(display-p3 0 0 0 / 0)\",\n sageA2: \"color(display-p3 0.976 0.988 0.984 / 0.03)\",\n sageA3: \"color(display-p3 0.992 0.945 0.941 / 0.072)\",\n sageA4: \"color(display-p3 0.988 0.996 0.992 / 0.102)\",\n sageA5: \"color(display-p3 0.992 1 0.996 / 0.131)\",\n sageA6: \"color(display-p3 0.973 1 0.976 / 0.173)\",\n sageA7: \"color(display-p3 0.957 1 0.976 / 0.233)\",\n sageA8: \"color(display-p3 0.957 1 0.984 / 0.334)\",\n sageA9: \"color(display-p3 0.902 1 0.957 / 0.397)\",\n sageA10: \"color(display-p3 0.929 1 0.973 / 0.452)\",\n sageA11: \"color(display-p3 0.969 1 0.988 / 0.688)\",\n sageA12: \"color(display-p3 0.992 1 0.996 / 0.929)\",\n};\nconst oliveDark = {\n olive1: \"#111210\",\n olive2: \"#181917\",\n olive3: \"#212220\",\n olive4: \"#282a27\",\n olive5: \"#2f312e\",\n olive6: \"#383a36\",\n olive7: \"#454843\",\n olive8: \"#5c625b\",\n olive9: \"#687066\",\n olive10: \"#767d74\",\n olive11: \"#afb5ad\",\n olive12: \"#eceeec\",\n};\nconst oliveDarkA = {\n oliveA1: \"#00000000\",\n oliveA2: \"#f1f2f008\",\n oliveA3: \"#f4f5f312\",\n oliveA4: \"#f3fef21a\",\n oliveA5: \"#f2fbf122\",\n oliveA6: \"#f4faed2c\",\n oliveA7: \"#f2fced3b\",\n oliveA8: \"#edfdeb57\",\n oliveA9: \"#ebfde766\",\n oliveA10: \"#f0fdec74\",\n oliveA11: \"#f6fef4b0\",\n oliveA12: \"#fdfffded\",\n};\nconst oliveDarkP3 = {\n olive1: \"color(display-p3 0.067 0.07 0.063)\",\n olive2: \"color(display-p3 0.095 0.098 0.091)\",\n olive3: \"color(display-p3 0.131 0.135 0.126)\",\n olive4: \"color(display-p3 0.158 0.163 0.153)\",\n olive5: \"color(display-p3 0.186 0.192 0.18)\",\n olive6: \"color(display-p3 0.221 0.229 0.215)\",\n olive7: \"color(display-p3 0.273 0.284 0.266)\",\n olive8: \"color(display-p3 0.365 0.382 0.359)\",\n olive9: \"color(display-p3 0.414 0.438 0.404)\",\n olive10: \"color(display-p3 0.467 0.49 0.458)\",\n olive11: \"color(display-p3 0.69 0.709 0.682)\",\n olive12: \"color(display-p3 0.927 0.933 0.926)\",\n};\nconst oliveDarkP3A = {\n oliveA1: \"color(display-p3 0 0 0 / 0)\",\n oliveA2: \"color(display-p3 0.984 0.988 0.976 / 0.03)\",\n oliveA3: \"color(display-p3 0.992 0.996 0.988 / 0.068)\",\n oliveA4: \"color(display-p3 0.953 0.996 0.949 / 0.102)\",\n oliveA5: \"color(display-p3 0.969 1 0.965 / 0.131)\",\n oliveA6: \"color(display-p3 0.973 1 0.969 / 0.169)\",\n oliveA7: \"color(display-p3 0.98 1 0.961 / 0.228)\",\n oliveA8: \"color(display-p3 0.961 1 0.957 / 0.334)\",\n oliveA9: \"color(display-p3 0.949 1 0.922 / 0.397)\",\n oliveA10: \"color(display-p3 0.953 1 0.941 / 0.452)\",\n oliveA11: \"color(display-p3 0.976 1 0.965 / 0.688)\",\n oliveA12: \"color(display-p3 0.992 1 0.992 / 0.929)\",\n};\nconst sandDark = {\n sand1: \"#111110\",\n sand2: \"#191918\",\n sand3: \"#222221\",\n sand4: \"#2a2a28\",\n sand5: \"#31312e\",\n sand6: \"#3b3a37\",\n sand7: \"#494844\",\n sand8: \"#62605b\",\n sand9: \"#6f6d66\",\n sand10: \"#7c7b74\",\n sand11: \"#b5b3ad\",\n sand12: \"#eeeeec\",\n};\nconst sandDarkA = {\n sandA1: \"#00000000\",\n sandA2: \"#f4f4f309\",\n sandA3: \"#f6f6f513\",\n sandA4: \"#fefef31b\",\n sandA5: \"#fbfbeb23\",\n sandA6: \"#fffaed2d\",\n sandA7: \"#fffbed3c\",\n sandA8: \"#fff9eb57\",\n sandA9: \"#fffae965\",\n sandA10: \"#fffdee73\",\n sandA11: \"#fffcf4b0\",\n sandA12: \"#fffffded\",\n};\nconst sandDarkP3 = {\n sand1: \"color(display-p3 0.067 0.067 0.063)\",\n sand2: \"color(display-p3 0.098 0.098 0.094)\",\n sand3: \"color(display-p3 0.135 0.135 0.129)\",\n sand4: \"color(display-p3 0.164 0.163 0.156)\",\n sand5: \"color(display-p3 0.193 0.192 0.183)\",\n sand6: \"color(display-p3 0.23 0.229 0.217)\",\n sand7: \"color(display-p3 0.285 0.282 0.267)\",\n sand8: \"color(display-p3 0.384 0.378 0.357)\",\n sand9: \"color(display-p3 0.434 0.428 0.403)\",\n sand10: \"color(display-p3 0.487 0.481 0.456)\",\n sand11: \"color(display-p3 0.707 0.703 0.68)\",\n sand12: \"color(display-p3 0.933 0.933 0.926)\",\n};\nconst sandDarkP3A = {\n sandA1: \"color(display-p3 0 0 0 / 0)\",\n sandA2: \"color(display-p3 0.992 0.992 0.988 / 0.034)\",\n sandA3: \"color(display-p3 0.996 0.996 0.992 / 0.072)\",\n sandA4: \"color(display-p3 0.992 0.992 0.953 / 0.106)\",\n sandA5: \"color(display-p3 1 1 0.965 / 0.135)\",\n sandA6: \"color(display-p3 1 0.976 0.929 / 0.177)\",\n sandA7: \"color(display-p3 1 0.984 0.929 / 0.236)\",\n sandA8: \"color(display-p3 1 0.976 0.925 / 0.341)\",\n sandA9: \"color(display-p3 1 0.98 0.925 / 0.395)\",\n sandA10: \"color(display-p3 1 0.992 0.933 / 0.45)\",\n sandA11: \"color(display-p3 1 0.996 0.961 / 0.685)\",\n sandA12: \"color(display-p3 1 1 0.992 / 0.929)\",\n};\nconst tomatoDark = {\n tomato1: \"#181111\",\n tomato2: \"#1f1513\",\n tomato3: \"#391714\",\n tomato4: \"#4e1511\",\n tomato5: \"#5e1c16\",\n tomato6: \"#6e2920\",\n tomato7: \"#853a2d\",\n tomato8: \"#ac4d39\",\n tomato9: \"#e54d2e\",\n tomato10: \"#ec6142\",\n tomato11: \"#ff977d\",\n tomato12: \"#fbd3cb\",\n};\nconst tomatoDarkA = {\n tomatoA1: \"#f1121208\",\n tomatoA2: \"#ff55330f\",\n tomatoA3: \"#ff35232b\",\n tomatoA4: \"#fd201142\",\n tomatoA5: \"#fe332153\",\n tomatoA6: \"#ff4f3864\",\n tomatoA7: \"#fd644a7d\",\n tomatoA8: \"#fe6d4ea7\",\n tomatoA9: \"#fe5431e4\",\n tomatoA10: \"#ff6847eb\",\n tomatoA11: \"#ff977d\",\n tomatoA12: \"#ffd6cefb\",\n};\nconst tomatoDarkP3 = {\n tomato1: \"color(display-p3 0.09 0.068 0.067)\",\n tomato2: \"color(display-p3 0.115 0.084 0.076)\",\n tomato3: \"color(display-p3 0.205 0.097 0.083)\",\n tomato4: \"color(display-p3 0.282 0.099 0.077)\",\n tomato5: \"color(display-p3 0.339 0.129 0.101)\",\n tomato6: \"color(display-p3 0.398 0.179 0.141)\",\n tomato7: \"color(display-p3 0.487 0.245 0.194)\",\n tomato8: \"color(display-p3 0.629 0.322 0.248)\",\n tomato9: \"color(display-p3 0.831 0.345 0.231)\",\n tomato10: \"color(display-p3 0.862 0.415 0.298)\",\n tomato11: \"color(display-p3 1 0.585 0.455)\",\n tomato12: \"color(display-p3 0.959 0.833 0.802)\",\n};\nconst tomatoDarkP3A = {\n tomatoA1: \"color(display-p3 0.973 0.071 0.071 / 0.026)\",\n tomatoA2: \"color(display-p3 0.992 0.376 0.224 / 0.051)\",\n tomatoA3: \"color(display-p3 0.996 0.282 0.176 / 0.148)\",\n tomatoA4: \"color(display-p3 1 0.204 0.118 / 0.232)\",\n tomatoA5: \"color(display-p3 1 0.286 0.192 / 0.29)\",\n tomatoA6: \"color(display-p3 1 0.392 0.278 / 0.353)\",\n tomatoA7: \"color(display-p3 1 0.459 0.349 / 0.45)\",\n tomatoA8: \"color(display-p3 1 0.49 0.369 / 0.601)\",\n tomatoA9: \"color(display-p3 1 0.408 0.267 / 0.82)\",\n tomatoA10: \"color(display-p3 1 0.478 0.341 / 0.853)\",\n tomatoA11: \"color(display-p3 1 0.585 0.455)\",\n tomatoA12: \"color(display-p3 0.959 0.833 0.802)\",\n};\nconst redDark = {\n red1: \"#191111\",\n red2: \"#201314\",\n red3: \"#3b1219\",\n red4: \"#500f1c\",\n red5: \"#611623\",\n red6: \"#72232d\",\n red7: \"#8c333a\",\n red8: \"#b54548\",\n red9: \"#e5484d\",\n red10: \"#ec5d5e\",\n red11: \"#ff9592\",\n red12: \"#ffd1d9\",\n};\nconst redDarkA = {\n redA1: \"#f4121209\",\n redA2: \"#f22f3e11\",\n redA3: \"#ff173f2d\",\n redA4: \"#fe0a3b44\",\n redA5: \"#ff204756\",\n redA6: \"#ff3e5668\",\n redA7: \"#ff536184\",\n redA8: \"#ff5d61b0\",\n redA9: \"#fe4e54e4\",\n redA10: \"#ff6465eb\",\n redA11: \"#ff9592\",\n redA12: \"#ffd1d9\",\n};\nconst redDarkP3 = {\n red1: \"color(display-p3 0.093 0.068 0.067)\",\n red2: \"color(display-p3 0.118 0.077 0.079)\",\n red3: \"color(display-p3 0.211 0.081 0.099)\",\n red4: \"color(display-p3 0.287 0.079 0.113)\",\n red5: \"color(display-p3 0.348 0.11 0.142)\",\n red6: \"color(display-p3 0.414 0.16 0.183)\",\n red7: \"color(display-p3 0.508 0.224 0.236)\",\n red8: \"color(display-p3 0.659 0.298 0.297)\",\n red9: \"color(display-p3 0.83 0.329 0.324)\",\n red10: \"color(display-p3 0.861 0.403 0.387)\",\n red11: \"color(display-p3 1 0.57 0.55)\",\n red12: \"color(display-p3 0.971 0.826 0.852)\",\n};\nconst redDarkP3A = {\n redA1: \"color(display-p3 0.984 0.071 0.071 / 0.03)\",\n redA2: \"color(display-p3 0.996 0.282 0.282 / 0.055)\",\n redA3: \"color(display-p3 1 0.169 0.271 / 0.156)\",\n redA4: \"color(display-p3 1 0.118 0.267 / 0.236)\",\n redA5: \"color(display-p3 1 0.212 0.314 / 0.303)\",\n redA6: \"color(display-p3 1 0.318 0.38 / 0.374)\",\n redA7: \"color(display-p3 1 0.4 0.424 / 0.475)\",\n redA8: \"color(display-p3 1 0.431 0.431 / 0.635)\",\n redA9: \"color(display-p3 1 0.388 0.384 / 0.82)\",\n redA10: \"color(display-p3 1 0.463 0.447 / 0.853)\",\n redA11: \"color(display-p3 1 0.57 0.55)\",\n redA12: \"color(display-p3 0.971 0.826 0.852)\",\n};\nconst rubyDark = {\n ruby1: \"#191113\",\n ruby2: \"#1e1517\",\n ruby3: \"#3a141e\",\n ruby4: \"#4e1325\",\n ruby5: \"#5e1a2e\",\n ruby6: \"#6f2539\",\n ruby7: \"#883447\",\n ruby8: \"#b3445a\",\n ruby9: \"#e54666\",\n ruby10: \"#ec5a72\",\n ruby11: \"#ff949d\",\n ruby12: \"#fed2e1\",\n};\nconst rubyDarkA = {\n rubyA1: \"#f4124a09\",\n rubyA2: \"#fe5a7f0e\",\n rubyA3: \"#ff235d2c\",\n rubyA4: \"#fd195e42\",\n rubyA5: \"#fe2d6b53\",\n rubyA6: \"#ff447665\",\n rubyA7: \"#ff577d80\",\n rubyA8: \"#ff5c7cae\",\n rubyA9: \"#fe4c70e4\",\n rubyA10: \"#ff617beb\",\n rubyA11: \"#ff949d\",\n rubyA12: \"#ffd3e2fe\",\n};\nconst rubyDarkP3 = {\n ruby1: \"color(display-p3 0.093 0.068 0.074)\",\n ruby2: \"color(display-p3 0.113 0.083 0.089)\",\n ruby3: \"color(display-p3 0.208 0.088 0.117)\",\n ruby4: \"color(display-p3 0.279 0.092 0.147)\",\n ruby5: \"color(display-p3 0.337 0.12 0.18)\",\n ruby6: \"color(display-p3 0.401 0.166 0.223)\",\n ruby7: \"color(display-p3 0.495 0.224 0.281)\",\n ruby8: \"color(display-p3 0.652 0.295 0.359)\",\n ruby9: \"color(display-p3 0.83 0.323 0.408)\",\n ruby10: \"color(display-p3 0.857 0.392 0.455)\",\n ruby11: \"color(display-p3 1 0.57 0.59)\",\n ruby12: \"color(display-p3 0.968 0.83 0.88)\",\n};\nconst rubyDarkP3A = {\n rubyA1: \"color(display-p3 0.984 0.071 0.329 / 0.03)\",\n rubyA2: \"color(display-p3 0.992 0.376 0.529 / 0.051)\",\n rubyA3: \"color(display-p3 0.996 0.196 0.404 / 0.152)\",\n rubyA4: \"color(display-p3 1 0.173 0.416 / 0.227)\",\n rubyA5: \"color(display-p3 1 0.259 0.459 / 0.29)\",\n rubyA6: \"color(display-p3 1 0.341 0.506 / 0.358)\",\n rubyA7: \"color(display-p3 1 0.412 0.541 / 0.458)\",\n rubyA8: \"color(display-p3 1 0.431 0.537 / 0.627)\",\n rubyA9: \"color(display-p3 1 0.376 0.482 / 0.82)\",\n rubyA10: \"color(display-p3 1 0.447 0.522 / 0.849)\",\n rubyA11: \"color(display-p3 1 0.57 0.59)\",\n rubyA12: \"color(display-p3 0.968 0.83 0.88)\",\n};\nconst crimsonDark = {\n crimson1: \"#191114\",\n crimson2: \"#201318\",\n crimson3: \"#381525\",\n crimson4: \"#4d122f\",\n crimson5: \"#5c1839\",\n crimson6: \"#6d2545\",\n crimson7: \"#873356\",\n crimson8: \"#b0436e\",\n crimson9: \"#e93d82\",\n crimson10: \"#ee518a\",\n crimson11: \"#ff92ad\",\n crimson12: \"#fdd3e8\",\n};\nconst crimsonDarkA = {\n crimsonA1: \"#f4126709\",\n crimsonA2: \"#f22f7a11\",\n crimsonA3: \"#fe2a8b2a\",\n crimsonA4: \"#fd158741\",\n crimsonA5: \"#fd278f51\",\n crimsonA6: \"#fe459763\",\n crimsonA7: \"#fd559b7f\",\n crimsonA8: \"#fe5b9bab\",\n crimsonA9: \"#fe418de8\",\n crimsonA10: \"#ff5693ed\",\n crimsonA11: \"#ff92ad\",\n crimsonA12: \"#ffd5eafd\",\n};\nconst crimsonDarkP3 = {\n crimson1: \"color(display-p3 0.093 0.068 0.078)\",\n crimson2: \"color(display-p3 0.117 0.078 0.095)\",\n crimson3: \"color(display-p3 0.203 0.091 0.143)\",\n crimson4: \"color(display-p3 0.277 0.087 0.182)\",\n crimson5: \"color(display-p3 0.332 0.115 0.22)\",\n crimson6: \"color(display-p3 0.394 0.162 0.268)\",\n crimson7: \"color(display-p3 0.489 0.222 0.336)\",\n crimson8: \"color(display-p3 0.638 0.289 0.429)\",\n crimson9: \"color(display-p3 0.843 0.298 0.507)\",\n crimson10: \"color(display-p3 0.864 0.364 0.539)\",\n crimson11: \"color(display-p3 1 0.56 0.66)\",\n crimson12: \"color(display-p3 0.966 0.834 0.906)\",\n};\nconst crimsonDarkP3A = {\n crimsonA1: \"color(display-p3 0.984 0.071 0.463 / 0.03)\",\n crimsonA2: \"color(display-p3 0.996 0.282 0.569 / 0.055)\",\n crimsonA3: \"color(display-p3 0.996 0.227 0.573 / 0.148)\",\n crimsonA4: \"color(display-p3 1 0.157 0.569 / 0.227)\",\n crimsonA5: \"color(display-p3 1 0.231 0.604 / 0.286)\",\n crimsonA6: \"color(display-p3 1 0.337 0.643 / 0.349)\",\n crimsonA7: \"color(display-p3 1 0.416 0.663 / 0.454)\",\n crimsonA8: \"color(display-p3 0.996 0.427 0.651 / 0.614)\",\n crimsonA9: \"color(display-p3 1 0.345 0.596 / 0.832)\",\n crimsonA10: \"color(display-p3 1 0.42 0.62 / 0.853)\",\n crimsonA11: \"color(display-p3 1 0.56 0.66)\",\n crimsonA12: \"color(display-p3 0.966 0.834 0.906)\",\n};\nconst pinkDark = {\n pink1: \"#191117\",\n pink2: \"#21121d\",\n pink3: \"#37172f\",\n pink4: \"#4b143d\",\n pink5: \"#591c47\",\n pink6: \"#692955\",\n pink7: \"#833869\",\n pink8: \"#a84885\",\n pink9: \"#d6409f\",\n pink10: \"#de51a8\",\n pink11: \"#ff8dcc\",\n pink12: \"#fdd1ea\",\n};\nconst pinkDarkA = {\n pinkA1: \"#f412bc09\",\n pinkA2: \"#f420bb12\",\n pinkA3: \"#fe37cc29\",\n pinkA4: \"#fc1ec43f\",\n pinkA5: \"#fd35c24e\",\n pinkA6: \"#fd51c75f\",\n pinkA7: \"#fd62c87b\",\n pinkA8: \"#ff68c8a2\",\n pinkA9: \"#fe49bcd4\",\n pinkA10: \"#ff5cc0dc\",\n pinkA11: \"#ff8dcc\",\n pinkA12: \"#ffd3ecfd\",\n};\nconst pinkDarkP3 = {\n pink1: \"color(display-p3 0.093 0.068 0.089)\",\n pink2: \"color(display-p3 0.121 0.073 0.11)\",\n pink3: \"color(display-p3 0.198 0.098 0.179)\",\n pink4: \"color(display-p3 0.271 0.095 0.231)\",\n pink5: \"color(display-p3 0.32 0.127 0.273)\",\n pink6: \"color(display-p3 0.382 0.177 0.326)\",\n pink7: \"color(display-p3 0.477 0.238 0.405)\",\n pink8: \"color(display-p3 0.612 0.304 0.51)\",\n pink9: \"color(display-p3 0.775 0.297 0.61)\",\n pink10: \"color(display-p3 0.808 0.356 0.645)\",\n pink11: \"color(display-p3 1 0.535 0.78)\",\n pink12: \"color(display-p3 0.964 0.826 0.912)\",\n};\nconst pinkDarkP3A = {\n pinkA1: \"color(display-p3 0.984 0.071 0.855 / 0.03)\",\n pinkA2: \"color(display-p3 1 0.2 0.8 / 0.059)\",\n pinkA3: \"color(display-p3 1 0.294 0.886 / 0.139)\",\n pinkA4: \"color(display-p3 1 0.192 0.82 / 0.219)\",\n pinkA5: \"color(display-p3 1 0.282 0.827 / 0.274)\",\n pinkA6: \"color(display-p3 1 0.396 0.835 / 0.337)\",\n pinkA7: \"color(display-p3 1 0.459 0.831 / 0.442)\",\n pinkA8: \"color(display-p3 1 0.478 0.827 / 0.585)\",\n pinkA9: \"color(display-p3 1 0.373 0.784 / 0.761)\",\n pinkA10: \"color(display-p3 1 0.435 0.792 / 0.795)\",\n pinkA11: \"color(display-p3 1 0.535 0.78)\",\n pinkA12: \"color(display-p3 0.964 0.826 0.912)\",\n};\nconst plumDark = {\n plum1: \"#181118\",\n plum2: \"#201320\",\n plum3: \"#351a35\",\n plum4: \"#451d47\",\n plum5: \"#512454\",\n plum6: \"#5e3061\",\n plum7: \"#734079\",\n plum8: \"#92549c\",\n plum9: \"#ab4aba\",\n plum10: \"#b658c4\",\n plum11: \"#e796f3\",\n plum12: \"#f4d4f4\",\n};\nconst plumDarkA = {\n plumA1: \"#f112f108\",\n plumA2: \"#f22ff211\",\n plumA3: \"#fd4cfd27\",\n plumA4: \"#f646ff3a\",\n plumA5: \"#f455ff48\",\n plumA6: \"#f66dff56\",\n plumA7: \"#f07cfd70\",\n plumA8: \"#ee84ff95\",\n plumA9: \"#e961feb6\",\n plumA10: \"#ed70ffc0\",\n plumA11: \"#f19cfef3\",\n plumA12: \"#feddfef4\",\n};\nconst plumDarkP3 = {\n plum1: \"color(display-p3 0.09 0.068 0.092)\",\n plum2: \"color(display-p3 0.118 0.077 0.121)\",\n plum3: \"color(display-p3 0.192 0.105 0.202)\",\n plum4: \"color(display-p3 0.25 0.121 0.271)\",\n plum5: \"color(display-p3 0.293 0.152 0.319)\",\n plum6: \"color(display-p3 0.343 0.198 0.372)\",\n plum7: \"color(display-p3 0.424 0.262 0.461)\",\n plum8: \"color(display-p3 0.54 0.341 0.595)\",\n plum9: \"color(display-p3 0.624 0.313 0.708)\",\n plum10: \"color(display-p3 0.666 0.365 0.748)\",\n plum11: \"color(display-p3 0.86 0.602 0.933)\",\n plum12: \"color(display-p3 0.936 0.836 0.949)\",\n};\nconst plumDarkP3A = {\n plumA1: \"color(display-p3 0.973 0.071 0.973 / 0.026)\",\n plumA2: \"color(display-p3 0.933 0.267 1 / 0.059)\",\n plumA3: \"color(display-p3 0.918 0.333 0.996 / 0.148)\",\n plumA4: \"color(display-p3 0.91 0.318 1 / 0.219)\",\n plumA5: \"color(display-p3 0.914 0.388 1 / 0.269)\",\n plumA6: \"color(display-p3 0.906 0.463 1 / 0.328)\",\n plumA7: \"color(display-p3 0.906 0.529 1 / 0.425)\",\n plumA8: \"color(display-p3 0.906 0.553 1 / 0.568)\",\n plumA9: \"color(display-p3 0.875 0.427 1 / 0.69)\",\n plumA10: \"color(display-p3 0.886 0.471 0.996 / 0.732)\",\n plumA11: \"color(display-p3 0.86 0.602 0.933)\",\n plumA12: \"color(display-p3 0.936 0.836 0.949)\",\n};\nconst purpleDark = {\n purple1: \"#18111b\",\n purple2: \"#1e1523\",\n purple3: \"#301c3b\",\n purple4: \"#3d224e\",\n purple5: \"#48295c\",\n purple6: \"#54346b\",\n purple7: \"#664282\",\n purple8: \"#8457aa\",\n purple9: \"#8e4ec6\",\n purple10: \"#9a5cd0\",\n purple11: \"#d19dff\",\n purple12: \"#ecd9fa\",\n};\nconst purpleDarkA = {\n purpleA1: \"#b412f90b\",\n purpleA2: \"#b744f714\",\n purpleA3: \"#c150ff2d\",\n purpleA4: \"#bb53fd42\",\n purpleA5: \"#be5cfd51\",\n purpleA6: \"#c16dfd61\",\n purpleA7: \"#c378fd7a\",\n purpleA8: \"#c47effa4\",\n purpleA9: \"#b661ffc2\",\n purpleA10: \"#bc6fffcd\",\n purpleA11: \"#d19dff\",\n purpleA12: \"#f1ddfffa\",\n};\nconst purpleDarkP3 = {\n purple1: \"color(display-p3 0.09 0.068 0.103)\",\n purple2: \"color(display-p3 0.113 0.082 0.134)\",\n purple3: \"color(display-p3 0.175 0.112 0.224)\",\n purple4: \"color(display-p3 0.224 0.137 0.297)\",\n purple5: \"color(display-p3 0.264 0.167 0.349)\",\n purple6: \"color(display-p3 0.311 0.208 0.406)\",\n purple7: \"color(display-p3 0.381 0.266 0.496)\",\n purple8: \"color(display-p3 0.49 0.349 0.649)\",\n purple9: \"color(display-p3 0.523 0.318 0.751)\",\n purple10: \"color(display-p3 0.57 0.373 0.791)\",\n purple11: \"color(display-p3 0.8 0.62 1)\",\n purple12: \"color(display-p3 0.913 0.854 0.971)\",\n};\nconst purpleDarkP3A = {\n purpleA1: \"color(display-p3 0.686 0.071 0.996 / 0.038)\",\n purpleA2: \"color(display-p3 0.722 0.286 0.996 / 0.072)\",\n purpleA3: \"color(display-p3 0.718 0.349 0.996 / 0.169)\",\n purpleA4: \"color(display-p3 0.702 0.353 1 / 0.248)\",\n purpleA5: \"color(display-p3 0.718 0.404 1 / 0.303)\",\n purpleA6: \"color(display-p3 0.733 0.455 1 / 0.366)\",\n purpleA7: \"color(display-p3 0.753 0.506 1 / 0.458)\",\n purpleA8: \"color(display-p3 0.749 0.522 1 / 0.622)\",\n purpleA9: \"color(display-p3 0.686 0.408 1 / 0.736)\",\n purpleA10: \"color(display-p3 0.71 0.459 1 / 0.778)\",\n purpleA11: \"color(display-p3 0.8 0.62 1)\",\n purpleA12: \"color(display-p3 0.913 0.854 0.971)\",\n};\nconst violetDark = {\n violet1: \"#14121f\",\n violet2: \"#1b1525\",\n violet3: \"#291f43\",\n violet4: \"#33255b\",\n violet5: \"#3c2e69\",\n violet6: \"#473876\",\n violet7: \"#56468b\",\n violet8: \"#6958ad\",\n violet9: \"#6e56cf\",\n violet10: \"#7d66d9\",\n violet11: \"#baa7ff\",\n violet12: \"#e2ddfe\",\n};\nconst violetDarkA = {\n violetA1: \"#4422ff0f\",\n violetA2: \"#853ff916\",\n violetA3: \"#8354fe36\",\n violetA4: \"#7d51fd50\",\n violetA5: \"#845ffd5f\",\n violetA6: \"#8f6cfd6d\",\n violetA7: \"#9879ff83\",\n violetA8: \"#977dfea8\",\n violetA9: \"#8668ffcc\",\n violetA10: \"#9176fed7\",\n violetA11: \"#baa7ff\",\n violetA12: \"#e3defffe\",\n};\nconst violetDarkP3 = {\n violet1: \"color(display-p3 0.077 0.071 0.118)\",\n violet2: \"color(display-p3 0.101 0.084 0.141)\",\n violet3: \"color(display-p3 0.154 0.123 0.256)\",\n violet4: \"color(display-p3 0.191 0.148 0.345)\",\n violet5: \"color(display-p3 0.226 0.182 0.396)\",\n violet6: \"color(display-p3 0.269 0.223 0.449)\",\n violet7: \"color(display-p3 0.326 0.277 0.53)\",\n violet8: \"color(display-p3 0.399 0.346 0.656)\",\n violet9: \"color(display-p3 0.417 0.341 0.784)\",\n violet10: \"color(display-p3 0.477 0.402 0.823)\",\n violet11: \"color(display-p3 0.72 0.65 1)\",\n violet12: \"color(display-p3 0.883 0.867 0.986)\",\n};\nconst violetDarkP3A = {\n violetA1: \"color(display-p3 0.282 0.141 0.996 / 0.055)\",\n violetA2: \"color(display-p3 0.51 0.263 1 / 0.08)\",\n violetA3: \"color(display-p3 0.494 0.337 0.996 / 0.202)\",\n violetA4: \"color(display-p3 0.49 0.345 1 / 0.299)\",\n violetA5: \"color(display-p3 0.525 0.392 1 / 0.353)\",\n violetA6: \"color(display-p3 0.569 0.455 1 / 0.408)\",\n violetA7: \"color(display-p3 0.588 0.494 1 / 0.496)\",\n violetA8: \"color(display-p3 0.596 0.51 1 / 0.631)\",\n violetA9: \"color(display-p3 0.522 0.424 1 / 0.769)\",\n violetA10: \"color(display-p3 0.576 0.482 1 / 0.811)\",\n violetA11: \"color(display-p3 0.72 0.65 1)\",\n violetA12: \"color(display-p3 0.883 0.867 0.986)\",\n};\nconst irisDark = {\n iris1: \"#13131e\",\n iris2: \"#171625\",\n iris3: \"#202248\",\n iris4: \"#262a65\",\n iris5: \"#303374\",\n iris6: \"#3d3e82\",\n iris7: \"#4a4a95\",\n iris8: \"#5958b1\",\n iris9: \"#5b5bd6\",\n iris10: \"#6e6ade\",\n iris11: \"#b1a9ff\",\n iris12: \"#e0dffe\",\n};\nconst irisDarkA = {\n irisA1: \"#3636fe0e\",\n irisA2: \"#564bf916\",\n irisA3: \"#525bff3b\",\n irisA4: \"#4d58ff5a\",\n irisA5: \"#5b62fd6b\",\n irisA6: \"#6d6ffd7a\",\n irisA7: \"#7777fe8e\",\n irisA8: \"#7b7afeac\",\n irisA9: \"#6a6afed4\",\n irisA10: \"#7d79ffdc\",\n irisA11: \"#b1a9ff\",\n irisA12: \"#e1e0fffe\",\n};\nconst irisDarkP3 = {\n iris1: \"color(display-p3 0.075 0.075 0.114)\",\n iris2: \"color(display-p3 0.089 0.086 0.14)\",\n iris3: \"color(display-p3 0.128 0.134 0.272)\",\n iris4: \"color(display-p3 0.153 0.165 0.382)\",\n iris5: \"color(display-p3 0.192 0.201 0.44)\",\n iris6: \"color(display-p3 0.239 0.241 0.491)\",\n iris7: \"color(display-p3 0.291 0.289 0.565)\",\n iris8: \"color(display-p3 0.35 0.345 0.673)\",\n iris9: \"color(display-p3 0.357 0.357 0.81)\",\n iris10: \"color(display-p3 0.428 0.416 0.843)\",\n iris11: \"color(display-p3 0.685 0.662 1)\",\n iris12: \"color(display-p3 0.878 0.875 0.986)\",\n};\nconst irisDarkP3A = {\n irisA1: \"color(display-p3 0.224 0.224 0.992 / 0.051)\",\n irisA2: \"color(display-p3 0.361 0.314 1 / 0.08)\",\n irisA3: \"color(display-p3 0.357 0.373 1 / 0.219)\",\n irisA4: \"color(display-p3 0.325 0.361 1 / 0.337)\",\n irisA5: \"color(display-p3 0.38 0.4 1 / 0.4)\",\n irisA6: \"color(display-p3 0.447 0.447 1 / 0.454)\",\n irisA7: \"color(display-p3 0.486 0.486 1 / 0.534)\",\n irisA8: \"color(display-p3 0.502 0.494 1 / 0.652)\",\n irisA9: \"color(display-p3 0.431 0.431 1 / 0.799)\",\n irisA10: \"color(display-p3 0.502 0.486 1 / 0.832)\",\n irisA11: \"color(display-p3 0.685 0.662 1)\",\n irisA12: \"color(display-p3 0.878 0.875 0.986)\",\n};\nconst indigoDark = {\n indigo1: \"#11131f\",\n indigo2: \"#141726\",\n indigo3: \"#182449\",\n indigo4: \"#1d2e62\",\n indigo5: \"#253974\",\n indigo6: \"#304384\",\n indigo7: \"#3a4f97\",\n indigo8: \"#435db1\",\n indigo9: \"#3e63dd\",\n indigo10: \"#5472e4\",\n indigo11: \"#9eb1ff\",\n indigo12: \"#d6e1ff\",\n};\nconst indigoDarkA = {\n indigoA1: \"#1133ff0f\",\n indigoA2: \"#3354fa17\",\n indigoA3: \"#2f62ff3c\",\n indigoA4: \"#3566ff57\",\n indigoA5: \"#4171fd6b\",\n indigoA6: \"#5178fd7c\",\n indigoA7: \"#5a7fff90\",\n indigoA8: \"#5b81feac\",\n indigoA9: \"#4671ffdb\",\n indigoA10: \"#5c7efee3\",\n indigoA11: \"#9eb1ff\",\n indigoA12: \"#d6e1ff\",\n};\nconst indigoDarkP3 = {\n indigo1: \"color(display-p3 0.068 0.074 0.118)\",\n indigo2: \"color(display-p3 0.081 0.089 0.144)\",\n indigo3: \"color(display-p3 0.105 0.141 0.275)\",\n indigo4: \"color(display-p3 0.129 0.18 0.369)\",\n indigo5: \"color(display-p3 0.163 0.22 0.439)\",\n indigo6: \"color(display-p3 0.203 0.262 0.5)\",\n indigo7: \"color(display-p3 0.245 0.309 0.575)\",\n indigo8: \"color(display-p3 0.285 0.362 0.674)\",\n indigo9: \"color(display-p3 0.276 0.384 0.837)\",\n indigo10: \"color(display-p3 0.354 0.445 0.866)\",\n indigo11: \"color(display-p3 0.63 0.69 1)\",\n indigo12: \"color(display-p3 0.848 0.881 0.99)\",\n};\nconst indigoDarkP3A = {\n indigoA1: \"color(display-p3 0.071 0.212 0.996 / 0.055)\",\n indigoA2: \"color(display-p3 0.251 0.345 0.988 / 0.085)\",\n indigoA3: \"color(display-p3 0.243 0.404 1 / 0.223)\",\n indigoA4: \"color(display-p3 0.263 0.42 1 / 0.324)\",\n indigoA5: \"color(display-p3 0.314 0.451 1 / 0.4)\",\n indigoA6: \"color(display-p3 0.361 0.49 1 / 0.467)\",\n indigoA7: \"color(display-p3 0.388 0.51 1 / 0.547)\",\n indigoA8: \"color(display-p3 0.404 0.518 1 / 0.652)\",\n indigoA9: \"color(display-p3 0.318 0.451 1 / 0.824)\",\n indigoA10: \"color(display-p3 0.404 0.506 1 / 0.858)\",\n indigoA11: \"color(display-p3 0.63 0.69 1)\",\n indigoA12: \"color(display-p3 0.848 0.881 0.99)\",\n};\nconst blueDark = {\n blue1: \"#0d1520\",\n blue2: \"#111927\",\n blue3: \"#0d2847\",\n blue4: \"#003362\",\n blue5: \"#004074\",\n blue6: \"#104d87\",\n blue7: \"#205d9e\",\n blue8: \"#2870bd\",\n blue9: \"#0090ff\",\n blue10: \"#3b9eff\",\n blue11: \"#70b8ff\",\n blue12: \"#c2e6ff\",\n};\nconst blueDarkA = {\n blueA1: \"#004df211\",\n blueA2: \"#1166fb18\",\n blueA3: \"#0077ff3a\",\n blueA4: \"#0075ff57\",\n blueA5: \"#0081fd6b\",\n blueA6: \"#0f89fd7f\",\n blueA7: \"#2a91fe98\",\n blueA8: \"#3094feb9\",\n blueA9: \"#0090ff\",\n blueA10: \"#3b9eff\",\n blueA11: \"#70b8ff\",\n blueA12: \"#c2e6ff\",\n};\nconst blueDarkP3 = {\n blue1: \"color(display-p3 0.057 0.081 0.122)\",\n blue2: \"color(display-p3 0.072 0.098 0.147)\",\n blue3: \"color(display-p3 0.078 0.154 0.27)\",\n blue4: \"color(display-p3 0.033 0.197 0.37)\",\n blue5: \"color(display-p3 0.08 0.245 0.441)\",\n blue6: \"color(display-p3 0.14 0.298 0.511)\",\n blue7: \"color(display-p3 0.195 0.361 0.6)\",\n blue8: \"color(display-p3 0.239 0.434 0.72)\",\n blue9: \"color(display-p3 0.247 0.556 0.969)\",\n blue10: \"color(display-p3 0.344 0.612 0.973)\",\n blue11: \"color(display-p3 0.49 0.72 1)\",\n blue12: \"color(display-p3 0.788 0.898 0.99)\",\n};\nconst blueDarkP3A = {\n blueA1: \"color(display-p3 0 0.333 1 / 0.059)\",\n blueA2: \"color(display-p3 0.114 0.435 0.988 / 0.085)\",\n blueA3: \"color(display-p3 0.122 0.463 1 / 0.219)\",\n blueA4: \"color(display-p3 0 0.467 1 / 0.324)\",\n blueA5: \"color(display-p3 0.098 0.51 1 / 0.4)\",\n blueA6: \"color(display-p3 0.224 0.557 1 / 0.475)\",\n blueA7: \"color(display-p3 0.294 0.584 1 / 0.572)\",\n blueA8: \"color(display-p3 0.314 0.592 1 / 0.702)\",\n blueA9: \"color(display-p3 0.251 0.573 0.996 / 0.967)\",\n blueA10: \"color(display-p3 0.357 0.631 1 / 0.971)\",\n blueA11: \"color(display-p3 0.49 0.72 1)\",\n blueA12: \"color(display-p3 0.788 0.898 0.99)\",\n};\nconst cyanDark = {\n cyan1: \"#0b161a\",\n cyan2: \"#101b20\",\n cyan3: \"#082c36\",\n cyan4: \"#003848\",\n cyan5: \"#004558\",\n cyan6: \"#045468\",\n cyan7: \"#12677e\",\n cyan8: \"#11809c\",\n cyan9: \"#00a2c7\",\n cyan10: \"#23afd0\",\n cyan11: \"#4ccce6\",\n cyan12: \"#b6ecf7\",\n};\nconst cyanDarkA = {\n cyanA1: \"#0091f70a\",\n cyanA2: \"#02a7f211\",\n cyanA3: \"#00befd28\",\n cyanA4: \"#00baff3b\",\n cyanA5: \"#00befd4d\",\n cyanA6: \"#00c7fd5e\",\n cyanA7: \"#14cdff75\",\n cyanA8: \"#11cfff95\",\n cyanA9: \"#00cfffc3\",\n cyanA10: \"#28d6ffcd\",\n cyanA11: \"#52e1fee5\",\n cyanA12: \"#bbf3fef7\",\n};\nconst cyanDarkP3 = {\n cyan1: \"color(display-p3 0.053 0.085 0.098)\",\n cyan2: \"color(display-p3 0.072 0.105 0.122)\",\n cyan3: \"color(display-p3 0.073 0.168 0.209)\",\n cyan4: \"color(display-p3 0.063 0.216 0.277)\",\n cyan5: \"color(display-p3 0.091 0.267 0.336)\",\n cyan6: \"color(display-p3 0.137 0.324 0.4)\",\n cyan7: \"color(display-p3 0.186 0.398 0.484)\",\n cyan8: \"color(display-p3 0.23 0.496 0.6)\",\n cyan9: \"color(display-p3 0.282 0.627 0.765)\",\n cyan10: \"color(display-p3 0.331 0.675 0.801)\",\n cyan11: \"color(display-p3 0.446 0.79 0.887)\",\n cyan12: \"color(display-p3 0.757 0.919 0.962)\",\n};\nconst cyanDarkP3A = {\n cyanA1: \"color(display-p3 0 0.647 0.992 / 0.034)\",\n cyanA2: \"color(display-p3 0.133 0.733 1 / 0.059)\",\n cyanA3: \"color(display-p3 0.122 0.741 0.996 / 0.152)\",\n cyanA4: \"color(display-p3 0.051 0.725 1 / 0.227)\",\n cyanA5: \"color(display-p3 0.149 0.757 1 / 0.29)\",\n cyanA6: \"color(display-p3 0.267 0.792 1 / 0.358)\",\n cyanA7: \"color(display-p3 0.333 0.808 1 / 0.446)\",\n cyanA8: \"color(display-p3 0.357 0.816 1 / 0.572)\",\n cyanA9: \"color(display-p3 0.357 0.82 1 / 0.748)\",\n cyanA10: \"color(display-p3 0.4 0.839 1 / 0.786)\",\n cyanA11: \"color(display-p3 0.446 0.79 0.887)\",\n cyanA12: \"color(display-p3 0.757 0.919 0.962)\",\n};\nconst tealDark = {\n teal1: \"#0d1514\",\n teal2: \"#111c1b\",\n teal3: \"#0d2d2a\",\n teal4: \"#023b37\",\n teal5: \"#084843\",\n teal6: \"#145750\",\n teal7: \"#1c6961\",\n teal8: \"#207e73\",\n teal9: \"#12a594\",\n teal10: \"#0eb39e\",\n teal11: \"#0bd8b6\",\n teal12: \"#adf0dd\",\n};\nconst tealDarkA = {\n tealA1: \"#00deab05\",\n tealA2: \"#12fbe60c\",\n tealA3: \"#00ffe61e\",\n tealA4: \"#00ffe92d\",\n tealA5: \"#00ffea3b\",\n tealA6: \"#1cffe84b\",\n tealA7: \"#2efde85f\",\n tealA8: \"#32ffe775\",\n tealA9: \"#13ffe49f\",\n tealA10: \"#0dffe0ae\",\n tealA11: \"#0afed5d6\",\n tealA12: \"#b8ffebef\",\n};\nconst tealDarkP3 = {\n teal1: \"color(display-p3 0.059 0.083 0.079)\",\n teal2: \"color(display-p3 0.075 0.11 0.107)\",\n teal3: \"color(display-p3 0.087 0.175 0.165)\",\n teal4: \"color(display-p3 0.087 0.227 0.214)\",\n teal5: \"color(display-p3 0.12 0.277 0.261)\",\n teal6: \"color(display-p3 0.162 0.335 0.314)\",\n teal7: \"color(display-p3 0.205 0.406 0.379)\",\n teal8: \"color(display-p3 0.245 0.489 0.453)\",\n teal9: \"color(display-p3 0.297 0.637 0.581)\",\n teal10: \"color(display-p3 0.319 0.69 0.62)\",\n teal11: \"color(display-p3 0.388 0.835 0.719)\",\n teal12: \"color(display-p3 0.734 0.934 0.87)\",\n};\nconst tealDarkP3A = {\n tealA1: \"color(display-p3 0 0.992 0.761 / 0.017)\",\n tealA2: \"color(display-p3 0.235 0.988 0.902 / 0.047)\",\n tealA3: \"color(display-p3 0.235 1 0.898 / 0.118)\",\n tealA4: \"color(display-p3 0.18 0.996 0.929 / 0.173)\",\n tealA5: \"color(display-p3 0.31 1 0.933 / 0.227)\",\n tealA6: \"color(display-p3 0.396 1 0.933 / 0.286)\",\n tealA7: \"color(display-p3 0.443 1 0.925 / 0.366)\",\n tealA8: \"color(display-p3 0.459 1 0.925 / 0.454)\",\n tealA9: \"color(display-p3 0.443 0.996 0.906 / 0.61)\",\n tealA10: \"color(display-p3 0.439 0.996 0.89 / 0.669)\",\n tealA11: \"color(display-p3 0.388 0.835 0.719)\",\n tealA12: \"color(display-p3 0.734 0.934 0.87)\",\n};\nconst jadeDark = {\n jade1: \"#0d1512\",\n jade2: \"#121c18\",\n jade3: \"#0f2e22\",\n jade4: \"#0b3b2c\",\n jade5: \"#114837\",\n jade6: \"#1b5745\",\n jade7: \"#246854\",\n jade8: \"#2a7e68\",\n jade9: \"#29a383\",\n jade10: \"#27b08b\",\n jade11: \"#1fd8a4\",\n jade12: \"#adf0d4\",\n};\nconst jadeDarkA = {\n jadeA1: \"#00de4505\",\n jadeA2: \"#27fba60c\",\n jadeA3: \"#02f99920\",\n jadeA4: \"#00ffaa2d\",\n jadeA5: \"#11ffb63b\",\n jadeA6: \"#34ffc24b\",\n jadeA7: \"#45fdc75e\",\n jadeA8: \"#48ffcf75\",\n jadeA9: \"#38feca9d\",\n jadeA10: \"#31fec7ab\",\n jadeA11: \"#21fec0d6\",\n jadeA12: \"#b8ffe1ef\",\n};\nconst jadeDarkP3 = {\n jade1: \"color(display-p3 0.059 0.083 0.071)\",\n jade2: \"color(display-p3 0.078 0.11 0.094)\",\n jade3: \"color(display-p3 0.091 0.176 0.138)\",\n jade4: \"color(display-p3 0.102 0.228 0.177)\",\n jade5: \"color(display-p3 0.133 0.279 0.221)\",\n jade6: \"color(display-p3 0.174 0.334 0.273)\",\n jade7: \"color(display-p3 0.219 0.402 0.335)\",\n jade8: \"color(display-p3 0.263 0.488 0.411)\",\n jade9: \"color(display-p3 0.319 0.63 0.521)\",\n jade10: \"color(display-p3 0.338 0.68 0.555)\",\n jade11: \"color(display-p3 0.4 0.835 0.656)\",\n jade12: \"color(display-p3 0.734 0.934 0.838)\",\n};\nconst jadeDarkP3A = {\n jadeA1: \"color(display-p3 0 0.992 0.298 / 0.017)\",\n jadeA2: \"color(display-p3 0.318 0.988 0.651 / 0.047)\",\n jadeA3: \"color(display-p3 0.267 1 0.667 / 0.118)\",\n jadeA4: \"color(display-p3 0.275 0.996 0.702 / 0.173)\",\n jadeA5: \"color(display-p3 0.361 1 0.741 / 0.227)\",\n jadeA6: \"color(display-p3 0.439 1 0.796 / 0.286)\",\n jadeA7: \"color(display-p3 0.49 1 0.804 / 0.362)\",\n jadeA8: \"color(display-p3 0.506 1 0.835 / 0.45)\",\n jadeA9: \"color(display-p3 0.478 0.996 0.816 / 0.606)\",\n jadeA10: \"color(display-p3 0.478 1 0.816 / 0.656)\",\n jadeA11: \"color(display-p3 0.4 0.835 0.656)\",\n jadeA12: \"color(display-p3 0.734 0.934 0.838)\",\n};\nconst greenDark = {\n green1: \"#0e1512\",\n green2: \"#121b17\",\n green3: \"#132d21\",\n green4: \"#113b29\",\n green5: \"#174933\",\n green6: \"#20573e\",\n green7: \"#28684a\",\n green8: \"#2f7c57\",\n green9: \"#30a46c\",\n green10: \"#33b074\",\n green11: \"#3dd68c\",\n green12: \"#b1f1cb\",\n};\nconst greenDarkA = {\n greenA1: \"#00de4505\",\n greenA2: \"#29f99d0b\",\n greenA3: \"#22ff991e\",\n greenA4: \"#11ff992d\",\n greenA5: \"#2bffa23c\",\n greenA6: \"#44ffaa4b\",\n greenA7: \"#50fdac5e\",\n greenA8: \"#54ffad73\",\n greenA9: \"#44ffa49e\",\n greenA10: \"#43fea4ab\",\n greenA11: \"#46fea5d4\",\n greenA12: \"#bbffd7f0\",\n};\nconst greenDarkP3 = {\n green1: \"color(display-p3 0.062 0.083 0.071)\",\n green2: \"color(display-p3 0.079 0.106 0.09)\",\n green3: \"color(display-p3 0.1 0.173 0.133)\",\n green4: \"color(display-p3 0.115 0.229 0.166)\",\n green5: \"color(display-p3 0.147 0.282 0.206)\",\n green6: \"color(display-p3 0.185 0.338 0.25)\",\n green7: \"color(display-p3 0.227 0.403 0.298)\",\n green8: \"color(display-p3 0.27 0.479 0.351)\",\n green9: \"color(display-p3 0.332 0.634 0.442)\",\n green10: \"color(display-p3 0.357 0.682 0.474)\",\n green11: \"color(display-p3 0.434 0.828 0.573)\",\n green12: \"color(display-p3 0.747 0.938 0.807)\",\n};\nconst greenDarkP3A = {\n greenA1: \"color(display-p3 0 0.992 0.298 / 0.017)\",\n greenA2: \"color(display-p3 0.341 0.98 0.616 / 0.043)\",\n greenA3: \"color(display-p3 0.376 0.996 0.655 / 0.114)\",\n greenA4: \"color(display-p3 0.341 0.996 0.635 / 0.173)\",\n greenA5: \"color(display-p3 0.408 1 0.678 / 0.232)\",\n greenA6: \"color(display-p3 0.475 1 0.706 / 0.29)\",\n greenA7: \"color(display-p3 0.514 1 0.706 / 0.362)\",\n greenA8: \"color(display-p3 0.529 1 0.718 / 0.442)\",\n greenA9: \"color(display-p3 0.502 0.996 0.682 / 0.61)\",\n greenA10: \"color(display-p3 0.506 1 0.682 / 0.66)\",\n greenA11: \"color(display-p3 0.434 0.828 0.573)\",\n greenA12: \"color(display-p3 0.747 0.938 0.807)\",\n};\nconst grassDark = {\n grass1: \"#0e1511\",\n grass2: \"#141a15\",\n grass3: \"#1b2a1e\",\n grass4: \"#1d3a24\",\n grass5: \"#25482d\",\n grass6: \"#2d5736\",\n grass7: \"#366740\",\n grass8: \"#3e7949\",\n grass9: \"#46a758\",\n grass10: \"#53b365\",\n grass11: \"#71d083\",\n grass12: \"#c2f0c2\",\n};\nconst grassDarkA = {\n grassA1: \"#00de1205\",\n grassA2: \"#5ef7780a\",\n grassA3: \"#70fe8c1b\",\n grassA4: \"#57ff802c\",\n grassA5: \"#68ff8b3b\",\n grassA6: \"#71ff8f4b\",\n grassA7: \"#77fd925d\",\n grassA8: \"#77fd9070\",\n grassA9: \"#65ff82a1\",\n grassA10: \"#72ff8dae\",\n grassA11: \"#89ff9fcd\",\n grassA12: \"#ceffceef\",\n};\nconst grassDarkP3 = {\n grass1: \"color(display-p3 0.062 0.083 0.067)\",\n grass2: \"color(display-p3 0.083 0.103 0.085)\",\n grass3: \"color(display-p3 0.118 0.163 0.122)\",\n grass4: \"color(display-p3 0.142 0.225 0.15)\",\n grass5: \"color(display-p3 0.178 0.279 0.186)\",\n grass6: \"color(display-p3 0.217 0.337 0.224)\",\n grass7: \"color(display-p3 0.258 0.4 0.264)\",\n grass8: \"color(display-p3 0.302 0.47 0.305)\",\n grass9: \"color(display-p3 0.38 0.647 0.378)\",\n grass10: \"color(display-p3 0.426 0.694 0.426)\",\n grass11: \"color(display-p3 0.535 0.807 0.542)\",\n grass12: \"color(display-p3 0.797 0.936 0.776)\",\n};\nconst grassDarkP3A = {\n grassA1: \"color(display-p3 0 0.992 0.071 / 0.017)\",\n grassA2: \"color(display-p3 0.482 0.996 0.584 / 0.038)\",\n grassA3: \"color(display-p3 0.549 0.992 0.588 / 0.106)\",\n grassA4: \"color(display-p3 0.51 0.996 0.557 / 0.169)\",\n grassA5: \"color(display-p3 0.553 1 0.588 / 0.227)\",\n grassA6: \"color(display-p3 0.584 1 0.608 / 0.29)\",\n grassA7: \"color(display-p3 0.604 1 0.616 / 0.358)\",\n grassA8: \"color(display-p3 0.608 1 0.62 / 0.433)\",\n grassA9: \"color(display-p3 0.573 1 0.569 / 0.622)\",\n grassA10: \"color(display-p3 0.6 0.996 0.6 / 0.673)\",\n grassA11: \"color(display-p3 0.535 0.807 0.542)\",\n grassA12: \"color(display-p3 0.797 0.936 0.776)\",\n};\nconst brownDark = {\n brown1: \"#12110f\",\n brown2: \"#1c1816\",\n brown3: \"#28211d\",\n brown4: \"#322922\",\n brown5: \"#3e3128\",\n brown6: \"#4d3c2f\",\n brown7: \"#614a39\",\n brown8: \"#7c5f46\",\n brown9: \"#ad7f58\",\n brown10: \"#b88c67\",\n brown11: \"#dbb594\",\n brown12: \"#f2e1ca\",\n};\nconst brownDarkA = {\n brownA1: \"#91110002\",\n brownA2: \"#fba67c0c\",\n brownA3: \"#fcb58c19\",\n brownA4: \"#fbbb8a24\",\n brownA5: \"#fcb88931\",\n brownA6: \"#fdba8741\",\n brownA7: \"#ffbb8856\",\n brownA8: \"#ffbe8773\",\n brownA9: \"#feb87da8\",\n brownA10: \"#ffc18cb3\",\n brownA11: \"#fed1aad9\",\n brownA12: \"#feecd4f2\",\n};\nconst brownDarkP3 = {\n brown1: \"color(display-p3 0.071 0.067 0.059)\",\n brown2: \"color(display-p3 0.107 0.095 0.087)\",\n brown3: \"color(display-p3 0.151 0.13 0.115)\",\n brown4: \"color(display-p3 0.191 0.161 0.138)\",\n brown5: \"color(display-p3 0.235 0.194 0.162)\",\n brown6: \"color(display-p3 0.291 0.237 0.192)\",\n brown7: \"color(display-p3 0.365 0.295 0.232)\",\n brown8: \"color(display-p3 0.469 0.377 0.287)\",\n brown9: \"color(display-p3 0.651 0.505 0.368)\",\n brown10: \"color(display-p3 0.697 0.557 0.423)\",\n brown11: \"color(display-p3 0.835 0.715 0.597)\",\n brown12: \"color(display-p3 0.938 0.885 0.802)\",\n};\nconst brownDarkP3A = {\n brownA1: \"color(display-p3 0.855 0.071 0 / 0.005)\",\n brownA2: \"color(display-p3 0.98 0.706 0.525 / 0.043)\",\n brownA3: \"color(display-p3 0.996 0.745 0.576 / 0.093)\",\n brownA4: \"color(display-p3 1 0.765 0.592 / 0.135)\",\n brownA5: \"color(display-p3 1 0.761 0.588 / 0.181)\",\n brownA6: \"color(display-p3 1 0.773 0.592 / 0.24)\",\n brownA7: \"color(display-p3 0.996 0.776 0.58 / 0.32)\",\n brownA8: \"color(display-p3 1 0.78 0.573 / 0.433)\",\n brownA9: \"color(display-p3 1 0.769 0.549 / 0.627)\",\n brownA10: \"color(display-p3 1 0.792 0.596 / 0.677)\",\n brownA11: \"color(display-p3 0.835 0.715 0.597)\",\n brownA12: \"color(display-p3 0.938 0.885 0.802)\",\n};\nconst bronzeDark = {\n bronze1: \"#141110\",\n bronze2: \"#1c1917\",\n bronze3: \"#262220\",\n bronze4: \"#302a27\",\n bronze5: \"#3b3330\",\n bronze6: \"#493e3a\",\n bronze7: \"#5a4c47\",\n bronze8: \"#6f5f58\",\n bronze9: \"#a18072\",\n bronze10: \"#ae8c7e\",\n bronze11: \"#d4b3a5\",\n bronze12: \"#ede0d9\",\n};\nconst bronzeDarkA = {\n bronzeA1: \"#d1110004\",\n bronzeA2: \"#fbbc910c\",\n bronzeA3: \"#faceb817\",\n bronzeA4: \"#facdb622\",\n bronzeA5: \"#ffd2c12d\",\n bronzeA6: \"#ffd1c03c\",\n bronzeA7: \"#fdd0c04f\",\n bronzeA8: \"#ffd6c565\",\n bronzeA9: \"#fec7b09b\",\n bronzeA10: \"#fecab5a9\",\n bronzeA11: \"#ffd7c6d1\",\n bronzeA12: \"#fff1e9ec\",\n};\nconst bronzeDarkP3 = {\n bronze1: \"color(display-p3 0.076 0.067 0.063)\",\n bronze2: \"color(display-p3 0.106 0.097 0.093)\",\n bronze3: \"color(display-p3 0.147 0.132 0.125)\",\n bronze4: \"color(display-p3 0.185 0.166 0.156)\",\n bronze5: \"color(display-p3 0.227 0.202 0.19)\",\n bronze6: \"color(display-p3 0.278 0.246 0.23)\",\n bronze7: \"color(display-p3 0.343 0.302 0.281)\",\n bronze8: \"color(display-p3 0.426 0.374 0.347)\",\n bronze9: \"color(display-p3 0.611 0.507 0.455)\",\n bronze10: \"color(display-p3 0.66 0.556 0.504)\",\n bronze11: \"color(display-p3 0.81 0.707 0.655)\",\n bronze12: \"color(display-p3 0.921 0.88 0.854)\",\n};\nconst bronzeDarkP3A = {\n bronzeA1: \"color(display-p3 0.941 0.067 0 / 0.009)\",\n bronzeA2: \"color(display-p3 0.98 0.8 0.706 / 0.043)\",\n bronzeA3: \"color(display-p3 0.988 0.851 0.761 / 0.085)\",\n bronzeA4: \"color(display-p3 0.996 0.839 0.78 / 0.127)\",\n bronzeA5: \"color(display-p3 0.996 0.863 0.773 / 0.173)\",\n bronzeA6: \"color(display-p3 1 0.863 0.796 / 0.227)\",\n bronzeA7: \"color(display-p3 1 0.867 0.8 / 0.295)\",\n bronzeA8: \"color(display-p3 1 0.859 0.788 / 0.387)\",\n bronzeA9: \"color(display-p3 1 0.82 0.733 / 0.585)\",\n bronzeA10: \"color(display-p3 1 0.839 0.761 / 0.635)\",\n bronzeA11: \"color(display-p3 0.81 0.707 0.655)\",\n bronzeA12: \"color(display-p3 0.921 0.88 0.854)\",\n};\nconst goldDark = {\n gold1: \"#121211\",\n gold2: \"#1b1a17\",\n gold3: \"#24231f\",\n gold4: \"#2d2b26\",\n gold5: \"#38352e\",\n gold6: \"#444039\",\n gold7: \"#544f46\",\n gold8: \"#696256\",\n gold9: \"#978365\",\n gold10: \"#a39073\",\n gold11: \"#cbb99f\",\n gold12: \"#e8e2d9\",\n};\nconst goldDarkA = {\n goldA1: \"#91911102\",\n goldA2: \"#f9e29d0b\",\n goldA3: \"#f8ecbb15\",\n goldA4: \"#ffeec41e\",\n goldA5: \"#feecc22a\",\n goldA6: \"#feebcb37\",\n goldA7: \"#ffedcd48\",\n goldA8: \"#fdeaca5f\",\n goldA9: \"#ffdba690\",\n goldA10: \"#fedfb09d\",\n goldA11: \"#fee7c6c8\",\n goldA12: \"#fef7ede7\",\n};\nconst goldDarkP3 = {\n gold1: \"color(display-p3 0.071 0.071 0.067)\",\n gold2: \"color(display-p3 0.104 0.101 0.09)\",\n gold3: \"color(display-p3 0.141 0.136 0.122)\",\n gold4: \"color(display-p3 0.177 0.17 0.152)\",\n gold5: \"color(display-p3 0.217 0.207 0.185)\",\n gold6: \"color(display-p3 0.265 0.252 0.225)\",\n gold7: \"color(display-p3 0.327 0.31 0.277)\",\n gold8: \"color(display-p3 0.407 0.384 0.342)\",\n gold9: \"color(display-p3 0.579 0.517 0.41)\",\n gold10: \"color(display-p3 0.628 0.566 0.463)\",\n gold11: \"color(display-p3 0.784 0.728 0.635)\",\n gold12: \"color(display-p3 0.906 0.887 0.855)\",\n};\nconst goldDarkP3A = {\n goldA1: \"color(display-p3 0.855 0.855 0.071 / 0.005)\",\n goldA2: \"color(display-p3 0.98 0.89 0.616 / 0.043)\",\n goldA3: \"color(display-p3 1 0.949 0.753 / 0.08)\",\n goldA4: \"color(display-p3 1 0.933 0.8 / 0.118)\",\n goldA5: \"color(display-p3 1 0.949 0.804 / 0.16)\",\n goldA6: \"color(display-p3 1 0.925 0.8 / 0.215)\",\n goldA7: \"color(display-p3 1 0.945 0.831 / 0.278)\",\n goldA8: \"color(display-p3 1 0.937 0.82 / 0.366)\",\n goldA9: \"color(display-p3 0.996 0.882 0.69 / 0.551)\",\n goldA10: \"color(display-p3 1 0.894 0.725 / 0.601)\",\n goldA11: \"color(display-p3 0.784 0.728 0.635)\",\n goldA12: \"color(display-p3 0.906 0.887 0.855)\",\n};\nconst skyDark = {\n sky1: \"#0d141f\",\n sky2: \"#111a27\",\n sky3: \"#112840\",\n sky4: \"#113555\",\n sky5: \"#154467\",\n sky6: \"#1b537b\",\n sky7: \"#1f6692\",\n sky8: \"#197cae\",\n sky9: \"#7ce2fe\",\n sky10: \"#a8eeff\",\n sky11: \"#75c7f0\",\n sky12: \"#c2f3ff\",\n};\nconst skyDarkA = {\n skyA1: \"#0044ff0f\",\n skyA2: \"#1171fb18\",\n skyA3: \"#1184fc33\",\n skyA4: \"#128fff49\",\n skyA5: \"#1c9dfd5d\",\n skyA6: \"#28a5ff72\",\n skyA7: \"#2badfe8b\",\n skyA8: \"#1db2fea9\",\n skyA9: \"#7ce3fffe\",\n skyA10: \"#a8eeff\",\n skyA11: \"#7cd3ffef\",\n skyA12: \"#c2f3ff\",\n};\nconst skyDarkP3 = {\n sky1: \"color(display-p3 0.056 0.078 0.116)\",\n sky2: \"color(display-p3 0.075 0.101 0.149)\",\n sky3: \"color(display-p3 0.089 0.154 0.244)\",\n sky4: \"color(display-p3 0.106 0.207 0.323)\",\n sky5: \"color(display-p3 0.135 0.261 0.394)\",\n sky6: \"color(display-p3 0.17 0.322 0.469)\",\n sky7: \"color(display-p3 0.205 0.394 0.557)\",\n sky8: \"color(display-p3 0.232 0.48 0.665)\",\n sky9: \"color(display-p3 0.585 0.877 0.983)\",\n sky10: \"color(display-p3 0.718 0.925 0.991)\",\n sky11: \"color(display-p3 0.536 0.772 0.924)\",\n sky12: \"color(display-p3 0.799 0.947 0.993)\",\n};\nconst skyDarkP3A = {\n skyA1: \"color(display-p3 0 0.282 0.996 / 0.055)\",\n skyA2: \"color(display-p3 0.157 0.467 0.992 / 0.089)\",\n skyA3: \"color(display-p3 0.192 0.522 0.996 / 0.19)\",\n skyA4: \"color(display-p3 0.212 0.584 1 / 0.274)\",\n skyA5: \"color(display-p3 0.259 0.631 1 / 0.349)\",\n skyA6: \"color(display-p3 0.302 0.655 1 / 0.433)\",\n skyA7: \"color(display-p3 0.329 0.686 1 / 0.526)\",\n skyA8: \"color(display-p3 0.325 0.71 1 / 0.643)\",\n skyA9: \"color(display-p3 0.592 0.894 1 / 0.984)\",\n skyA10: \"color(display-p3 0.722 0.933 1 / 0.992)\",\n skyA11: \"color(display-p3 0.536 0.772 0.924)\",\n skyA12: \"color(display-p3 0.799 0.947 0.993)\",\n};\nconst mintDark = {\n mint1: \"#0e1515\",\n mint2: \"#0f1b1b\",\n mint3: \"#092c2b\",\n mint4: \"#003a38\",\n mint5: \"#004744\",\n mint6: \"#105650\",\n mint7: \"#1e685f\",\n mint8: \"#277f70\",\n mint9: \"#86ead4\",\n mint10: \"#a8f5e5\",\n mint11: \"#58d5ba\",\n mint12: \"#c4f5e1\",\n};\nconst mintDarkA = {\n mintA1: \"#00dede05\",\n mintA2: \"#00f9f90b\",\n mintA3: \"#00fff61d\",\n mintA4: \"#00fff42c\",\n mintA5: \"#00fff23a\",\n mintA6: \"#0effeb4a\",\n mintA7: \"#34fde55e\",\n mintA8: \"#41ffdf76\",\n mintA9: \"#92ffe7e9\",\n mintA10: \"#aefeedf5\",\n mintA11: \"#67ffded2\",\n mintA12: \"#cbfee9f5\",\n};\nconst mintDarkP3 = {\n mint1: \"color(display-p3 0.059 0.082 0.081)\",\n mint2: \"color(display-p3 0.068 0.104 0.105)\",\n mint3: \"color(display-p3 0.077 0.17 0.168)\",\n mint4: \"color(display-p3 0.068 0.224 0.22)\",\n mint5: \"color(display-p3 0.104 0.275 0.264)\",\n mint6: \"color(display-p3 0.154 0.332 0.313)\",\n mint7: \"color(display-p3 0.207 0.403 0.373)\",\n mint8: \"color(display-p3 0.258 0.49 0.441)\",\n mint9: \"color(display-p3 0.62 0.908 0.834)\",\n mint10: \"color(display-p3 0.725 0.954 0.898)\",\n mint11: \"color(display-p3 0.482 0.825 0.733)\",\n mint12: \"color(display-p3 0.807 0.955 0.887)\",\n};\nconst mintDarkP3A = {\n mintA1: \"color(display-p3 0 0.992 0.992 / 0.017)\",\n mintA2: \"color(display-p3 0.071 0.98 0.98 / 0.043)\",\n mintA3: \"color(display-p3 0.176 0.996 0.996 / 0.11)\",\n mintA4: \"color(display-p3 0.071 0.996 0.973 / 0.169)\",\n mintA5: \"color(display-p3 0.243 1 0.949 / 0.223)\",\n mintA6: \"color(display-p3 0.369 1 0.933 / 0.286)\",\n mintA7: \"color(display-p3 0.459 1 0.914 / 0.362)\",\n mintA8: \"color(display-p3 0.49 1 0.89 / 0.454)\",\n mintA9: \"color(display-p3 0.678 0.996 0.914 / 0.904)\",\n mintA10: \"color(display-p3 0.761 1 0.941 / 0.95)\",\n mintA11: \"color(display-p3 0.482 0.825 0.733)\",\n mintA12: \"color(display-p3 0.807 0.955 0.887)\",\n};\nconst limeDark = {\n lime1: \"#11130c\",\n lime2: \"#151a10\",\n lime3: \"#1f2917\",\n lime4: \"#29371d\",\n lime5: \"#334423\",\n lime6: \"#3d522a\",\n lime7: \"#496231\",\n lime8: \"#577538\",\n lime9: \"#bdee63\",\n lime10: \"#d4ff70\",\n lime11: \"#bde56c\",\n lime12: \"#e3f7ba\",\n};\nconst limeDarkA = {\n limeA1: \"#11bb0003\",\n limeA2: \"#78f7000a\",\n limeA3: \"#9bfd4c1a\",\n limeA4: \"#a7fe5c29\",\n limeA5: \"#affe6537\",\n limeA6: \"#b2fe6d46\",\n limeA7: \"#b6ff6f57\",\n limeA8: \"#b6fd6d6c\",\n limeA9: \"#caff69ed\",\n limeA10: \"#d4ff70\",\n limeA11: \"#d1fe77e4\",\n limeA12: \"#e9febff7\",\n};\nconst limeDarkP3 = {\n lime1: \"color(display-p3 0.067 0.073 0.048)\",\n lime2: \"color(display-p3 0.086 0.1 0.067)\",\n lime3: \"color(display-p3 0.13 0.16 0.099)\",\n lime4: \"color(display-p3 0.172 0.214 0.126)\",\n lime5: \"color(display-p3 0.213 0.266 0.153)\",\n lime6: \"color(display-p3 0.257 0.321 0.182)\",\n lime7: \"color(display-p3 0.307 0.383 0.215)\",\n lime8: \"color(display-p3 0.365 0.456 0.25)\",\n lime9: \"color(display-p3 0.78 0.928 0.466)\",\n lime10: \"color(display-p3 0.865 0.995 0.519)\",\n lime11: \"color(display-p3 0.771 0.893 0.485)\",\n lime12: \"color(display-p3 0.905 0.966 0.753)\",\n};\nconst limeDarkP3A = {\n limeA1: \"color(display-p3 0.067 0.941 0 / 0.009)\",\n limeA2: \"color(display-p3 0.584 0.996 0.071 / 0.038)\",\n limeA3: \"color(display-p3 0.69 1 0.38 / 0.101)\",\n limeA4: \"color(display-p3 0.729 1 0.435 / 0.16)\",\n limeA5: \"color(display-p3 0.745 1 0.471 / 0.215)\",\n limeA6: \"color(display-p3 0.769 1 0.482 / 0.274)\",\n limeA7: \"color(display-p3 0.769 1 0.506 / 0.341)\",\n limeA8: \"color(display-p3 0.784 1 0.51 / 0.416)\",\n limeA9: \"color(display-p3 0.839 1 0.502 / 0.925)\",\n limeA10: \"color(display-p3 0.871 1 0.522 / 0.996)\",\n limeA11: \"color(display-p3 0.771 0.893 0.485)\",\n limeA12: \"color(display-p3 0.905 0.966 0.753)\",\n};\nconst yellowDark = {\n yellow1: \"#14120b\",\n yellow2: \"#1b180f\",\n yellow3: \"#2d2305\",\n yellow4: \"#362b00\",\n yellow5: \"#433500\",\n yellow6: \"#524202\",\n yellow7: \"#665417\",\n yellow8: \"#836a21\",\n yellow9: \"#ffe629\",\n yellow10: \"#ffff57\",\n yellow11: \"#f5e147\",\n yellow12: \"#f6eeb4\",\n};\nconst yellowDarkA = {\n yellowA1: \"#d1510004\",\n yellowA2: \"#f9b4000b\",\n yellowA3: \"#ffaa001e\",\n yellowA4: \"#fdb70028\",\n yellowA5: \"#febb0036\",\n yellowA6: \"#fec40046\",\n yellowA7: \"#fdcb225c\",\n yellowA8: \"#fdca327b\",\n yellowA9: \"#ffe629\",\n yellowA10: \"#ffff57\",\n yellowA11: \"#fee949f5\",\n yellowA12: \"#fef6baf6\",\n};\nconst yellowDarkP3 = {\n yellow1: \"color(display-p3 0.078 0.069 0.047)\",\n yellow2: \"color(display-p3 0.103 0.094 0.063)\",\n yellow3: \"color(display-p3 0.168 0.137 0.039)\",\n yellow4: \"color(display-p3 0.209 0.169 0)\",\n yellow5: \"color(display-p3 0.255 0.209 0)\",\n yellow6: \"color(display-p3 0.31 0.261 0.07)\",\n yellow7: \"color(display-p3 0.389 0.331 0.135)\",\n yellow8: \"color(display-p3 0.497 0.42 0.182)\",\n yellow9: \"color(display-p3 1 0.92 0.22)\",\n yellow10: \"color(display-p3 1 1 0.456)\",\n yellow11: \"color(display-p3 0.948 0.885 0.392)\",\n yellow12: \"color(display-p3 0.959 0.934 0.731)\",\n};\nconst yellowDarkP3A = {\n yellowA1: \"color(display-p3 0.973 0.369 0 / 0.013)\",\n yellowA2: \"color(display-p3 0.996 0.792 0 / 0.038)\",\n yellowA3: \"color(display-p3 0.996 0.71 0 / 0.11)\",\n yellowA4: \"color(display-p3 0.996 0.741 0 / 0.152)\",\n yellowA5: \"color(display-p3 0.996 0.765 0 / 0.202)\",\n yellowA6: \"color(display-p3 0.996 0.816 0.082 / 0.261)\",\n yellowA7: \"color(display-p3 1 0.831 0.263 / 0.345)\",\n yellowA8: \"color(display-p3 1 0.831 0.314 / 0.463)\",\n yellowA9: \"color(display-p3 1 0.922 0.22)\",\n yellowA10: \"color(display-p3 1 1 0.455)\",\n yellowA11: \"color(display-p3 0.948 0.885 0.392)\",\n yellowA12: \"color(display-p3 0.959 0.934 0.731)\",\n};\nconst amberDark = {\n amber1: \"#16120c\",\n amber2: \"#1d180f\",\n amber3: \"#302008\",\n amber4: \"#3f2700\",\n amber5: \"#4d3000\",\n amber6: \"#5c3d05\",\n amber7: \"#714f19\",\n amber8: \"#8f6424\",\n amber9: \"#ffc53d\",\n amber10: \"#ffd60a\",\n amber11: \"#ffca16\",\n amber12: \"#ffe7b3\",\n};\nconst amberDarkA = {\n amberA1: \"#e63c0006\",\n amberA2: \"#fd9b000d\",\n amberA3: \"#fa820022\",\n amberA4: \"#fc820032\",\n amberA5: \"#fd8b0041\",\n amberA6: \"#fd9b0051\",\n amberA7: \"#ffab2567\",\n amberA8: \"#ffae3587\",\n amberA9: \"#ffc53d\",\n amberA10: \"#ffd60a\",\n amberA11: \"#ffca16\",\n amberA12: \"#ffe7b3\",\n};\nconst amberDarkP3 = {\n amber1: \"color(display-p3 0.082 0.07 0.05)\",\n amber2: \"color(display-p3 0.111 0.094 0.064)\",\n amber3: \"color(display-p3 0.178 0.128 0.049)\",\n amber4: \"color(display-p3 0.239 0.156 0)\",\n amber5: \"color(display-p3 0.29 0.193 0)\",\n amber6: \"color(display-p3 0.344 0.245 0.076)\",\n amber7: \"color(display-p3 0.422 0.314 0.141)\",\n amber8: \"color(display-p3 0.535 0.399 0.189)\",\n amber9: \"color(display-p3 1 0.77 0.26)\",\n amber10: \"color(display-p3 1 0.87 0.15)\",\n amber11: \"color(display-p3 1 0.8 0.29)\",\n amber12: \"color(display-p3 0.984 0.909 0.726)\",\n};\nconst amberDarkP3A = {\n amberA1: \"color(display-p3 0.992 0.298 0 / 0.017)\",\n amberA2: \"color(display-p3 0.988 0.651 0 / 0.047)\",\n amberA3: \"color(display-p3 1 0.6 0 / 0.118)\",\n amberA4: \"color(display-p3 1 0.557 0 / 0.185)\",\n amberA5: \"color(display-p3 1 0.592 0 / 0.24)\",\n amberA6: \"color(display-p3 1 0.659 0.094 / 0.299)\",\n amberA7: \"color(display-p3 1 0.714 0.263 / 0.383)\",\n amberA8: \"color(display-p3 0.996 0.729 0.306 / 0.5)\",\n amberA9: \"color(display-p3 1 0.769 0.259)\",\n amberA10: \"color(display-p3 1 0.871 0.149)\",\n amberA11: \"color(display-p3 1 0.8 0.29)\",\n amberA12: \"color(display-p3 0.984 0.909 0.726)\",\n};\nconst orangeDark = {\n orange1: \"#17120e\",\n orange2: \"#1e160f\",\n orange3: \"#331e0b\",\n orange4: \"#462100\",\n orange5: \"#562800\",\n orange6: \"#66350c\",\n orange7: \"#7e451d\",\n orange8: \"#a35829\",\n orange9: \"#f76b15\",\n orange10: \"#ff801f\",\n orange11: \"#ffa057\",\n orange12: \"#ffe0c2\",\n};\nconst orangeDarkA = {\n orangeA1: \"#ec360007\",\n orangeA2: \"#fe6d000e\",\n orangeA3: \"#fb6a0025\",\n orangeA4: \"#ff590039\",\n orangeA5: \"#ff61004a\",\n orangeA6: \"#fd75045c\",\n orangeA7: \"#ff832c75\",\n orangeA8: \"#fe84389d\",\n orangeA9: \"#fe6d15f7\",\n orangeA10: \"#ff801f\",\n orangeA11: \"#ffa057\",\n orangeA12: \"#ffe0c2\",\n};\nconst orangeDarkP3 = {\n orange1: \"color(display-p3 0.088 0.07 0.057)\",\n orange2: \"color(display-p3 0.113 0.089 0.061)\",\n orange3: \"color(display-p3 0.189 0.12 0.056)\",\n orange4: \"color(display-p3 0.262 0.132 0)\",\n orange5: \"color(display-p3 0.315 0.168 0.016)\",\n orange6: \"color(display-p3 0.376 0.219 0.088)\",\n orange7: \"color(display-p3 0.465 0.283 0.147)\",\n orange8: \"color(display-p3 0.601 0.359 0.201)\",\n orange9: \"color(display-p3 0.9 0.45 0.2)\",\n orange10: \"color(display-p3 0.98 0.51 0.23)\",\n orange11: \"color(display-p3 1 0.63 0.38)\",\n orange12: \"color(display-p3 0.98 0.883 0.775)\",\n};\nconst orangeDarkP3A = {\n orangeA1: \"color(display-p3 0.961 0.247 0 / 0.022)\",\n orangeA2: \"color(display-p3 0.992 0.529 0 / 0.051)\",\n orangeA3: \"color(display-p3 0.996 0.486 0 / 0.131)\",\n orangeA4: \"color(display-p3 0.996 0.384 0 / 0.211)\",\n orangeA5: \"color(display-p3 1 0.455 0 / 0.265)\",\n orangeA6: \"color(display-p3 1 0.529 0.129 / 0.332)\",\n orangeA7: \"color(display-p3 1 0.569 0.251 / 0.429)\",\n orangeA8: \"color(display-p3 1 0.584 0.302 / 0.572)\",\n orangeA9: \"color(display-p3 1 0.494 0.216 / 0.895)\",\n orangeA10: \"color(display-p3 1 0.522 0.235 / 0.979)\",\n orangeA11: \"color(display-p3 1 0.63 0.38)\",\n orangeA12: \"color(display-p3 0.98 0.883 0.775)\",\n};\n\nconst gray = {\n gray1: \"#fcfcfc\",\n gray2: \"#f9f9f9\",\n gray3: \"#f0f0f0\",\n gray4: \"#e8e8e8\",\n gray5: \"#e0e0e0\",\n gray6: \"#d9d9d9\",\n gray7: \"#cecece\",\n gray8: \"#bbbbbb\",\n gray9: \"#8d8d8d\",\n gray10: \"#838383\",\n gray11: \"#646464\",\n gray12: \"#202020\",\n};\nconst grayA = {\n grayA1: \"#00000003\",\n grayA2: \"#00000006\",\n grayA3: \"#0000000f\",\n grayA4: \"#00000017\",\n grayA5: \"#0000001f\",\n grayA6: \"#00000026\",\n grayA7: \"#00000031\",\n grayA8: \"#00000044\",\n grayA9: \"#00000072\",\n grayA10: \"#0000007c\",\n grayA11: \"#0000009b\",\n grayA12: \"#000000df\",\n};\nconst grayP3 = {\n gray1: \"color(display-p3 0.988 0.988 0.988)\",\n gray2: \"color(display-p3 0.975 0.975 0.975)\",\n gray3: \"color(display-p3 0.939 0.939 0.939)\",\n gray4: \"color(display-p3 0.908 0.908 0.908)\",\n gray5: \"color(display-p3 0.88 0.88 0.88)\",\n gray6: \"color(display-p3 0.849 0.849 0.849)\",\n gray7: \"color(display-p3 0.807 0.807 0.807)\",\n gray8: \"color(display-p3 0.732 0.732 0.732)\",\n gray9: \"color(display-p3 0.553 0.553 0.553)\",\n gray10: \"color(display-p3 0.512 0.512 0.512)\",\n gray11: \"color(display-p3 0.392 0.392 0.392)\",\n gray12: \"color(display-p3 0.125 0.125 0.125)\",\n};\nconst grayP3A = {\n grayA1: \"color(display-p3 0 0 0 / 0.012)\",\n grayA2: \"color(display-p3 0 0 0 / 0.024)\",\n grayA3: \"color(display-p3 0 0 0 / 0.063)\",\n grayA4: \"color(display-p3 0 0 0 / 0.09)\",\n grayA5: \"color(display-p3 0 0 0 / 0.122)\",\n grayA6: \"color(display-p3 0 0 0 / 0.153)\",\n grayA7: \"color(display-p3 0 0 0 / 0.192)\",\n grayA8: \"color(display-p3 0 0 0 / 0.267)\",\n grayA9: \"color(display-p3 0 0 0 / 0.447)\",\n grayA10: \"color(display-p3 0 0 0 / 0.486)\",\n grayA11: \"color(display-p3 0 0 0 / 0.608)\",\n grayA12: \"color(display-p3 0 0 0 / 0.875)\",\n};\nconst mauve = {\n mauve1: \"#fdfcfd\",\n mauve2: \"#faf9fb\",\n mauve3: \"#f2eff3\",\n mauve4: \"#eae7ec\",\n mauve5: \"#e3dfe6\",\n mauve6: \"#dbd8e0\",\n mauve7: \"#d0cdd7\",\n mauve8: \"#bcbac7\",\n mauve9: \"#8e8c99\",\n mauve10: \"#84828e\",\n mauve11: \"#65636d\",\n mauve12: \"#211f26\",\n};\nconst mauveA = {\n mauveA1: \"#55005503\",\n mauveA2: \"#2b005506\",\n mauveA3: \"#30004010\",\n mauveA4: \"#20003618\",\n mauveA5: \"#20003820\",\n mauveA6: \"#14003527\",\n mauveA7: \"#10003332\",\n mauveA8: \"#08003145\",\n mauveA9: \"#05001d73\",\n mauveA10: \"#0500197d\",\n mauveA11: \"#0400119c\",\n mauveA12: \"#020008e0\",\n};\nconst mauveP3 = {\n mauve1: \"color(display-p3 0.991 0.988 0.992)\",\n mauve2: \"color(display-p3 0.98 0.976 0.984)\",\n mauve3: \"color(display-p3 0.946 0.938 0.952)\",\n mauve4: \"color(display-p3 0.915 0.906 0.925)\",\n mauve5: \"color(display-p3 0.886 0.876 0.901)\",\n mauve6: \"color(display-p3 0.856 0.846 0.875)\",\n mauve7: \"color(display-p3 0.814 0.804 0.84)\",\n mauve8: \"color(display-p3 0.735 0.728 0.777)\",\n mauve9: \"color(display-p3 0.555 0.549 0.596)\",\n mauve10: \"color(display-p3 0.514 0.508 0.552)\",\n mauve11: \"color(display-p3 0.395 0.388 0.424)\",\n mauve12: \"color(display-p3 0.128 0.122 0.147)\",\n};\nconst mauveP3A = {\n mauveA1: \"color(display-p3 0.349 0.024 0.349 / 0.012)\",\n mauveA2: \"color(display-p3 0.184 0.024 0.349 / 0.024)\",\n mauveA3: \"color(display-p3 0.129 0.008 0.255 / 0.063)\",\n mauveA4: \"color(display-p3 0.094 0.012 0.216 / 0.095)\",\n mauveA5: \"color(display-p3 0.098 0.008 0.224 / 0.126)\",\n mauveA6: \"color(display-p3 0.055 0.004 0.18 / 0.153)\",\n mauveA7: \"color(display-p3 0.067 0.008 0.184 / 0.197)\",\n mauveA8: \"color(display-p3 0.02 0.004 0.176 / 0.271)\",\n mauveA9: \"color(display-p3 0.02 0.004 0.106 / 0.451)\",\n mauveA10: \"color(display-p3 0.012 0.004 0.09 / 0.491)\",\n mauveA11: \"color(display-p3 0.016 0 0.059 / 0.612)\",\n mauveA12: \"color(display-p3 0.008 0 0.027 / 0.879)\",\n};\nconst slate = {\n slate1: \"#fcfcfd\",\n slate2: \"#f9f9fb\",\n slate3: \"#f0f0f3\",\n slate4: \"#e8e8ec\",\n slate5: \"#e0e1e6\",\n slate6: \"#d9d9e0\",\n slate7: \"#cdced6\",\n slate8: \"#b9bbc6\",\n slate9: \"#8b8d98\",\n slate10: \"#80838d\",\n slate11: \"#60646c\",\n slate12: \"#1c2024\",\n};\nconst slateA = {\n slateA1: \"#00005503\",\n slateA2: \"#00005506\",\n slateA3: \"#0000330f\",\n slateA4: \"#00002d17\",\n slateA5: \"#0009321f\",\n slateA6: \"#00002f26\",\n slateA7: \"#00062e32\",\n slateA8: \"#00083046\",\n slateA9: \"#00051d74\",\n slateA10: \"#00071b7f\",\n slateA11: \"#0007149f\",\n slateA12: \"#000509e3\",\n};\nconst slateP3 = {\n slate1: \"color(display-p3 0.988 0.988 0.992)\",\n slate2: \"color(display-p3 0.976 0.976 0.984)\",\n slate3: \"color(display-p3 0.94 0.941 0.953)\",\n slate4: \"color(display-p3 0.908 0.909 0.925)\",\n slate5: \"color(display-p3 0.88 0.881 0.901)\",\n slate6: \"color(display-p3 0.85 0.852 0.876)\",\n slate7: \"color(display-p3 0.805 0.808 0.838)\",\n slate8: \"color(display-p3 0.727 0.733 0.773)\",\n slate9: \"color(display-p3 0.547 0.553 0.592)\",\n slate10: \"color(display-p3 0.503 0.512 0.549)\",\n slate11: \"color(display-p3 0.379 0.392 0.421)\",\n slate12: \"color(display-p3 0.113 0.125 0.14)\",\n};\nconst slateP3A = {\n slateA1: \"color(display-p3 0.024 0.024 0.349 / 0.012)\",\n slateA2: \"color(display-p3 0.024 0.024 0.349 / 0.024)\",\n slateA3: \"color(display-p3 0.004 0.004 0.204 / 0.059)\",\n slateA4: \"color(display-p3 0.012 0.012 0.184 / 0.091)\",\n slateA5: \"color(display-p3 0.004 0.039 0.2 / 0.122)\",\n slateA6: \"color(display-p3 0.008 0.008 0.165 / 0.15)\",\n slateA7: \"color(display-p3 0.008 0.027 0.184 / 0.197)\",\n slateA8: \"color(display-p3 0.004 0.031 0.176 / 0.275)\",\n slateA9: \"color(display-p3 0.004 0.02 0.106 / 0.455)\",\n slateA10: \"color(display-p3 0.004 0.027 0.098 / 0.499)\",\n slateA11: \"color(display-p3 0 0.02 0.063 / 0.62)\",\n slateA12: \"color(display-p3 0 0.012 0.031 / 0.887)\",\n};\nconst sage = {\n sage1: \"#fbfdfc\",\n sage2: \"#f7f9f8\",\n sage3: \"#eef1f0\",\n sage4: \"#e6e9e8\",\n sage5: \"#dfe2e0\",\n sage6: \"#d7dad9\",\n sage7: \"#cbcfcd\",\n sage8: \"#b8bcba\",\n sage9: \"#868e8b\",\n sage10: \"#7c8481\",\n sage11: \"#5f6563\",\n sage12: \"#1a211e\",\n};\nconst sageA = {\n sageA1: \"#00804004\",\n sageA2: \"#00402008\",\n sageA3: \"#002d1e11\",\n sageA4: \"#001f1519\",\n sageA5: \"#00180820\",\n sageA6: \"#00140d28\",\n sageA7: \"#00140a34\",\n sageA8: \"#000f0847\",\n sageA9: \"#00110b79\",\n sageA10: \"#00100a83\",\n sageA11: \"#000a07a0\",\n sageA12: \"#000805e5\",\n};\nconst sageP3 = {\n sage1: \"color(display-p3 0.986 0.992 0.988)\",\n sage2: \"color(display-p3 0.97 0.977 0.974)\",\n sage3: \"color(display-p3 0.935 0.944 0.94)\",\n sage4: \"color(display-p3 0.904 0.913 0.909)\",\n sage5: \"color(display-p3 0.875 0.885 0.88)\",\n sage6: \"color(display-p3 0.844 0.854 0.849)\",\n sage7: \"color(display-p3 0.8 0.811 0.806)\",\n sage8: \"color(display-p3 0.725 0.738 0.732)\",\n sage9: \"color(display-p3 0.531 0.556 0.546)\",\n sage10: \"color(display-p3 0.492 0.515 0.506)\",\n sage11: \"color(display-p3 0.377 0.395 0.389)\",\n sage12: \"color(display-p3 0.107 0.129 0.118)\",\n};\nconst sageP3A = {\n sageA1: \"color(display-p3 0.024 0.514 0.267 / 0.016)\",\n sageA2: \"color(display-p3 0.02 0.267 0.145 / 0.032)\",\n sageA3: \"color(display-p3 0.008 0.184 0.125 / 0.067)\",\n sageA4: \"color(display-p3 0.012 0.094 0.051 / 0.095)\",\n sageA5: \"color(display-p3 0.008 0.098 0.035 / 0.126)\",\n sageA6: \"color(display-p3 0.004 0.078 0.027 / 0.157)\",\n sageA7: \"color(display-p3 0 0.059 0.039 / 0.2)\",\n sageA8: \"color(display-p3 0.004 0.047 0.031 / 0.275)\",\n sageA9: \"color(display-p3 0.004 0.059 0.035 / 0.471)\",\n sageA10: \"color(display-p3 0 0.047 0.031 / 0.51)\",\n sageA11: \"color(display-p3 0 0.031 0.02 / 0.624)\",\n sageA12: \"color(display-p3 0 0.027 0.012 / 0.895)\",\n};\nconst olive = {\n olive1: \"#fcfdfc\",\n olive2: \"#f8faf8\",\n olive3: \"#eff1ef\",\n olive4: \"#e7e9e7\",\n olive5: \"#dfe2df\",\n olive6: \"#d7dad7\",\n olive7: \"#cccfcc\",\n olive8: \"#b9bcb8\",\n olive9: \"#898e87\",\n olive10: \"#7f847d\",\n olive11: \"#60655f\",\n olive12: \"#1d211c\",\n};\nconst oliveA = {\n oliveA1: \"#00550003\",\n oliveA2: \"#00490007\",\n oliveA3: \"#00200010\",\n oliveA4: \"#00160018\",\n oliveA5: \"#00180020\",\n oliveA6: \"#00140028\",\n oliveA7: \"#000f0033\",\n oliveA8: \"#040f0047\",\n oliveA9: \"#050f0078\",\n oliveA10: \"#040e0082\",\n oliveA11: \"#020a00a0\",\n oliveA12: \"#010600e3\",\n};\nconst oliveP3 = {\n olive1: \"color(display-p3 0.989 0.992 0.989)\",\n olive2: \"color(display-p3 0.974 0.98 0.973)\",\n olive3: \"color(display-p3 0.939 0.945 0.937)\",\n olive4: \"color(display-p3 0.907 0.914 0.905)\",\n olive5: \"color(display-p3 0.878 0.885 0.875)\",\n olive6: \"color(display-p3 0.846 0.855 0.843)\",\n olive7: \"color(display-p3 0.803 0.812 0.8)\",\n olive8: \"color(display-p3 0.727 0.738 0.723)\",\n olive9: \"color(display-p3 0.541 0.556 0.532)\",\n olive10: \"color(display-p3 0.5 0.515 0.491)\",\n olive11: \"color(display-p3 0.38 0.395 0.374)\",\n olive12: \"color(display-p3 0.117 0.129 0.111)\",\n};\nconst oliveP3A = {\n oliveA1: \"color(display-p3 0.024 0.349 0.024 / 0.012)\",\n oliveA2: \"color(display-p3 0.024 0.302 0.024 / 0.028)\",\n oliveA3: \"color(display-p3 0.008 0.129 0.008 / 0.063)\",\n oliveA4: \"color(display-p3 0.012 0.094 0.012 / 0.095)\",\n oliveA5: \"color(display-p3 0.035 0.098 0.008 / 0.126)\",\n oliveA6: \"color(display-p3 0.027 0.078 0.004 / 0.157)\",\n oliveA7: \"color(display-p3 0.02 0.059 0 / 0.2)\",\n oliveA8: \"color(display-p3 0.02 0.059 0.004 / 0.279)\",\n oliveA9: \"color(display-p3 0.02 0.051 0.004 / 0.467)\",\n oliveA10: \"color(display-p3 0.024 0.047 0 / 0.51)\",\n oliveA11: \"color(display-p3 0.012 0.039 0 / 0.628)\",\n oliveA12: \"color(display-p3 0.008 0.024 0 / 0.891)\",\n};\nconst sand = {\n sand1: \"#fdfdfc\",\n sand2: \"#f9f9f8\",\n sand3: \"#f1f0ef\",\n sand4: \"#e9e8e6\",\n sand5: \"#e2e1de\",\n sand6: \"#dad9d6\",\n sand7: \"#cfceca\",\n sand8: \"#bcbbb5\",\n sand9: \"#8d8d86\",\n sand10: \"#82827c\",\n sand11: \"#63635e\",\n sand12: \"#21201c\",\n};\nconst sandA = {\n sandA1: \"#55550003\",\n sandA2: \"#25250007\",\n sandA3: \"#20100010\",\n sandA4: \"#1f150019\",\n sandA5: \"#1f180021\",\n sandA6: \"#19130029\",\n sandA7: \"#19140035\",\n sandA8: \"#1915014a\",\n sandA9: \"#0f0f0079\",\n sandA10: \"#0c0c0083\",\n sandA11: \"#080800a1\",\n sandA12: \"#060500e3\",\n};\nconst sandP3 = {\n sand1: \"color(display-p3 0.992 0.992 0.989)\",\n sand2: \"color(display-p3 0.977 0.977 0.973)\",\n sand3: \"color(display-p3 0.943 0.942 0.936)\",\n sand4: \"color(display-p3 0.913 0.912 0.903)\",\n sand5: \"color(display-p3 0.885 0.883 0.873)\",\n sand6: \"color(display-p3 0.854 0.852 0.839)\",\n sand7: \"color(display-p3 0.813 0.81 0.794)\",\n sand8: \"color(display-p3 0.738 0.734 0.713)\",\n sand9: \"color(display-p3 0.553 0.553 0.528)\",\n sand10: \"color(display-p3 0.511 0.511 0.488)\",\n sand11: \"color(display-p3 0.388 0.388 0.37)\",\n sand12: \"color(display-p3 0.129 0.126 0.111)\",\n};\nconst sandP3A = {\n sandA1: \"color(display-p3 0.349 0.349 0.024 / 0.012)\",\n sandA2: \"color(display-p3 0.161 0.161 0.024 / 0.028)\",\n sandA3: \"color(display-p3 0.067 0.067 0.008 / 0.063)\",\n sandA4: \"color(display-p3 0.129 0.129 0.012 / 0.099)\",\n sandA5: \"color(display-p3 0.098 0.067 0.008 / 0.126)\",\n sandA6: \"color(display-p3 0.102 0.075 0.004 / 0.161)\",\n sandA7: \"color(display-p3 0.098 0.098 0.004 / 0.208)\",\n sandA8: \"color(display-p3 0.086 0.075 0.004 / 0.287)\",\n sandA9: \"color(display-p3 0.051 0.051 0.004 / 0.471)\",\n sandA10: \"color(display-p3 0.047 0.047 0 / 0.514)\",\n sandA11: \"color(display-p3 0.031 0.031 0 / 0.632)\",\n sandA12: \"color(display-p3 0.024 0.02 0 / 0.891)\",\n};\nconst tomato = {\n tomato1: \"#fffcfc\",\n tomato2: \"#fff8f7\",\n tomato3: \"#feebe7\",\n tomato4: \"#ffdcd3\",\n tomato5: \"#ffcdc2\",\n tomato6: \"#fdbdaf\",\n tomato7: \"#f5a898\",\n tomato8: \"#ec8e7b\",\n tomato9: \"#e54d2e\",\n tomato10: \"#dd4425\",\n tomato11: \"#d13415\",\n tomato12: \"#5c271f\",\n};\nconst tomatoA = {\n tomatoA1: \"#ff000003\",\n tomatoA2: \"#ff200008\",\n tomatoA3: \"#f52b0018\",\n tomatoA4: \"#ff35002c\",\n tomatoA5: \"#ff2e003d\",\n tomatoA6: \"#f92d0050\",\n tomatoA7: \"#e7280067\",\n tomatoA8: \"#db250084\",\n tomatoA9: \"#df2600d1\",\n tomatoA10: \"#d72400da\",\n tomatoA11: \"#cd2200ea\",\n tomatoA12: \"#460900e0\",\n};\nconst tomatoP3 = {\n tomato1: \"color(display-p3 0.998 0.989 0.988)\",\n tomato2: \"color(display-p3 0.994 0.974 0.969)\",\n tomato3: \"color(display-p3 0.985 0.924 0.909)\",\n tomato4: \"color(display-p3 0.996 0.868 0.835)\",\n tomato5: \"color(display-p3 0.98 0.812 0.77)\",\n tomato6: \"color(display-p3 0.953 0.75 0.698)\",\n tomato7: \"color(display-p3 0.917 0.673 0.611)\",\n tomato8: \"color(display-p3 0.875 0.575 0.502)\",\n tomato9: \"color(display-p3 0.831 0.345 0.231)\",\n tomato10: \"color(display-p3 0.802 0.313 0.2)\",\n tomato11: \"color(display-p3 0.755 0.259 0.152)\",\n tomato12: \"color(display-p3 0.335 0.165 0.132)\",\n};\nconst tomatoP3A = {\n tomatoA1: \"color(display-p3 0.675 0.024 0.024 / 0.012)\",\n tomatoA2: \"color(display-p3 0.757 0.145 0.02 / 0.032)\",\n tomatoA3: \"color(display-p3 0.831 0.184 0.012 / 0.091)\",\n tomatoA4: \"color(display-p3 0.976 0.192 0.004 / 0.165)\",\n tomatoA5: \"color(display-p3 0.918 0.192 0.004 / 0.232)\",\n tomatoA6: \"color(display-p3 0.847 0.173 0.004 / 0.302)\",\n tomatoA7: \"color(display-p3 0.788 0.165 0.004 / 0.389)\",\n tomatoA8: \"color(display-p3 0.749 0.153 0.004 / 0.499)\",\n tomatoA9: \"color(display-p3 0.78 0.149 0 / 0.769)\",\n tomatoA10: \"color(display-p3 0.757 0.141 0 / 0.8)\",\n tomatoA11: \"color(display-p3 0.755 0.259 0.152)\",\n tomatoA12: \"color(display-p3 0.335 0.165 0.132)\",\n};\nconst red = {\n red1: \"#fffcfc\",\n red2: \"#fff7f7\",\n red3: \"#feebec\",\n red4: \"#ffdbdc\",\n red5: \"#ffcdce\",\n red6: \"#fdbdbe\",\n red7: \"#f4a9aa\",\n red8: \"#eb8e90\",\n red9: \"#e5484d\",\n red10: \"#dc3e42\",\n red11: \"#ce2c31\",\n red12: \"#641723\",\n};\nconst redA = {\n redA1: \"#ff000003\",\n redA2: \"#ff000008\",\n redA3: \"#f3000d14\",\n redA4: \"#ff000824\",\n redA5: \"#ff000632\",\n redA6: \"#f8000442\",\n redA7: \"#df000356\",\n redA8: \"#d2000571\",\n redA9: \"#db0007b7\",\n redA10: \"#d10005c1\",\n redA11: \"#c40006d3\",\n redA12: \"#55000de8\",\n};\nconst redP3 = {\n red1: \"color(display-p3 0.998 0.989 0.988)\",\n red2: \"color(display-p3 0.995 0.971 0.971)\",\n red3: \"color(display-p3 0.985 0.925 0.925)\",\n red4: \"color(display-p3 0.999 0.866 0.866)\",\n red5: \"color(display-p3 0.984 0.812 0.811)\",\n red6: \"color(display-p3 0.955 0.751 0.749)\",\n red7: \"color(display-p3 0.915 0.675 0.672)\",\n red8: \"color(display-p3 0.872 0.575 0.572)\",\n red9: \"color(display-p3 0.83 0.329 0.324)\",\n red10: \"color(display-p3 0.798 0.294 0.285)\",\n red11: \"color(display-p3 0.744 0.234 0.222)\",\n red12: \"color(display-p3 0.36 0.115 0.143)\",\n};\nconst redP3A = {\n redA1: \"color(display-p3 0.675 0.024 0.024 / 0.012)\",\n redA2: \"color(display-p3 0.863 0.024 0.024 / 0.028)\",\n redA3: \"color(display-p3 0.792 0.008 0.008 / 0.075)\",\n redA4: \"color(display-p3 1 0.008 0.008 / 0.134)\",\n redA5: \"color(display-p3 0.918 0.008 0.008 / 0.189)\",\n redA6: \"color(display-p3 0.831 0.02 0.004 / 0.251)\",\n redA7: \"color(display-p3 0.741 0.016 0.004 / 0.33)\",\n redA8: \"color(display-p3 0.698 0.012 0.004 / 0.428)\",\n redA9: \"color(display-p3 0.749 0.008 0 / 0.675)\",\n redA10: \"color(display-p3 0.714 0.012 0 / 0.714)\",\n redA11: \"color(display-p3 0.744 0.234 0.222)\",\n redA12: \"color(display-p3 0.36 0.115 0.143)\",\n};\nconst ruby = {\n ruby1: \"#fffcfd\",\n ruby2: \"#fff7f8\",\n ruby3: \"#feeaed\",\n ruby4: \"#ffdce1\",\n ruby5: \"#ffced6\",\n ruby6: \"#f8bfc8\",\n ruby7: \"#efacb8\",\n ruby8: \"#e592a3\",\n ruby9: \"#e54666\",\n ruby10: \"#dc3b5d\",\n ruby11: \"#ca244d\",\n ruby12: \"#64172b\",\n};\nconst rubyA = {\n rubyA1: \"#ff005503\",\n rubyA2: \"#ff002008\",\n rubyA3: \"#f3002515\",\n rubyA4: \"#ff002523\",\n rubyA5: \"#ff002a31\",\n rubyA6: \"#e4002440\",\n rubyA7: \"#ce002553\",\n rubyA8: \"#c300286d\",\n rubyA9: \"#db002cb9\",\n rubyA10: \"#d2002cc4\",\n rubyA11: \"#c10030db\",\n rubyA12: \"#550016e8\",\n};\nconst rubyP3 = {\n ruby1: \"color(display-p3 0.998 0.989 0.992)\",\n ruby2: \"color(display-p3 0.995 0.971 0.974)\",\n ruby3: \"color(display-p3 0.983 0.92 0.928)\",\n ruby4: \"color(display-p3 0.987 0.869 0.885)\",\n ruby5: \"color(display-p3 0.968 0.817 0.839)\",\n ruby6: \"color(display-p3 0.937 0.758 0.786)\",\n ruby7: \"color(display-p3 0.897 0.685 0.721)\",\n ruby8: \"color(display-p3 0.851 0.588 0.639)\",\n ruby9: \"color(display-p3 0.83 0.323 0.408)\",\n ruby10: \"color(display-p3 0.795 0.286 0.375)\",\n ruby11: \"color(display-p3 0.728 0.211 0.311)\",\n ruby12: \"color(display-p3 0.36 0.115 0.171)\",\n};\nconst rubyP3A = {\n rubyA1: \"color(display-p3 0.675 0.024 0.349 / 0.012)\",\n rubyA2: \"color(display-p3 0.863 0.024 0.024 / 0.028)\",\n rubyA3: \"color(display-p3 0.804 0.008 0.11 / 0.079)\",\n rubyA4: \"color(display-p3 0.91 0.008 0.125 / 0.13)\",\n rubyA5: \"color(display-p3 0.831 0.004 0.133 / 0.185)\",\n rubyA6: \"color(display-p3 0.745 0.004 0.118 / 0.244)\",\n rubyA7: \"color(display-p3 0.678 0.004 0.114 / 0.314)\",\n rubyA8: \"color(display-p3 0.639 0.004 0.125 / 0.412)\",\n rubyA9: \"color(display-p3 0.753 0 0.129 / 0.679)\",\n rubyA10: \"color(display-p3 0.714 0 0.125 / 0.714)\",\n rubyA11: \"color(display-p3 0.728 0.211 0.311)\",\n rubyA12: \"color(display-p3 0.36 0.115 0.171)\",\n};\nconst crimson = {\n crimson1: \"#fffcfd\",\n crimson2: \"#fef7f9\",\n crimson3: \"#ffe9f0\",\n crimson4: \"#fedce7\",\n crimson5: \"#facedd\",\n crimson6: \"#f3bed1\",\n crimson7: \"#eaacc3\",\n crimson8: \"#e093b2\",\n crimson9: \"#e93d82\",\n crimson10: \"#df3478\",\n crimson11: \"#cb1d63\",\n crimson12: \"#621639\",\n};\nconst crimsonA = {\n crimsonA1: \"#ff005503\",\n crimsonA2: \"#e0004008\",\n crimsonA3: \"#ff005216\",\n crimsonA4: \"#f8005123\",\n crimsonA5: \"#e5004f31\",\n crimsonA6: \"#d0004b41\",\n crimsonA7: \"#bf004753\",\n crimsonA8: \"#b6004a6c\",\n crimsonA9: \"#e2005bc2\",\n crimsonA10: \"#d70056cb\",\n crimsonA11: \"#c4004fe2\",\n crimsonA12: \"#530026e9\",\n};\nconst crimsonP3 = {\n crimson1: \"color(display-p3 0.998 0.989 0.992)\",\n crimson2: \"color(display-p3 0.991 0.969 0.976)\",\n crimson3: \"color(display-p3 0.987 0.917 0.941)\",\n crimson4: \"color(display-p3 0.975 0.866 0.904)\",\n crimson5: \"color(display-p3 0.953 0.813 0.864)\",\n crimson6: \"color(display-p3 0.921 0.755 0.817)\",\n crimson7: \"color(display-p3 0.88 0.683 0.761)\",\n crimson8: \"color(display-p3 0.834 0.592 0.694)\",\n crimson9: \"color(display-p3 0.843 0.298 0.507)\",\n crimson10: \"color(display-p3 0.807 0.266 0.468)\",\n crimson11: \"color(display-p3 0.731 0.195 0.388)\",\n crimson12: \"color(display-p3 0.352 0.111 0.221)\",\n};\nconst crimsonP3A = {\n crimsonA1: \"color(display-p3 0.675 0.024 0.349 / 0.012)\",\n crimsonA2: \"color(display-p3 0.757 0.02 0.267 / 0.032)\",\n crimsonA3: \"color(display-p3 0.859 0.008 0.294 / 0.083)\",\n crimsonA4: \"color(display-p3 0.827 0.008 0.298 / 0.134)\",\n crimsonA5: \"color(display-p3 0.753 0.008 0.275 / 0.189)\",\n crimsonA6: \"color(display-p3 0.682 0.004 0.247 / 0.244)\",\n crimsonA7: \"color(display-p3 0.62 0.004 0.251 / 0.318)\",\n crimsonA8: \"color(display-p3 0.6 0.004 0.251 / 0.408)\",\n crimsonA9: \"color(display-p3 0.776 0 0.298 / 0.702)\",\n crimsonA10: \"color(display-p3 0.737 0 0.275 / 0.734)\",\n crimsonA11: \"color(display-p3 0.731 0.195 0.388)\",\n crimsonA12: \"color(display-p3 0.352 0.111 0.221)\",\n};\nconst pink = {\n pink1: \"#fffcfe\",\n pink2: \"#fef7fb\",\n pink3: \"#fee9f5\",\n pink4: \"#fbdcef\",\n pink5: \"#f6cee7\",\n pink6: \"#efbfdd\",\n pink7: \"#e7acd0\",\n pink8: \"#dd93c2\",\n pink9: \"#d6409f\",\n pink10: \"#cf3897\",\n pink11: \"#c2298a\",\n pink12: \"#651249\",\n};\nconst pinkA = {\n pinkA1: \"#ff00aa03\",\n pinkA2: \"#e0008008\",\n pinkA3: \"#f4008c16\",\n pinkA4: \"#e2008b23\",\n pinkA5: \"#d1008331\",\n pinkA6: \"#c0007840\",\n pinkA7: \"#b6006f53\",\n pinkA8: \"#af006f6c\",\n pinkA9: \"#c8007fbf\",\n pinkA10: \"#c2007ac7\",\n pinkA11: \"#b60074d6\",\n pinkA12: \"#59003bed\",\n};\nconst pinkP3 = {\n pink1: \"color(display-p3 0.998 0.989 0.996)\",\n pink2: \"color(display-p3 0.992 0.97 0.985)\",\n pink3: \"color(display-p3 0.981 0.917 0.96)\",\n pink4: \"color(display-p3 0.963 0.867 0.932)\",\n pink5: \"color(display-p3 0.939 0.815 0.899)\",\n pink6: \"color(display-p3 0.907 0.756 0.859)\",\n pink7: \"color(display-p3 0.869 0.683 0.81)\",\n pink8: \"color(display-p3 0.825 0.59 0.751)\",\n pink9: \"color(display-p3 0.775 0.297 0.61)\",\n pink10: \"color(display-p3 0.748 0.27 0.581)\",\n pink11: \"color(display-p3 0.698 0.219 0.528)\",\n pink12: \"color(display-p3 0.363 0.101 0.279)\",\n};\nconst pinkP3A = {\n pinkA1: \"color(display-p3 0.675 0.024 0.675 / 0.012)\",\n pinkA2: \"color(display-p3 0.757 0.02 0.51 / 0.032)\",\n pinkA3: \"color(display-p3 0.765 0.008 0.529 / 0.083)\",\n pinkA4: \"color(display-p3 0.737 0.008 0.506 / 0.134)\",\n pinkA5: \"color(display-p3 0.663 0.004 0.451 / 0.185)\",\n pinkA6: \"color(display-p3 0.616 0.004 0.424 / 0.244)\",\n pinkA7: \"color(display-p3 0.596 0.004 0.412 / 0.318)\",\n pinkA8: \"color(display-p3 0.573 0.004 0.404 / 0.412)\",\n pinkA9: \"color(display-p3 0.682 0 0.447 / 0.702)\",\n pinkA10: \"color(display-p3 0.655 0 0.424 / 0.73)\",\n pinkA11: \"color(display-p3 0.698 0.219 0.528)\",\n pinkA12: \"color(display-p3 0.363 0.101 0.279)\",\n};\nconst plum = {\n plum1: \"#fefcff\",\n plum2: \"#fdf7fd\",\n plum3: \"#fbebfb\",\n plum4: \"#f7def8\",\n plum5: \"#f2d1f3\",\n plum6: \"#e9c2ec\",\n plum7: \"#deade3\",\n plum8: \"#cf91d8\",\n plum9: \"#ab4aba\",\n plum10: \"#a144af\",\n plum11: \"#953ea3\",\n plum12: \"#53195d\",\n};\nconst plumA = {\n plumA1: \"#aa00ff03\",\n plumA2: \"#c000c008\",\n plumA3: \"#cc00cc14\",\n plumA4: \"#c200c921\",\n plumA5: \"#b700bd2e\",\n plumA6: \"#a400b03d\",\n plumA7: \"#9900a852\",\n plumA8: \"#9000a56e\",\n plumA9: \"#89009eb5\",\n plumA10: \"#7f0092bb\",\n plumA11: \"#730086c1\",\n plumA12: \"#40004be6\",\n};\nconst plumP3 = {\n plum1: \"color(display-p3 0.995 0.988 0.999)\",\n plum2: \"color(display-p3 0.988 0.971 0.99)\",\n plum3: \"color(display-p3 0.973 0.923 0.98)\",\n plum4: \"color(display-p3 0.953 0.875 0.966)\",\n plum5: \"color(display-p3 0.926 0.825 0.945)\",\n plum6: \"color(display-p3 0.89 0.765 0.916)\",\n plum7: \"color(display-p3 0.84 0.686 0.877)\",\n plum8: \"color(display-p3 0.775 0.58 0.832)\",\n plum9: \"color(display-p3 0.624 0.313 0.708)\",\n plum10: \"color(display-p3 0.587 0.29 0.667)\",\n plum11: \"color(display-p3 0.543 0.263 0.619)\",\n plum12: \"color(display-p3 0.299 0.114 0.352)\",\n};\nconst plumP3A = {\n plumA1: \"color(display-p3 0.675 0.024 1 / 0.012)\",\n plumA2: \"color(display-p3 0.58 0.024 0.58 / 0.028)\",\n plumA3: \"color(display-p3 0.655 0.008 0.753 / 0.079)\",\n plumA4: \"color(display-p3 0.627 0.008 0.722 / 0.126)\",\n plumA5: \"color(display-p3 0.58 0.004 0.69 / 0.177)\",\n plumA6: \"color(display-p3 0.537 0.004 0.655 / 0.236)\",\n plumA7: \"color(display-p3 0.49 0.004 0.616 / 0.314)\",\n plumA8: \"color(display-p3 0.471 0.004 0.6 / 0.42)\",\n plumA9: \"color(display-p3 0.451 0 0.576 / 0.687)\",\n plumA10: \"color(display-p3 0.42 0 0.529 / 0.71)\",\n plumA11: \"color(display-p3 0.543 0.263 0.619)\",\n plumA12: \"color(display-p3 0.299 0.114 0.352)\",\n};\nconst purple = {\n purple1: \"#fefcfe\",\n purple2: \"#fbf7fe\",\n purple3: \"#f7edfe\",\n purple4: \"#f2e2fc\",\n purple5: \"#ead5f9\",\n purple6: \"#e0c4f4\",\n purple7: \"#d1afec\",\n purple8: \"#be93e4\",\n purple9: \"#8e4ec6\",\n purple10: \"#8347b9\",\n purple11: \"#8145b5\",\n purple12: \"#402060\",\n};\nconst purpleA = {\n purpleA1: \"#aa00aa03\",\n purpleA2: \"#8000e008\",\n purpleA3: \"#8e00f112\",\n purpleA4: \"#8d00e51d\",\n purpleA5: \"#8000db2a\",\n purpleA6: \"#7a01d03b\",\n purpleA7: \"#6d00c350\",\n purpleA8: \"#6600c06c\",\n purpleA9: \"#5c00adb1\",\n purpleA10: \"#53009eb8\",\n purpleA11: \"#52009aba\",\n purpleA12: \"#250049df\",\n};\nconst purpleP3 = {\n purple1: \"color(display-p3 0.995 0.988 0.996)\",\n purple2: \"color(display-p3 0.983 0.971 0.993)\",\n purple3: \"color(display-p3 0.963 0.931 0.989)\",\n purple4: \"color(display-p3 0.937 0.888 0.981)\",\n purple5: \"color(display-p3 0.904 0.837 0.966)\",\n purple6: \"color(display-p3 0.86 0.774 0.942)\",\n purple7: \"color(display-p3 0.799 0.69 0.91)\",\n purple8: \"color(display-p3 0.719 0.583 0.874)\",\n purple9: \"color(display-p3 0.523 0.318 0.751)\",\n purple10: \"color(display-p3 0.483 0.289 0.7)\",\n purple11: \"color(display-p3 0.473 0.281 0.687)\",\n purple12: \"color(display-p3 0.234 0.132 0.363)\",\n};\nconst purpleP3A = {\n purpleA1: \"color(display-p3 0.675 0.024 0.675 / 0.012)\",\n purpleA2: \"color(display-p3 0.443 0.024 0.722 / 0.028)\",\n purpleA3: \"color(display-p3 0.506 0.008 0.835 / 0.071)\",\n purpleA4: \"color(display-p3 0.451 0.004 0.831 / 0.114)\",\n purpleA5: \"color(display-p3 0.431 0.004 0.788 / 0.165)\",\n purpleA6: \"color(display-p3 0.384 0.004 0.745 / 0.228)\",\n purpleA7: \"color(display-p3 0.357 0.004 0.71 / 0.31)\",\n purpleA8: \"color(display-p3 0.322 0.004 0.702 / 0.416)\",\n purpleA9: \"color(display-p3 0.298 0 0.639 / 0.683)\",\n purpleA10: \"color(display-p3 0.271 0 0.58 / 0.71)\",\n purpleA11: \"color(display-p3 0.473 0.281 0.687)\",\n purpleA12: \"color(display-p3 0.234 0.132 0.363)\",\n};\nconst violet = {\n violet1: \"#fdfcfe\",\n violet2: \"#faf8ff\",\n violet3: \"#f4f0fe\",\n violet4: \"#ebe4ff\",\n violet5: \"#e1d9ff\",\n violet6: \"#d4cafe\",\n violet7: \"#c2b5f5\",\n violet8: \"#aa99ec\",\n violet9: \"#6e56cf\",\n violet10: \"#654dc4\",\n violet11: \"#6550b9\",\n violet12: \"#2f265f\",\n};\nconst violetA = {\n violetA1: \"#5500aa03\",\n violetA2: \"#4900ff07\",\n violetA3: \"#4400ee0f\",\n violetA4: \"#4300ff1b\",\n violetA5: \"#3600ff26\",\n violetA6: \"#3100fb35\",\n violetA7: \"#2d01dd4a\",\n violetA8: \"#2b00d066\",\n violetA9: \"#2400b7a9\",\n violetA10: \"#2300abb2\",\n violetA11: \"#1f0099af\",\n violetA12: \"#0b0043d9\",\n};\nconst violetP3 = {\n violet1: \"color(display-p3 0.991 0.988 0.995)\",\n violet2: \"color(display-p3 0.978 0.974 0.998)\",\n violet3: \"color(display-p3 0.953 0.943 0.993)\",\n violet4: \"color(display-p3 0.916 0.897 1)\",\n violet5: \"color(display-p3 0.876 0.851 1)\",\n violet6: \"color(display-p3 0.825 0.793 0.981)\",\n violet7: \"color(display-p3 0.752 0.712 0.943)\",\n violet8: \"color(display-p3 0.654 0.602 0.902)\",\n violet9: \"color(display-p3 0.417 0.341 0.784)\",\n violet10: \"color(display-p3 0.381 0.306 0.741)\",\n violet11: \"color(display-p3 0.383 0.317 0.702)\",\n violet12: \"color(display-p3 0.179 0.15 0.359)\",\n};\nconst violetP3A = {\n violetA1: \"color(display-p3 0.349 0.024 0.675 / 0.012)\",\n violetA2: \"color(display-p3 0.161 0.024 0.863 / 0.028)\",\n violetA3: \"color(display-p3 0.204 0.004 0.871 / 0.059)\",\n violetA4: \"color(display-p3 0.196 0.004 1 / 0.102)\",\n violetA5: \"color(display-p3 0.165 0.008 1 / 0.15)\",\n violetA6: \"color(display-p3 0.153 0.004 0.906 / 0.208)\",\n violetA7: \"color(display-p3 0.141 0.004 0.796 / 0.287)\",\n violetA8: \"color(display-p3 0.133 0.004 0.753 / 0.397)\",\n violetA9: \"color(display-p3 0.114 0 0.675 / 0.659)\",\n violetA10: \"color(display-p3 0.11 0 0.627 / 0.695)\",\n violetA11: \"color(display-p3 0.383 0.317 0.702)\",\n violetA12: \"color(display-p3 0.179 0.15 0.359)\",\n};\nconst iris = {\n iris1: \"#fdfdff\",\n iris2: \"#f8f8ff\",\n iris3: \"#f0f1fe\",\n iris4: \"#e6e7ff\",\n iris5: \"#dadcff\",\n iris6: \"#cbcdff\",\n iris7: \"#b8baf8\",\n iris8: \"#9b9ef0\",\n iris9: \"#5b5bd6\",\n iris10: \"#5151cd\",\n iris11: \"#5753c6\",\n iris12: \"#272962\",\n};\nconst irisA = {\n irisA1: \"#0000ff02\",\n irisA2: \"#0000ff07\",\n irisA3: \"#0011ee0f\",\n irisA4: \"#000bff19\",\n irisA5: \"#000eff25\",\n irisA6: \"#000aff34\",\n irisA7: \"#0008e647\",\n irisA8: \"#0008d964\",\n irisA9: \"#0000c0a4\",\n irisA10: \"#0000b6ae\",\n irisA11: \"#0600abac\",\n irisA12: \"#000246d8\",\n};\nconst irisP3 = {\n iris1: \"color(display-p3 0.992 0.992 0.999)\",\n iris2: \"color(display-p3 0.972 0.973 0.998)\",\n iris3: \"color(display-p3 0.943 0.945 0.992)\",\n iris4: \"color(display-p3 0.902 0.906 1)\",\n iris5: \"color(display-p3 0.857 0.861 1)\",\n iris6: \"color(display-p3 0.799 0.805 0.987)\",\n iris7: \"color(display-p3 0.721 0.727 0.955)\",\n iris8: \"color(display-p3 0.61 0.619 0.918)\",\n iris9: \"color(display-p3 0.357 0.357 0.81)\",\n iris10: \"color(display-p3 0.318 0.318 0.774)\",\n iris11: \"color(display-p3 0.337 0.326 0.748)\",\n iris12: \"color(display-p3 0.154 0.161 0.371)\",\n};\nconst irisP3A = {\n irisA1: \"color(display-p3 0.02 0.02 1 / 0.008)\",\n irisA2: \"color(display-p3 0.024 0.024 0.863 / 0.028)\",\n irisA3: \"color(display-p3 0.004 0.071 0.871 / 0.059)\",\n irisA4: \"color(display-p3 0.012 0.051 1 / 0.099)\",\n irisA5: \"color(display-p3 0.008 0.035 1 / 0.142)\",\n irisA6: \"color(display-p3 0 0.02 0.941 / 0.2)\",\n irisA7: \"color(display-p3 0.004 0.02 0.847 / 0.279)\",\n irisA8: \"color(display-p3 0.004 0.024 0.788 / 0.389)\",\n irisA9: \"color(display-p3 0 0 0.706 / 0.644)\",\n irisA10: \"color(display-p3 0 0 0.667 / 0.683)\",\n irisA11: \"color(display-p3 0.337 0.326 0.748)\",\n irisA12: \"color(display-p3 0.154 0.161 0.371)\",\n};\nconst indigo = {\n indigo1: \"#fdfdfe\",\n indigo2: \"#f7f9ff\",\n indigo3: \"#edf2fe\",\n indigo4: \"#e1e9ff\",\n indigo5: \"#d2deff\",\n indigo6: \"#c1d0ff\",\n indigo7: \"#abbdf9\",\n indigo8: \"#8da4ef\",\n indigo9: \"#3e63dd\",\n indigo10: \"#3358d4\",\n indigo11: \"#3a5bc7\",\n indigo12: \"#1f2d5c\",\n};\nconst indigoA = {\n indigoA1: \"#00008002\",\n indigoA2: \"#0040ff08\",\n indigoA3: \"#0047f112\",\n indigoA4: \"#0044ff1e\",\n indigoA5: \"#0044ff2d\",\n indigoA6: \"#003eff3e\",\n indigoA7: \"#0037ed54\",\n indigoA8: \"#0034dc72\",\n indigoA9: \"#0031d2c1\",\n indigoA10: \"#002ec9cc\",\n indigoA11: \"#002bb7c5\",\n indigoA12: \"#001046e0\",\n};\nconst indigoP3 = {\n indigo1: \"color(display-p3 0.992 0.992 0.996)\",\n indigo2: \"color(display-p3 0.971 0.977 0.998)\",\n indigo3: \"color(display-p3 0.933 0.948 0.992)\",\n indigo4: \"color(display-p3 0.885 0.914 1)\",\n indigo5: \"color(display-p3 0.831 0.87 1)\",\n indigo6: \"color(display-p3 0.767 0.814 0.995)\",\n indigo7: \"color(display-p3 0.685 0.74 0.957)\",\n indigo8: \"color(display-p3 0.569 0.639 0.916)\",\n indigo9: \"color(display-p3 0.276 0.384 0.837)\",\n indigo10: \"color(display-p3 0.234 0.343 0.801)\",\n indigo11: \"color(display-p3 0.256 0.354 0.755)\",\n indigo12: \"color(display-p3 0.133 0.175 0.348)\",\n};\nconst indigoP3A = {\n indigoA1: \"color(display-p3 0.02 0.02 0.51 / 0.008)\",\n indigoA2: \"color(display-p3 0.024 0.161 0.863 / 0.028)\",\n indigoA3: \"color(display-p3 0.008 0.239 0.886 / 0.067)\",\n indigoA4: \"color(display-p3 0.004 0.247 1 / 0.114)\",\n indigoA5: \"color(display-p3 0.004 0.235 1 / 0.169)\",\n indigoA6: \"color(display-p3 0.004 0.208 0.984 / 0.232)\",\n indigoA7: \"color(display-p3 0.004 0.176 0.863 / 0.314)\",\n indigoA8: \"color(display-p3 0.004 0.165 0.812 / 0.432)\",\n indigoA9: \"color(display-p3 0 0.153 0.773 / 0.726)\",\n indigoA10: \"color(display-p3 0 0.137 0.737 / 0.765)\",\n indigoA11: \"color(display-p3 0.256 0.354 0.755)\",\n indigoA12: \"color(display-p3 0.133 0.175 0.348)\",\n};\nconst blue = {\n blue1: \"#fbfdff\",\n blue2: \"#f4faff\",\n blue3: \"#e6f4fe\",\n blue4: \"#d5efff\",\n blue5: \"#c2e5ff\",\n blue6: \"#acd8fc\",\n blue7: \"#8ec8f6\",\n blue8: \"#5eb1ef\",\n blue9: \"#0090ff\",\n blue10: \"#0588f0\",\n blue11: \"#0d74ce\",\n blue12: \"#113264\",\n};\nconst blueA = {\n blueA1: \"#0080ff04\",\n blueA2: \"#008cff0b\",\n blueA3: \"#008ff519\",\n blueA4: \"#009eff2a\",\n blueA5: \"#0093ff3d\",\n blueA6: \"#0088f653\",\n blueA7: \"#0083eb71\",\n blueA8: \"#0084e6a1\",\n blueA9: \"#0090ff\",\n blueA10: \"#0086f0fa\",\n blueA11: \"#006dcbf2\",\n blueA12: \"#002359ee\",\n};\nconst blueP3 = {\n blue1: \"color(display-p3 0.986 0.992 0.999)\",\n blue2: \"color(display-p3 0.96 0.979 0.998)\",\n blue3: \"color(display-p3 0.912 0.956 0.991)\",\n blue4: \"color(display-p3 0.853 0.932 1)\",\n blue5: \"color(display-p3 0.788 0.894 0.998)\",\n blue6: \"color(display-p3 0.709 0.843 0.976)\",\n blue7: \"color(display-p3 0.606 0.777 0.947)\",\n blue8: \"color(display-p3 0.451 0.688 0.917)\",\n blue9: \"color(display-p3 0.247 0.556 0.969)\",\n blue10: \"color(display-p3 0.234 0.523 0.912)\",\n blue11: \"color(display-p3 0.15 0.44 0.84)\",\n blue12: \"color(display-p3 0.102 0.193 0.379)\",\n};\nconst blueP3A = {\n blueA1: \"color(display-p3 0.024 0.514 1 / 0.016)\",\n blueA2: \"color(display-p3 0.024 0.514 0.906 / 0.04)\",\n blueA3: \"color(display-p3 0.012 0.506 0.914 / 0.087)\",\n blueA4: \"color(display-p3 0.008 0.545 1 / 0.146)\",\n blueA5: \"color(display-p3 0.004 0.502 0.984 / 0.212)\",\n blueA6: \"color(display-p3 0.004 0.463 0.922 / 0.291)\",\n blueA7: \"color(display-p3 0.004 0.431 0.863 / 0.393)\",\n blueA8: \"color(display-p3 0 0.427 0.851 / 0.55)\",\n blueA9: \"color(display-p3 0 0.412 0.961 / 0.753)\",\n blueA10: \"color(display-p3 0 0.376 0.886 / 0.765)\",\n blueA11: \"color(display-p3 0.15 0.44 0.84)\",\n blueA12: \"color(display-p3 0.102 0.193 0.379)\",\n};\nconst cyan = {\n cyan1: \"#fafdfe\",\n cyan2: \"#f2fafb\",\n cyan3: \"#def7f9\",\n cyan4: \"#caf1f6\",\n cyan5: \"#b5e9f0\",\n cyan6: \"#9ddde7\",\n cyan7: \"#7dcedc\",\n cyan8: \"#3db9cf\",\n cyan9: \"#00a2c7\",\n cyan10: \"#0797b9\",\n cyan11: \"#107d98\",\n cyan12: \"#0d3c48\",\n};\nconst cyanA = {\n cyanA1: \"#0099cc05\",\n cyanA2: \"#009db10d\",\n cyanA3: \"#00c2d121\",\n cyanA4: \"#00bcd435\",\n cyanA5: \"#01b4cc4a\",\n cyanA6: \"#00a7c162\",\n cyanA7: \"#009fbb82\",\n cyanA8: \"#00a3c0c2\",\n cyanA9: \"#00a2c7\",\n cyanA10: \"#0094b7f8\",\n cyanA11: \"#007491ef\",\n cyanA12: \"#00323ef2\",\n};\nconst cyanP3 = {\n cyan1: \"color(display-p3 0.982 0.992 0.996)\",\n cyan2: \"color(display-p3 0.955 0.981 0.984)\",\n cyan3: \"color(display-p3 0.888 0.965 0.975)\",\n cyan4: \"color(display-p3 0.821 0.941 0.959)\",\n cyan5: \"color(display-p3 0.751 0.907 0.935)\",\n cyan6: \"color(display-p3 0.671 0.862 0.9)\",\n cyan7: \"color(display-p3 0.564 0.8 0.854)\",\n cyan8: \"color(display-p3 0.388 0.715 0.798)\",\n cyan9: \"color(display-p3 0.282 0.627 0.765)\",\n cyan10: \"color(display-p3 0.264 0.583 0.71)\",\n cyan11: \"color(display-p3 0.08 0.48 0.63)\",\n cyan12: \"color(display-p3 0.108 0.232 0.277)\",\n};\nconst cyanP3A = {\n cyanA1: \"color(display-p3 0.02 0.608 0.804 / 0.02)\",\n cyanA2: \"color(display-p3 0.02 0.557 0.647 / 0.044)\",\n cyanA3: \"color(display-p3 0.004 0.694 0.796 / 0.114)\",\n cyanA4: \"color(display-p3 0.004 0.678 0.784 / 0.181)\",\n cyanA5: \"color(display-p3 0.004 0.624 0.733 / 0.248)\",\n cyanA6: \"color(display-p3 0.004 0.584 0.706 / 0.33)\",\n cyanA7: \"color(display-p3 0.004 0.541 0.667 / 0.436)\",\n cyanA8: \"color(display-p3 0 0.533 0.667 / 0.612)\",\n cyanA9: \"color(display-p3 0 0.482 0.675 / 0.718)\",\n cyanA10: \"color(display-p3 0 0.435 0.608 / 0.738)\",\n cyanA11: \"color(display-p3 0.08 0.48 0.63)\",\n cyanA12: \"color(display-p3 0.108 0.232 0.277)\",\n};\nconst teal = {\n teal1: \"#fafefd\",\n teal2: \"#f3fbf9\",\n teal3: \"#e0f8f3\",\n teal4: \"#ccf3ea\",\n teal5: \"#b8eae0\",\n teal6: \"#a1ded2\",\n teal7: \"#83cdc1\",\n teal8: \"#53b9ab\",\n teal9: \"#12a594\",\n teal10: \"#0d9b8a\",\n teal11: \"#008573\",\n teal12: \"#0d3d38\",\n};\nconst tealA = {\n tealA1: \"#00cc9905\",\n tealA2: \"#00aa800c\",\n tealA3: \"#00c69d1f\",\n tealA4: \"#00c39633\",\n tealA5: \"#00b49047\",\n tealA6: \"#00a6855e\",\n tealA7: \"#0099807c\",\n tealA8: \"#009783ac\",\n tealA9: \"#009e8ced\",\n tealA10: \"#009684f2\",\n tealA11: \"#008573\",\n tealA12: \"#00332df2\",\n};\nconst tealP3 = {\n teal1: \"color(display-p3 0.983 0.996 0.992)\",\n teal2: \"color(display-p3 0.958 0.983 0.976)\",\n teal3: \"color(display-p3 0.895 0.971 0.952)\",\n teal4: \"color(display-p3 0.831 0.949 0.92)\",\n teal5: \"color(display-p3 0.761 0.914 0.878)\",\n teal6: \"color(display-p3 0.682 0.864 0.825)\",\n teal7: \"color(display-p3 0.581 0.798 0.756)\",\n teal8: \"color(display-p3 0.433 0.716 0.671)\",\n teal9: \"color(display-p3 0.297 0.637 0.581)\",\n teal10: \"color(display-p3 0.275 0.599 0.542)\",\n teal11: \"color(display-p3 0.08 0.5 0.43)\",\n teal12: \"color(display-p3 0.11 0.235 0.219)\",\n};\nconst tealP3A = {\n tealA1: \"color(display-p3 0.024 0.757 0.514 / 0.016)\",\n tealA2: \"color(display-p3 0.02 0.647 0.467 / 0.044)\",\n tealA3: \"color(display-p3 0.004 0.741 0.557 / 0.106)\",\n tealA4: \"color(display-p3 0.004 0.702 0.537 / 0.169)\",\n tealA5: \"color(display-p3 0.004 0.643 0.494 / 0.24)\",\n tealA6: \"color(display-p3 0.004 0.569 0.447 / 0.318)\",\n tealA7: \"color(display-p3 0.004 0.518 0.424 / 0.42)\",\n tealA8: \"color(display-p3 0 0.506 0.424 / 0.569)\",\n tealA9: \"color(display-p3 0 0.482 0.404 / 0.702)\",\n tealA10: \"color(display-p3 0 0.451 0.369 / 0.726)\",\n tealA11: \"color(display-p3 0.08 0.5 0.43)\",\n tealA12: \"color(display-p3 0.11 0.235 0.219)\",\n};\nconst jade = {\n jade1: \"#fbfefd\",\n jade2: \"#f4fbf7\",\n jade3: \"#e6f7ed\",\n jade4: \"#d6f1e3\",\n jade5: \"#c3e9d7\",\n jade6: \"#acdec8\",\n jade7: \"#8bceb6\",\n jade8: \"#56ba9f\",\n jade9: \"#29a383\",\n jade10: \"#26997b\",\n jade11: \"#208368\",\n jade12: \"#1d3b31\",\n};\nconst jadeA = {\n jadeA1: \"#00c08004\",\n jadeA2: \"#00a3460b\",\n jadeA3: \"#00ae4819\",\n jadeA4: \"#00a85129\",\n jadeA5: \"#00a2553c\",\n jadeA6: \"#009a5753\",\n jadeA7: \"#00945f74\",\n jadeA8: \"#00976ea9\",\n jadeA9: \"#00916bd6\",\n jadeA10: \"#008764d9\",\n jadeA11: \"#007152df\",\n jadeA12: \"#002217e2\",\n};\nconst jadeP3 = {\n jade1: \"color(display-p3 0.986 0.996 0.992)\",\n jade2: \"color(display-p3 0.962 0.983 0.969)\",\n jade3: \"color(display-p3 0.912 0.965 0.932)\",\n jade4: \"color(display-p3 0.858 0.941 0.893)\",\n jade5: \"color(display-p3 0.795 0.909 0.847)\",\n jade6: \"color(display-p3 0.715 0.864 0.791)\",\n jade7: \"color(display-p3 0.603 0.802 0.718)\",\n jade8: \"color(display-p3 0.44 0.72 0.629)\",\n jade9: \"color(display-p3 0.319 0.63 0.521)\",\n jade10: \"color(display-p3 0.299 0.592 0.488)\",\n jade11: \"color(display-p3 0.15 0.5 0.37)\",\n jade12: \"color(display-p3 0.142 0.229 0.194)\",\n};\nconst jadeP3A = {\n jadeA1: \"color(display-p3 0.024 0.757 0.514 / 0.016)\",\n jadeA2: \"color(display-p3 0.024 0.612 0.22 / 0.04)\",\n jadeA3: \"color(display-p3 0.012 0.596 0.235 / 0.087)\",\n jadeA4: \"color(display-p3 0.008 0.588 0.255 / 0.142)\",\n jadeA5: \"color(display-p3 0.004 0.561 0.251 / 0.204)\",\n jadeA6: \"color(display-p3 0.004 0.525 0.278 / 0.287)\",\n jadeA7: \"color(display-p3 0.004 0.506 0.29 / 0.397)\",\n jadeA8: \"color(display-p3 0 0.506 0.337 / 0.561)\",\n jadeA9: \"color(display-p3 0 0.459 0.298 / 0.683)\",\n jadeA10: \"color(display-p3 0 0.42 0.271 / 0.702)\",\n jadeA11: \"color(display-p3 0.15 0.5 0.37)\",\n jadeA12: \"color(display-p3 0.142 0.229 0.194)\",\n};\nconst green = {\n green1: \"#fbfefc\",\n green2: \"#f4fbf6\",\n green3: \"#e6f6eb\",\n green4: \"#d6f1df\",\n green5: \"#c4e8d1\",\n green6: \"#adddc0\",\n green7: \"#8eceaa\",\n green8: \"#5bb98b\",\n green9: \"#30a46c\",\n green10: \"#2b9a66\",\n green11: \"#218358\",\n green12: \"#193b2d\",\n};\nconst greenA = {\n greenA1: \"#00c04004\",\n greenA2: \"#00a32f0b\",\n greenA3: \"#00a43319\",\n greenA4: \"#00a83829\",\n greenA5: \"#019c393b\",\n greenA6: \"#00963c52\",\n greenA7: \"#00914071\",\n greenA8: \"#00924ba4\",\n greenA9: \"#008f4acf\",\n greenA10: \"#008647d4\",\n greenA11: \"#00713fde\",\n greenA12: \"#002616e6\",\n};\nconst greenP3 = {\n green1: \"color(display-p3 0.986 0.996 0.989)\",\n green2: \"color(display-p3 0.963 0.983 0.967)\",\n green3: \"color(display-p3 0.913 0.964 0.925)\",\n green4: \"color(display-p3 0.859 0.94 0.879)\",\n green5: \"color(display-p3 0.796 0.907 0.826)\",\n green6: \"color(display-p3 0.718 0.863 0.761)\",\n green7: \"color(display-p3 0.61 0.801 0.675)\",\n green8: \"color(display-p3 0.451 0.715 0.559)\",\n green9: \"color(display-p3 0.332 0.634 0.442)\",\n green10: \"color(display-p3 0.308 0.595 0.417)\",\n green11: \"color(display-p3 0.19 0.5 0.32)\",\n green12: \"color(display-p3 0.132 0.228 0.18)\",\n};\nconst greenP3A = {\n greenA1: \"color(display-p3 0.024 0.757 0.267 / 0.016)\",\n greenA2: \"color(display-p3 0.024 0.565 0.129 / 0.036)\",\n greenA3: \"color(display-p3 0.012 0.596 0.145 / 0.087)\",\n greenA4: \"color(display-p3 0.008 0.588 0.145 / 0.142)\",\n greenA5: \"color(display-p3 0.004 0.541 0.157 / 0.204)\",\n greenA6: \"color(display-p3 0.004 0.518 0.157 / 0.283)\",\n greenA7: \"color(display-p3 0.004 0.486 0.165 / 0.389)\",\n greenA8: \"color(display-p3 0 0.478 0.2 / 0.55)\",\n greenA9: \"color(display-p3 0 0.455 0.165 / 0.667)\",\n greenA10: \"color(display-p3 0 0.416 0.153 / 0.691)\",\n greenA11: \"color(display-p3 0.19 0.5 0.32)\",\n greenA12: \"color(display-p3 0.132 0.228 0.18)\",\n};\nconst grass = {\n grass1: \"#fbfefb\",\n grass2: \"#f5fbf5\",\n grass3: \"#e9f6e9\",\n grass4: \"#daf1db\",\n grass5: \"#c9e8ca\",\n grass6: \"#b2ddb5\",\n grass7: \"#94ce9a\",\n grass8: \"#65ba74\",\n grass9: \"#46a758\",\n grass10: \"#3e9b4f\",\n grass11: \"#2a7e3b\",\n grass12: \"#203c25\",\n};\nconst grassA = {\n grassA1: \"#00c00004\",\n grassA2: \"#0099000a\",\n grassA3: \"#00970016\",\n grassA4: \"#009f0725\",\n grassA5: \"#00930536\",\n grassA6: \"#008f0a4d\",\n grassA7: \"#018b0f6b\",\n grassA8: \"#008d199a\",\n grassA9: \"#008619b9\",\n grassA10: \"#007b17c1\",\n grassA11: \"#006514d5\",\n grassA12: \"#002006df\",\n};\nconst grassP3 = {\n grass1: \"color(display-p3 0.986 0.996 0.985)\",\n grass2: \"color(display-p3 0.966 0.983 0.964)\",\n grass3: \"color(display-p3 0.923 0.965 0.917)\",\n grass4: \"color(display-p3 0.872 0.94 0.865)\",\n grass5: \"color(display-p3 0.811 0.908 0.802)\",\n grass6: \"color(display-p3 0.733 0.864 0.724)\",\n grass7: \"color(display-p3 0.628 0.803 0.622)\",\n grass8: \"color(display-p3 0.477 0.72 0.482)\",\n grass9: \"color(display-p3 0.38 0.647 0.378)\",\n grass10: \"color(display-p3 0.344 0.598 0.342)\",\n grass11: \"color(display-p3 0.263 0.488 0.261)\",\n grass12: \"color(display-p3 0.151 0.233 0.153)\",\n};\nconst grassP3A = {\n grassA1: \"color(display-p3 0.024 0.757 0.024 / 0.016)\",\n grassA2: \"color(display-p3 0.024 0.565 0.024 / 0.036)\",\n grassA3: \"color(display-p3 0.059 0.576 0.008 / 0.083)\",\n grassA4: \"color(display-p3 0.035 0.565 0.008 / 0.134)\",\n grassA5: \"color(display-p3 0.047 0.545 0.008 / 0.197)\",\n grassA6: \"color(display-p3 0.031 0.502 0.004 / 0.275)\",\n grassA7: \"color(display-p3 0.012 0.482 0.004 / 0.377)\",\n grassA8: \"color(display-p3 0 0.467 0.008 / 0.522)\",\n grassA9: \"color(display-p3 0.008 0.435 0 / 0.624)\",\n grassA10: \"color(display-p3 0.008 0.388 0 / 0.659)\",\n grassA11: \"color(display-p3 0.263 0.488 0.261)\",\n grassA12: \"color(display-p3 0.151 0.233 0.153)\",\n};\nconst brown = {\n brown1: \"#fefdfc\",\n brown2: \"#fcf9f6\",\n brown3: \"#f6eee7\",\n brown4: \"#f0e4d9\",\n brown5: \"#ebdaca\",\n brown6: \"#e4cdb7\",\n brown7: \"#dcbc9f\",\n brown8: \"#cea37e\",\n brown9: \"#ad7f58\",\n brown10: \"#a07553\",\n brown11: \"#815e46\",\n brown12: \"#3e332e\",\n};\nconst brownA = {\n brownA1: \"#aa550003\",\n brownA2: \"#aa550009\",\n brownA3: \"#a04b0018\",\n brownA4: \"#9b4a0026\",\n brownA5: \"#9f4d0035\",\n brownA6: \"#a04e0048\",\n brownA7: \"#a34e0060\",\n brownA8: \"#9f4a0081\",\n brownA9: \"#823c00a7\",\n brownA10: \"#723300ac\",\n brownA11: \"#522100b9\",\n brownA12: \"#140600d1\",\n};\nconst brownP3 = {\n brown1: \"color(display-p3 0.995 0.992 0.989)\",\n brown2: \"color(display-p3 0.987 0.976 0.964)\",\n brown3: \"color(display-p3 0.959 0.936 0.909)\",\n brown4: \"color(display-p3 0.934 0.897 0.855)\",\n brown5: \"color(display-p3 0.909 0.856 0.798)\",\n brown6: \"color(display-p3 0.88 0.808 0.73)\",\n brown7: \"color(display-p3 0.841 0.742 0.639)\",\n brown8: \"color(display-p3 0.782 0.647 0.514)\",\n brown9: \"color(display-p3 0.651 0.505 0.368)\",\n brown10: \"color(display-p3 0.601 0.465 0.344)\",\n brown11: \"color(display-p3 0.485 0.374 0.288)\",\n brown12: \"color(display-p3 0.236 0.202 0.183)\",\n};\nconst brownP3A = {\n brownA1: \"color(display-p3 0.675 0.349 0.024 / 0.012)\",\n brownA2: \"color(display-p3 0.675 0.349 0.024 / 0.036)\",\n brownA3: \"color(display-p3 0.573 0.314 0.012 / 0.091)\",\n brownA4: \"color(display-p3 0.545 0.302 0.008 / 0.146)\",\n brownA5: \"color(display-p3 0.561 0.29 0.004 / 0.204)\",\n brownA6: \"color(display-p3 0.553 0.294 0.004 / 0.271)\",\n brownA7: \"color(display-p3 0.557 0.286 0.004 / 0.361)\",\n brownA8: \"color(display-p3 0.549 0.275 0.004 / 0.487)\",\n brownA9: \"color(display-p3 0.447 0.22 0 / 0.632)\",\n brownA10: \"color(display-p3 0.388 0.188 0 / 0.655)\",\n brownA11: \"color(display-p3 0.485 0.374 0.288)\",\n brownA12: \"color(display-p3 0.236 0.202 0.183)\",\n};\nconst bronze = {\n bronze1: \"#fdfcfc\",\n bronze2: \"#fdf7f5\",\n bronze3: \"#f6edea\",\n bronze4: \"#efe4df\",\n bronze5: \"#e7d9d3\",\n bronze6: \"#dfcdc5\",\n bronze7: \"#d3bcb3\",\n bronze8: \"#c2a499\",\n bronze9: \"#a18072\",\n bronze10: \"#957468\",\n bronze11: \"#7d5e54\",\n bronze12: \"#43302b\",\n};\nconst bronzeA = {\n bronzeA1: \"#55000003\",\n bronzeA2: \"#cc33000a\",\n bronzeA3: \"#92250015\",\n bronzeA4: \"#80280020\",\n bronzeA5: \"#7423002c\",\n bronzeA6: \"#7324003a\",\n bronzeA7: \"#6c1f004c\",\n bronzeA8: \"#671c0066\",\n bronzeA9: \"#551a008d\",\n bronzeA10: \"#4c150097\",\n bronzeA11: \"#3d0f00ab\",\n bronzeA12: \"#1d0600d4\",\n};\nconst bronzeP3 = {\n bronze1: \"color(display-p3 0.991 0.988 0.988)\",\n bronze2: \"color(display-p3 0.989 0.97 0.961)\",\n bronze3: \"color(display-p3 0.958 0.932 0.919)\",\n bronze4: \"color(display-p3 0.929 0.894 0.877)\",\n bronze5: \"color(display-p3 0.898 0.853 0.832)\",\n bronze6: \"color(display-p3 0.861 0.805 0.778)\",\n bronze7: \"color(display-p3 0.812 0.739 0.706)\",\n bronze8: \"color(display-p3 0.741 0.647 0.606)\",\n bronze9: \"color(display-p3 0.611 0.507 0.455)\",\n bronze10: \"color(display-p3 0.563 0.461 0.414)\",\n bronze11: \"color(display-p3 0.471 0.373 0.336)\",\n bronze12: \"color(display-p3 0.251 0.191 0.172)\",\n};\nconst bronzeP3A = {\n bronzeA1: \"color(display-p3 0.349 0.024 0.024 / 0.012)\",\n bronzeA2: \"color(display-p3 0.71 0.22 0.024 / 0.04)\",\n bronzeA3: \"color(display-p3 0.482 0.2 0.008 / 0.083)\",\n bronzeA4: \"color(display-p3 0.424 0.133 0.004 / 0.122)\",\n bronzeA5: \"color(display-p3 0.4 0.145 0.004 / 0.169)\",\n bronzeA6: \"color(display-p3 0.388 0.125 0.004 / 0.224)\",\n bronzeA7: \"color(display-p3 0.365 0.11 0.004 / 0.295)\",\n bronzeA8: \"color(display-p3 0.341 0.102 0.004 / 0.393)\",\n bronzeA9: \"color(display-p3 0.29 0.094 0 / 0.546)\",\n bronzeA10: \"color(display-p3 0.255 0.082 0 / 0.585)\",\n bronzeA11: \"color(display-p3 0.471 0.373 0.336)\",\n bronzeA12: \"color(display-p3 0.251 0.191 0.172)\",\n};\nconst gold = {\n gold1: \"#fdfdfc\",\n gold2: \"#faf9f2\",\n gold3: \"#f2f0e7\",\n gold4: \"#eae6db\",\n gold5: \"#e1dccf\",\n gold6: \"#d8d0bf\",\n gold7: \"#cbc0aa\",\n gold8: \"#b9a88d\",\n gold9: \"#978365\",\n gold10: \"#8c7a5e\",\n gold11: \"#71624b\",\n gold12: \"#3b352b\",\n};\nconst goldA = {\n goldA1: \"#55550003\",\n goldA2: \"#9d8a000d\",\n goldA3: \"#75600018\",\n goldA4: \"#6b4e0024\",\n goldA5: \"#60460030\",\n goldA6: \"#64440040\",\n goldA7: \"#63420055\",\n goldA8: \"#633d0072\",\n goldA9: \"#5332009a\",\n goldA10: \"#492d00a1\",\n goldA11: \"#362100b4\",\n goldA12: \"#130c00d4\",\n};\nconst goldP3 = {\n gold1: \"color(display-p3 0.992 0.992 0.989)\",\n gold2: \"color(display-p3 0.98 0.976 0.953)\",\n gold3: \"color(display-p3 0.947 0.94 0.909)\",\n gold4: \"color(display-p3 0.914 0.904 0.865)\",\n gold5: \"color(display-p3 0.88 0.865 0.816)\",\n gold6: \"color(display-p3 0.84 0.818 0.756)\",\n gold7: \"color(display-p3 0.788 0.753 0.677)\",\n gold8: \"color(display-p3 0.715 0.66 0.565)\",\n gold9: \"color(display-p3 0.579 0.517 0.41)\",\n gold10: \"color(display-p3 0.538 0.479 0.38)\",\n gold11: \"color(display-p3 0.433 0.386 0.305)\",\n gold12: \"color(display-p3 0.227 0.209 0.173)\",\n};\nconst goldP3A = {\n goldA1: \"color(display-p3 0.349 0.349 0.024 / 0.012)\",\n goldA2: \"color(display-p3 0.592 0.514 0.024 / 0.048)\",\n goldA3: \"color(display-p3 0.4 0.357 0.012 / 0.091)\",\n goldA4: \"color(display-p3 0.357 0.298 0.008 / 0.134)\",\n goldA5: \"color(display-p3 0.345 0.282 0.004 / 0.185)\",\n goldA6: \"color(display-p3 0.341 0.263 0.004 / 0.244)\",\n goldA7: \"color(display-p3 0.345 0.235 0.004 / 0.322)\",\n goldA8: \"color(display-p3 0.345 0.22 0.004 / 0.436)\",\n goldA9: \"color(display-p3 0.286 0.18 0 / 0.589)\",\n goldA10: \"color(display-p3 0.255 0.161 0 / 0.62)\",\n goldA11: \"color(display-p3 0.433 0.386 0.305)\",\n goldA12: \"color(display-p3 0.227 0.209 0.173)\",\n};\nconst sky = {\n sky1: \"#f9feff\",\n sky2: \"#f1fafd\",\n sky3: \"#e1f6fd\",\n sky4: \"#d1f0fa\",\n sky5: \"#bee7f5\",\n sky6: \"#a9daed\",\n sky7: \"#8dcae3\",\n sky8: \"#60b3d7\",\n sky9: \"#7ce2fe\",\n sky10: \"#74daf8\",\n sky11: \"#00749e\",\n sky12: \"#1d3e56\",\n};\nconst skyA = {\n skyA1: \"#00d5ff06\",\n skyA2: \"#00a4db0e\",\n skyA3: \"#00b3ee1e\",\n skyA4: \"#00ace42e\",\n skyA5: \"#00a1d841\",\n skyA6: \"#0092ca56\",\n skyA7: \"#0089c172\",\n skyA8: \"#0085bf9f\",\n skyA9: \"#00c7fe83\",\n skyA10: \"#00bcf38b\",\n skyA11: \"#00749e\",\n skyA12: \"#002540e2\",\n};\nconst skyP3 = {\n sky1: \"color(display-p3 0.98 0.995 0.999)\",\n sky2: \"color(display-p3 0.953 0.98 0.99)\",\n sky3: \"color(display-p3 0.899 0.963 0.989)\",\n sky4: \"color(display-p3 0.842 0.937 0.977)\",\n sky5: \"color(display-p3 0.777 0.9 0.954)\",\n sky6: \"color(display-p3 0.701 0.851 0.921)\",\n sky7: \"color(display-p3 0.604 0.785 0.879)\",\n sky8: \"color(display-p3 0.457 0.696 0.829)\",\n sky9: \"color(display-p3 0.585 0.877 0.983)\",\n sky10: \"color(display-p3 0.555 0.845 0.959)\",\n sky11: \"color(display-p3 0.193 0.448 0.605)\",\n sky12: \"color(display-p3 0.145 0.241 0.329)\",\n};\nconst skyP3A = {\n skyA1: \"color(display-p3 0.02 0.804 1 / 0.02)\",\n skyA2: \"color(display-p3 0.024 0.592 0.757 / 0.048)\",\n skyA3: \"color(display-p3 0.004 0.655 0.886 / 0.102)\",\n skyA4: \"color(display-p3 0.004 0.604 0.851 / 0.157)\",\n skyA5: \"color(display-p3 0.004 0.565 0.792 / 0.224)\",\n skyA6: \"color(display-p3 0.004 0.502 0.737 / 0.299)\",\n skyA7: \"color(display-p3 0.004 0.459 0.694 / 0.397)\",\n skyA8: \"color(display-p3 0 0.435 0.682 / 0.542)\",\n skyA9: \"color(display-p3 0.004 0.71 0.965 / 0.416)\",\n skyA10: \"color(display-p3 0.004 0.647 0.914 / 0.444)\",\n skyA11: \"color(display-p3 0.193 0.448 0.605)\",\n skyA12: \"color(display-p3 0.145 0.241 0.329)\",\n};\nconst mint = {\n mint1: \"#f9fefd\",\n mint2: \"#f2fbf9\",\n mint3: \"#ddf9f2\",\n mint4: \"#c8f4e9\",\n mint5: \"#b3ecde\",\n mint6: \"#9ce0d0\",\n mint7: \"#7ecfbd\",\n mint8: \"#4cbba5\",\n mint9: \"#86ead4\",\n mint10: \"#7de0cb\",\n mint11: \"#027864\",\n mint12: \"#16433c\",\n};\nconst mintA = {\n mintA1: \"#00d5aa06\",\n mintA2: \"#00b18a0d\",\n mintA3: \"#00d29e22\",\n mintA4: \"#00cc9937\",\n mintA5: \"#00c0914c\",\n mintA6: \"#00b08663\",\n mintA7: \"#00a17d81\",\n mintA8: \"#009e7fb3\",\n mintA9: \"#00d3a579\",\n mintA10: \"#00c39982\",\n mintA11: \"#007763fd\",\n mintA12: \"#00312ae9\",\n};\nconst mintP3 = {\n mint1: \"color(display-p3 0.98 0.995 0.992)\",\n mint2: \"color(display-p3 0.957 0.985 0.977)\",\n mint3: \"color(display-p3 0.888 0.972 0.95)\",\n mint4: \"color(display-p3 0.819 0.951 0.916)\",\n mint5: \"color(display-p3 0.747 0.918 0.873)\",\n mint6: \"color(display-p3 0.668 0.87 0.818)\",\n mint7: \"color(display-p3 0.567 0.805 0.744)\",\n mint8: \"color(display-p3 0.42 0.724 0.649)\",\n mint9: \"color(display-p3 0.62 0.908 0.834)\",\n mint10: \"color(display-p3 0.585 0.871 0.797)\",\n mint11: \"color(display-p3 0.203 0.463 0.397)\",\n mint12: \"color(display-p3 0.136 0.259 0.236)\",\n};\nconst mintP3A = {\n mintA1: \"color(display-p3 0.02 0.804 0.608 / 0.02)\",\n mintA2: \"color(display-p3 0.02 0.647 0.467 / 0.044)\",\n mintA3: \"color(display-p3 0.004 0.761 0.553 / 0.114)\",\n mintA4: \"color(display-p3 0.004 0.741 0.545 / 0.181)\",\n mintA5: \"color(display-p3 0.004 0.678 0.51 / 0.255)\",\n mintA6: \"color(display-p3 0.004 0.616 0.463 / 0.334)\",\n mintA7: \"color(display-p3 0.004 0.549 0.412 / 0.432)\",\n mintA8: \"color(display-p3 0 0.529 0.392 / 0.581)\",\n mintA9: \"color(display-p3 0.004 0.765 0.569 / 0.381)\",\n mintA10: \"color(display-p3 0.004 0.69 0.51 / 0.416)\",\n mintA11: \"color(display-p3 0.203 0.463 0.397)\",\n mintA12: \"color(display-p3 0.136 0.259 0.236)\",\n};\nconst lime = {\n lime1: \"#fcfdfa\",\n lime2: \"#f8faf3\",\n lime3: \"#eef6d6\",\n lime4: \"#e2f0bd\",\n lime5: \"#d3e7a6\",\n lime6: \"#c2da91\",\n lime7: \"#abc978\",\n lime8: \"#8db654\",\n lime9: \"#bdee63\",\n lime10: \"#b0e64c\",\n lime11: \"#5c7c2f\",\n lime12: \"#37401c\",\n};\nconst limeA = {\n limeA1: \"#66990005\",\n limeA2: \"#6b95000c\",\n limeA3: \"#96c80029\",\n limeA4: \"#8fc60042\",\n limeA5: \"#81bb0059\",\n limeA6: \"#72aa006e\",\n limeA7: \"#61990087\",\n limeA8: \"#559200ab\",\n limeA9: \"#93e4009c\",\n limeA10: \"#8fdc00b3\",\n limeA11: \"#375f00d0\",\n limeA12: \"#1e2900e3\",\n};\nconst limeP3 = {\n lime1: \"color(display-p3 0.989 0.992 0.981)\",\n lime2: \"color(display-p3 0.975 0.98 0.954)\",\n lime3: \"color(display-p3 0.939 0.965 0.851)\",\n lime4: \"color(display-p3 0.896 0.94 0.76)\",\n lime5: \"color(display-p3 0.843 0.903 0.678)\",\n lime6: \"color(display-p3 0.778 0.852 0.599)\",\n lime7: \"color(display-p3 0.694 0.784 0.508)\",\n lime8: \"color(display-p3 0.585 0.707 0.378)\",\n lime9: \"color(display-p3 0.78 0.928 0.466)\",\n lime10: \"color(display-p3 0.734 0.896 0.397)\",\n lime11: \"color(display-p3 0.386 0.482 0.227)\",\n lime12: \"color(display-p3 0.222 0.25 0.128)\",\n};\nconst limeP3A = {\n limeA1: \"color(display-p3 0.412 0.608 0.02 / 0.02)\",\n limeA2: \"color(display-p3 0.514 0.592 0.024 / 0.048)\",\n limeA3: \"color(display-p3 0.584 0.765 0.008 / 0.15)\",\n limeA4: \"color(display-p3 0.561 0.757 0.004 / 0.24)\",\n limeA5: \"color(display-p3 0.514 0.698 0.004 / 0.322)\",\n limeA6: \"color(display-p3 0.443 0.627 0 / 0.4)\",\n limeA7: \"color(display-p3 0.376 0.561 0.004 / 0.491)\",\n limeA8: \"color(display-p3 0.333 0.529 0 / 0.624)\",\n limeA9: \"color(display-p3 0.588 0.867 0 / 0.534)\",\n limeA10: \"color(display-p3 0.561 0.827 0 / 0.604)\",\n limeA11: \"color(display-p3 0.386 0.482 0.227)\",\n limeA12: \"color(display-p3 0.222 0.25 0.128)\",\n};\nconst yellow = {\n yellow1: \"#fdfdf9\",\n yellow2: \"#fefce9\",\n yellow3: \"#fffab8\",\n yellow4: \"#fff394\",\n yellow5: \"#ffe770\",\n yellow6: \"#f3d768\",\n yellow7: \"#e4c767\",\n yellow8: \"#d5ae39\",\n yellow9: \"#ffe629\",\n yellow10: \"#ffdc00\",\n yellow11: \"#9e6c00\",\n yellow12: \"#473b1f\",\n};\nconst yellowA = {\n yellowA1: \"#aaaa0006\",\n yellowA2: \"#f4dd0016\",\n yellowA3: \"#ffee0047\",\n yellowA4: \"#ffe3016b\",\n yellowA5: \"#ffd5008f\",\n yellowA6: \"#ebbc0097\",\n yellowA7: \"#d2a10098\",\n yellowA8: \"#c99700c6\",\n yellowA9: \"#ffe100d6\",\n yellowA10: \"#ffdc00\",\n yellowA11: \"#9e6c00\",\n yellowA12: \"#2e2000e0\",\n};\nconst yellowP3 = {\n yellow1: \"color(display-p3 0.992 0.992 0.978)\",\n yellow2: \"color(display-p3 0.995 0.99 0.922)\",\n yellow3: \"color(display-p3 0.997 0.982 0.749)\",\n yellow4: \"color(display-p3 0.992 0.953 0.627)\",\n yellow5: \"color(display-p3 0.984 0.91 0.51)\",\n yellow6: \"color(display-p3 0.934 0.847 0.474)\",\n yellow7: \"color(display-p3 0.876 0.785 0.46)\",\n yellow8: \"color(display-p3 0.811 0.689 0.313)\",\n yellow9: \"color(display-p3 1 0.92 0.22)\",\n yellow10: \"color(display-p3 0.977 0.868 0.291)\",\n yellow11: \"color(display-p3 0.6 0.44 0)\",\n yellow12: \"color(display-p3 0.271 0.233 0.137)\",\n};\nconst yellowP3A = {\n yellowA1: \"color(display-p3 0.675 0.675 0.024 / 0.024)\",\n yellowA2: \"color(display-p3 0.953 0.855 0.008 / 0.079)\",\n yellowA3: \"color(display-p3 0.988 0.925 0.004 / 0.251)\",\n yellowA4: \"color(display-p3 0.98 0.875 0.004 / 0.373)\",\n yellowA5: \"color(display-p3 0.969 0.816 0.004 / 0.491)\",\n yellowA6: \"color(display-p3 0.875 0.71 0 / 0.526)\",\n yellowA7: \"color(display-p3 0.769 0.604 0 / 0.542)\",\n yellowA8: \"color(display-p3 0.725 0.549 0 / 0.687)\",\n yellowA9: \"color(display-p3 1 0.898 0 / 0.781)\",\n yellowA10: \"color(display-p3 0.969 0.812 0 / 0.71)\",\n yellowA11: \"color(display-p3 0.6 0.44 0)\",\n yellowA12: \"color(display-p3 0.271 0.233 0.137)\",\n};\nconst amber = {\n amber1: \"#fefdfb\",\n amber2: \"#fefbe9\",\n amber3: \"#fff7c2\",\n amber4: \"#ffee9c\",\n amber5: \"#fbe577\",\n amber6: \"#f3d673\",\n amber7: \"#e9c162\",\n amber8: \"#e2a336\",\n amber9: \"#ffc53d\",\n amber10: \"#ffba18\",\n amber11: \"#ab6400\",\n amber12: \"#4f3422\",\n};\nconst amberA = {\n amberA1: \"#c0800004\",\n amberA2: \"#f4d10016\",\n amberA3: \"#ffde003d\",\n amberA4: \"#ffd40063\",\n amberA5: \"#f8cf0088\",\n amberA6: \"#eab5008c\",\n amberA7: \"#dc9b009d\",\n amberA8: \"#da8a00c9\",\n amberA9: \"#ffb300c2\",\n amberA10: \"#ffb300e7\",\n amberA11: \"#ab6400\",\n amberA12: \"#341500dd\",\n};\nconst amberP3 = {\n amber1: \"color(display-p3 0.995 0.992 0.985)\",\n amber2: \"color(display-p3 0.994 0.986 0.921)\",\n amber3: \"color(display-p3 0.994 0.969 0.782)\",\n amber4: \"color(display-p3 0.989 0.937 0.65)\",\n amber5: \"color(display-p3 0.97 0.902 0.527)\",\n amber6: \"color(display-p3 0.936 0.844 0.506)\",\n amber7: \"color(display-p3 0.89 0.762 0.443)\",\n amber8: \"color(display-p3 0.85 0.65 0.3)\",\n amber9: \"color(display-p3 1 0.77 0.26)\",\n amber10: \"color(display-p3 0.959 0.741 0.274)\",\n amber11: \"color(display-p3 0.64 0.4 0)\",\n amber12: \"color(display-p3 0.294 0.208 0.145)\",\n};\nconst amberP3A = {\n amberA1: \"color(display-p3 0.757 0.514 0.024 / 0.016)\",\n amberA2: \"color(display-p3 0.902 0.804 0.008 / 0.079)\",\n amberA3: \"color(display-p3 0.965 0.859 0.004 / 0.22)\",\n amberA4: \"color(display-p3 0.969 0.82 0.004 / 0.35)\",\n amberA5: \"color(display-p3 0.933 0.796 0.004 / 0.475)\",\n amberA6: \"color(display-p3 0.875 0.682 0.004 / 0.495)\",\n amberA7: \"color(display-p3 0.804 0.573 0 / 0.557)\",\n amberA8: \"color(display-p3 0.788 0.502 0 / 0.699)\",\n amberA9: \"color(display-p3 1 0.686 0 / 0.742)\",\n amberA10: \"color(display-p3 0.945 0.643 0 / 0.726)\",\n amberA11: \"color(display-p3 0.64 0.4 0)\",\n amberA12: \"color(display-p3 0.294 0.208 0.145)\",\n};\nconst orange = {\n orange1: \"#fefcfb\",\n orange2: \"#fff7ed\",\n orange3: \"#ffefd6\",\n orange4: \"#ffdfb5\",\n orange5: \"#ffd19a\",\n orange6: \"#ffc182\",\n orange7: \"#f5ae73\",\n orange8: \"#ec9455\",\n orange9: \"#f76b15\",\n orange10: \"#ef5f00\",\n orange11: \"#cc4e00\",\n orange12: \"#582d1d\",\n};\nconst orangeA = {\n orangeA1: \"#c0400004\",\n orangeA2: \"#ff8e0012\",\n orangeA3: \"#ff9c0029\",\n orangeA4: \"#ff91014a\",\n orangeA5: \"#ff8b0065\",\n orangeA6: \"#ff81007d\",\n orangeA7: \"#ed6c008c\",\n orangeA8: \"#e35f00aa\",\n orangeA9: \"#f65e00ea\",\n orangeA10: \"#ef5f00\",\n orangeA11: \"#cc4e00\",\n orangeA12: \"#431200e2\",\n};\nconst orangeP3 = {\n orange1: \"color(display-p3 0.995 0.988 0.985)\",\n orange2: \"color(display-p3 0.994 0.968 0.934)\",\n orange3: \"color(display-p3 0.989 0.938 0.85)\",\n orange4: \"color(display-p3 1 0.874 0.687)\",\n orange5: \"color(display-p3 1 0.821 0.583)\",\n orange6: \"color(display-p3 0.975 0.767 0.545)\",\n orange7: \"color(display-p3 0.919 0.693 0.486)\",\n orange8: \"color(display-p3 0.877 0.597 0.379)\",\n orange9: \"color(display-p3 0.9 0.45 0.2)\",\n orange10: \"color(display-p3 0.87 0.409 0.164)\",\n orange11: \"color(display-p3 0.76 0.34 0)\",\n orange12: \"color(display-p3 0.323 0.185 0.127)\",\n};\nconst orangeP3A = {\n orangeA1: \"color(display-p3 0.757 0.267 0.024 / 0.016)\",\n orangeA2: \"color(display-p3 0.886 0.533 0.008 / 0.067)\",\n orangeA3: \"color(display-p3 0.922 0.584 0.008 / 0.15)\",\n orangeA4: \"color(display-p3 1 0.604 0.004 / 0.314)\",\n orangeA5: \"color(display-p3 1 0.569 0.004 / 0.416)\",\n orangeA6: \"color(display-p3 0.949 0.494 0.004 / 0.455)\",\n orangeA7: \"color(display-p3 0.839 0.408 0 / 0.514)\",\n orangeA8: \"color(display-p3 0.804 0.349 0 / 0.62)\",\n orangeA9: \"color(display-p3 0.878 0.314 0 / 0.8)\",\n orangeA10: \"color(display-p3 0.843 0.29 0 / 0.836)\",\n orangeA11: \"color(display-p3 0.76 0.34 0)\",\n orangeA12: \"color(display-p3 0.323 0.185 0.127)\",\n};\n\nconst blackA = {\n blackA1: \"rgba(0, 0, 0, 0.05)\",\n blackA2: \"rgba(0, 0, 0, 0.1)\",\n blackA3: \"rgba(0, 0, 0, 0.15)\",\n blackA4: \"rgba(0, 0, 0, 0.2)\",\n blackA5: \"rgba(0, 0, 0, 0.3)\",\n blackA6: \"rgba(0, 0, 0, 0.4)\",\n blackA7: \"rgba(0, 0, 0, 0.5)\",\n blackA8: \"rgba(0, 0, 0, 0.6)\",\n blackA9: \"rgba(0, 0, 0, 0.7)\",\n blackA10: \"rgba(0, 0, 0, 0.8)\",\n blackA11: \"rgba(0, 0, 0, 0.9)\",\n blackA12: \"rgba(0, 0, 0, 0.95)\",\n};\nconst blackP3A = {\n blackA1: \"color(display-p3 0 0 0 / 0.05)\",\n blackA2: \"color(display-p3 0 0 0 / 0.1)\",\n blackA3: \"color(display-p3 0 0 0 / 0.15)\",\n blackA4: \"color(display-p3 0 0 0 / 0.2)\",\n blackA5: \"color(display-p3 0 0 0 / 0.3)\",\n blackA6: \"color(display-p3 0 0 0 / 0.4)\",\n blackA7: \"color(display-p3 0 0 0 / 0.5)\",\n blackA8: \"color(display-p3 0 0 0 / 0.6)\",\n blackA9: \"color(display-p3 0 0 0 / 0.7)\",\n blackA10: \"color(display-p3 0 0 0 / 0.8)\",\n blackA11: \"color(display-p3 0 0 0 / 0.9)\",\n blackA12: \"color(display-p3 0 0 0 / 0.95)\",\n};\n\nconst whiteA = {\n whiteA1: \"rgba(255, 255, 255, 0.05)\",\n whiteA2: \"rgba(255, 255, 255, 0.1)\",\n whiteA3: \"rgba(255, 255, 255, 0.15)\",\n whiteA4: \"rgba(255, 255, 255, 0.2)\",\n whiteA5: \"rgba(255, 255, 255, 0.3)\",\n whiteA6: \"rgba(255, 255, 255, 0.4)\",\n whiteA7: \"rgba(255, 255, 255, 0.5)\",\n whiteA8: \"rgba(255, 255, 255, 0.6)\",\n whiteA9: \"rgba(255, 255, 255, 0.7)\",\n whiteA10: \"rgba(255, 255, 255, 0.8)\",\n whiteA11: \"rgba(255, 255, 255, 0.9)\",\n whiteA12: \"rgba(255, 255, 255, 0.95)\",\n};\nconst whiteP3A = {\n whiteA1: \"color(display-p3 1 1 1 / 0.05)\",\n whiteA2: \"color(display-p3 1 1 1 / 0.1)\",\n whiteA3: \"color(display-p3 1 1 1 / 0.15)\",\n whiteA4: \"color(display-p3 1 1 1 / 0.2)\",\n whiteA5: \"color(display-p3 1 1 1 / 0.3)\",\n whiteA6: \"color(display-p3 1 1 1 / 0.4)\",\n whiteA7: \"color(display-p3 1 1 1 / 0.5)\",\n whiteA8: \"color(display-p3 1 1 1 / 0.6)\",\n whiteA9: \"color(display-p3 1 1 1 / 0.7)\",\n whiteA10: \"color(display-p3 1 1 1 / 0.8)\",\n whiteA11: \"color(display-p3 1 1 1 / 0.9)\",\n whiteA12: \"color(display-p3 1 1 1 / 0.95)\",\n};\n\nexport { amber, amberA, amberDark, amberDarkA, amberDarkP3, amberDarkP3A, amberP3, amberP3A, blackA, blackP3A, blue, blueA, blueDark, blueDarkA, blueDarkP3, blueDarkP3A, blueP3, blueP3A, bronze, bronzeA, bronzeDark, bronzeDarkA, bronzeDarkP3, bronzeDarkP3A, bronzeP3, bronzeP3A, brown, brownA, brownDark, brownDarkA, brownDarkP3, brownDarkP3A, brownP3, brownP3A, crimson, crimsonA, crimsonDark, crimsonDarkA, crimsonDarkP3, crimsonDarkP3A, crimsonP3, crimsonP3A, cyan, cyanA, cyanDark, cyanDarkA, cyanDarkP3, cyanDarkP3A, cyanP3, cyanP3A, gold, goldA, goldDark, goldDarkA, goldDarkP3, goldDarkP3A, goldP3, goldP3A, grass, grassA, grassDark, grassDarkA, grassDarkP3, grassDarkP3A, grassP3, grassP3A, gray, grayA, grayDark, grayDarkA, grayDarkP3, grayDarkP3A, grayP3, grayP3A, green, greenA, greenDark, greenDarkA, greenDarkP3, greenDarkP3A, greenP3, greenP3A, indigo, indigoA, indigoDark, indigoDarkA, indigoDarkP3, indigoDarkP3A, indigoP3, indigoP3A, iris, irisA, irisDark, irisDarkA, irisDarkP3, irisDarkP3A, irisP3, irisP3A, jade, jadeA, jadeDark, jadeDarkA, jadeDarkP3, jadeDarkP3A, jadeP3, jadeP3A, lime, limeA, limeDark, limeDarkA, limeDarkP3, limeDarkP3A, limeP3, limeP3A, mauve, mauveA, mauveDark, mauveDarkA, mauveDarkP3, mauveDarkP3A, mauveP3, mauveP3A, mint, mintA, mintDark, mintDarkA, mintDarkP3, mintDarkP3A, mintP3, mintP3A, olive, oliveA, oliveDark, oliveDarkA, oliveDarkP3, oliveDarkP3A, oliveP3, oliveP3A, orange, orangeA, orangeDark, orangeDarkA, orangeDarkP3, orangeDarkP3A, orangeP3, orangeP3A, pink, pinkA, pinkDark, pinkDarkA, pinkDarkP3, pinkDarkP3A, pinkP3, pinkP3A, plum, plumA, plumDark, plumDarkA, plumDarkP3, plumDarkP3A, plumP3, plumP3A, purple, purpleA, purpleDark, purpleDarkA, purpleDarkP3, purpleDarkP3A, purpleP3, purpleP3A, red, redA, redDark, redDarkA, redDarkP3, redDarkP3A, redP3, redP3A, ruby, rubyA, rubyDark, rubyDarkA, rubyDarkP3, rubyDarkP3A, rubyP3, rubyP3A, sage, sageA, sageDark, sageDarkA, sageDarkP3, sageDarkP3A, sageP3, sageP3A, sand, sandA, sandDark, sandDarkA, sandDarkP3, sandDarkP3A, sandP3, sandP3A, sky, skyA, skyDark, skyDarkA, skyDarkP3, skyDarkP3A, skyP3, skyP3A, slate, slateA, slateDark, slateDarkA, slateDarkP3, slateDarkP3A, slateP3, slateP3A, teal, tealA, tealDark, tealDarkA, tealDarkP3, tealDarkP3A, tealP3, tealP3A, tomato, tomatoA, tomatoDark, tomatoDarkA, tomatoDarkP3, tomatoDarkP3A, tomatoP3, tomatoP3A, violet, violetA, violetDark, violetDarkA, violetDarkP3, violetDarkP3A, violetP3, violetP3A, whiteA, whiteP3A, yellow, yellowA, yellowDark, yellowDarkA, yellowDarkP3, yellowDarkP3A, yellowP3, yellowP3A };\n"],
|
|
4
|
+
"sourcesContent": ["\n;(function (name, root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory()\n module.exports['default'] = factory()\n }\n /* istanbul ignore next */\n else if (typeof define === 'function' && define.amd) {\n define(factory)\n }\n else {\n root[name] = factory()\n }\n}('slugify', this, function () {\n var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"\u00A2\":\"cent\",\"\u00A3\":\"pound\",\"\u00A4\":\"currency\",\"\u00A5\":\"yen\",\"\u00A9\":\"(c)\",\"\u00AA\":\"a\",\"\u00AE\":\"(r)\",\"\u00BA\":\"o\",\"\u00C0\":\"A\",\"\u00C1\":\"A\",\"\u00C2\":\"A\",\"\u00C3\":\"A\",\"\u00C4\":\"A\",\"\u00C5\":\"A\",\"\u00C6\":\"AE\",\"\u00C7\":\"C\",\"\u00C8\":\"E\",\"\u00C9\":\"E\",\"\u00CA\":\"E\",\"\u00CB\":\"E\",\"\u00CC\":\"I\",\"\u00CD\":\"I\",\"\u00CE\":\"I\",\"\u00CF\":\"I\",\"\u00D0\":\"D\",\"\u00D1\":\"N\",\"\u00D2\":\"O\",\"\u00D3\":\"O\",\"\u00D4\":\"O\",\"\u00D5\":\"O\",\"\u00D6\":\"O\",\"\u00D8\":\"O\",\"\u00D9\":\"U\",\"\u00DA\":\"U\",\"\u00DB\":\"U\",\"\u00DC\":\"U\",\"\u00DD\":\"Y\",\"\u00DE\":\"TH\",\"\u00DF\":\"ss\",\"\u00E0\":\"a\",\"\u00E1\":\"a\",\"\u00E2\":\"a\",\"\u00E3\":\"a\",\"\u00E4\":\"a\",\"\u00E5\":\"a\",\"\u00E6\":\"ae\",\"\u00E7\":\"c\",\"\u00E8\":\"e\",\"\u00E9\":\"e\",\"\u00EA\":\"e\",\"\u00EB\":\"e\",\"\u00EC\":\"i\",\"\u00ED\":\"i\",\"\u00EE\":\"i\",\"\u00EF\":\"i\",\"\u00F0\":\"d\",\"\u00F1\":\"n\",\"\u00F2\":\"o\",\"\u00F3\":\"o\",\"\u00F4\":\"o\",\"\u00F5\":\"o\",\"\u00F6\":\"o\",\"\u00F8\":\"o\",\"\u00F9\":\"u\",\"\u00FA\":\"u\",\"\u00FB\":\"u\",\"\u00FC\":\"u\",\"\u00FD\":\"y\",\"\u00FE\":\"th\",\"\u00FF\":\"y\",\"\u0100\":\"A\",\"\u0101\":\"a\",\"\u0102\":\"A\",\"\u0103\":\"a\",\"\u0104\":\"A\",\"\u0105\":\"a\",\"\u0106\":\"C\",\"\u0107\":\"c\",\"\u010C\":\"C\",\"\u010D\":\"c\",\"\u010E\":\"D\",\"\u010F\":\"d\",\"\u0110\":\"DJ\",\"\u0111\":\"dj\",\"\u0112\":\"E\",\"\u0113\":\"e\",\"\u0116\":\"E\",\"\u0117\":\"e\",\"\u0118\":\"e\",\"\u0119\":\"e\",\"\u011A\":\"E\",\"\u011B\":\"e\",\"\u011E\":\"G\",\"\u011F\":\"g\",\"\u0122\":\"G\",\"\u0123\":\"g\",\"\u0128\":\"I\",\"\u0129\":\"i\",\"\u012A\":\"i\",\"\u012B\":\"i\",\"\u012E\":\"I\",\"\u012F\":\"i\",\"\u0130\":\"I\",\"\u0131\":\"i\",\"\u0136\":\"k\",\"\u0137\":\"k\",\"\u013B\":\"L\",\"\u013C\":\"l\",\"\u013D\":\"L\",\"\u013E\":\"l\",\"\u0141\":\"L\",\"\u0142\":\"l\",\"\u0143\":\"N\",\"\u0144\":\"n\",\"\u0145\":\"N\",\"\u0146\":\"n\",\"\u0147\":\"N\",\"\u0148\":\"n\",\"\u014C\":\"O\",\"\u014D\":\"o\",\"\u0150\":\"O\",\"\u0151\":\"o\",\"\u0152\":\"OE\",\"\u0153\":\"oe\",\"\u0154\":\"R\",\"\u0155\":\"r\",\"\u0158\":\"R\",\"\u0159\":\"r\",\"\u015A\":\"S\",\"\u015B\":\"s\",\"\u015E\":\"S\",\"\u015F\":\"s\",\"\u0160\":\"S\",\"\u0161\":\"s\",\"\u0162\":\"T\",\"\u0163\":\"t\",\"\u0164\":\"T\",\"\u0165\":\"t\",\"\u0168\":\"U\",\"\u0169\":\"u\",\"\u016A\":\"u\",\"\u016B\":\"u\",\"\u016E\":\"U\",\"\u016F\":\"u\",\"\u0170\":\"U\",\"\u0171\":\"u\",\"\u0172\":\"U\",\"\u0173\":\"u\",\"\u0174\":\"W\",\"\u0175\":\"w\",\"\u0176\":\"Y\",\"\u0177\":\"y\",\"\u0178\":\"Y\",\"\u0179\":\"Z\",\"\u017A\":\"z\",\"\u017B\":\"Z\",\"\u017C\":\"z\",\"\u017D\":\"Z\",\"\u017E\":\"z\",\"\u018F\":\"E\",\"\u0192\":\"f\",\"\u01A0\":\"O\",\"\u01A1\":\"o\",\"\u01AF\":\"U\",\"\u01B0\":\"u\",\"\u01C8\":\"LJ\",\"\u01C9\":\"lj\",\"\u01CB\":\"NJ\",\"\u01CC\":\"nj\",\"\u0218\":\"S\",\"\u0219\":\"s\",\"\u021A\":\"T\",\"\u021B\":\"t\",\"\u0259\":\"e\",\"\u02DA\":\"o\",\"\u0386\":\"A\",\"\u0388\":\"E\",\"\u0389\":\"H\",\"\u038A\":\"I\",\"\u038C\":\"O\",\"\u038E\":\"Y\",\"\u038F\":\"W\",\"\u0390\":\"i\",\"\u0391\":\"A\",\"\u0392\":\"B\",\"\u0393\":\"G\",\"\u0394\":\"D\",\"\u0395\":\"E\",\"\u0396\":\"Z\",\"\u0397\":\"H\",\"\u0398\":\"8\",\"\u0399\":\"I\",\"\u039A\":\"K\",\"\u039B\":\"L\",\"\u039C\":\"M\",\"\u039D\":\"N\",\"\u039E\":\"3\",\"\u039F\":\"O\",\"\u03A0\":\"P\",\"\u03A1\":\"R\",\"\u03A3\":\"S\",\"\u03A4\":\"T\",\"\u03A5\":\"Y\",\"\u03A6\":\"F\",\"\u03A7\":\"X\",\"\u03A8\":\"PS\",\"\u03A9\":\"W\",\"\u03AA\":\"I\",\"\u03AB\":\"Y\",\"\u03AC\":\"a\",\"\u03AD\":\"e\",\"\u03AE\":\"h\",\"\u03AF\":\"i\",\"\u03B0\":\"y\",\"\u03B1\":\"a\",\"\u03B2\":\"b\",\"\u03B3\":\"g\",\"\u03B4\":\"d\",\"\u03B5\":\"e\",\"\u03B6\":\"z\",\"\u03B7\":\"h\",\"\u03B8\":\"8\",\"\u03B9\":\"i\",\"\u03BA\":\"k\",\"\u03BB\":\"l\",\"\u03BC\":\"m\",\"\u03BD\":\"n\",\"\u03BE\":\"3\",\"\u03BF\":\"o\",\"\u03C0\":\"p\",\"\u03C1\":\"r\",\"\u03C2\":\"s\",\"\u03C3\":\"s\",\"\u03C4\":\"t\",\"\u03C5\":\"y\",\"\u03C6\":\"f\",\"\u03C7\":\"x\",\"\u03C8\":\"ps\",\"\u03C9\":\"w\",\"\u03CA\":\"i\",\"\u03CB\":\"y\",\"\u03CC\":\"o\",\"\u03CD\":\"y\",\"\u03CE\":\"w\",\"\u0401\":\"Yo\",\"\u0402\":\"DJ\",\"\u0404\":\"Ye\",\"\u0406\":\"I\",\"\u0407\":\"Yi\",\"\u0408\":\"J\",\"\u0409\":\"LJ\",\"\u040A\":\"NJ\",\"\u040B\":\"C\",\"\u040F\":\"DZ\",\"\u0410\":\"A\",\"\u0411\":\"B\",\"\u0412\":\"V\",\"\u0413\":\"G\",\"\u0414\":\"D\",\"\u0415\":\"E\",\"\u0416\":\"Zh\",\"\u0417\":\"Z\",\"\u0418\":\"I\",\"\u0419\":\"J\",\"\u041A\":\"K\",\"\u041B\":\"L\",\"\u041C\":\"M\",\"\u041D\":\"N\",\"\u041E\":\"O\",\"\u041F\":\"P\",\"\u0420\":\"R\",\"\u0421\":\"S\",\"\u0422\":\"T\",\"\u0423\":\"U\",\"\u0424\":\"F\",\"\u0425\":\"H\",\"\u0426\":\"C\",\"\u0427\":\"Ch\",\"\u0428\":\"Sh\",\"\u0429\":\"Sh\",\"\u042A\":\"U\",\"\u042B\":\"Y\",\"\u042C\":\"\",\"\u042D\":\"E\",\"\u042E\":\"Yu\",\"\u042F\":\"Ya\",\"\u0430\":\"a\",\"\u0431\":\"b\",\"\u0432\":\"v\",\"\u0433\":\"g\",\"\u0434\":\"d\",\"\u0435\":\"e\",\"\u0436\":\"zh\",\"\u0437\":\"z\",\"\u0438\":\"i\",\"\u0439\":\"j\",\"\u043A\":\"k\",\"\u043B\":\"l\",\"\u043C\":\"m\",\"\u043D\":\"n\",\"\u043E\":\"o\",\"\u043F\":\"p\",\"\u0440\":\"r\",\"\u0441\":\"s\",\"\u0442\":\"t\",\"\u0443\":\"u\",\"\u0444\":\"f\",\"\u0445\":\"h\",\"\u0446\":\"c\",\"\u0447\":\"ch\",\"\u0448\":\"sh\",\"\u0449\":\"sh\",\"\u044A\":\"u\",\"\u044B\":\"y\",\"\u044C\":\"\",\"\u044D\":\"e\",\"\u044E\":\"yu\",\"\u044F\":\"ya\",\"\u0451\":\"yo\",\"\u0452\":\"dj\",\"\u0454\":\"ye\",\"\u0456\":\"i\",\"\u0457\":\"yi\",\"\u0458\":\"j\",\"\u0459\":\"lj\",\"\u045A\":\"nj\",\"\u045B\":\"c\",\"\u045D\":\"u\",\"\u045F\":\"dz\",\"\u0490\":\"G\",\"\u0491\":\"g\",\"\u0492\":\"GH\",\"\u0493\":\"gh\",\"\u049A\":\"KH\",\"\u049B\":\"kh\",\"\u04A2\":\"NG\",\"\u04A3\":\"ng\",\"\u04AE\":\"UE\",\"\u04AF\":\"ue\",\"\u04B0\":\"U\",\"\u04B1\":\"u\",\"\u04BA\":\"H\",\"\u04BB\":\"h\",\"\u04D8\":\"AE\",\"\u04D9\":\"ae\",\"\u04E8\":\"OE\",\"\u04E9\":\"oe\",\"\u0531\":\"A\",\"\u0532\":\"B\",\"\u0533\":\"G\",\"\u0534\":\"D\",\"\u0535\":\"E\",\"\u0536\":\"Z\",\"\u0537\":\"E\\'\",\"\u0538\":\"Y\\'\",\"\u0539\":\"T\\'\",\"\u053A\":\"JH\",\"\u053B\":\"I\",\"\u053C\":\"L\",\"\u053D\":\"X\",\"\u053E\":\"C\\'\",\"\u053F\":\"K\",\"\u0540\":\"H\",\"\u0541\":\"D\\'\",\"\u0542\":\"GH\",\"\u0543\":\"TW\",\"\u0544\":\"M\",\"\u0545\":\"Y\",\"\u0546\":\"N\",\"\u0547\":\"SH\",\"\u0549\":\"CH\",\"\u054A\":\"P\",\"\u054B\":\"J\",\"\u054C\":\"R\\'\",\"\u054D\":\"S\",\"\u054E\":\"V\",\"\u054F\":\"T\",\"\u0550\":\"R\",\"\u0551\":\"C\",\"\u0553\":\"P\\'\",\"\u0554\":\"Q\\'\",\"\u0555\":\"O\\'\\'\",\"\u0556\":\"F\",\"\u0587\":\"EV\",\"\u0621\":\"a\",\"\u0622\":\"aa\",\"\u0623\":\"a\",\"\u0624\":\"u\",\"\u0625\":\"i\",\"\u0626\":\"e\",\"\u0627\":\"a\",\"\u0628\":\"b\",\"\u0629\":\"h\",\"\u062A\":\"t\",\"\u062B\":\"th\",\"\u062C\":\"j\",\"\u062D\":\"h\",\"\u062E\":\"kh\",\"\u062F\":\"d\",\"\u0630\":\"th\",\"\u0631\":\"r\",\"\u0632\":\"z\",\"\u0633\":\"s\",\"\u0634\":\"sh\",\"\u0635\":\"s\",\"\u0636\":\"dh\",\"\u0637\":\"t\",\"\u0638\":\"z\",\"\u0639\":\"a\",\"\u063A\":\"gh\",\"\u0641\":\"f\",\"\u0642\":\"q\",\"\u0643\":\"k\",\"\u0644\":\"l\",\"\u0645\":\"m\",\"\u0646\":\"n\",\"\u0647\":\"h\",\"\u0648\":\"w\",\"\u0649\":\"a\",\"\u064A\":\"y\",\"\u064B\":\"an\",\"\u064C\":\"on\",\"\u064D\":\"en\",\"\u064E\":\"a\",\"\u064F\":\"u\",\"\u0650\":\"e\",\"\u0652\":\"\",\"\u0660\":\"0\",\"\u0661\":\"1\",\"\u0662\":\"2\",\"\u0663\":\"3\",\"\u0664\":\"4\",\"\u0665\":\"5\",\"\u0666\":\"6\",\"\u0667\":\"7\",\"\u0668\":\"8\",\"\u0669\":\"9\",\"\u067E\":\"p\",\"\u0686\":\"ch\",\"\u0698\":\"zh\",\"\u06A9\":\"k\",\"\u06AF\":\"g\",\"\u06CC\":\"y\",\"\u06F0\":\"0\",\"\u06F1\":\"1\",\"\u06F2\":\"2\",\"\u06F3\":\"3\",\"\u06F4\":\"4\",\"\u06F5\":\"5\",\"\u06F6\":\"6\",\"\u06F7\":\"7\",\"\u06F8\":\"8\",\"\u06F9\":\"9\",\"\u0E3F\":\"baht\",\"\u10D0\":\"a\",\"\u10D1\":\"b\",\"\u10D2\":\"g\",\"\u10D3\":\"d\",\"\u10D4\":\"e\",\"\u10D5\":\"v\",\"\u10D6\":\"z\",\"\u10D7\":\"t\",\"\u10D8\":\"i\",\"\u10D9\":\"k\",\"\u10DA\":\"l\",\"\u10DB\":\"m\",\"\u10DC\":\"n\",\"\u10DD\":\"o\",\"\u10DE\":\"p\",\"\u10DF\":\"zh\",\"\u10E0\":\"r\",\"\u10E1\":\"s\",\"\u10E2\":\"t\",\"\u10E3\":\"u\",\"\u10E4\":\"f\",\"\u10E5\":\"k\",\"\u10E6\":\"gh\",\"\u10E7\":\"q\",\"\u10E8\":\"sh\",\"\u10E9\":\"ch\",\"\u10EA\":\"ts\",\"\u10EB\":\"dz\",\"\u10EC\":\"ts\",\"\u10ED\":\"ch\",\"\u10EE\":\"kh\",\"\u10EF\":\"j\",\"\u10F0\":\"h\",\"\u1E62\":\"S\",\"\u1E63\":\"s\",\"\u1E80\":\"W\",\"\u1E81\":\"w\",\"\u1E82\":\"W\",\"\u1E83\":\"w\",\"\u1E84\":\"W\",\"\u1E85\":\"w\",\"\u1E9E\":\"SS\",\"\u1EA0\":\"A\",\"\u1EA1\":\"a\",\"\u1EA2\":\"A\",\"\u1EA3\":\"a\",\"\u1EA4\":\"A\",\"\u1EA5\":\"a\",\"\u1EA6\":\"A\",\"\u1EA7\":\"a\",\"\u1EA8\":\"A\",\"\u1EA9\":\"a\",\"\u1EAA\":\"A\",\"\u1EAB\":\"a\",\"\u1EAC\":\"A\",\"\u1EAD\":\"a\",\"\u1EAE\":\"A\",\"\u1EAF\":\"a\",\"\u1EB0\":\"A\",\"\u1EB1\":\"a\",\"\u1EB2\":\"A\",\"\u1EB3\":\"a\",\"\u1EB4\":\"A\",\"\u1EB5\":\"a\",\"\u1EB6\":\"A\",\"\u1EB7\":\"a\",\"\u1EB8\":\"E\",\"\u1EB9\":\"e\",\"\u1EBA\":\"E\",\"\u1EBB\":\"e\",\"\u1EBC\":\"E\",\"\u1EBD\":\"e\",\"\u1EBE\":\"E\",\"\u1EBF\":\"e\",\"\u1EC0\":\"E\",\"\u1EC1\":\"e\",\"\u1EC2\":\"E\",\"\u1EC3\":\"e\",\"\u1EC4\":\"E\",\"\u1EC5\":\"e\",\"\u1EC6\":\"E\",\"\u1EC7\":\"e\",\"\u1EC8\":\"I\",\"\u1EC9\":\"i\",\"\u1ECA\":\"I\",\"\u1ECB\":\"i\",\"\u1ECC\":\"O\",\"\u1ECD\":\"o\",\"\u1ECE\":\"O\",\"\u1ECF\":\"o\",\"\u1ED0\":\"O\",\"\u1ED1\":\"o\",\"\u1ED2\":\"O\",\"\u1ED3\":\"o\",\"\u1ED4\":\"O\",\"\u1ED5\":\"o\",\"\u1ED6\":\"O\",\"\u1ED7\":\"o\",\"\u1ED8\":\"O\",\"\u1ED9\":\"o\",\"\u1EDA\":\"O\",\"\u1EDB\":\"o\",\"\u1EDC\":\"O\",\"\u1EDD\":\"o\",\"\u1EDE\":\"O\",\"\u1EDF\":\"o\",\"\u1EE0\":\"O\",\"\u1EE1\":\"o\",\"\u1EE2\":\"O\",\"\u1EE3\":\"o\",\"\u1EE4\":\"U\",\"\u1EE5\":\"u\",\"\u1EE6\":\"U\",\"\u1EE7\":\"u\",\"\u1EE8\":\"U\",\"\u1EE9\":\"u\",\"\u1EEA\":\"U\",\"\u1EEB\":\"u\",\"\u1EEC\":\"U\",\"\u1EED\":\"u\",\"\u1EEE\":\"U\",\"\u1EEF\":\"u\",\"\u1EF0\":\"U\",\"\u1EF1\":\"u\",\"\u1EF2\":\"Y\",\"\u1EF3\":\"y\",\"\u1EF4\":\"Y\",\"\u1EF5\":\"y\",\"\u1EF6\":\"Y\",\"\u1EF7\":\"y\",\"\u1EF8\":\"Y\",\"\u1EF9\":\"y\",\"\u2013\":\"-\",\"\u2018\":\"\\'\",\"\u2019\":\"\\'\",\"\u201C\":\"\\\\\\\"\",\"\u201D\":\"\\\\\\\"\",\"\u201E\":\"\\\\\\\"\",\"\u2020\":\"+\",\"\u2022\":\"*\",\"\u2026\":\"...\",\"\u20A0\":\"ecu\",\"\u20A2\":\"cruzeiro\",\"\u20A3\":\"french franc\",\"\u20A4\":\"lira\",\"\u20A5\":\"mill\",\"\u20A6\":\"naira\",\"\u20A7\":\"peseta\",\"\u20A8\":\"rupee\",\"\u20A9\":\"won\",\"\u20AA\":\"new shequel\",\"\u20AB\":\"dong\",\"\u20AC\":\"euro\",\"\u20AD\":\"kip\",\"\u20AE\":\"tugrik\",\"\u20AF\":\"drachma\",\"\u20B0\":\"penny\",\"\u20B1\":\"peso\",\"\u20B2\":\"guarani\",\"\u20B3\":\"austral\",\"\u20B4\":\"hryvnia\",\"\u20B5\":\"cedi\",\"\u20B8\":\"kazakhstani tenge\",\"\u20B9\":\"indian rupee\",\"\u20BA\":\"turkish lira\",\"\u20BD\":\"russian ruble\",\"\u20BF\":\"bitcoin\",\"\u2120\":\"sm\",\"\u2122\":\"tm\",\"\u2202\":\"d\",\"\u2206\":\"delta\",\"\u2211\":\"sum\",\"\u221E\":\"infinity\",\"\u2665\":\"love\",\"\u5143\":\"yuan\",\"\u5186\":\"yen\",\"\uFDFC\":\"rial\",\"\uFEF5\":\"laa\",\"\uFEF7\":\"laa\",\"\uFEF9\":\"lai\",\"\uFEFB\":\"la\"}')\n var locales = JSON.parse('{\"bg\":{\"\u0419\":\"Y\",\"\u0426\":\"Ts\",\"\u0429\":\"Sht\",\"\u042A\":\"A\",\"\u042C\":\"Y\",\"\u0439\":\"y\",\"\u0446\":\"ts\",\"\u0449\":\"sht\",\"\u044A\":\"a\",\"\u044C\":\"y\"},\"de\":{\"\u00C4\":\"AE\",\"\u00E4\":\"ae\",\"\u00D6\":\"OE\",\"\u00F6\":\"oe\",\"\u00DC\":\"UE\",\"\u00FC\":\"ue\",\"\u00DF\":\"ss\",\"%\":\"prozent\",\"&\":\"und\",\"|\":\"oder\",\"\u2211\":\"summe\",\"\u221E\":\"unendlich\",\"\u2665\":\"liebe\"},\"es\":{\"%\":\"por ciento\",\"&\":\"y\",\"<\":\"menor que\",\">\":\"mayor que\",\"|\":\"o\",\"\u00A2\":\"centavos\",\"\u00A3\":\"libras\",\"\u00A4\":\"moneda\",\"\u20A3\":\"francos\",\"\u2211\":\"suma\",\"\u221E\":\"infinito\",\"\u2665\":\"amor\"},\"fr\":{\"%\":\"pourcent\",\"&\":\"et\",\"<\":\"plus petit\",\">\":\"plus grand\",\"|\":\"ou\",\"\u00A2\":\"centime\",\"\u00A3\":\"livre\",\"\u00A4\":\"devise\",\"\u20A3\":\"franc\",\"\u2211\":\"somme\",\"\u221E\":\"infini\",\"\u2665\":\"amour\"},\"pt\":{\"%\":\"porcento\",\"&\":\"e\",\"<\":\"menor\",\">\":\"maior\",\"|\":\"ou\",\"\u00A2\":\"centavo\",\"\u2211\":\"soma\",\"\u00A3\":\"libra\",\"\u221E\":\"infinito\",\"\u2665\":\"amor\"},\"uk\":{\"\u0418\":\"Y\",\"\u0438\":\"y\",\"\u0419\":\"Y\",\"\u0439\":\"y\",\"\u0426\":\"Ts\",\"\u0446\":\"ts\",\"\u0425\":\"Kh\",\"\u0445\":\"kh\",\"\u0429\":\"Shch\",\"\u0449\":\"shch\",\"\u0413\":\"H\",\"\u0433\":\"h\"},\"vi\":{\"\u0110\":\"D\",\"\u0111\":\"d\"},\"da\":{\"\u00D8\":\"OE\",\"\u00F8\":\"oe\",\"\u00C5\":\"AA\",\"\u00E5\":\"aa\",\"%\":\"procent\",\"&\":\"og\",\"|\":\"eller\",\"$\":\"dollar\",\"<\":\"mindre end\",\">\":\"st\u00F8rre end\"},\"nb\":{\"&\":\"og\",\"\u00C5\":\"AA\",\"\u00C6\":\"AE\",\"\u00D8\":\"OE\",\"\u00E5\":\"aa\",\"\u00E6\":\"ae\",\"\u00F8\":\"oe\"},\"it\":{\"&\":\"e\"},\"nl\":{\"&\":\"en\"},\"sv\":{\"&\":\"och\",\"\u00C5\":\"AA\",\"\u00C4\":\"AE\",\"\u00D6\":\"OE\",\"\u00E5\":\"aa\",\"\u00E4\":\"ae\",\"\u00F6\":\"oe\"}}')\n\n function replace (string, options) {\n if (typeof string !== 'string') {\n throw new Error('slugify: string argument expected')\n }\n\n options = (typeof options === 'string')\n ? {replacement: options}\n : options || {}\n\n var locale = locales[options.locale] || {}\n\n var replacement = options.replacement === undefined ? '-' : options.replacement\n\n var trim = options.trim === undefined ? true : options.trim\n\n var slug = string.normalize().split('')\n // replace characters based on charMap\n .reduce(function (result, ch) {\n var appendChar = locale[ch];\n if (appendChar === undefined) appendChar = charMap[ch];\n if (appendChar === undefined) appendChar = ch;\n if (appendChar === replacement) appendChar = ' ';\n return result + appendChar\n // remove not allowed characters\n .replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]+/g, '')\n }, '');\n\n if (options.strict) {\n slug = slug.replace(/[^A-Za-z0-9\\s]/g, '');\n }\n\n if (trim) {\n slug = slug.trim()\n }\n\n // Replace spaces with replacement character, treating multiple consecutive\n // spaces as a single space.\n slug = slug.replace(/\\s+/g, replacement);\n\n if (options.lower) {\n slug = slug.toLowerCase()\n }\n\n return slug\n }\n\n replace.extend = function (customMap) {\n Object.assign(charMap, customMap)\n }\n\n return replace\n}))\n", "import React from \"react\";\n\nexport const HelloWorld = () => {\n return <div>Hello, World!</div>;\n};\n", "import React, { useEffect, useState } from \"react\";\n\n// SSR-safe wrapper around Clover's viewer. Clover touches the DOM at import time,\n// so we dynamically import it only in the browser.\n\n// Default Clover viewer options; can be overridden per-usage via props.options\nconst DEFAULT_VIEWER_OPTIONS = {\n showDownload: false,\n showIIIFBadge: false,\n showTitle: false,\n informationPanel: {\n open: false,\n renderAbout: false,\n renderToggle: false,\n },\n};\n\nfunction isPlainObject(val) {\n return val && typeof val === \"object\" && !Array.isArray(val);\n}\n\nfunction deepMerge(base, override) {\n if (!isPlainObject(base)) return override;\n const out = { ...base };\n if (!isPlainObject(override)) return out;\n for (const key of Object.keys(override)) {\n const a = base[key];\n const b = override[key];\n if (isPlainObject(a) && isPlainObject(b)) out[key] = deepMerge(a, b);\n else out[key] = b;\n }\n return out;\n}\n\nexport const Viewer = (props) => {\n const [CloverViewer, setCloverViewer] = useState(null);\n const mergedOptions = deepMerge(\n DEFAULT_VIEWER_OPTIONS,\n props && props.options\n );\n\n useEffect(() => {\n let mounted = true;\n const canUseDom =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (canUseDom) {\n import(\"@samvera/clover-iiif/viewer\")\n .then((mod) => {\n if (!mounted) return;\n // Loaded Clover viewer dynamically in the browser\n const Comp = mod && (mod.default || mod.Viewer || mod);\n setCloverViewer(() => Comp);\n })\n .catch(() => {\n // Silently ignore load errors on the server or if Clover is unavailable\n });\n }\n return () => {\n mounted = false;\n };\n }, []);\n\n if (!CloverViewer) {\n // SSR placeholder for client hydration; props provided as JSON\n let json = \"{}\";\n try {\n const p = { ...(props || {}) };\n if (mergedOptions) p.options = mergedOptions;\n json = JSON.stringify(p);\n } catch (_) {\n json = \"{}\";\n }\n return (\n <div data-canopy-viewer=\"1\" className=\"not-prose\">\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{ __html: json }}\n />\n </div>\n );\n }\n return <CloverViewer {...props} options={mergedOptions} />;\n};\n", "import React, {useEffect, useState} from \"react\";\nimport {mergeSliderOptions, normalizeSliderOptions} from \"./sliderOptions.js\";\n\n// SSR-safe wrapper around Clover's slider. Clover touches the DOM at import time,\n// so we dynamically import it only in the browser.\nexport const Slider = (props = {}) => {\n const [CloverSlider, setCloverSlider] = useState(null);\n\n useEffect(() => {\n let mounted = true;\n const canUseDom =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (canUseDom) {\n import(\"@samvera/clover-iiif/slider\")\n .then((mod) => {\n if (!mounted) return;\n const Comp = mod && (mod.default || mod.Slider || mod);\n setCloverSlider(() => Comp);\n })\n .catch(() => {\n // Silently ignore load errors on the server or if Clover is unavailable\n });\n }\n return () => {\n mounted = false;\n };\n }, []);\n\n const {className, ...rest} = props || {};\n const sliderClassName = [\"canopy-slider\", className]\n .filter(Boolean)\n .join(\" \");\n const mergedOptions = mergeSliderOptions(rest.options);\n const normalizedOptions = normalizeSliderOptions(mergedOptions);\n const resolvedProps = {\n ...rest,\n className: sliderClassName,\n options: normalizedOptions,\n };\n\n if (!CloverSlider) {\n // SSR placeholder for client hydration; props provided as JSON\n let json = \"{}\";\n try {\n json = JSON.stringify(resolvedProps || {});\n } catch (_) {\n json = \"{}\";\n }\n return (\n <div className={sliderClassName} data-canopy-slider=\"1\">\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{__html: json}}\n />\n </div>\n );\n }\n return <CloverSlider {...resolvedProps} />;\n};\n", "const UNIT_TOKEN = \"__canopySliderUnit\";\nconst UNIT_REM = \"rem\";\nconst DEFAULT_FONT_SIZE = 16;\nlet cachedRootFontSize = null;\n\n// Shared defaults applied to every slider instance (manual + generated).\nexport const sliderOptions = {\n breakpoints: {\n 400: {\n slidesPerView: 2,\n spaceBetween: rem(1),\n },\n 640: {\n slidesPerView: 3,\n spaceBetween: rem(1.618),\n },\n 1024: {\n slidesPerView: 4,\n spaceBetween: rem(1.618),\n },\n },\n};\n\nexport function rem(value) {\n const numeric = typeof value === \"number\" ? value : parseFloat(value);\n return {\n [UNIT_TOKEN]: UNIT_REM,\n value: Number.isFinite(numeric) ? numeric : 0,\n };\n}\n\nfunction cloneBreakpoints(source) {\n if (!source || typeof source !== \"object\") return undefined;\n const clone = {};\n Object.entries(source).forEach(([key, entry]) => {\n clone[key] = entry && typeof entry === \"object\" ? {...entry} : {};\n });\n return clone;\n}\n\nfunction cloneOptions(options = {}) {\n const clone = {...options};\n if (options.breakpoints && typeof options.breakpoints === \"object\") {\n clone.breakpoints = cloneBreakpoints(options.breakpoints);\n }\n return clone;\n}\n\nexport function mergeSliderOptions(overrides) {\n const base = cloneOptions(sliderOptions);\n const incoming = cloneOptions(overrides || {});\n const merged = {\n ...base,\n ...incoming,\n };\n if (base.breakpoints || incoming.breakpoints) {\n merged.breakpoints = {\n ...(base.breakpoints || {}),\n ...(incoming.breakpoints || {}),\n };\n }\n return merged;\n}\n\nfunction hasBrowserEnv() {\n return typeof window !== \"undefined\" && typeof document !== \"undefined\";\n}\n\nfunction measureRootFontSize() {\n if (!hasBrowserEnv()) return DEFAULT_FONT_SIZE;\n if (cachedRootFontSize !== null) return cachedRootFontSize;\n let size = DEFAULT_FONT_SIZE;\n try {\n const root = window.document && window.document.documentElement;\n if (root && window.getComputedStyle) {\n const computed = window.getComputedStyle(root).fontSize;\n const parsed = parseFloat(computed);\n if (Number.isFinite(parsed)) size = parsed;\n }\n } catch (_) {\n size = DEFAULT_FONT_SIZE;\n }\n cachedRootFontSize = size;\n return size;\n}\n\nfunction convertSpacing(value) {\n if (!hasBrowserEnv()) return value;\n if (value && typeof value === \"object\" && value[UNIT_TOKEN] === UNIT_REM) {\n const remValue =\n typeof value.value === \"number\" ? value.value : parseFloat(value.value);\n if (!Number.isFinite(remValue)) return value;\n return remValue * measureRootFontSize();\n }\n return value;\n}\n\nfunction normalizeBreakpoints(breakpoints) {\n if (!breakpoints || typeof breakpoints !== \"object\") return breakpoints;\n const normalized = {};\n Object.entries(breakpoints).forEach(([key, entry]) => {\n const clone = entry && typeof entry === \"object\" ? {...entry} : {};\n if (Object.prototype.hasOwnProperty.call(clone, \"spaceBetween\")) {\n clone.spaceBetween = convertSpacing(clone.spaceBetween);\n }\n normalized[key] = clone;\n });\n return normalized;\n}\n\nexport function normalizeSliderOptions(options) {\n const clone = cloneOptions(options || {});\n if (!hasBrowserEnv()) return clone;\n if (Object.prototype.hasOwnProperty.call(clone, \"spaceBetween\")) {\n clone.spaceBetween = convertSpacing(clone.spaceBetween);\n }\n if (clone.breakpoints) {\n clone.breakpoints = normalizeBreakpoints(clone.breakpoints);\n }\n return clone;\n}\n", "import React, { useEffect, useState } from \"react\";\n\n// SSR-safe wrapper around Clover's scroll component. The library touches the DOM\n// during import, so we only load it in the browser and render a placeholder on the\n// server for the hydration runtime to mount.\nexport const Scroll = (props) => {\n const [CloverScroll, setCloverScroll] = useState(null);\n\n useEffect(() => {\n let mounted = true;\n const canUseDom =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (canUseDom) {\n import(\"@samvera/clover-iiif/scroll\")\n .then((mod) => {\n if (!mounted) return;\n const Comp = mod && (mod.default || mod.Scroll || mod);\n setCloverScroll(() => Comp);\n })\n .catch(() => {\n // Silently ignore load errors during SSR or when Clover is unavailable.\n });\n }\n return () => {\n mounted = false;\n };\n }, []);\n\n if (!CloverScroll) {\n // SSR placeholder for client hydration; props provided as JSON\n let json = \"{}\";\n try {\n json = JSON.stringify(props || {});\n } catch (_) {\n json = \"{}\";\n }\n return (\n <div data-canopy-scroll=\"1\" className=\"not-prose\">\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{ __html: json }}\n />\n </div>\n );\n }\n\n return <CloverScroll {...props} />;\n};\n", "import React, {useEffect, useState} from \"react\";\n\n// SSR-safe wrapper around Clover's image component. The module relies on the DOM\n// during import, so we lazy-load it in the browser and render a placeholder on the\n// server for the hydration runtime.\nexport const Image = (props = {}) => {\n const [CloverImage, setCloverImage] = useState(null);\n const baseClass = \"canopy-iiif-image\";\n const {\n height = `600px`,\n backgroundColor = `var(--color-gray-200)`,\n caption,\n className: userClassName,\n } = props || {};\n const rootClassName = [userClassName, baseClass].filter(Boolean).join(\" \");\n\n useEffect(() => {\n let mounted = true;\n const canUseDom =\n typeof window !== \"undefined\" && typeof document !== \"undefined\";\n if (canUseDom) {\n import(\"@samvera/clover-iiif/image\")\n .then((mod) => {\n if (!mounted) return;\n const Comp = mod && (mod.default || mod.Image || mod);\n setCloverImage(() => Comp);\n })\n .catch(() => {\n // Suppress errors during SSR or when the Clover bundle is unavailable.\n });\n }\n return () => {\n mounted = false;\n };\n }, []);\n\n if (!CloverImage) {\n let json = \"{}\";\n try {\n json = JSON.stringify(props || {});\n } catch (_) {\n json = \"{}\";\n }\n\n return (\n <figure className={rootClassName}>\n <div\n className={`${baseClass}__placeholder`}\n data-canopy-image=\"1\"\n style={{\n \"--canopy-iiif-image-height\": height,\n \"--canopy-iiif-image-bg\": backgroundColor,\n }}\n >\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{__html: json}}\n />\n </div>\n {caption && (\n <figcaption className={`${baseClass}__caption`}>\n {caption}\n </figcaption>\n )}\n </figure>\n );\n }\n\n return <CloverImage {...props} className={rootClassName} />;\n};\n", "import React from \"react\";\n\n// SSR-safe placeholder for RelatedItems. Hydrated by canopy-related-items.js + canopy-slider.js\nexport default function MdxRelatedItems(props) {\n let json = \"{}\";\n try {\n json = JSON.stringify(props || {});\n } catch (_) {\n json = \"{}\";\n }\n return (\n <div data-canopy-related-items=\"1\">\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{__html: json}}\n />\n </div>\n );\n}\n", "export { default as Hero } from './Hero.jsx';\nexport { computeHeroHeightStyle } from './hero-utils.js';\n", "import React from \"react\";\nimport helpers from \"../../../lib/components/featured.js\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\nimport {computeHeroHeightStyle} from \"./hero-utils.js\";\nimport Button from \"../layout/Button.jsx\";\nimport ButtonWrapper from \"../layout/ButtonWrapper.jsx\";\n\nconst NavIconBase = ({children, ...rest}) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n {...rest}\n >\n {children}\n </svg>\n);\n\nconst PrevArrowIcon = (props) => (\n <NavIconBase {...props}>\n <path\n d=\"M10.5 3L5.5 8L10.5 13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.618\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </NavIconBase>\n);\n\nconst NextArrowIcon = (props) => (\n <NavIconBase {...props}>\n <path\n d=\"M5.5 3L10.5 8L5.5 13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.618\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </NavIconBase>\n);\n\nconst HERO_DEFAULT_SIZES_ATTR = \"(min-width: 1024px) 1280px, 100vw\";\n\nconst basePath = (() => {\n try {\n const raw =\n typeof process !== \"undefined\" && process && process.env\n ? String(process.env.CANOPY_BASE_PATH || \"\")\n : \"\";\n return raw.replace(/\\/$/, \"\");\n } catch (_) {\n return \"\";\n }\n})();\n\nfunction applyBasePath(href) {\n try {\n if (!href) return href;\n if (!basePath) return href;\n if (typeof href === \"string\" && href.startsWith(\"/\")) {\n return `${basePath}${href}`;\n }\n } catch (_) {}\n return href;\n}\n\nfunction resolveFeaturedItem({item, index, random}) {\n if (item) return item;\n const list =\n helpers && helpers.readFeaturedFromCacheSync\n ? helpers.readFeaturedFromCacheSync()\n : [];\n if (!list.length) return null;\n if (typeof index === \"number\") {\n const idx = Math.max(0, Math.min(list.length - 1, Math.floor(index)));\n return list[idx];\n }\n if (random === true || random === \"true\") {\n const idx = Math.floor(Math.random() * Math.max(1, list.length));\n return list[idx];\n }\n return list[0];\n}\n\nfunction normalizeLinks(links) {\n if (!Array.isArray(links)) return [];\n return links\n .map((link) => {\n if (!link) return null;\n const href = applyBasePath(link.href || \"\");\n const title = link.title ? String(link.title) : \"\";\n if (!href || !title) return null;\n const type = link.type === \"secondary\" ? \"secondary\" : \"primary\";\n const target = link.target ? String(link.target) : undefined;\n return {href, title, type, target};\n })\n .filter(Boolean);\n}\n\nfunction sanitizeRest(rest) {\n const clone = {...rest};\n try {\n delete clone.random;\n delete clone.index;\n delete clone.item;\n delete clone.links;\n delete clone.overlay;\n delete clone.variant;\n delete clone.background;\n } catch (_) {}\n return clone;\n}\n\nfunction normalizeBackground(value) {\n try {\n const allowed = new Set([\"theme\", \"transparent\"]);\n const raw = value == null ? \"\" : String(value);\n const normalized = raw.trim().toLowerCase();\n return allowed.has(normalized) ? normalized : \"theme\";\n } catch (_) {\n return \"theme\";\n }\n}\n\nfunction findNodePathBySlug(node, targetSlug) {\n if (!node || !targetSlug) return null;\n const normalizedTarget = String(targetSlug || \"\");\n if (!normalizedTarget) return null;\n if (node.slug === normalizedTarget) return [node];\n const children = Array.isArray(node.children) ? node.children : [];\n for (const child of children) {\n const path = findNodePathBySlug(child, normalizedTarget);\n if (path && path.length) {\n return [node, ...path];\n }\n }\n return null;\n}\n\nfunction normalizeVariant(value) {\n try {\n const raw = value == null ? \"\" : String(value);\n const normalized = raw.trim().toLowerCase();\n if (normalized === \"breadcrumb\" || normalized === \"text\") return \"breadcrumb\";\n return \"featured\";\n } catch (_) {\n return \"featured\";\n }\n}\n\nexport default function Hero({\n height = 520,\n item,\n index,\n random = true,\n transition = \"fade\",\n headline,\n description,\n links = [],\n className = \"\",\n style = {},\n background = \"theme\",\n variant = \"featured\",\n homeLabel = \"Home\",\n ...rest\n}) {\n const normalizedVariant = normalizeVariant(variant);\n const isBreadcrumbVariant = normalizedVariant === \"breadcrumb\";\n const PageContext =\n navigationHelpers && typeof navigationHelpers.getPageContext === \"function\"\n ? navigationHelpers.getPageContext()\n : null;\n const pageContext = PageContext ? React.useContext(PageContext) : null;\n\n let orderedSlides = [];\n if (!isBreadcrumbVariant) {\n const resolved = resolveFeaturedItem({item, index, random});\n const helpersList =\n helpers && helpers.readFeaturedFromCacheSync\n ? helpers.readFeaturedFromCacheSync()\n : [];\n\n const slides = [];\n const pushUnique = (entry) => {\n if (!entry) return;\n const key = String(entry.href || entry.id || entry.title || \"\");\n const hasKey = slides.some(\n (item) =>\n String(item && (item.href || item.id || item.title || \"\")) === key\n );\n if (!hasKey) {\n slides.push(entry);\n }\n };\n\n if (resolved) pushUnique(resolved);\n helpersList.forEach(pushUnique);\n if (!slides.length) return null;\n\n orderedSlides = slides.slice();\n if (typeof index === \"number\" && orderedSlides.length > 1) {\n const clamp = Math.max(\n 0,\n Math.min(orderedSlides.length - 1, Math.floor(index))\n );\n if (clamp > 0) {\n orderedSlides = orderedSlides\n .slice(clamp)\n .concat(orderedSlides.slice(0, clamp));\n }\n } else if (random === true || random === \"true\") {\n const rand = Math.floor(Math.random() * orderedSlides.length);\n if (rand > 0) {\n orderedSlides = orderedSlides\n .slice(rand)\n .concat(orderedSlides.slice(0, rand));\n }\n }\n }\n\n const heroHeight = computeHeroHeightStyle(height);\n const heroStyles = {...(style || {})};\n if (heroHeight && heroHeight.height && !isBreadcrumbVariant) {\n heroStyles[\"--hero-height\"] = heroHeight.height;\n }\n if (isBreadcrumbVariant) {\n heroStyles[\"--hero-height\"] = \"auto\";\n }\n\n const derivedDescription = description ? String(description) : \"\";\n const normalizedLinks = normalizeLinks(links);\n\n const primarySlide = !isBreadcrumbVariant ? orderedSlides[0] || null : null;\n const overlayTitle = headline || (primarySlide && primarySlide.title) || \"\";\n const defaultLinkHref = applyBasePath(\n primarySlide && primarySlide.href ? primarySlide.href : \"#\"\n );\n const overlayLinks = normalizedLinks.length\n ? normalizedLinks\n : [\n {\n href: defaultLinkHref,\n title: \"View work\",\n type: \"primary\",\n },\n ].filter(Boolean);\n const finalOverlayLinks = isBreadcrumbVariant ? normalizedLinks : overlayLinks;\n\n const breadcrumbItems = React.useMemo(() => {\n if (!isBreadcrumbVariant) return [];\n const items = [];\n const label = typeof homeLabel === \"string\" ? homeLabel.trim() : \"\";\n if (label) {\n items.push({title: label, href: applyBasePath(\"/\")});\n }\n const navigation = pageContext && pageContext.navigation ? pageContext.navigation : null;\n const page = pageContext && pageContext.page ? pageContext.page : null;\n const slug =\n (page && page.slug) ||\n (navigation && navigation.currentSlug) ||\n \"\";\n const rootNode = navigation && navigation.root ? navigation.root : null;\n if (!slug || !rootNode) return items;\n const path = findNodePathBySlug(rootNode, slug);\n if (!path || !path.length) return items;\n path.forEach((node) => {\n if (!node) return;\n const title = node.title || node.slug || \"\";\n if (!title) return;\n const href = node.href ? applyBasePath(node.href) : null;\n items.push({title, href});\n });\n return items;\n }, [isBreadcrumbVariant, pageContext, homeLabel]);\n\n const breadcrumbNode = isBreadcrumbVariant && breadcrumbItems.length\n ? (\n <nav className=\"canopy-interstitial__breadcrumb\" aria-label=\"Breadcrumb\">\n {breadcrumbItems.map((item, idx) => {\n const isLast = idx === breadcrumbItems.length - 1;\n const key = `${item.title || idx}-${idx}`;\n const content = !isLast && item.href ? (\n <a href={item.href}>{item.title}</a>\n ) : (\n <span className=\"canopy-interstitial__breadcrumb-current\">\n {item.title}\n </span>\n );\n return (\n <React.Fragment key={key}>\n {idx > 0 ? (\n <span\n className=\"canopy-interstitial__breadcrumb-separator\"\n aria-hidden=\"true\"\n >\n >\n </span>\n ) : null}\n {content}\n </React.Fragment>\n );\n })}\n </nav>\n )\n : null;\n\n const normalizedBackground = normalizeBackground(background);\n const backgroundClassName =\n normalizedBackground === \"transparent\"\n ? \"canopy-interstitial--bg-transparent\"\n : \"\";\n\n const variantClassName = isBreadcrumbVariant\n ? \"canopy-interstitial--hero-breadcrumb\"\n : \"canopy-interstitial--hero-featured\";\n const containerClassName = [\n \"canopy-interstitial\",\n \"canopy-interstitial--hero\",\n variantClassName,\n backgroundClassName,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const normalizedTransition = (() => {\n try {\n const raw = transition == null ? \"\" : String(transition);\n const normalized = raw.trim().toLowerCase();\n return normalized === \"slide\" ? \"slide\" : \"fade\";\n } catch (_) {\n return \"fade\";\n }\n })();\n\n const renderSlide = (\n slide,\n idx,\n {showVeil = true, captionVariant = \"overlay\"} = {}\n ) => {\n const safeHref = applyBasePath(slide.href || \"#\");\n const isStaticCaption = captionVariant === \"static\";\n const paneClassName = [\n \"canopy-interstitial__pane\",\n showVeil ? \"\" : \"canopy-interstitial__pane--flat\",\n isStaticCaption ? \"canopy-interstitial__pane--static\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n\n const buildImageProps = (className) => {\n if (!slide.thumbnail) return null;\n const props = {\n src: slide.thumbnail,\n alt: \"\",\n \"aria-hidden\": true,\n className,\n loading: idx === 0 ? \"eager\" : \"lazy\",\n };\n if (slide.srcset) props.srcSet = slide.srcset;\n if (slide.srcset) props.sizes = slide.sizes || HERO_DEFAULT_SIZES_ATTR;\n return props;\n };\n\n const wrapWithLink = (node) => {\n if (!safeHref) return node;\n return (\n <a\n href={safeHref}\n className=\"canopy-interstitial__slide-link\"\n aria-label={slide.title || undefined}\n >\n {node}\n </a>\n );\n };\n\n if (isStaticCaption) {\n return (\n <div className=\"swiper-slide\" key={safeHref || idx}>\n {wrapWithLink(\n <article className={paneClassName}>\n {slide.thumbnail ? (\n <div className=\"canopy-interstitial__media-frame\">\n <img\n {...buildImageProps(\n \"canopy-interstitial__media canopy-interstitial__media--static\"\n )}\n />\n </div>\n ) : null}\n {slide.title ? (\n <div className=\"canopy-interstitial__caption canopy-interstitial__caption--static\">\n <span className=\"canopy-interstitial__caption-link\">\n {slide.title}\n </span>\n </div>\n ) : null}\n </article>\n )}\n </div>\n );\n }\n\n return (\n <div className=\"swiper-slide\" key={safeHref || idx}>\n {wrapWithLink(\n <article className={paneClassName}>\n {slide.thumbnail ? (\n <img {...buildImageProps(\"canopy-interstitial__media\")} />\n ) : null}\n {showVeil ? (\n <div className=\"canopy-interstitial__veil\" aria-hidden=\"true\" />\n ) : null}\n {slide.title ? (\n <div className=\"canopy-interstitial__caption\">\n <span className=\"canopy-interstitial__caption-link\">\n {slide.title}\n </span>\n </div>\n ) : null}\n </article>\n )}\n </div>\n );\n };\n\n const renderSlider = (options = {}) => (\n <div className=\"canopy-interstitial__slider swiper\">\n <div className=\"swiper-wrapper\">\n {orderedSlides.map((slide, idx) => renderSlide(slide, idx, options))}\n </div>\n <div className=\"canopy-interstitial__nav\">\n <button\n type=\"button\"\n aria-label=\"Previous slide\"\n className=\"canopy-interstitial__nav-btn canopy-interstitial__nav-btn--prev swiper-button-prev\"\n >\n <PrevArrowIcon />\n </button>\n <button\n type=\"button\"\n aria-label=\"Next slide\"\n className=\"canopy-interstitial__nav-btn canopy-interstitial__nav-btn--next swiper-button-next\"\n >\n <NextArrowIcon />\n </button>\n </div>\n <div className=\"canopy-interstitial__pagination swiper-pagination\" />\n </div>\n );\n\n const overlayContent = (\n <>\n {overlayTitle ? (\n <h1 className=\"canopy-interstitial__headline\">{overlayTitle}</h1>\n ) : null}\n {derivedDescription ? (\n <p className=\"canopy-interstitial__description\">{derivedDescription}</p>\n ) : null}\n {finalOverlayLinks.length ? (\n <ButtonWrapper className=\"canopy-interstitial__actions\">\n {finalOverlayLinks.map((link) => (\n <Button\n key={`${link.href}-${link.title}`}\n href={link.href}\n label={link.title}\n variant={link.type}\n target={link.target}\n />\n ))}\n </ButtonWrapper>\n ) : null}\n </>\n );\n\n const cleanedProps = sanitizeRest(rest);\n const sectionProps = {\n className: containerClassName,\n style: heroStyles,\n ...cleanedProps,\n };\n if (!isBreadcrumbVariant) {\n sectionProps[\"data-canopy-hero-slider\"] = \"1\";\n sectionProps[\"data-transition\"] = normalizedTransition;\n } else {\n sectionProps[\"data-canopy-hero-variant\"] = \"breadcrumb\";\n }\n\n return (\n <section {...sectionProps}>\n {isBreadcrumbVariant ? (\n <div className=\"canopy-interstitial__layout canopy-interstitial__layout--breadcrumb\">\n <div className=\"canopy-interstitial__panel\">\n <div className=\"canopy-interstitial__body\">\n {breadcrumbNode}\n {overlayContent}\n </div>\n </div>\n </div>\n ) : (\n <div className=\"canopy-interstitial__layout\">\n <div className=\"canopy-interstitial__panel\">\n <div className=\"canopy-interstitial__body\">{overlayContent}</div>\n </div>\n <div className=\"canopy-interstitial__media-group\">\n {renderSlider({showVeil: false, captionVariant: \"static\"})}\n </div>\n </div>\n )}\n </section>\n );\n}\n", "function computeHeroHeightStyle(height) {\n const h = typeof height === 'number' ? `${height}px` : String(height || '').trim();\n const val = h || '360px';\n return { width: '100%', height: val };\n}\n\nexport { computeHeroHeightStyle };\nexport default computeHeroHeightStyle;\n", "import React from 'react';\n\nconst VARIANTS = new Set(['primary', 'secondary']);\n\nexport default function Button({\n label,\n href = '#',\n target,\n rel,\n variant = 'primary',\n className = '',\n children,\n ...rest\n}) {\n const resolvedVariant = VARIANTS.has(variant) ? variant : 'primary';\n const computedRel =\n target === '_blank' && !rel ? 'noopener noreferrer' : rel;\n const content = children != null ? children : label;\n\n if (!content) return null;\n\n const classes = [\n 'canopy-button',\n `canopy-button--${resolvedVariant}`,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <a\n href={href}\n className={classes}\n target={target}\n rel={computedRel}\n {...rest}\n >\n {content}\n </a>\n );\n}\n", "import React from 'react';\n\nexport default function ButtonWrapper({\n className = '',\n children,\n text = '',\n variant = 'default',\n ...rest\n}) {\n const variantClass =\n variant && variant !== 'default'\n ? `canopy-button-group--${variant}`\n : '';\n const classes = ['canopy-button-group', variantClass, className]\n .filter(Boolean)\n .join(' ');\n return (\n <div className={classes} {...rest}>\n {text && <span className=\"canopy-button-group__text\">{text}</span>}\n <div className=\"canopy-button-group__actions\">{children}</div>\n </div>\n );\n}\n", "import React from \"react\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\n\nfunction resolveRelativeCandidate(page, current) {\n if (page && typeof page.relativePath === \"string\" && page.relativePath)\n return page.relativePath;\n if (page && typeof page.slug === \"string\" && page.slug) return page.slug;\n if (typeof current === \"string\" && current) return current;\n return \"\";\n}\n\nfunction renderNodes(nodes, parentKey = \"node\") {\n if (!Array.isArray(nodes) || !nodes.length) return null;\n return nodes.map((node, index) => {\n if (!node) return null;\n const key = node.slug || node.relativePath || `${parentKey}-${index}`;\n const hasChildren =\n Array.isArray(node.children) && node.children.length > 0;\n const showChildren = hasChildren && (node.isExpanded || node.depth === 0);\n const depth = typeof node.depth === \"number\" ? Math.max(0, node.depth) : 0;\n const depthClass = `depth-${Math.min(depth, 5)}`;\n const isRoadmap = !!node.isRoadmap;\n const isInteractive = !!(node.href && !isRoadmap);\n const classes = [\"canopy-sub-navigation__link\", depthClass];\n if (!node.href && !isRoadmap) classes.push(\"is-label\");\n if (isRoadmap) classes.push(\"is-disabled\");\n if (node.isActive) classes.push(\"is-active\");\n const linkClass = classes.join(\" \");\n const Tag = isInteractive ? \"a\" : \"span\";\n const badge = isRoadmap ? (\n <span className=\"canopy-sub-navigation__badge\">Roadmap</span>\n ) : null;\n return (\n <li key={key} className=\"canopy-sub-navigation__item\" data-depth={depth}>\n <Tag\n className={linkClass}\n href={isInteractive ? node.href : undefined}\n aria-current={node.isActive ? \"page\" : undefined}\n tabIndex={isInteractive ? undefined : -1}\n >\n {node.title || node.slug}\n {badge}\n </Tag>\n {showChildren ? (\n <ul\n className=\"canopy-sub-navigation__list canopy-sub-navigation__list--nested\"\n role=\"list\"\n >\n {renderNodes(node.children, key)}\n </ul>\n ) : null}\n </li>\n );\n });\n}\n\nexport default function SubNavigation({\n navigation: navigationProp,\n page,\n current,\n className = \"\",\n style = {},\n heading,\n ariaLabel,\n}) {\n const PageContext =\n navigationHelpers && navigationHelpers.getPageContext\n ? navigationHelpers.getPageContext()\n : null;\n const context = PageContext ? React.useContext(PageContext) : null;\n const contextNavigation =\n context && context.navigation ? context.navigation : null;\n const contextPage = context && context.page ? context.page : null;\n const effectiveNavigation = navigationProp || contextNavigation;\n const effectivePage = page || contextPage;\n const resolvedNavigation = React.useMemo(() => {\n if (effectiveNavigation && effectiveNavigation.root)\n return effectiveNavigation;\n const candidate = resolveRelativeCandidate(effectivePage, current);\n if (!candidate) return effectiveNavigation || null;\n const helpers =\n navigationHelpers && navigationHelpers.buildNavigationForFile\n ? navigationHelpers\n : null;\n if (!helpers) return effectiveNavigation || null;\n try {\n const normalized = navigationHelpers.normalizeRelativePath\n ? navigationHelpers.normalizeRelativePath(candidate)\n : candidate;\n const built = helpers.buildNavigationForFile(normalized);\n if (built) return built;\n } catch (_) {\n // ignore helper errors and fall back to provided navigation\n }\n return effectiveNavigation || null;\n }, [effectiveNavigation, effectivePage, current]);\n\n if (!resolvedNavigation || !resolvedNavigation.root) return null;\n\n const rootNode = resolvedNavigation.root;\n const finalHeading = heading || null;\n const labelSource = finalHeading || resolvedNavigation.title;\n const navLabel =\n ariaLabel ||\n (labelSource ? `${labelSource} navigation` : \"Section navigation\");\n const combinedClassName = [\"canopy-sub-navigation\", className]\n .filter(Boolean)\n .join(\" \");\n const inlineStyle = {...style};\n if (!Object.prototype.hasOwnProperty.call(inlineStyle, \"--sub-nav-indent\")) {\n inlineStyle[\"--sub-nav-indent\"] = \"0.85rem\";\n }\n\n return (\n <nav\n className={combinedClassName}\n style={inlineStyle}\n aria-label={navLabel}\n >\n {finalHeading ? (\n <div className=\"canopy-sub-navigation__heading\">{finalHeading}</div>\n ) : null}\n <ul className=\"canopy-sub-navigation__list\" role=\"list\">\n {renderNodes([rootNode], rootNode.slug || \"root\")}\n </ul>\n </nav>\n );\n}\n", "import React from \"react\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\nimport SubNavigation from \"./SubNavigation.jsx\";\nimport ContentNavigation from \"./ContentNavigation.jsx\";\n\nfunction buildHeadingTree(headings) {\n if (!Array.isArray(headings) || !headings.length) return [];\n const root = [];\n const stack = [];\n headings.forEach((heading) => {\n if (!heading || typeof heading !== \"object\") return;\n const depth =\n typeof heading.depth === \"number\" ? heading.depth : heading.level;\n if (typeof depth !== \"number\" || depth < 2) return;\n const entry = {\n id: heading.id || heading.slug || heading.title,\n title: heading.title || heading.text || heading.id,\n depth,\n children: [],\n };\n while (stack.length && stack[stack.length - 1].depth >= entry.depth) {\n stack.pop();\n }\n if (!stack.length) {\n root.push(entry);\n } else {\n stack[stack.length - 1].children.push(entry);\n }\n stack.push(entry);\n });\n return root;\n}\n\nfunction buildNavigationAside(sidebar, className) {\n if (!sidebar) {\n return <SubNavigation className={className} />;\n }\n if (typeof sidebar === \"function\") {\n return React.createElement(sidebar);\n }\n return sidebar;\n}\n\nfunction ContentNavigationScript() {\n const code = `\n(function () {\n if (typeof window === 'undefined') return;\n if (window.__CANOPY_CONTENT_NAV_READY__) return;\n window.__CANOPY_CONTENT_NAV_READY__ = true;\n var STORAGE_KEY = 'canopy_content_nav_collapsed';\n var storage = null;\n try {\n storage = window.localStorage;\n } catch (error) {\n storage = null;\n }\n\n function setStored(value) {\n if (!storage) return;\n try {\n if (value == null) {\n storage.removeItem(STORAGE_KEY);\n } else {\n storage.setItem(STORAGE_KEY, value);\n }\n } catch (error) {}\n }\n\n function getStored() {\n if (!storage) return null;\n try {\n return storage.getItem(STORAGE_KEY);\n } catch (error) {\n return null;\n }\n }\n\n function ready(fn) {\n if (!fn) return;\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', fn, { once: true });\n } else {\n fn();\n }\n }\n\n function applyState(root, collapsed) {\n if (!root) return;\n var isCollapsed = !!collapsed;\n root.classList.toggle('is-collapsed', isCollapsed);\n var layout = root.closest('.canopy-layout');\n if (layout) layout.classList.toggle('canopy-layout--content-nav-collapsed', isCollapsed);\n var nav = root.querySelector('[data-canopy-content-nav]');\n if (nav) nav.classList.toggle('canopy-content-navigation--collapsed', isCollapsed);\n var toggle = root.querySelector('[data-canopy-content-nav-toggle]');\n if (toggle) {\n var showLabel = toggle.getAttribute('data-show-label') || 'Show';\n var hideLabel = toggle.getAttribute('data-hide-label') || 'Hide';\n var showFull = toggle.getAttribute('data-show-full-label') || 'Show section navigation';\n var hideFull = toggle.getAttribute('data-hide-full-label') || 'Hide section navigation';\n toggle.textContent = isCollapsed ? showLabel : hideLabel;\n toggle.setAttribute('aria-expanded', isCollapsed ? 'false' : 'true');\n toggle.setAttribute('aria-label', isCollapsed ? showFull : hideFull);\n toggle.setAttribute('title', isCollapsed ? showFull : hideFull);\n }\n }\n\n ready(function () {\n var roots = Array.prototype.slice.call(\n document.querySelectorAll('[data-canopy-content-nav-root]')\n );\n if (!roots.length) return;\n var stored = getStored();\n var collapsed = true;\n if (stored === '0' || stored === 'false') {\n collapsed = false;\n } else if (stored === '1' || stored === 'true') {\n collapsed = true;\n }\n\n function sync(next) {\n collapsed = !!next;\n roots.forEach(function (root) {\n applyState(root, collapsed);\n });\n setStored(collapsed ? '1' : '0');\n }\n\n sync(collapsed);\n\n roots.forEach(function (root) {\n var toggle = root.querySelector('[data-canopy-content-nav-toggle]');\n if (!toggle) return;\n toggle.addEventListener('click', function (event) {\n event.preventDefault();\n sync(!collapsed);\n });\n });\n });\n})();\n `;\n\n return <script dangerouslySetInnerHTML={{ __html: code }} />;\n}\n\nexport default function Layout({\n children,\n sidebar,\n navigation = true,\n fluid = false,\n contentNavigation = true,\n className = \"\",\n contentClassName = \"\",\n sidebarClassName = \"\",\n contentNavigationClassName = \"\",\n ...rest\n}) {\n const PageContext =\n navigationHelpers && typeof navigationHelpers.getPageContext === \"function\"\n ? navigationHelpers.getPageContext()\n : null;\n const context = PageContext ? React.useContext(PageContext) : null;\n const pageHeadings = React.useMemo(() => {\n const headings = context && context.page ? context.page.headings : null;\n return Array.isArray(headings) ? headings : [];\n }, [context]);\n const contentHeading = React.useMemo(() => {\n const first = pageHeadings.find((heading) => {\n const depth = heading && (heading.depth || heading.level);\n return depth === 1;\n });\n return first && first.title ? first.title : null;\n }, [pageHeadings]);\n const headingAnchorId = React.useMemo(() => {\n const first = pageHeadings.find((heading) => {\n const depth = heading && (heading.depth || heading.level);\n return depth === 1;\n });\n return first && first.id ? first.id : null;\n }, [pageHeadings]);\n const headingTree = React.useMemo(\n () => buildHeadingTree(pageHeadings),\n [pageHeadings]\n );\n\n const showLeftColumn = navigation !== false;\n const hasContentNavigation =\n navigation !== false &&\n contentNavigation !== false &&\n headingTree.length > 0;\n\n const containerClassName = (() => {\n const classes = [\"canopy-layout\"];\n classes.push(fluid ? \"canopy-layout--fluid\" : \"canopy-layout--fixed\");\n if (showLeftColumn) classes.push(\"canopy-layout--with-sidebar\");\n if (hasContentNavigation) {\n classes.push(\"canopy-layout--with-content-nav\");\n classes.push(\"canopy-layout--content-nav-collapsed\");\n }\n if (className) classes.push(className);\n return classes.join(\" \");\n })();\n\n const leftAsideClassName = [\"canopy-layout__sidebar\", sidebarClassName]\n .filter(Boolean)\n .join(\" \");\n\n const contentClassNames = [\"canopy-layout__content\", contentClassName]\n .filter(Boolean)\n .join(\" \");\n\n const contentNavigationAsideClassName = [\n \"canopy-layout__content-nav\",\n \"is-collapsed\",\n contentNavigationClassName,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const sidebarNode = showLeftColumn\n ? buildNavigationAside(sidebar, sidebarClassName)\n : null;\n\n return (\n <div className={containerClassName} {...rest}>\n {showLeftColumn ? (\n <aside className={leftAsideClassName}>{sidebarNode}</aside>\n ) : null}\n <div className={contentClassNames}>{children}</div>\n {hasContentNavigation ? (\n <>\n <aside\n className={contentNavigationAsideClassName}\n data-canopy-content-nav-root=\"true\"\n >\n <ContentNavigation\n items={headingTree}\n heading={contentHeading || undefined}\n headingId={headingAnchorId || undefined}\n pageTitle={\n context && context.page ? context.page.title : undefined\n }\n />\n </aside>\n <ContentNavigationScript />\n </>\n ) : null}\n </div>\n );\n}\n", "import React from 'react';\n\nconst SCROLL_OFFSET_REM = 1.618;\nconst MAX_HEADING_DEPTH = 3;\n\nfunction depthIndex(depth) {\n return Math.max(0, Math.min(5, (depth || 1) - 1));\n}\n\nfunction resolveDepth(value, fallback = 1) {\n return Math.max(1, typeof value === 'number' ? value : fallback);\n}\n\nexport default function ContentNavigation({\n items = [],\n className = '',\n style = {},\n heading,\n headingId,\n pageTitle,\n ariaLabel,\n}) {\n const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n const savedDepthsRef = React.useRef(null);\n\n if ((!items || !items.length) && !headingId) return null;\n\n const combinedClassName = [\n 'canopy-sub-navigation canopy-content-navigation',\n 'canopy-content-navigation--collapsed',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const effectiveHeading = heading || pageTitle || null;\n const navLabel = ariaLabel || (effectiveHeading ? `${effectiveHeading} navigation` : 'Section navigation');\n\n const getSavedDepth = React.useCallback(\n (id, fallback) => {\n if (!id) return fallback;\n if (!savedDepthsRef.current) savedDepthsRef.current = new Map();\n const store = savedDepthsRef.current;\n if (store.has(id)) return store.get(id);\n store.set(id, fallback);\n return fallback;\n },\n []\n );\n\n const headingEntries = React.useMemo(() => {\n const entries = [];\n const seen = new Set();\n if (headingId) {\n const topId = String(headingId);\n entries.push({ id: topId, depth: 1 });\n seen.add(topId);\n }\n const pushNodes = (nodes) => {\n if (!Array.isArray(nodes)) return;\n nodes.forEach((node) => {\n if (!node || !node.id) return;\n const id = String(node.id);\n if (seen.has(id)) return;\n seen.add(id);\n const depth = resolveDepth(\n typeof node.depth === 'number' ? node.depth : node.level,\n getSavedDepth(id, 2)\n );\n if (depth > MAX_HEADING_DEPTH) return;\n entries.push({ id, depth });\n if (node.children && node.children.length) pushNodes(node.children);\n });\n };\n pushNodes(items);\n return entries;\n }, [headingId, items, getSavedDepth]);\n\n const fallbackId = headingEntries.length ? headingEntries[0].id : headingId || null;\n const [activeId, setActiveId] = React.useState(fallbackId);\n const activeIdRef = React.useRef(activeId);\n React.useEffect(() => {\n activeIdRef.current = activeId;\n }, [activeId]);\n\n React.useEffect(() => {\n if (!headingEntries.length) return;\n if (!headingEntries.some((entry) => entry.id === activeIdRef.current)) {\n const next = headingEntries[0].id;\n activeIdRef.current = next;\n setActiveId(next);\n }\n }, [headingEntries]);\n\n const computeOffsetPx = React.useCallback(() => {\n if (!isBrowser) return 0;\n try {\n const root = document.documentElement;\n const fontSize = root\n ? parseFloat(window.getComputedStyle(root).fontSize || '16') || 16\n : 16;\n return fontSize * SCROLL_OFFSET_REM;\n } catch (_) {\n return 0;\n }\n }, [isBrowser]);\n\n const headingElementsRef = React.useRef([]);\n\n const updateActiveFromElements = React.useCallback(\n (elements) => {\n if (!elements || !elements.length) return;\n const offset = computeOffsetPx();\n let nextId = elements[0].id;\n for (const { id, element } of elements) {\n const rect = element.getBoundingClientRect();\n if (rect.top - offset <= 0) {\n nextId = id;\n } else {\n break;\n }\n }\n if (nextId && nextId !== activeIdRef.current) {\n activeIdRef.current = nextId;\n setActiveId(nextId);\n }\n },\n [computeOffsetPx]\n );\n\n React.useEffect(() => {\n if (!isBrowser) return undefined;\n const elements = headingEntries\n .map((entry) => {\n const element = document.getElementById(entry.id);\n return element ? { id: entry.id, element } : null;\n })\n .filter(Boolean);\n headingElementsRef.current = elements;\n updateActiveFromElements(elements);\n if (!elements.length) return undefined;\n\n let ticking = false;\n const handle = () => {\n if (!ticking) {\n ticking = true;\n window.requestAnimationFrame(() => {\n updateActiveFromElements(elements);\n ticking = false;\n });\n }\n };\n window.addEventListener('scroll', handle, { passive: true });\n window.addEventListener('resize', handle);\n return () => {\n window.removeEventListener('scroll', handle);\n window.removeEventListener('resize', handle);\n };\n }, [headingEntries, isBrowser, updateActiveFromElements]);\n\n const handleAnchorClick = React.useCallback(\n (event, targetId, options = {}) => {\n try {\n if (event && typeof event.preventDefault === 'function') event.preventDefault();\n } catch (_) {}\n if (!isBrowser) return;\n const offset = computeOffsetPx();\n let top = 0;\n if (targetId && targetId !== 'top' && !options.scrollToTop) {\n const el = document.getElementById(targetId);\n if (el) {\n const rect = el.getBoundingClientRect();\n top = window.scrollY + rect.top - offset;\n }\n }\n if (!Number.isFinite(top) || top < 0 || options.scrollToTop) top = 0;\n const nextId = targetId && targetId !== 'top'\n ? targetId\n : headingEntries[0]?.id || headingId || null;\n if (nextId) {\n activeIdRef.current = nextId;\n setActiveId(nextId);\n }\n try {\n window.scrollTo({ top, behavior: 'smooth' });\n } catch (_) {\n window.scrollTo(0, top);\n }\n },\n [computeOffsetPx, headingEntries, headingId, isBrowser]\n );\n\n const renderNodes = React.useCallback(\n (nodes) => {\n if (!nodes || !nodes.length) return null;\n return nodes.map((node) => {\n if (!node) return null;\n const id = node.id ? String(node.id) : '';\n const depth = resolveDepth(\n typeof node.depth === 'number' ? node.depth : node.level,\n getSavedDepth(id, 2)\n );\n if (depth > MAX_HEADING_DEPTH) return null;\n const idx = depthIndex(depth);\n const isActive = id && activeId === id;\n const childNodes = depth < MAX_HEADING_DEPTH ? renderNodes(node.children) : null;\n return (\n <li key={id || node.title} className=\"canopy-sub-navigation__item\" data-depth={idx}>\n <a\n className={`canopy-sub-navigation__link depth-${idx}${isActive ? ' is-active' : ''}`}\n href={id ? `#${id}` : '#'}\n onClick={(event) => handleAnchorClick(event, id || null)}\n aria-current={isActive ? 'location' : undefined}\n >\n {node.title}\n </a>\n {childNodes ? (\n <ul\n className=\"canopy-sub-navigation__list canopy-sub-navigation__list--nested\"\n role=\"list\"\n >\n {childNodes}\n </ul>\n ) : null}\n </li>\n );\n });\n },\n [handleAnchorClick, activeId, getSavedDepth]\n );\n\n const nestedItems = React.useMemo(() => renderNodes(items), [items, renderNodes]);\n\n const topLink = headingId\n ? (\n <li className=\"canopy-sub-navigation__item\" data-depth={0}>\n <a\n className={`canopy-sub-navigation__link depth-0${activeId === headingId ? ' is-active' : ''}`}\n href={`#${headingId}`}\n onClick={(event) => handleAnchorClick(event, headingId, { scrollToTop: true })}\n aria-current={activeId === headingId ? 'location' : undefined}\n >\n {effectiveHeading || pageTitle || headingId}\n </a>\n {nestedItems ? (\n <ul\n className=\"canopy-sub-navigation__list canopy-sub-navigation__list--nested\"\n role=\"list\"\n >\n {nestedItems}\n </ul>\n ) : null}\n </li>\n )\n : null;\n\n return (\n <nav\n className={combinedClassName}\n style={style}\n aria-label={navLabel}\n data-canopy-content-nav=\"true\"\n >\n <button\n type=\"button\"\n className=\"canopy-content-navigation__toggle\"\n aria-expanded=\"false\"\n aria-label=\"Show section navigation\"\n title=\"Show section navigation\"\n data-canopy-content-nav-toggle=\"true\"\n data-show-label=\"Show\"\n data-hide-label=\"Hide\"\n data-show-full-label=\"Show section navigation\"\n data-hide-full-label=\"Hide section navigation\"\n >\n Show\n </button>\n <ul className=\"canopy-sub-navigation__list\" role=\"list\">\n {topLink || nestedItems}\n </ul>\n </nav>\n );\n}\n", "import React from \"react\";\nimport SearchPanel from \"../search/SearchPanel.jsx\";\nimport CanopyBrand from \"./CanopyBrand.jsx\";\nimport CanopyModal from \"./CanopyModal.jsx\";\n\nfunction HeaderScript() {\n const code = `\n(function () {\n if (typeof window === 'undefined') return;\n\n var doc = document;\n var body = doc.body;\n var root = doc.documentElement;\n\n function ready(fn) {\n if (doc.readyState === 'loading') {\n doc.addEventListener('DOMContentLoaded', fn, { once: true });\n } else {\n fn();\n }\n }\n\n ready(function () {\n var header = doc.querySelector('.canopy-header');\n if (!header) return;\n\n var NAV_ATTR = 'data-mobile-nav';\n var SEARCH_ATTR = 'data-mobile-search';\n\n function modalFor(type) {\n return doc.querySelector('[data-canopy-modal=\"' + type + '\"]');\n }\n\n function each(list, fn) {\n if (!list || typeof fn !== 'function') return;\n Array.prototype.forEach.call(list, fn);\n }\n\n function setExpanded(type, expanded) {\n var toggles = header.querySelectorAll('[data-canopy-header-toggle=\"' + type + '\"]');\n each(toggles, function (btn) {\n btn.setAttribute('aria-expanded', expanded ? 'true' : 'false');\n });\n var modal = modalFor(type);\n if (modal) {\n modal.setAttribute('data-open', expanded ? 'true' : 'false');\n modal.setAttribute('aria-hidden', expanded ? 'false' : 'true');\n }\n }\n\n function lockScroll(shouldLock) {\n if (!body) return;\n if (shouldLock) {\n if (!body.dataset.canopyScrollLock) {\n body.dataset.canopyScrollPrevOverflow = body.style.overflow || '';\n if (root && root.dataset) {\n root.dataset.canopyScrollPrevOverflow = root.style.overflow || '';\n }\n }\n body.dataset.canopyScrollLock = '1';\n body.style.overflow = 'hidden';\n if (root) root.style.overflow = 'hidden';\n } else {\n if (body.dataset.canopyScrollLock) {\n delete body.dataset.canopyScrollLock;\n body.style.overflow = body.dataset.canopyScrollPrevOverflow || '';\n delete body.dataset.canopyScrollPrevOverflow;\n }\n if (root && root.dataset) {\n root.style.overflow = root.dataset.canopyScrollPrevOverflow || '';\n delete root.dataset.canopyScrollPrevOverflow;\n }\n }\n }\n\n function stateFor(type) {\n if (type === 'nav') return header.getAttribute(NAV_ATTR);\n if (type === 'search') return header.getAttribute(SEARCH_ATTR);\n return 'closed';\n }\n\n function focusSearchForm() {\n var input = header.querySelector('[data-canopy-search-form-input]');\n if (!input) return;\n var raf = typeof window !== 'undefined' && window.requestAnimationFrame;\n (raf || function (fn) { return setTimeout(fn, 16); })(function () {\n try {\n input.focus({ preventScroll: true });\n } catch (_) {\n try { input.focus(); } catch (_) {}\n }\n });\n }\n\n function focusNavMenu() {\n var modal = modalFor('nav');\n if (!modal) return;\n var target = modal.querySelector('button, a, input, [tabindex]:not([tabindex=\"-1\"])');\n if (!target) return;\n var raf = typeof window !== 'undefined' && window.requestAnimationFrame;\n (raf || function (fn) { return setTimeout(fn, 16); })(function () {\n try {\n target.focus({ preventScroll: true });\n } catch (_) {\n try { target.focus(); } catch (_) {}\n }\n });\n }\n\n function setState(type, next) {\n if (type === 'nav') header.setAttribute(NAV_ATTR, next);\n if (type === 'search') header.setAttribute(SEARCH_ATTR, next);\n setExpanded(type, next === 'open');\n var navOpen = header.getAttribute(NAV_ATTR) === 'open';\n var searchOpen = header.getAttribute(SEARCH_ATTR) === 'open';\n lockScroll(navOpen || searchOpen);\n }\n\n function toggle(type, force) {\n var current = stateFor(type) === 'open';\n var shouldOpen = typeof force === 'boolean' ? force : !current;\n if (shouldOpen && type === 'nav') setState('search', 'closed');\n if (shouldOpen && type === 'search') setState('nav', 'closed');\n setState(type, shouldOpen ? 'open' : 'closed');\n if (type === 'search' && shouldOpen) focusSearchForm();\n if (type === 'nav' && shouldOpen) focusNavMenu();\n }\n\n each(header.querySelectorAll('[data-canopy-header-toggle]'), function (btn) {\n btn.addEventListener('click', function (event) {\n event.preventDefault();\n var type = btn.getAttribute('data-canopy-header-toggle');\n if (!type) return;\n toggle(type);\n });\n });\n\n each(doc.querySelectorAll('[data-canopy-header-close]'), function (btn) {\n btn.addEventListener('click', function () {\n var type = btn.getAttribute('data-canopy-header-close');\n if (!type) return;\n toggle(type, false);\n });\n });\n\n var navModal = modalFor('nav');\n if (navModal) {\n navModal.addEventListener('click', function (event) {\n if (event.target === navModal) {\n toggle('nav', false);\n return;\n }\n var target = event.target && event.target.closest && event.target.closest('a');\n if (!target) return;\n toggle('nav', false);\n });\n }\n\n var searchModal = modalFor('search');\n if (searchModal) {\n searchModal.addEventListener('click', function (event) {\n if (event.target === searchModal) toggle('search', false);\n });\n }\n\n doc.addEventListener('keydown', function (event) {\n if (event.key !== 'Escape') return;\n var navOpen = header.getAttribute(NAV_ATTR) === 'open';\n var searchOpen = header.getAttribute(SEARCH_ATTR) === 'open';\n if (!navOpen && !searchOpen) return;\n event.preventDefault();\n toggle('nav', false);\n toggle('search', false);\n });\n\n var mq = window.matchMedia('(min-width: 48rem)');\n function syncDesktopState() {\n if (mq.matches) {\n setState('nav', 'closed');\n setState('search', 'closed');\n setExpanded('nav', false);\n setExpanded('search', false);\n lockScroll(false);\n }\n }\n\n try {\n mq.addEventListener('change', syncDesktopState);\n } catch (_) {\n mq.addListener(syncDesktopState);\n }\n\n syncDesktopState();\n });\n})();\n `;\n\n return (\n <script\n dangerouslySetInnerHTML={{\n __html: code,\n }}\n />\n );\n}\n\nconst CONTEXT_KEY =\n typeof Symbol === \"function\"\n ? Symbol.for(\"__CANOPY_PAGE_CONTEXT__\")\n : \"__CANOPY_PAGE_CONTEXT__\";\n\nfunction getSharedRoot() {\n if (typeof globalThis !== \"undefined\") return globalThis;\n if (typeof window !== \"undefined\") return window;\n if (typeof global !== \"undefined\") return global;\n return null;\n}\n\nfunction getSafePageContext() {\n const root = getSharedRoot();\n if (root && root[CONTEXT_KEY]) return root[CONTEXT_KEY];\n const ctx = React.createContext({ navigation: null, page: null });\n if (root) root[CONTEXT_KEY] = ctx;\n return ctx;\n}\n\nfunction ensureArray(navLinks) {\n if (!Array.isArray(navLinks)) return [];\n return navLinks.filter(\n (link) => link && typeof link === \"object\" && typeof link.href === \"string\"\n );\n}\n\nfunction SectionNavList({ root }) {\n if (!root || !Array.isArray(root.children) || !root.children.length) return null;\n return (\n <ul className=\"canopy-modal__section-list\" role=\"list\">\n {root.children.map((node) => (\n <SectionNavItem key={node.slug || node.href || node.title} node={node} depth={0} />\n ))}\n </ul>\n );\n}\n\nfunction SectionNavItem({ node, depth }) {\n if (!node) return null;\n const hasChildren = Array.isArray(node.children) && node.children.length > 0;\n const Tag = node.href ? \"a\" : \"span\";\n const classes = [\n \"canopy-modal__section-link\",\n `depth-${Math.min(5, Math.max(0, depth + 1))}`,\n ];\n if (!node.href) classes.push(\"is-label\");\n if (node.isActive) classes.push(\"is-active\");\n\n return (\n <li className=\"canopy-modal__section-item\" data-depth={depth}>\n <Tag\n className={classes.join(\" \")}\n href={node.href || undefined}\n aria-current={node.isActive ? \"page\" : undefined}\n >\n {node.title || node.slug}\n </Tag>\n {hasChildren ? (\n <ul className=\"canopy-modal__section-list canopy-modal__section-list--nested\" role=\"list\">\n {node.children.map((child) => (\n <SectionNavItem key={child.slug || child.href || child.title} node={child} depth={depth + 1} />\n ))}\n </ul>\n ) : null}\n </li>\n );\n}\n\nexport default function CanopyHeader(props = {}) {\n const {\n navigation: navLinksProp,\n searchLabel = \"Search\",\n searchHotkey = \"mod+k\",\n searchPlaceholder = \"Search\u2026\",\n brandHref = \"/\",\n title = \"Canopy IIIF\",\n logo: SiteLogo,\n } = props;\n\n const navLinks = ensureArray(navLinksProp);\n const PageContext = getSafePageContext();\n const context = React.useContext(PageContext);\n const sectionNavigation =\n context && context.navigation && context.navigation.root\n ? context.navigation\n : null;\n const sectionHeading =\n (sectionNavigation && sectionNavigation.title) ||\n (sectionNavigation && sectionNavigation.root\n ? sectionNavigation.root.title\n : \"\");\n const hasSectionNav = !!(\n sectionNavigation &&\n sectionNavigation.root &&\n Array.isArray(sectionNavigation.root.children) &&\n sectionNavigation.root.children.length\n );\n const sectionLabel = sectionHeading\n ? `More in ${sectionHeading}`\n : \"More in this section\";\n const sectionAriaLabel = sectionHeading\n ? `${sectionHeading} section navigation`\n : \"Section navigation\";\n\n return (\n <>\n <header\n className=\"canopy-header\"\n data-mobile-nav=\"closed\"\n data-mobile-search=\"closed\"\n >\n <div className=\"canopy-header__brand\">\n <CanopyBrand\n label={title}\n href={brandHref}\n className=\"canopy-header__brand-link\"\n Logo={SiteLogo}\n />\n </div>\n\n <div className=\"canopy-header__desktop-search\">\n <SearchPanel\n label={searchLabel}\n hotkey={searchHotkey}\n placeholder={searchPlaceholder}\n />\n </div>\n\n <nav\n className=\"canopy-nav-links canopy-header__desktop-nav\"\n aria-label=\"Primary navigation\"\n >\n {navLinks.map((link) => (\n <a key={link.href} href={link.href}>\n {link.label || link.href}\n </a>\n ))}\n </nav>\n\n <div className=\"canopy-header__actions\">\n <button\n type=\"button\"\n className=\"canopy-header__icon-button canopy-header__search-trigger\"\n aria-label=\"Open search\"\n aria-controls=\"canopy-modal-search\"\n aria-expanded=\"false\"\n data-canopy-header-toggle=\"search\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n className=\"canopy-header__search-icon\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"m21 21-3.8-3.8M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z\"\n />\n </svg>\n </button>\n <button\n type=\"button\"\n className=\"canopy-header__icon-button canopy-header__menu\"\n aria-label=\"Open navigation\"\n aria-controls=\"canopy-modal-nav\"\n aria-expanded=\"false\"\n data-canopy-header-toggle=\"nav\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth=\"1.5\"\n stroke=\"currentColor\"\n className=\"canopy-header__menu-icon\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\n />\n </svg>\n </button>\n </div>\n </header>\n\n <CanopyModal\n id=\"canopy-modal-nav\"\n variant=\"nav\"\n labelledBy=\"canopy-modal-nav-label\"\n label={title}\n logo={SiteLogo}\n href={brandHref}\n closeLabel=\"Close navigation\"\n closeDataAttr=\"nav\"\n >\n <nav\n className=\"canopy-nav-links canopy-modal__nav\"\n aria-label=\"Primary navigation\"\n >\n {navLinks.map((link) => (\n <a key={link.href} href={link.href}>\n {link.label || link.href}\n </a>\n ))}\n </nav>\n {hasSectionNav ? (\n <nav\n className=\"canopy-modal__section-nav\"\n aria-label={sectionAriaLabel}\n >\n <div className=\"canopy-modal__section-label\">{sectionLabel}</div>\n <SectionNavList root={sectionNavigation.root} />\n </nav>\n ) : null}\n </CanopyModal>\n\n <CanopyModal\n id=\"canopy-modal-search\"\n variant=\"search\"\n labelledBy=\"canopy-modal-search-label\"\n label={title}\n logo={SiteLogo}\n href={brandHref}\n closeLabel=\"Close search\"\n closeDataAttr=\"search\"\n bodyClassName=\"canopy-modal__body--search\"\n >\n <SearchPanel\n label={searchLabel}\n hotkey={searchHotkey}\n placeholder={searchPlaceholder}\n />\n </CanopyModal>\n\n <HeaderScript />\n </>\n );\n}\n", "import React from 'react';\nimport SearchPanelForm, { resolveSearchPath } from './SearchPanelForm.jsx';\nimport SearchPanelTeaserResults from './SearchPanelTeaserResults.jsx';\n\n// High-level SearchPanel composed of a teaser form and teaser results panel.\n// Encodes configuration as JSON for the client runtime.\nexport default function SearchPanel(props = {}) {\n const {\n placeholder = 'Search\u2026',\n hotkey = 'mod+k',\n maxResults = 8,\n groupOrder = ['work', 'docs', 'page'],\n // Kept for backward compat; form always renders submit\n button = true, // eslint-disable-line no-unused-vars\n buttonLabel = 'Search',\n label,\n searchPath = '/search',\n } = props || {};\n\n const text = typeof label === 'string' && label.trim() ? label.trim() : buttonLabel;\n const resolvedSearchPath = resolveSearchPath(searchPath);\n const data = { placeholder, hotkey, maxResults, groupOrder, label: text, searchPath: resolvedSearchPath };\n\n return (\n <div data-canopy-search-form className=\"flex-1 min-w-0\">\n <div className=\"relative w-full\">\n <SearchPanelForm placeholder={placeholder} buttonLabel={buttonLabel} label={label} searchPath={resolvedSearchPath} />\n <SearchPanelTeaserResults />\n </div>\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }} />\n </div>\n );\n}\n", "import React from \"react\";\n\nexport const MagnifyingGlassIcon = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" {...props}>\n <path d=\"M456.69 421.39L362.6 327.3a173.81 173.81 0 0034.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 00327.3 362.6l94.09 94.09a25 25 0 0035.3-35.3zM97.92 222.72a124.8 124.8 0 11124.8 124.8 124.95 124.95 0 01-124.8-124.8z\" />\n </svg>\n);\n", "import {MagnifyingGlassIcon} from \"../Icons\";\nimport React from \"react\";\n\nfunction readBasePath() {\n const normalize = (val) => {\n const raw = typeof val === \"string\" ? val.trim() : \"\";\n if (!raw) return \"\";\n return raw.replace(/\\/+$/, \"\");\n };\n try {\n if (typeof window !== \"undefined\" && window.CANOPY_BASE_PATH != null) {\n const fromWindow = normalize(window.CANOPY_BASE_PATH);\n if (fromWindow) return fromWindow;\n }\n } catch (_) {}\n try {\n if (\n typeof globalThis !== \"undefined\" &&\n globalThis.CANOPY_BASE_PATH != null\n ) {\n const fromGlobal = normalize(globalThis.CANOPY_BASE_PATH);\n if (fromGlobal) return fromGlobal;\n }\n } catch (_) {}\n try {\n if (\n typeof process !== \"undefined\" &&\n process.env &&\n process.env.CANOPY_BASE_PATH\n ) {\n const fromEnv = normalize(process.env.CANOPY_BASE_PATH);\n if (fromEnv) return fromEnv;\n }\n } catch (_) {}\n return \"\";\n}\n\nfunction isAbsoluteUrl(href) {\n try {\n return /^https?:/i.test(String(href || \"\"));\n } catch (_) {\n return false;\n }\n}\n\nexport function resolveSearchPath(pathValue) {\n let raw = typeof pathValue === \"string\" ? pathValue.trim() : \"\";\n if (!raw) raw = \"/search\";\n if (isAbsoluteUrl(raw)) return raw;\n const normalizedPath = raw.startsWith(\"/\") ? raw : `/${raw}`;\n const base = readBasePath();\n if (!base) return normalizedPath;\n const baseWithLead = base.startsWith(\"/\") ? base : `/${base}`;\n const baseTrimmed = baseWithLead.replace(/\\/+$/, \"\");\n if (!baseTrimmed) return normalizedPath;\n if (\n normalizedPath === baseTrimmed ||\n normalizedPath.startsWith(`${baseTrimmed}/`)\n ) {\n return normalizedPath;\n }\n const pathTrimmed = normalizedPath.replace(/^\\/+/, \"\");\n return `${baseTrimmed}/${pathTrimmed}`;\n}\n\nexport default function SearchPanelForm(props = {}) {\n const {\n placeholder = \"Search\u2026\",\n buttonLabel = \"Search\",\n label,\n searchPath = \"/search\",\n inputId: inputIdProp,\n clearLabel = \"Clear search\",\n } = props || {};\n\n const text =\n typeof label === \"string\" && label.trim() ? label.trim() : buttonLabel;\n const action = React.useMemo(\n () => resolveSearchPath(searchPath),\n [searchPath]\n );\n const autoId = typeof React.useId === \"function\" ? React.useId() : undefined;\n const [fallbackId] = React.useState(\n () => `canopy-search-form-${Math.random().toString(36).slice(2, 10)}`\n );\n const inputId = inputIdProp || autoId || fallbackId;\n const inputRef = React.useRef(null);\n const [hasValue, setHasValue] = React.useState(false);\n\n const focusInput = React.useCallback(() => {\n const el = inputRef.current;\n if (!el) return;\n if (document.activeElement === el) return;\n try {\n el.focus({preventScroll: true});\n } catch (_) {\n try {\n el.focus();\n } catch (_) {}\n }\n }, []);\n\n const handlePointerDown = React.useCallback(\n (event) => {\n const target = event.target;\n if (target && typeof target.closest === \"function\") {\n if (target.closest(\"[data-canopy-search-form-trigger]\")) return;\n if (target.closest(\"[data-canopy-search-form-clear]\")) return;\n }\n event.preventDefault();\n focusInput();\n },\n [focusInput]\n );\n\n React.useEffect(() => {\n const el = inputRef.current;\n if (!el) return;\n if (el.value && el.value.trim()) {\n setHasValue(true);\n }\n }, []);\n\n const handleInputChange = React.useCallback((event) => {\n const nextHasValue = Boolean(\n event?.target?.value && event.target.value.trim()\n );\n setHasValue(nextHasValue);\n }, []);\n\n const handleClear = React.useCallback((event) => {}, []);\n\n const handleClearKey = React.useCallback(\n (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n handleClear(event);\n }\n },\n [handleClear]\n );\n\n return (\n <form\n action={action}\n method=\"get\"\n role=\"search\"\n autoComplete=\"off\"\n spellCheck=\"false\"\n className=\"canopy-search-form canopy-search-form-shell\"\n onPointerDown={handlePointerDown}\n data-has-value={hasValue ? \"1\" : \"0\"}\n >\n <label htmlFor={inputId} className=\"canopy-search-form__label\">\n <MagnifyingGlassIcon className=\"canopy-search-form__icon\" />\n <input\n id={inputId}\n type=\"search\"\n name=\"q\"\n inputMode=\"search\"\n data-canopy-search-form-input\n placeholder={placeholder}\n className=\"canopy-search-form__input\"\n aria-label=\"Search\"\n ref={inputRef}\n onChange={handleInputChange}\n onInput={handleInputChange}\n />\n </label>\n {hasValue ? (\n <button\n type=\"button\"\n className=\"canopy-search-form__clear\"\n onClick={handleClear}\n onPointerDown={(event) => event.stopPropagation()}\n onKeyDown={handleClearKey}\n aria-label={clearLabel}\n data-canopy-search-form-clear\n >\n \u00D7\n </button>\n ) : null}\n <button\n type=\"submit\"\n data-canopy-search-form-trigger=\"submit\"\n className=\"canopy-search-form__submit\"\n >\n {text}\n </button>\n </form>\n );\n}\n", "import React from \"react\";\n\n// SSR placeholder for teaser results panel; the runtime controls visibility and content.\nexport default function SearchPanelTeaserResults(props = {}) {\n const { style, className } = props || {};\n const classes = [\"canopy-search-teaser\", \"is-empty\", className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div\n data-canopy-search-form-panel\n hidden\n className={classes || undefined}\n style={style}\n >\n <div id=\"cplist\" className=\"canopy-search-teaser__list\" />\n </div>\n );\n}\n", "import React from 'react';\n\nexport default function CanopyBrand(props = {}) {\n const {\n labelId,\n label = 'Canopy IIIF',\n href = '/',\n className,\n Logo,\n } = props || {};\n const spanProps = labelId ? {id: labelId} : {};\n const classes = ['canopy-logo', className].filter(Boolean).join(' ');\n\n return (\n <a href={href} className={classes}>\n {typeof Logo === 'function' ? <Logo /> : null}\n <span {...spanProps}>{label}</span>\n </a>\n );\n}\n", "import React from 'react';\nimport CanopyBrand from './CanopyBrand.jsx';\n\nexport default function CanopyModal(props = {}) {\n const {\n id,\n variant,\n open = false,\n labelledBy,\n label,\n logo: Logo,\n href = '/',\n closeLabel = 'Close',\n closeDataAttr,\n onClose,\n onBackgroundClick,\n bodyClassName,\n padded = true,\n className,\n children,\n } = props;\n\n const rootClassName = ['canopy-modal', variant ? `canopy-modal--${variant}` : null, className]\n .filter(Boolean)\n .join(' ');\n\n const modalProps = {\n id,\n className: rootClassName,\n role: 'dialog',\n 'aria-modal': 'true',\n 'aria-hidden': open ? 'false' : 'true',\n 'data-open': open ? 'true' : 'false',\n };\n\n if (variant) modalProps['data-canopy-modal'] = variant;\n\n const resolvedLabelId = labelledBy || (label ? `${variant || 'modal'}-label` : undefined);\n if (resolvedLabelId) modalProps['aria-labelledby'] = resolvedLabelId;\n\n if (typeof onBackgroundClick === 'function') {\n modalProps.onClick = (event) => {\n if (event.target === event.currentTarget) onBackgroundClick(event);\n };\n }\n\n const closeButtonProps = {\n type: 'button',\n className: 'canopy-modal__close',\n 'aria-label': closeLabel,\n };\n\n if (typeof closeDataAttr === 'string' && closeDataAttr) {\n closeButtonProps['data-canopy-header-close'] = closeDataAttr;\n }\n\n if (typeof onClose === 'function') {\n closeButtonProps.onClick = onClose;\n }\n\n const bodyClasses = ['canopy-modal__body'];\n if (padded) bodyClasses.push('canopy-modal__body--padded');\n if (bodyClassName) bodyClasses.push(bodyClassName);\n const bodyClassNameValue = bodyClasses.join(' ');\n\n return (\n <div {...modalProps}>\n <div className=\"canopy-modal__panel\">\n <button {...closeButtonProps}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n className=\"canopy-modal__close-icon\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 6l12 12M6 18L18 6\" />\n </svg>\n <span className=\"sr-only\">{closeLabel}</span>\n </button>\n <div className={bodyClassNameValue}>\n {label ? (\n <div className=\"canopy-modal__brand\">\n <CanopyBrand\n labelId={resolvedLabelId}\n label={label}\n href={href}\n Logo={Logo}\n className=\"canopy-modal__brand-link\"\n />\n </div>\n ) : null}\n {children}\n </div>\n </div>\n </div>\n );\n}\n", "import React from 'react';\n\nexport default function CanopyFooter({ className = '', children }) {\n const footerClassName = ['canopy-footer', className].filter(Boolean).join(' ');\n\n return (\n <footer className={footerClassName}>\n <div className=\"canopy-footer__inner\">{children}</div>\n </footer>\n );\n}\n", "import React from \"react\";\n\nexport default function TeaserCard({\n href = \"\",\n title = \"\",\n metadata = [],\n summary = \"\",\n thumbnail = null,\n type = \"work\",\n className = \"\",\n ...rest\n}) {\n const Tag = href ? \"a\" : \"div\";\n const classes = [\n \"canopy-card\",\n \"canopy-card--teaser\",\n \"canopy-search-teaser__item\",\n \"canopy-teaser-card\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n const showThumb = type === \"work\" && thumbnail;\n const metaLine = (\n Array.isArray(metadata) && metadata.length\n ? metadata.filter(Boolean)\n : summary\n ? [summary]\n : []\n )\n .filter(Boolean)\n .slice(0, 2)\n .join(\" \u2022 \");\n\n return (\n <Tag\n className={classes}\n href={href || undefined}\n data-canopy-item={href ? \"\" : undefined}\n {...rest}\n >\n {showThumb ? (\n <div className=\"canopy-search-teaser__thumb\">\n <img\n src={thumbnail}\n alt=\"\"\n loading=\"lazy\"\n className=\"canopy-search-teaser__thumb-img\"\n />\n </div>\n ) : null}\n <div className=\"canopy-search-teaser__text\">\n <span className=\"canopy-search-teaser__title\">\n {title || href || 'Untitled'}\n </span>\n {metaLine ? (\n <span className=\"canopy-search-teaser__meta\">{metaLine}</span>\n ) : null}\n </div>\n </Tag>\n );\n}\n", "import React from 'react';\n\nconst GA_HOST = 'https://www.googletagmanager.com/gtag/js';\n\nexport default function GoogleAnalytics({ id }) {\n if (!id) return null;\n\n const inlineConfig = `\n window.dataLayer = window.dataLayer || [];\n function gtag(){window.dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${id}');\n `;\n\n return (\n <>\n <script async src={`${GA_HOST}?id=${encodeURIComponent(id)}`}></script>\n <script dangerouslySetInnerHTML={{ __html: inlineConfig }} />\n </>\n );\n}\n", "import React from \"react\";\n\nexport default function Container({\n className = \"\",\n variant = \"content\",\n children,\n ...rest\n}) {\n const variantClass = variant === \"wide\" ? \"max-w-wide\" : \"max-w-content\";\n const classes = [\"mx-auto\", variantClass, \"w-full\", className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div\n className={classes}\n {...rest}\n style={{...rest.style, padding: \"1.618rem\"}}\n >\n {children}\n </div>\n );\n}\n", "import React, { useEffect, useRef, useState } from \"react\";\n\nconst DEFAULT_CARD_ASPECT_RATIO = 4 / 3; // match ReferencedItems proportions\n\n/**\n * Card\n *\n * Renders an anchor wrapping a figure with an image and caption.\n * Minimal styling; consumers can override via className/style.\n *\n * Props:\n * - href: string (required) \u2014 link target\n * - src: string (optional) \u2014 image source\n * - alt: string (optional) \u2014 image alt text (falls back to title)\n * - title: string (optional) \u2014 primary caption text\n * - subtitle: string (optional) \u2014 secondary caption text\n * - className: string (optional)\n * - style: object (optional)\n * - children: ReactNode (optional) \u2014 appended inside figcaption\n */\nexport default function Card({\n href,\n src,\n alt,\n title,\n subtitle,\n // Optional intrinsic dimensions or aspect ratio to compute a responsive height\n imgWidth,\n imgHeight,\n aspectRatio,\n className,\n style,\n children,\n lazy = true,\n ...rest\n}) {\n const containerRef = useRef(null);\n const isBrowser = typeof window !== \"undefined\";\n const supportsIntersectionObserver =\n typeof IntersectionObserver === \"function\";\n const shouldRenderImmediately =\n !lazy || !isBrowser || !supportsIntersectionObserver;\n const [inView, setInView] = useState(shouldRenderImmediately);\n const [imageLoaded, setImageLoaded] = useState(shouldRenderImmediately);\n\n /**\n * Use IntersectionObserver to detect when the card enters the viewport.\n * When in view, setInView(true) to trigger image loading.\n * If IntersectionObserver is not supported, default to inView=true.\n */\n useEffect(() => {\n if (!lazy) return;\n if (!containerRef.current) return;\n if (!supportsIntersectionObserver) {\n setInView(true);\n return;\n }\n const el = containerRef.current;\n const obs = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n setInView(true);\n try {\n obs.unobserve(el);\n } catch (_) {}\n break;\n }\n }\n },\n { root: null, rootMargin: \"100px\", threshold: 0.1 }\n );\n try {\n obs.observe(el);\n } catch (_) {}\n return () => {\n try {\n obs.disconnect();\n } catch (_) {}\n };\n }, [lazy, supportsIntersectionObserver]);\n\n /**\n * Calculate aspect ratio and padding percent for responsive image container.\n */\n const w = Number(imgWidth);\n const h = Number(imgHeight);\n const hasAspectRatio =\n Number.isFinite(Number(aspectRatio)) && Number(aspectRatio) > 0;\n const hasDimensions =\n Number.isFinite(w) && w > 0 && Number.isFinite(h) && h > 0;\n const ratio = hasAspectRatio\n ? Number(aspectRatio)\n : hasDimensions\n ? w / h\n : src\n ? DEFAULT_CARD_ASPECT_RATIO\n : undefined;\n const paddingPercent = ratio ? 100 / ratio : 100;\n\n /**\n * Caption element (figcaption), rendered if title, subtitle, or children are provided.\n */\n const caption = (\n <figcaption>\n {title && <span>{title}</span>}\n {subtitle && <span>{subtitle}</span>}\n {children}\n </figcaption>\n );\n\n return (\n <a\n href={href}\n className={[\"canopy-card\", className].filter(Boolean).join(\" \")}\n style={style}\n ref={containerRef}\n data-aspect-ratio={ratio}\n data-in-view={inView ? \"true\" : \"false\"}\n data-image-loaded={imageLoaded ? \"true\" : \"false\"}\n {...rest}\n >\n <figure>\n {src ? (\n ratio ? (\n <div\n className=\"canopy-card-media\"\n style={{ \"--canopy-card-padding\": `${paddingPercent}%` }}\n >\n {inView ? (\n <img\n src={src}\n alt={alt || title || \"\"}\n loading=\"lazy\"\n onLoad={() => setImageLoaded(true)}\n onError={() => setImageLoaded(true)}\n />\n ) : null}\n </div>\n ) : (\n <img\n src={src}\n alt={alt || title || \"\"}\n loading=\"lazy\"\n onLoad={() => setImageLoaded(true)}\n onError={() => setImageLoaded(true)}\n className=\"canopy-card-image\"\n />\n )\n ) : null}\n {caption}\n </figure>\n </a>\n );\n}\n", "import React from \"react\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\nimport Card from \"../layout/Card.jsx\";\n\nfunction useReferencedItems(itemsProp) {\n if (Array.isArray(itemsProp)) return itemsProp;\n const PageContext =\n navigationHelpers && typeof navigationHelpers.getPageContext === \"function\"\n ? navigationHelpers.getPageContext()\n : null;\n if (!PageContext) return [];\n const context = React.useContext(PageContext);\n const items = context && context.page ? context.page.referencedItems : null;\n return Array.isArray(items) ? items : [];\n}\n\nexport default function ReferencedItems({\n items: itemsProp,\n emptyLabel = null,\n className = \"\",\n children,\n ...rest\n}) {\n const items = useReferencedItems(itemsProp);\n const hasItems = items.length > 0;\n\n if (!hasItems) {\n if (!emptyLabel) return null;\n const emptyClass = [\n \"referenced-items\",\n \"referenced-items--empty\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n return (\n <div className={emptyClass} {...rest}>\n {typeof emptyLabel === \"function\" ? emptyLabel() : emptyLabel}\n </div>\n );\n }\n\n const containerClassName = [\"referenced-items\", className]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <section className={containerClassName} {...rest}>\n {children}\n <div className=\"referenced-items__grid\" role=\"list\">\n {items.map((item) => {\n if (!item) return null;\n const key = item.href || item.slug || item.id;\n return (\n <div className=\"referenced-items__item\" role=\"listitem\" key={key}>\n <Card\n href={item.href}\n src={item.thumbnail}\n imgWidth={item.thumbnailWidth}\n imgHeight={item.thumbnailHeight}\n title={item.title}\n subtitle={item.summary}\n className=\"referenced-items__card\"\n lazy={false}\n />\n </div>\n );\n })}\n </div>\n </section>\n );\n}\n", "import React from \"react\";\nimport navigationHelpers from \"../../../lib/components/navigation.js\";\nimport referenced from \"../../../lib/components/referenced.js\";\n\nfunction getPageContext() {\n if (!navigationHelpers || typeof navigationHelpers.getPageContext !== \"function\") {\n return null;\n }\n try {\n return navigationHelpers.getPageContext();\n } catch (_) {\n return null;\n }\n}\n\nfunction resolveReferences(manifestId, contextList) {\n if (contextList && contextList.length) return contextList;\n if (!manifestId) return [];\n try {\n return referenced.getReferencesForManifest(manifestId);\n } catch (_) {\n return [];\n }\n}\n\nexport default function References({\n id = \"\",\n title = \"Referenced by\",\n emptyLabel = null,\n className = \"\",\n children,\n ...rest\n}) {\n const PageContext = getPageContext();\n const context = PageContext ? React.useContext(PageContext) : null;\n const contextPage = context && context.page ? context.page : null;\n const manifestId = id || (contextPage && contextPage.manifestId) || \"\";\n const contextReferences = !id && contextPage && Array.isArray(contextPage.referencedBy)\n ? contextPage.referencedBy\n : null;\n const references = resolveReferences(manifestId, contextReferences);\n\n if (!manifestId) return null;\n\n const entries = references && references.length ? references : null;\n if (!entries || !entries.length) return null;\n\n const containerClass = [\"references\", className].filter(Boolean).join(\" \");\n\n return (\n <dl className={containerClass} {...rest}>\n <div className=\"references__group\">\n <dt>{title}</dt>\n {entries.map((entry) => (\n <dd key={entry.href} className=\"references__item\">\n <a href={entry.href}>{entry.title || entry.href}</a>\n </dd>\n ))}\n </div>\n </dl>\n );\n}\n", "import React from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport Timeline from \"./Timeline.jsx\";\nimport TimelinePoint from \"./TimelinePoint.jsx\";\nimport navigationHelpers from \"../../../../lib/components/navigation.js\";\nimport {\n createLocale,\n buildPointMetadata,\n} from \"./date-utils.js\";\n\nfunction normalizeManifestId(raw) {\n if (!raw) return \"\";\n try {\n const url = new URL(String(raw));\n url.hash = \"\";\n const params = Array.from(url.searchParams.entries()).sort((a, b) =>\n a[0].localeCompare(b[0]) || a[1].localeCompare(b[1])\n );\n url.search = \"\";\n params.forEach(([key, value]) => url.searchParams.append(key, value));\n return url.toString();\n } catch (_) {\n return String(raw || \"\").trim();\n }\n}\n\nconst PageContextFallback = React.createContext(null);\n\nfunction useReferencedManifestMap() {\n const PageContext = navigationHelpers?.getPageContext?.() || PageContextFallback;\n const pageContext = React.useContext(PageContext);\n const referencedItems =\n pageContext && pageContext.page && Array.isArray(pageContext.page.referencedItems)\n ? pageContext.page.referencedItems\n : [];\n return React.useMemo(() => {\n const map = new Map();\n referencedItems.forEach((item) => {\n if (!item) return;\n const id = item.id || item.href;\n if (!id) return;\n const normalized = normalizeManifestId(id);\n map.set(normalized, item);\n map.set(String(id), item);\n });\n return map;\n }, [referencedItems]);\n}\n\nfunction normalizeResource(resource, index) {\n if (!resource) return null;\n const href = resource.href || resource.id || \"\";\n const label = resource.label || resource.title || href || `Resource ${index + 1}`;\n return {\n id: resource.id || href || `timeline-resource-${index}`,\n href,\n label,\n type: resource.type || \"IIIF\",\n thumbnail: resource.thumbnail || null,\n summary: resource.summary || null,\n };\n}\n\nfunction normalizePoint(child, index, options) {\n if (!React.isValidElement(child)) return null;\n if (child.type !== TimelinePoint && child.type?.displayName !== \"TimelinePoint\")\n return null;\n const props = child.props || {};\n const id = props.id || `timeline-point-${index}`;\n const granularity =\n props.precision ||\n props.granularity ||\n (options && options.range && options.range.granularity) ||\n \"year\";\n const value =\n props.date ??\n props.value ??\n props.timestamp ??\n props.year ??\n props.label ??\n props.title;\n const meta = buildPointMetadata({\n value,\n granularity,\n locale: options.locale,\n });\n let detailsHtml = \"\";\n try {\n if (props.children) {\n detailsHtml = ReactDOMServer.renderToStaticMarkup(\n React.createElement(React.Fragment, null, props.children)\n );\n }\n } catch (_) {\n detailsHtml = \"\";\n }\n const resources = Array.isArray(props.iiifResources)\n ? props.iiifResources.map(normalizeResource).filter(Boolean)\n : [];\n const manifestValues = Array.isArray(props.referencedManifests)\n ? props.referencedManifests\n : props.manifest\n ? [props.manifest]\n : Array.isArray(props.manifests)\n ? props.manifests\n : [];\n const manifests = resolveManifestReferences(manifestValues, options.manifestMap);\n return {\n id,\n title: props.title || props.label || `Point ${index + 1}`,\n summary: props.summary || props.description || \"\",\n description: props.description || \"\",\n highlight: props.highlight === true || props.highlight === \"true\",\n side: props.side || props.align || props.alignment || null,\n meta: {\n label: meta.label,\n timestamp: meta.timestamp,\n },\n detailsHtml,\n resources,\n manifests,\n };\n}\n\nfunction resolveManifestReferences(ids, manifestMap) {\n if (!Array.isArray(ids) || !ids.length || !manifestMap) return [];\n const seen = new Set();\n const out = [];\n ids.forEach((value) => {\n if (!value) return;\n const normalized = normalizeManifestId(value);\n if (!normalized || seen.has(normalized)) return;\n seen.add(normalized);\n const record = manifestMap.get(normalized);\n if (!record) return;\n out.push({\n id: record.id || value,\n href: record.href || null,\n title: record.title || record.href || value,\n summary: record.summary || \"\",\n thumbnail: record.thumbnail || null,\n thumbnailWidth: record.thumbnailWidth,\n thumbnailHeight: record.thumbnailHeight,\n type: record.type || \"work\",\n metadata:\n Array.isArray(record.metadata) && record.metadata.length\n ? record.metadata\n : record.summary\n ? [record.summary]\n : [],\n });\n });\n return out;\n}\n\nfunction serializeProps(props, payload, locale) {\n const clone = {};\n Object.keys(props || {}).forEach((key) => {\n if (key === \"children\") return;\n const value = props[key];\n if (typeof value === \"function\" || typeof value === \"symbol\") return;\n clone[key] = value;\n });\n clone.locale = locale;\n clone.__canopyTimeline = payload;\n return clone;\n}\n\nfunction serializeForScript(data) {\n try {\n return JSON.stringify(data).replace(/</g, \"\\\\u003c\");\n } catch (_) {\n return \"{}\";\n }\n}\n\nexport default function MdxTimeline({ children, ...rest }) {\n const localeValue = rest.locale || \"en-US\";\n const localeObj = createLocale(localeValue);\n const localeBase =\n typeof localeObj === \"string\" ? localeObj : localeObj.baseName || \"en-US\";\n const manifestMap = useReferencedManifestMap();\n const childArray = React.Children.toArray(children);\n const points = childArray\n .map((child, index) =>\n normalizePoint(child, index, {\n range: rest.range || {},\n locale: localeObj,\n manifestMap,\n })\n )\n .filter(Boolean);\n const payload = {\n points,\n locale: localeBase,\n range: rest.range || null,\n threshold: rest.threshold != null ? rest.threshold : null,\n steps: rest.steps != null ? rest.steps : null,\n };\n const json = serializeForScript(serializeProps(rest, payload, localeBase));\n return (\n <div data-canopy-timeline=\"1\">\n <Timeline {...rest} __canopyTimeline={payload} />\n <script\n type=\"application/json\"\n dangerouslySetInnerHTML={{ __html: json }}\n />\n </div>\n );\n}\n", "import React from \"react\";\nimport {\n createLocale,\n normalizeRange,\n clampProgress,\n formatDateLabel,\n} from \"./date-utils.js\";\nimport TeaserCard from \"../../layout/TeaserCard.jsx\";\n\nconst DAY_MS = 24 * 60 * 60 * 1000;\nconst DEFAULT_TRACK_HEIGHT = 640;\nconst MIN_HEIGHT_PER_POINT = 220;\n\nfunction getThresholdMs(threshold, granularity) {\n const value = Number(threshold);\n if (!Number.isFinite(value) || value <= 0) return 0;\n if (granularity === \"day\") return value * DAY_MS;\n if (granularity === \"month\") return value * 30 * DAY_MS;\n return value * 365 * DAY_MS;\n}\n\nfunction buildGroupedEntries(points, thresholdMs, options) {\n if (!Array.isArray(points) || !points.length) return [];\n if (!thresholdMs) return points.map((point) => ({type: \"point\", point}));\n\n const entries = [];\n let currentGroup = null;\n let groupCounter = 0;\n\n function flush() {\n if (!currentGroup) return;\n if (currentGroup.points.length > 1) {\n const firstPoint = currentGroup.points[0];\n entries.push({\n type: \"group\",\n id: `canopy-timeline-group-${groupCounter}-${currentGroup.start}`,\n points: currentGroup.points,\n progress: firstPoint.progress,\n side: firstPoint.side,\n label: formatGroupLabel(currentGroup.start, currentGroup.end, options),\n count: currentGroup.points.length,\n });\n groupCounter += 1;\n } else {\n entries.push({type: \"point\", point: currentGroup.points[0]});\n }\n currentGroup = null;\n }\n\n points.forEach((point) => {\n const timestamp = point && point.meta ? point.meta.timestamp : null;\n if (!Number.isFinite(timestamp)) {\n flush();\n if (point) entries.push({type: \"point\", point});\n return;\n }\n if (!currentGroup) {\n currentGroup = {\n points: [point],\n start: timestamp,\n end: timestamp,\n last: timestamp,\n };\n return;\n }\n const diff = Math.abs(timestamp - currentGroup.last);\n if (diff <= thresholdMs) {\n currentGroup.points.push(point);\n currentGroup.last = timestamp;\n if (timestamp < currentGroup.start) currentGroup.start = timestamp;\n if (timestamp > currentGroup.end) currentGroup.end = timestamp;\n } else {\n flush();\n currentGroup = {\n points: [point],\n start: timestamp,\n end: timestamp,\n last: timestamp,\n };\n }\n });\n\n flush();\n return entries;\n}\n\nfunction formatGroupLabel(startTs, endTs, options) {\n if (!Number.isFinite(startTs) || !Number.isFinite(endTs)) return \"\";\n const startLabel = formatDateLabel(new Date(startTs), options);\n const endLabel = formatDateLabel(new Date(endTs), options);\n if (!startLabel || !endLabel) return \"\";\n return startLabel === endLabel ? startLabel : `${startLabel} \u2013 ${endLabel}`;\n}\n\nfunction deriveRangeOverrides(points, range) {\n const timestamps = points\n .map((point) => (point && point.meta ? point.meta.timestamp : null))\n .filter((timestamp) => Number.isFinite(timestamp));\n if (!timestamps.length) return range || {};\n const earliest = Math.min(...timestamps);\n const latest = Math.max(...timestamps);\n return {\n ...range,\n start: range && range.start ? range.start : new Date(earliest),\n end: range && range.end ? range.end : new Date(latest),\n };\n}\n\nfunction getActivePointId(points) {\n const highlighted = points.find((point) => point && point.highlight);\n if (highlighted) return highlighted.id;\n return points.length ? points[0].id : null;\n}\n\nfunction formatRangeLabel(rangeInfo) {\n if (!rangeInfo) return \"\";\n const startLabel = formatDateLabel(rangeInfo.startDate, {\n granularity: rangeInfo.granularity,\n locale: rangeInfo.locale,\n });\n const endLabel = formatDateLabel(rangeInfo.endDate, {\n granularity: rangeInfo.granularity,\n locale: rangeInfo.locale,\n });\n if (!startLabel || !endLabel) return \"\";\n if (startLabel === endLabel) return startLabel;\n return `${startLabel} \u2013 ${endLabel}`;\n}\n\nfunction sanitizePoints(points) {\n if (!Array.isArray(points)) return [];\n return points\n .map((point, index) => {\n if (!point) return null;\n const meta = point.meta || {};\n const timestamp = Number(meta.timestamp);\n const manifests = Array.isArray(point.manifests)\n ? point.manifests\n .map((manifest) => (manifest ? {...manifest} : null))\n .filter(Boolean)\n : [];\n const resources = Array.isArray(point.resources)\n ? point.resources.filter(Boolean)\n : [];\n return {\n ...point,\n id: point.id || `timeline-point-${index}`,\n title: point.title || point.label || `Point ${index + 1}`,\n summary: point.summary || point.description || \"\",\n detailsHtml: point.detailsHtml || \"\",\n highlight: !!point.highlight,\n side:\n point.side === \"left\" || point.side === \"right\" ? point.side : null,\n meta: {\n label: meta.label || \"\",\n timestamp: Number.isFinite(timestamp) ? timestamp : null,\n },\n manifests,\n resources,\n };\n })\n .filter(Boolean);\n}\n\nfunction resolveTrackHeight(height, pointCount) {\n const minimumPx = Math.max(\n DEFAULT_TRACK_HEIGHT,\n pointCount * MIN_HEIGHT_PER_POINT\n );\n const fallback = `${minimumPx}px`;\n if (height == null) return fallback;\n if (typeof height === \"number\") {\n const numeric = Number(height);\n if (Number.isFinite(numeric)) {\n return `${Math.max(numeric, pointCount * MIN_HEIGHT_PER_POINT)}px`;\n }\n return fallback;\n }\n if (typeof height === \"string\") {\n const trimmed = height.trim();\n if (!trimmed) return fallback;\n const numeric = Number(trimmed);\n if (Number.isFinite(numeric)) {\n return `${Math.max(numeric, pointCount * MIN_HEIGHT_PER_POINT)}px`;\n }\n return trimmed;\n }\n return fallback;\n}\n\nfunction TimelineConnector({side, isActive, highlight}) {\n const connectorClasses = [\n \"canopy-timeline__connector\",\n side === \"left\"\n ? \"canopy-timeline__connector--left\"\n : \"canopy-timeline__connector--right\",\n ]\n .filter(Boolean)\n .join(\" \");\n const dotClasses = [\n \"canopy-timeline__connector-dot\",\n highlight || isActive ? \"is-active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n return (\n <span className={connectorClasses} aria-hidden=\"true\">\n {side === \"left\" ? (\n <>\n <span className=\"canopy-timeline__connector-line\" />\n <span className={dotClasses} />\n </>\n ) : (\n <>\n <span className={dotClasses} />\n <span className=\"canopy-timeline__connector-line\" />\n </>\n )}\n </span>\n );\n}\n\nfunction renderResourceSection(point) {\n if (!point) return null;\n const manifestCards = Array.isArray(point.manifests)\n ? point.manifests.filter(Boolean)\n : [];\n const legacyResources = Array.isArray(point.resources)\n ? point.resources.filter(Boolean)\n : [];\n if (!manifestCards.length && !legacyResources.length) return null;\n return (\n <div className=\"canopy-timeline__resources\">\n <div className=\"canopy-timeline__resources-list\">\n {manifestCards.map((manifest) => (\n <div key={manifest.id || manifest.href}>\n <TeaserCard\n href={manifest.href}\n title={manifest.title || manifest.href}\n summary={manifest.summary}\n metadata={\n Array.isArray(manifest.metadata) && manifest.metadata.length\n ? manifest.metadata\n : manifest.summary\n ? [manifest.summary]\n : []\n }\n thumbnail={manifest.thumbnail}\n type={manifest.type || \"work\"}\n />\n </div>\n ))}\n {legacyResources.map((resource, idx) => (\n <div key={resource.id || resource.href || `legacy-${idx}`}>\n <TeaserCard\n href={resource.href}\n title={resource.label || resource.title || resource.href}\n summary={resource.summary}\n thumbnail={resource.thumbnail}\n type={resource.type || \"resource\"}\n />\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nexport default function Timeline({\n className = \"\",\n title,\n description,\n range: rangeProp,\n locale: localeProp = \"en-US\",\n height = DEFAULT_TRACK_HEIGHT,\n threshold: thresholdProp = null,\n steps = null,\n points: pointsProp,\n __canopyTimeline: payload = null,\n ...rest\n}) {\n const payloadPoints =\n payload && Array.isArray(payload.points) ? payload.points : null;\n const rawPoints = React.useMemo(() => {\n if (Array.isArray(pointsProp) && pointsProp.length) return pointsProp;\n if (payloadPoints && payloadPoints.length) return payloadPoints;\n return [];\n }, [pointsProp, payloadPoints]);\n\n const sanitizedPoints = React.useMemo(\n () => sanitizePoints(rawPoints),\n [rawPoints]\n );\n\n const localeValue = payload && payload.locale ? payload.locale : localeProp;\n const baseLocale = React.useMemo(\n () => createLocale(localeValue),\n [localeValue]\n );\n\n const rangeInput = payload && payload.range ? payload.range : rangeProp || {};\n const rangeOverrides = React.useMemo(\n () => deriveRangeOverrides(sanitizedPoints, rangeInput),\n [sanitizedPoints, rangeInput]\n );\n const effectiveRange = React.useMemo(\n () =>\n normalizeRange({\n ...rangeOverrides,\n locale: baseLocale,\n }),\n [rangeOverrides, baseLocale]\n );\n\n const spanStart = effectiveRange.startDate.getTime();\n const span = effectiveRange.span;\n\n const pointsWithPosition = React.useMemo(() => {\n if (!sanitizedPoints.length) return [];\n return sanitizedPoints.map((point, index) => {\n const timestamp = point.meta.timestamp;\n const fallbackProgress =\n sanitizedPoints.length > 1 ? index / (sanitizedPoints.length - 1) : 0;\n const progress = Number.isFinite(timestamp)\n ? clampProgress((timestamp - spanStart) / span)\n : fallbackProgress;\n const side = point.side || (index % 2 === 0 ? \"left\" : \"right\");\n return {\n ...point,\n progress,\n side,\n };\n });\n }, [sanitizedPoints, spanStart, span]);\n\n const [activeId, setActiveId] = React.useState(() =>\n getActivePointId(pointsWithPosition)\n );\n\n React.useEffect(() => {\n setActiveId(getActivePointId(pointsWithPosition));\n }, [pointsWithPosition]);\n\n const thresholdValue =\n typeof thresholdProp === \"number\"\n ? thresholdProp\n : payload && payload.threshold != null\n ? payload.threshold\n : null;\n const stepsValue =\n typeof steps === \"number\"\n ? Number(steps)\n : payload && typeof payload.steps === \"number\"\n ? Number(payload.steps)\n : null;\n\n const thresholdMs = React.useMemo(\n () => getThresholdMs(thresholdValue, effectiveRange.granularity),\n [thresholdValue, effectiveRange.granularity]\n );\n\n const groupedEntries = React.useMemo(\n () =>\n buildGroupedEntries(pointsWithPosition, thresholdMs, {\n granularity: effectiveRange.granularity,\n locale: baseLocale,\n }),\n [pointsWithPosition, thresholdMs, effectiveRange.granularity, baseLocale]\n );\n\n const [expandedGroupIds, setExpandedGroupIds] = React.useState(\n () => new Set()\n );\n\n React.useEffect(() => {\n setExpandedGroupIds((prev) => {\n if (!prev || prev.size === 0) return prev;\n const validIds = new Set(\n groupedEntries\n .filter((entry) => entry.type === \"group\")\n .map((entry) => entry.id)\n );\n const next = new Set();\n let changed = false;\n prev.forEach((id) => {\n if (validIds.has(id)) next.add(id);\n else changed = true;\n });\n return changed ? next : prev;\n });\n }, [groupedEntries]);\n\n const toggleGroup = React.useCallback((groupId) => {\n setExpandedGroupIds((prev) => {\n const next = new Set(prev || []);\n if (next.has(groupId)) next.delete(groupId);\n else next.add(groupId);\n return next;\n });\n }, []);\n\n const trackHeight = resolveTrackHeight(height, pointsWithPosition.length);\n const containerClasses = [\"canopy-timeline\", className]\n .filter(Boolean)\n .join(\" \");\n const rangeLabel = formatRangeLabel(effectiveRange);\n\n function renderPointEntry(point) {\n if (!point) return null;\n const wrapperClasses = [\n \"canopy-timeline__point-wrapper\",\n point.side === \"left\"\n ? \"canopy-timeline__point-wrapper--left\"\n : \"canopy-timeline__point-wrapper--right\",\n ]\n .filter(Boolean)\n .join(\" \");\n const wrapperStyle = {top: `${point.progress * 100}%`};\n const cardClasses = [\n \"canopy-timeline__point\",\n point.id === activeId ? \"is-active\" : \"\",\n point.highlight ? \"is-highlighted\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n const connector = (\n <TimelineConnector\n side={point.side}\n isActive={point.id === activeId}\n highlight={point.highlight}\n />\n );\n\n const body = (\n <div className=\"canopy-timeline__point-body\">\n <span className=\"canopy-timeline__point-date\">{point.meta.label}</span>\n <span className=\"canopy-timeline__point-title\">{point.title}</span>\n {point.summary ? (\n <span className=\"canopy-timeline__point-summary\">\n {point.summary}\n </span>\n ) : null}\n </div>\n );\n const resourceSection = renderResourceSection(point);\n\n return (\n <div\n key={point.id}\n className={wrapperClasses}\n style={wrapperStyle}\n role=\"listitem\"\n >\n {point.side === \"left\" ? (\n <>\n <div className={cardClasses}>\n {body}\n {resourceSection}\n </div>\n {connector}\n </>\n ) : (\n <>\n {connector}\n <div className={cardClasses}>\n {body}\n {resourceSection}\n </div>\n </>\n )}\n </div>\n );\n }\n\n function renderGroupEntry(entry) {\n const wrapperClasses = [\n \"canopy-timeline__point-wrapper\",\n entry.side === \"left\"\n ? \"canopy-timeline__point-wrapper--left\"\n : \"canopy-timeline__point-wrapper--right\",\n ]\n .filter(Boolean)\n .join(\" \");\n const wrapperStyle = {top: `${entry.progress * 100}%`};\n const isExpanded = expandedGroupIds.has(entry.id);\n const hasActivePoint = entry.points.some((point) => point.id === activeId);\n const connector = (\n <TimelineConnector\n side={entry.side}\n isActive={hasActivePoint}\n highlight={hasActivePoint}\n />\n );\n const groupClasses = [\n \"canopy-timeline__group\",\n isExpanded ? \"is-expanded\" : \"\",\n hasActivePoint ? \"is-active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n const countLabel = `${entry.count} event${entry.count > 1 ? \"s\" : \"\"}`;\n\n const header = (\n <div className=\"canopy-timeline__group-header\">\n <div className=\"canopy-timeline__group-summary\">\n <span className=\"canopy-timeline__point-date\">{entry.label}</span>\n <span className=\"canopy-timeline__group-count\">{countLabel}</span>\n </div>\n <button\n type=\"button\"\n className=\"canopy-timeline__group-toggle\"\n aria-expanded={isExpanded ? \"true\" : \"false\"}\n onClick={() => toggleGroup(entry.id)}\n >\n {isExpanded ? \"Hide details\" : \"Show details\"}\n </button>\n </div>\n );\n\n const groupPoints = isExpanded ? (\n <div className=\"canopy-timeline__group-points\">\n {entry.points.map((point) => (\n <button\n key={point.id}\n type=\"button\"\n className={[\n \"canopy-timeline__group-point\",\n point.id === activeId ? \"is-active\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n onClick={() => setActiveId(point.id)}\n >\n <span className=\"canopy-timeline__point-date\">\n {point.meta.label}\n </span>\n <span className=\"canopy-timeline__group-point-title\">\n {point.title}\n </span>\n </button>\n ))}\n </div>\n ) : null;\n\n const groupCard = (\n <div className={groupClasses}>\n {header}\n {groupPoints}\n </div>\n );\n\n return (\n <div\n key={entry.id}\n className={wrapperClasses}\n style={wrapperStyle}\n role=\"listitem\"\n >\n {entry.side === \"left\" ? (\n <>\n {groupCard}\n {connector}\n </>\n ) : (\n <>\n {connector}\n {groupCard}\n </>\n )}\n </div>\n );\n }\n\n return (\n <section className={containerClasses} {...rest}>\n {title ? <h2 className=\"canopy-timeline__title\">{title}</h2> : null}\n {description ? (\n <p className=\"canopy-timeline__description\">{description}</p>\n ) : null}\n {rangeLabel ? (\n <p className=\"canopy-timeline__range\" aria-live=\"polite\">\n {rangeLabel}\n </p>\n ) : null}\n <div className=\"canopy-timeline__body\">\n <div\n className=\"canopy-timeline__list\"\n role=\"list\"\n style={{minHeight: trackHeight}}\n >\n <div className=\"canopy-timeline__spine\" aria-hidden=\"true\" />\n {renderSteps(stepsValue, effectiveRange)}\n {groupedEntries.map((entry) => {\n if (entry.type === \"group\") return renderGroupEntry(entry);\n return renderPointEntry(entry.point);\n })}\n </div>\n </div>\n </section>\n );\n}\n\nfunction renderSteps(stepSize, range) {\n if (!Number.isFinite(stepSize) || stepSize <= 0 || !range) return null;\n const startYear = range.startDate.getUTCFullYear();\n const endYear = range.endDate.getUTCFullYear();\n const markers = [];\n if (startYear < endYear) {\n markers.push(\n <span\n key=\"timeline-step-start\"\n className=\"canopy-timeline__step canopy-timeline__step--start\"\n style={{top: \"0%\"}}\n aria-hidden=\"true\"\n >\n <span className=\"canopy-timeline__step-line\" />\n <span className=\"canopy-timeline__step-label\">{startYear}</span>\n </span>\n );\n markers.push(\n <span\n key=\"timeline-step-end\"\n className=\"canopy-timeline__step canopy-timeline__step--end\"\n style={{top: \"100%\"}}\n aria-hidden=\"true\"\n >\n <span className=\"canopy-timeline__step-line\" />\n <span className=\"canopy-timeline__step-label\">{endYear}</span>\n </span>\n );\n }\n const baseYear = Math.ceil(startYear / stepSize) * stepSize;\n for (let year = baseYear; year <= endYear; year += stepSize) {\n const timestamp = Date.UTC(year, 0, 1);\n const progress = (timestamp - range.startDate.getTime()) / range.span;\n if (progress <= 0 || progress >= 1) continue;\n markers.push(\n <span\n key={`timeline-step-${year}`}\n className=\"canopy-timeline__step\"\n style={{top: `calc(${progress * 100}% - 0.5px)`}}\n aria-hidden=\"true\"\n >\n <span className=\"canopy-timeline__step-line\" />\n <span className=\"canopy-timeline__step-label\">{year}</span>\n </span>\n );\n }\n return markers.length ? markers : null;\n}\n", "const FALLBACK_LOCALE = (() => {\n try {\n return new Intl.Locale(\"en-US\");\n } catch (_) {\n return \"en-US\";\n }\n})();\n\nexport function createLocale(localeValue) {\n if (!localeValue) return FALLBACK_LOCALE;\n if (typeof Intl !== \"undefined\" && localeValue instanceof Intl.Locale)\n return localeValue;\n try {\n return new Intl.Locale(localeValue);\n } catch (_) {\n return FALLBACK_LOCALE;\n }\n}\n\nfunction parseMonthIndex(name = \"\", locale = FALLBACK_LOCALE) {\n const localeId =\n typeof locale === \"string\" ? locale : locale && locale.baseName\n ? locale.baseName\n : \"en-US\";\n const normalized = String(name || \"\")\n .trim()\n .toLocaleLowerCase(localeId);\n if (!normalized) return 0;\n const months = [\n \"january\",\n \"february\",\n \"march\",\n \"april\",\n \"may\",\n \"june\",\n \"july\",\n \"august\",\n \"september\",\n \"october\",\n \"november\",\n \"december\",\n ];\n const idx = months.indexOf(normalized);\n return idx === -1 ? 0 : idx;\n}\n\nfunction parseStructuredInput(value) {\n if (!value || typeof value !== \"object\") return null;\n const {year, month, day} = value;\n if (!Number.isFinite(Number(year))) return null;\n const y = Number(year);\n const m = Number.isFinite(Number(month)) ? Number(month) - 1 : 0;\n const d = Number.isFinite(Number(day)) ? Number(day) : 1;\n return new Date(Date.UTC(y, Math.max(0, Math.min(11, m)), Math.max(1, Math.min(31, d))));\n}\n\nexport function createDateFromInput(value, {locale} = {}) {\n const loc = createLocale(locale);\n if (value instanceof Date) return new Date(value.getTime());\n if (Number.isFinite(Number(value))) {\n const year = Number(value);\n return new Date(Date.UTC(year, 0, 1));\n }\n if (value && typeof value === \"object\") {\n const structured = parseStructuredInput(value);\n if (structured) return structured;\n }\n const text = typeof value === \"string\" ? value.trim() : \"\";\n if (!text) return null;\n const isoYear = text.match(/^(\\d{4})$/);\n if (isoYear) {\n return new Date(Date.UTC(Number(isoYear[1]), 0, 1));\n }\n const isoYearMonth = text.match(/^(\\d{4})-(\\d{2})$/);\n if (isoYearMonth) {\n return new Date(\n Date.UTC(Number(isoYearMonth[1]), Number(isoYearMonth[2]) - 1, 1)\n );\n }\n const isoDate = text.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/);\n if (isoDate) {\n return new Date(\n Date.UTC(\n Number(isoDate[1]),\n Number(isoDate[2]) - 1,\n Number(isoDate[3])\n )\n );\n }\n const monthDayYear = text.match(/^([A-Za-z]+)\\s+(\\d{1,2})(?:,)?\\s*(\\d{4})$/);\n if (monthDayYear) {\n const month = parseMonthIndex(monthDayYear[1], loc);\n const day = Number(monthDayYear[2]);\n const year = Number(monthDayYear[3]);\n return new Date(Date.UTC(year, month, day));\n }\n const monthYear = text.match(/^([A-Za-z]+)\\s+(\\d{4})$/);\n if (monthYear) {\n const month = parseMonthIndex(monthYear[1], loc);\n const year = Number(monthYear[2]);\n return new Date(Date.UTC(year, month, 1));\n }\n const fallback = new Date(text);\n if (!Number.isNaN(fallback.getTime())) return fallback;\n const alt = new Date(Date.parse(text));\n if (!Number.isNaN(alt.getTime())) return alt;\n return null;\n}\n\nexport function formatDateLabel(date, {granularity = \"day\", locale} = {}) {\n if (!(date instanceof Date) || Number.isNaN(date.getTime())) return \"\";\n const loc = createLocale(locale);\n const baseName = typeof loc === \"string\" ? loc : loc.baseName || \"en-US\";\n const options = {year: \"numeric\"};\n if (granularity === \"month\" || granularity === \"day\") {\n options.month = \"long\";\n }\n if (granularity === \"day\") {\n options.day = \"numeric\";\n }\n options.timeZone = \"UTC\";\n try {\n const formatter = new Intl.DateTimeFormat(baseName, options);\n return formatter.format(date);\n } catch (_) {\n return date.toISOString().slice(0, 10);\n }\n}\n\nexport function normalizeRange(range = {}) {\n const {start, end, granularity = \"year\", locale} = range || {};\n const loc = createLocale(locale);\n const startDate = createDateFromInput(start || new Date(), {locale: loc}) ||\n new Date(Date.UTC(0, 0, 1));\n let endDate = createDateFromInput(end, {locale: loc});\n if (!endDate) {\n const copy = new Date(startDate.getTime());\n copy.setUTCFullYear(copy.getUTCFullYear() + 1);\n endDate = copy;\n }\n if (endDate <= startDate) {\n const nextDay = new Date(startDate.getTime());\n nextDay.setUTCDate(nextDay.getUTCDate() + 1);\n endDate = nextDay;\n }\n const span = Math.max(1, endDate - startDate);\n return {\n startDate,\n endDate,\n span,\n granularity: granularity === \"month\" || granularity === \"day\" ? granularity : \"year\",\n locale: loc,\n };\n}\n\nexport function buildPointMetadata({value, granularity, locale}) {\n const date = createDateFromInput(value, {locale});\n return {\n date,\n label: formatDateLabel(date, {granularity, locale}),\n timestamp: date ? date.getTime() : null,\n };\n}\n\nexport function clampProgress(value) {\n if (!Number.isFinite(value)) return 0;\n if (value < 0) return 0;\n if (value > 1) return 1;\n return value;\n}\n", "export default function TimelinePoint() {\n return null;\n}\n\nTimelinePoint.displayName = \"TimelinePoint\";\n", "import React from 'react';\n\nexport default function MdxSearchResults(props) {\n let json = '{}';\n try { json = JSON.stringify(props || {}); } catch (_) { json = '{}'; }\n return (\n <div data-canopy-search-results=\"1\">\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: json }} />\n </div>\n );\n}\n\n", "import React from 'react';\n\nexport default function SearchSummary(props) {\n let json = '{}';\n try { json = JSON.stringify(props || {}); } catch (_) { json = '{}'; }\n return (\n <div data-canopy-search-summary=\"1\">\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: json }} />\n </div>\n );\n}\n\n", "import React from 'react';\n\nexport default function MdxSearchTabs(props) {\n let json = '{}';\n try { json = JSON.stringify(props || {}); } catch (_) { json = '{}'; }\n return (\n <div data-canopy-search-tabs=\"1\">\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: json }} />\n </div>\n );\n}\n\n", "import React from 'react';\nimport SearchSummary from './SearchSummary.jsx';\nimport SearchTabs from './MdxSearchTabs.jsx';\nimport SearchResults from './MdxSearchResults.jsx';\n\nexport default function MdxSearch(props = {}) {\n const {\n layout,\n tabsProps = {},\n summaryProps = {},\n resultsProps = {},\n className = '',\n showTabs = true,\n showSummary = true,\n showResults = true,\n children,\n } = props || {};\n const resultsPayload =\n resultsProps && typeof resultsProps === 'object'\n ? { ...resultsProps }\n : {};\n if (typeof layout !== 'undefined' && layout !== null && !resultsPayload.layout) {\n resultsPayload.layout = layout;\n }\n const classes = ['canopy-search', className].filter(Boolean).join(' ');\n\n return (\n <section className={classes} data-canopy-search=\"1\">\n {showTabs ? <SearchTabs {...tabsProps} /> : null}\n {showSummary ? <SearchSummary {...summaryProps} /> : null}\n {showResults ? <SearchResults {...resultsPayload} /> : null}\n {children || null}\n </section>\n );\n}\n", "import React from 'react';\nimport SearchPanelForm, { resolveSearchPath } from '../search/SearchPanelForm.jsx';\nimport SearchPanelTeaserResults from '../search/SearchPanelTeaserResults.jsx';\n\n// SSR-safe placeholder for the search form modal, composed from SearchPanel parts.\n// This ensures a single JSX source of truth for form/panel markup.\nexport default function MdxSearchFormModal(props = {}) {\n const {\n placeholder = 'Search\u2026',\n hotkey = 'mod+k',\n maxResults = 8,\n groupOrder = ['work', 'page'],\n button = true, // kept for backward compat; ignored by teaser form\n buttonLabel = 'Search',\n label,\n searchPath = '/search',\n } = props || {};\n\n const text = typeof label === 'string' && label.trim() ? label.trim() : buttonLabel;\n const resolvedSearchPath = resolveSearchPath(searchPath);\n const data = { placeholder, hotkey, maxResults, groupOrder, label: text, searchPath: resolvedSearchPath };\n return (\n <div data-canopy-search-form className=\"flex-1 min-w-0\">\n <div className=\"relative w-full\">\n <SearchPanelForm placeholder={placeholder} buttonLabel={buttonLabel} label={label} searchPath={resolvedSearchPath} />\n <SearchPanelTeaserResults />\n </div>\n <script type=\"application/json\" dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }} />\n </div>\n );\n}\n", "import React from \"react\";\nimport slugify from \"slugify\";\nimport {\n Label as CloverLabel,\n Metadata as CloverMetadata,\n RequiredStatement as CloverRequiredStatement,\n Summary as CloverSummary,\n} from \"@samvera/clover-iiif/primitives\";\n\nfunction hasInternationalValue(value) {\n if (!value || typeof value !== \"object\") return false;\n return Object.keys(value).some((key) => {\n const entries = value[key];\n return (\n Array.isArray(entries) &&\n entries.some((entry) => String(entry || \"\").trim().length > 0)\n );\n });\n}\n\nfunction ensureMetadata(items) {\n if (!Array.isArray(items)) return [];\n return items.filter((item) => {\n if (!item || typeof item !== \"object\") return false;\n const { label, value } = item;\n return hasInternationalValue(label) && hasInternationalValue(value);\n });\n}\n\nfunction getFirstIntlValue(value) {\n if (!value) return \"\";\n if (typeof value === \"string\") return value;\n try {\n const keys = Object.keys(value || {});\n for (const key of keys) {\n const arr = Array.isArray(value[key]) ? value[key] : [];\n for (const entry of arr) {\n if (entry == null) continue;\n const str = typeof entry === \"string\" ? entry : String(entry);\n if (str) return str;\n }\n }\n } catch (_) {}\n return \"\";\n}\n\nfunction normalizeMetadataLabelText(label) {\n if (!label) return \"\";\n return label.trim().replace(/[:\\s]+$/g, \"\").toLowerCase();\n}\n\nfunction normalizeMetadataLabelValue(value) {\n const raw = getFirstIntlValue(value);\n if (!raw) return \"\";\n return normalizeMetadataLabelText(String(raw));\n}\n\nfunction buildFacetLabelMap(manifest) {\n const source =\n manifest && Array.isArray(manifest.__canopyMetadataFacets)\n ? manifest.__canopyMetadataFacets\n : null;\n if (!source || !source.length) return null;\n const map = new Map();\n for (const entry of source) {\n if (!entry || !entry.normalized) continue;\n map.set(entry.normalized, entry);\n }\n return map.size ? map : null;\n}\n\nconst SLUG_OPTIONS = {lower: true, strict: true, trim: true};\n\nfunction toValueSlug(value) {\n if (value == null) return \"\";\n try {\n const raw = typeof value === \"string\" ? value : String(value);\n return slugify(raw, SLUG_OPTIONS);\n } catch (_) {\n return \"\";\n }\n}\n\nfunction normalizeBasePath(value) {\n if (value == null) return \"\";\n const raw = String(value).trim();\n if (!raw) return \"\";\n const prefixed = raw.startsWith(\"/\") ? raw : `/${raw}`;\n const cleaned = prefixed.replace(/\\/+$/, \"\");\n return cleaned === \"/\" ? \"\" : cleaned;\n}\n\nlet cachedBasePath = null;\nfunction readBasePath() {\n if (cachedBasePath !== null) return cachedBasePath;\n const candidates = [];\n try {\n if (typeof window !== \"undefined\" && window.CANOPY_BASE_PATH != null) {\n candidates.push(window.CANOPY_BASE_PATH);\n }\n } catch (_) {}\n try {\n if (\n typeof globalThis !== \"undefined\" &&\n globalThis.CANOPY_BASE_PATH != null\n ) {\n candidates.push(globalThis.CANOPY_BASE_PATH);\n }\n } catch (_) {}\n try {\n if (typeof process !== \"undefined\" && process.env) {\n candidates.push(process.env.CANOPY_BASE_PATH);\n }\n } catch (_) {}\n for (const candidate of candidates) {\n const normalized = normalizeBasePath(candidate);\n if (normalized) {\n cachedBasePath = normalized;\n return cachedBasePath;\n }\n }\n cachedBasePath = \"\";\n return cachedBasePath;\n}\n\nfunction withBasePath(href) {\n try {\n const raw = typeof href === \"string\" ? href.trim() : \"\";\n if (!raw) return href;\n if (/^(?:[a-z][a-z0-9+.-]*:|\\/\\/|#)/i.test(raw)) return raw;\n if (!raw.startsWith(\"/\")) return raw;\n const base = readBasePath();\n if (!base) return raw;\n if (raw === base || raw.startsWith(`${base}/`)) return raw;\n return `${base}${raw}`;\n } catch (_) {\n return href;\n }\n}\n\nfunction buildFacetSearchHref(labelSlug, valueSlug) {\n if (!labelSlug || !valueSlug) return \"\";\n try {\n const params = new URLSearchParams();\n params.set(\"type\", \"work\");\n params.set(labelSlug, valueSlug);\n const path = `/search?${params.toString()}`;\n return withBasePath(path);\n } catch (_) {\n return \"\";\n }\n}\n\nfunction MetadataFacetLink(props) {\n const {value, facetSlug} = props;\n const text = value == null ? \"\" : String(value);\n if (!text) return null;\n const valueSlug = facetSlug ? toValueSlug(text) : \"\";\n const href = facetSlug && valueSlug ? buildFacetSearchHref(facetSlug, valueSlug) : \"\";\n if (!href) return text;\n return (\n <a\n href={href}\n data-canopy-facet-link=\"\"\n data-facet-label={facetSlug}\n data-facet-value={valueSlug}\n >\n {text}\n </a>\n );\n}\n\nfunction buildFacetCustomValueContent(items, manifest) {\n if (!Array.isArray(items) || !items.length || !manifest) return [];\n const facetMap = buildFacetLabelMap(manifest);\n if (!facetMap) return [];\n const seen = new Set();\n const custom = [];\n for (const item of items) {\n if (!item || !item.label) continue;\n const normalized = normalizeMetadataLabelValue(item.label);\n if (!normalized || seen.has(normalized)) continue;\n if (!facetMap.has(normalized)) continue;\n const facet = facetMap.get(normalized);\n seen.add(normalized);\n custom.push({\n matchingLabel: item.label,\n Content: <MetadataFacetLink facetSlug={facet.slug} />,\n });\n }\n return custom;\n}\n\nfunction normalizeMatchingLabel(label) {\n if (!label) return \"\";\n return normalizeMetadataLabelValue(label);\n}\n\nfunction mergeCustomValueContent(userContent, autoContent) {\n const merged = [];\n const seen = new Set();\n const addEntry = (entry, track = false) => {\n if (!entry || !entry.matchingLabel || !entry.Content) return;\n merged.push(entry);\n if (!track) return;\n const normalized = normalizeMatchingLabel(entry.matchingLabel);\n if (normalized) seen.add(normalized);\n };\n const userList = Array.isArray(userContent) ? userContent : [];\n userList.forEach((entry) => addEntry(entry, true));\n const autoList = Array.isArray(autoContent) ? autoContent : [];\n autoList.forEach((entry) => {\n const normalized = normalizeMatchingLabel(entry.matchingLabel);\n if (normalized && seen.has(normalized)) return;\n addEntry(entry, false);\n });\n return merged.length ? merged : undefined;\n}\n\nexport function Label({ manifest, label, ...rest }) {\n const intl = label || (manifest && manifest.label);\n if (!hasInternationalValue(intl)) return null;\n return <CloverLabel label={intl} {...rest} />;\n}\n\nexport function Summary({ manifest, summary, ...rest }) {\n const intl = summary || (manifest && manifest.summary);\n if (!hasInternationalValue(intl)) return null;\n return <CloverSummary summary={intl} {...rest} />;\n}\n\nexport function Metadata({ manifest, metadata, customValueContent, ...rest }) {\n const items = ensureMetadata(metadata || (manifest && manifest.metadata));\n if (!items.length) return null;\n const autoCustomContent = buildFacetCustomValueContent(items, manifest);\n const mergedCustomContent = mergeCustomValueContent(\n customValueContent,\n autoCustomContent\n );\n return (\n <CloverMetadata\n metadata={items}\n customValueContent={mergedCustomContent}\n {...rest}\n />\n );\n}\n\nexport function RequiredStatement({ manifest, requiredStatement, ...rest }) {\n const stmt = requiredStatement || (manifest && manifest.requiredStatement);\n if (\n !stmt ||\n !hasInternationalValue(stmt.label) ||\n !hasInternationalValue(stmt.value)\n ) {\n return null;\n }\n return <CloverRequiredStatement requiredStatement={stmt} {...rest} />;\n}\n\nexport const Primitives = {\n Label,\n Summary,\n Metadata,\n RequiredStatement,\n};\n\nexport default Primitives;\n", "import React from \"react\";\n\nfunction parseHighlightAttr(attr) {\n if (!attr) return new Set();\n const cleaned = String(attr || \"\").trim();\n if (!cleaned) return new Set();\n const segments = cleaned\n .split(\",\")\n .map((segment) => segment.trim())\n .filter(Boolean);\n const lines = new Set();\n for (const segment of segments) {\n if (!segment) continue;\n if (/^\\d+-\\d+$/.test(segment)) {\n const [startRaw, endRaw] = segment.split(\"-\");\n const start = Number(startRaw);\n const end = Number(endRaw);\n if (Number.isFinite(start) && Number.isFinite(end) && end >= start) {\n for (let i = start; i <= end; i += 1) {\n lines.add(i);\n }\n }\n } else if (/^\\d+$/.test(segment)) {\n const value = Number(segment);\n if (Number.isFinite(value)) lines.add(value);\n }\n }\n return lines;\n}\n\nfunction normaliseCode(children) {\n if (children == null) return \"\";\n if (typeof children === \"string\") return children;\n if (Array.isArray(children)) {\n return children\n .map((child) => (typeof child === \"string\" ? child : \"\"))\n .join(\"\");\n }\n if (typeof children === \"object\" && typeof children.toString === \"function\") {\n return children.toString();\n }\n return \"\";\n}\n\nconst baseLineStyle = {\n display: \"block\",\n padding: \"0.125rem 1.25rem\",\n boxSizing: \"border-box\",\n};\n\nconst highlightBaseStyle = {\n background:\n \"linear-gradient(to right, var(--color-accent-200, #bfdbfe), var(--color-accent-100, #bfdbfe))\",\n};\n\nexport default function DocsCodeBlock(props = {}) {\n const {children, ...rest} = props;\n const childArray = React.Children.toArray(children);\n const codeElement = childArray.find((el) => React.isValidElement(el));\n if (!codeElement || !codeElement.props) {\n return React.createElement(\"pre\", props);\n }\n\n const {\n className = \"\",\n children: codeChildren,\n ...codeProps\n } = codeElement.props;\n const rawCode = normaliseCode(codeChildren);\n const trimmedCode = rawCode.endsWith(\"\\n\") ? rawCode.slice(0, -1) : rawCode;\n const lines = trimmedCode.split(\"\\n\");\n const filename = codeProps[\"data-filename\"] || \"\";\n const highlightAttr = codeProps[\"data-highlight\"] || \"\";\n const highlightSet = parseHighlightAttr(highlightAttr);\n const copyAttr = codeProps[\"data-copy\"];\n const enableCopy =\n copyAttr !== undefined\n ? copyAttr === true || copyAttr === \"true\" || copyAttr === \"\"\n : false;\n\n const [copied, setCopied] = React.useState(false);\n\n const handleCopy = React.useCallback(async () => {\n const text = rawCode;\n try {\n if (\n typeof navigator !== \"undefined\" &&\n navigator.clipboard &&\n navigator.clipboard.writeText\n ) {\n await navigator.clipboard.writeText(text);\n } else {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.setAttribute(\"readonly\", \"\");\n textarea.style.position = \"absolute\";\n textarea.style.left = \"-9999px\";\n document.body.appendChild(textarea);\n textarea.select();\n document.execCommand(\"copy\");\n document.body.removeChild(textarea);\n }\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n } catch (_) {\n setCopied(false);\n }\n }, [rawCode]);\n\n const containerStyle = {\n borderRadius: \"12px\",\n overflow: \"hidden\",\n margin: \"1.5rem 0\",\n background: \"var(--color-accent-100)\",\n fontFamily: \"var(--font-mono)\",\n fontSize: \"0.8333rem\",\n };\n\n const headerStyle = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem 1.25rem\",\n fontWeight: 700,\n background: \"var(--color-accent-100)\",\n borderBottom: \"1px solid var(--color-accent-200)\",\n color: \"var(--color-accent-900)\",\n };\n\n const preStyle = {\n margin: 0,\n background: \"var(--color-accent-100)\",\n color: \"var(--color-accent-700)\",\n lineHeight: 1.55,\n padding: \"1rem 0\",\n overflowX: \"auto\",\n };\n\n const codeStyle = {\n display: \"block\",\n padding: 0,\n };\n\n const lineContentStyle = {\n whiteSpace: \"pre\",\n display: \"inline\",\n };\n\n const showFilename = Boolean(filename);\n const showHeader = showFilename || enableCopy;\n\n const {style: preStyleOverride, className: preClassName, ...preRest} = rest;\n const mergedPreStyle = Object.assign({}, preStyle, preStyleOverride || {});\n\n const lineElements = lines.map((line, index) => {\n const lineNumber = index + 1;\n const highlight = highlightSet.has(lineNumber);\n const style = highlight\n ? {...baseLineStyle, ...highlightBaseStyle}\n : baseLineStyle;\n const displayLine = line === \"\" ? \" \" : line;\n return React.createElement(\n \"span\",\n {key: lineNumber, style},\n React.createElement(\"span\", {style: lineContentStyle}, displayLine)\n );\n });\n\n return React.createElement(\n \"div\",\n {style: containerStyle},\n showHeader\n ? React.createElement(\n \"div\",\n {style: headerStyle},\n React.createElement(\"span\", null, showFilename ? filename : null),\n enableCopy\n ? React.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleCopy,\n style: {\n border: \"1px solid var(--color-accent-300, #bfdbfe)\",\n borderRadius: \"6px\",\n padding: \"0.2rem 0.55rem\",\n fontSize: \"0.7rem\",\n fontWeight: 500,\n background:\n \"color-mix(in srgb, var(--color-accent-100, #e0f2ff) 55%, #ffffff)\",\n color: \"var(--color-accent-700, #1d4ed8)\",\n cursor: \"pointer\",\n },\n },\n copied ? \"Copied\" : \"Copy\"\n )\n : null\n )\n : null,\n React.createElement(\n \"pre\",\n {...preRest, className: preClassName, style: mergedPreStyle},\n React.createElement(\"code\", {style: codeStyle}, lineElements)\n )\n );\n}\n", "import React from 'react';\n\nexport default function MarkdownTable({ className = '', ...rest }) {\n const merged = ['markdown-table', className].filter(Boolean).join(' ');\n return (\n <div className=\"markdown-table__frame\">\n <table className={merged} {...rest} />\n </div>\n );\n}\n", "import React from \"react\";\n\nexport function CanopyDiagram() {\n return (\n <div className=\"canopy-diagram\">\n <section className=\"canopy-diagram__section canopy-diagram__section--collections\">\n <h3>IIIF Collection(s)</h3>\n <span className=\"canopy-diagram__section-summary\">\n Source collections contribute 105 total manifests that Canopy\n retrieves as-is via IIIF endpoints.\n </span>\n <div className=\"canopy-diagram__grid\">\n <article>\n <h4>Collection A</h4>\n <ul>\n <li>70 Manifests</li>\n <li>IIIF Images + A/V</li>\n <li>Textual Annotations</li>\n </ul>\n </article>\n <article>\n <h4>Collection B</h4>\n <ul>\n <li>35 Manifests</li>\n <li>IIIF Images + A/V</li>\n <li>Textual Annotations</li>\n </ul>\n </article>\n </div>\n </section>\n\n <div className=\"canopy-diagram__arrow\" aria-hidden=\"true\">\n <span className=\"canopy-diagram__arrow-line\" />\n <span className=\"canopy-diagram__arrow-head\" />\n </div>\n\n <section className=\"canopy-diagram__section canopy-diagram__section--build\">\n <h3>Canopy Build Process</h3>\n <span className=\"canopy-diagram__section-summary\">\n Canopy syncs manifests, page content, and annotations before bundling\n the site.\n </span>\n <div className=\"canopy-diagram__grid\">\n <article>\n <h4>Automated content</h4>\n <ul>\n <li>105 manifests \u2192 105 work pages</li>\n <li>One page per manifest</li>\n <li>Customize page layout</li>\n </ul>\n </article>\n <article>\n <h4>Contextual content</h4>\n <ul>\n <li>Markdown & MDX pages</li>\n <li>Author narratives & tours</li>\n <li>Reference manifests inline</li>\n </ul>\n </article>\n <article>\n <h4>Search index</h4>\n <ul>\n <li>Combines works + pages</li>\n <li>Customize result layout</li>\n <li>Optional annotations</li>\n </ul>\n </article>\n </div>\n </section>\n\n <div className=\"canopy-diagram__arrow\" aria-hidden=\"true\">\n <span className=\"canopy-diagram__arrow-line\" />\n <span className=\"canopy-diagram__arrow-head\" />\n </div>\n\n <section className=\"canopy-diagram__section canopy-diagram__section--output\">\n <h3>Static Digital Project</h3>\n <span className=\"canopy-diagram__section-summary\">\n The output is a lightweight bundle of HTML, CSS, JS, and JSON assets\n that can deploy anywhere.\n </span>\n <div className=\"canopy-diagram__grid\">\n <article>\n <h4>Work pages</h4>\n <ul>\n <li>105 generated HTML pages</li>\n <li>Each links back to source manifests</li>\n <li>Styled with Canopy components</li>\n </ul>\n </article>\n <article>\n <h4>Custom pages</h4>\n <ul>\n <li>Markdown & MDX-authored content</li>\n <li>Reusable layouts for narratives</li>\n <li>Embed IIIF media & interstitials</li>\n </ul>\n </article>\n <article>\n <h4>Search bundle</h4>\n <ul>\n <li>Static FlexSearch index</li>\n <li>Works + pages share records</li>\n <li>Optional annotation dataset</li>\n </ul>\n </article>\n </div>\n </section>\n </div>\n );\n}\n", "import React from \"react\";\nimport * as radixColors from \"@radix-ui/colors\";\n\nconst COLOR_SCALES = [\n {label: \"Accent\", prefix: \"--color-accent\"},\n {label: \"Gray\", prefix: \"--color-gray\"},\n];\n\nconst COLOR_STOPS = [\n \"50\",\n \"100\",\n \"200\",\n \"300\",\n \"400\",\n \"500\",\n \"600\",\n \"700\",\n \"800\",\n \"900\",\n];\n\nconst ACCENT_COLOR_NAMES = [\n \"gray\",\n \"gold\",\n \"bronze\",\n \"brown\",\n \"yellow\",\n \"amber\",\n \"orange\",\n \"tomato\",\n \"red\",\n \"ruby\",\n \"crimson\",\n \"pink\",\n \"plum\",\n \"purple\",\n \"violet\",\n \"iris\",\n \"indigo\",\n \"blue\",\n \"cyan\",\n \"teal\",\n \"jade\",\n \"green\",\n \"grass\",\n \"lime\",\n \"mint\",\n \"sky\",\n];\n\nconst GRAY_COLOR_NAMES = [\"gray\", \"mauve\", \"slate\", \"sage\", \"olive\", \"sand\"];\n\nconst Section = ({title, description, children}) => (\n <div className=\"canopy-theme-showcase__section\">\n <h3 className=\"canopy-theme-showcase__section-title\">{title}</h3>\n {description ? (\n <p className=\"canopy-theme-showcase__section-description\">\n {description}\n </p>\n ) : null}\n {children}\n </div>\n);\n\nconst ColorScaleRow = ({label, prefix}) => (\n <div className=\"canopy-theme-showcase__scale-row\">\n <div className=\"canopy-theme-showcase__scale-label\">\n <strong>{label}</strong>\n </div>\n <div className=\"canopy-theme-showcase__scale-track\">\n {COLOR_STOPS.map((stop) => (\n <div\n key={`${label}-${stop}`}\n className=\"canopy-theme-showcase__scale-stop\"\n >\n <span\n className=\"canopy-theme-showcase__scale-chip\"\n style={{backgroundColor: `var(${prefix}-${stop})`}}\n />\n <span className=\"canopy-theme-showcase__scale-token\">{stop}</span>\n </div>\n ))}\n </div>\n </div>\n);\n\nexport default function ThemeShowcase() {\n const accentColors = ACCENT_COLOR_NAMES;\n const grayColors = GRAY_COLOR_NAMES;\n\n const getRadixSwatch = (name) => {\n if (!name) return null;\n const scale = radixColors[name];\n if (!scale) return null;\n return scale[`${name}9`] || Object.values(scale)[8];\n };\n\n const ColorsLabeled = ({colors}) => (\n <div className=\"canopy-theme-showcase__swatch-grid\">\n {colors.map((name) => {\n const colorValue = getRadixSwatch(name);\n return (\n <div key={name} className=\"canopy-theme-showcase__swatch\">\n <div\n className=\"canopy-theme-showcase__swatch-chip\"\n style={{background: colorValue || \"var(--color-gray-200)\"}}\n />\n <div className=\"canopy-theme-showcase__swatch-label\">{name}</div>\n </div>\n );\n })}\n </div>\n );\n\n const styles = `\n .canopy-theme-showcase__section {\n margin: 2.618rem 0;\n }\n .canopy-theme-showcase__section:last-of-type {\n margin-bottom: 0;\n }\n .canopy-theme-showcase__section-title {\n margin: 0 0 0.382rem;\n font-size: 1.382rem;\n }\n .canopy-theme-showcase__section-description {\n margin: 0 0 1rem;\n color: var(--color-gray-muted);\n line-height: 1.5;\n }\n .canopy-theme-showcase__scale-group {\n display: flex;\n flex-direction: column;\n gap: 1.618rem;\n }\n .canopy-theme-showcase__scale-row {\n display: flex;\n gap: 1rem;\n align-items: center;\n flex-wrap: wrap;\n }\n .canopy-theme-showcase__scale-label {\n min-width: 90px;\n font-size: 0.9222rem;\n }\n .canopy-theme-showcase__scale-track {\n display: flex;\n flex: 1;\n overflow: auto;\n }\n .canopy-theme-showcase__scale-stop {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.382rem;\n overflow: hidden;\n\n &:first-child {\n .canopy-theme-showcase__scale-chip {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n }\n }\n\n &:last-child {\n .canopy-theme-showcase__scale-chip {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n }\n }\n }\n .canopy-theme-showcase__scale-chip {\n display: block;\n width: 100%;\n min-height: 2.618rem;\n }\n .canopy-theme-showcase__scale-token {\n font-size: 0.8333rem;\n }\n .canopy-theme-showcase__swatch-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 1rem;\n }\n .canopy-theme-showcase__swatch-chip {\n width: 4.236rem;\n height: 2.618rem;\n border-radius: 3px;\n }\n .canopy-theme-showcase__swatch-label {\n font-size: 0.8333rem;\n margin-top: 0.382rem;\n font-weight: 300;\n }\n `;\n\n return (\n <div className=\"canopy-theme-showcase\">\n <style dangerouslySetInnerHTML={{__html: styles}} />\n <Section\n title=\"Color scales\"\n description=\"Accent and gray ramps from the active theme.\"\n >\n <div style={{display: \"flex\", flexDirection: \"column\", gap: \"1.5rem\"}}>\n {COLOR_SCALES.map((scale) => (\n <ColorScaleRow\n key={scale.label}\n label={scale.label}\n prefix={scale.prefix}\n />\n ))}\n </div>\n </Section>\n <Section\n title=\"Accent color palette options\"\n description=\"Primary color steps used for buttons, links, and highlights.\"\n >\n <ColorsLabeled colors={accentColors} />\n </Section>\n <Section\n title=\"Gray color palette options\"\n description=\"Neutral color steps used for backgrounds, borders, and text.\"\n >\n <ColorsLabeled colors={grayColors} />\n </Section>\n </div>\n );\n}\n", "const grayDark = {\n gray1: \"#111111\",\n gray2: \"#191919\",\n gray3: \"#222222\",\n gray4: \"#2a2a2a\",\n gray5: \"#313131\",\n gray6: \"#3a3a3a\",\n gray7: \"#484848\",\n gray8: \"#606060\",\n gray9: \"#6e6e6e\",\n gray10: \"#7b7b7b\",\n gray11: \"#b4b4b4\",\n gray12: \"#eeeeee\",\n};\nconst grayDarkA = {\n grayA1: \"#00000000\",\n grayA2: \"#ffffff09\",\n grayA3: \"#ffffff12\",\n grayA4: \"#ffffff1b\",\n grayA5: \"#ffffff22\",\n grayA6: \"#ffffff2c\",\n grayA7: \"#ffffff3b\",\n grayA8: \"#ffffff55\",\n grayA9: \"#ffffff64\",\n grayA10: \"#ffffff72\",\n grayA11: \"#ffffffaf\",\n grayA12: \"#ffffffed\",\n};\nconst grayDarkP3 = {\n gray1: \"color(display-p3 0.067 0.067 0.067)\",\n gray2: \"color(display-p3 0.098 0.098 0.098)\",\n gray3: \"color(display-p3 0.135 0.135 0.135)\",\n gray4: \"color(display-p3 0.163 0.163 0.163)\",\n gray5: \"color(display-p3 0.192 0.192 0.192)\",\n gray6: \"color(display-p3 0.228 0.228 0.228)\",\n gray7: \"color(display-p3 0.283 0.283 0.283)\",\n gray8: \"color(display-p3 0.375 0.375 0.375)\",\n gray9: \"color(display-p3 0.431 0.431 0.431)\",\n gray10: \"color(display-p3 0.484 0.484 0.484)\",\n gray11: \"color(display-p3 0.706 0.706 0.706)\",\n gray12: \"color(display-p3 0.933 0.933 0.933)\",\n};\nconst grayDarkP3A = {\n grayA1: \"color(display-p3 0 0 0 / 0)\",\n grayA2: \"color(display-p3 1 1 1 / 0.034)\",\n grayA3: \"color(display-p3 1 1 1 / 0.071)\",\n grayA4: \"color(display-p3 1 1 1 / 0.105)\",\n grayA5: \"color(display-p3 1 1 1 / 0.134)\",\n grayA6: \"color(display-p3 1 1 1 / 0.172)\",\n grayA7: \"color(display-p3 1 1 1 / 0.231)\",\n grayA8: \"color(display-p3 1 1 1 / 0.332)\",\n grayA9: \"color(display-p3 1 1 1 / 0.391)\",\n grayA10: \"color(display-p3 1 1 1 / 0.445)\",\n grayA11: \"color(display-p3 1 1 1 / 0.685)\",\n grayA12: \"color(display-p3 1 1 1 / 0.929)\",\n};\nconst mauveDark = {\n mauve1: \"#121113\",\n mauve2: \"#1a191b\",\n mauve3: \"#232225\",\n mauve4: \"#2b292d\",\n mauve5: \"#323035\",\n mauve6: \"#3c393f\",\n mauve7: \"#49474e\",\n mauve8: \"#625f69\",\n mauve9: \"#6f6d78\",\n mauve10: \"#7c7a85\",\n mauve11: \"#b5b2bc\",\n mauve12: \"#eeeef0\",\n};\nconst mauveDarkA = {\n mauveA1: \"#00000000\",\n mauveA2: \"#f5f4f609\",\n mauveA3: \"#ebeaf814\",\n mauveA4: \"#eee5f81d\",\n mauveA5: \"#efe6fe25\",\n mauveA6: \"#f1e6fd30\",\n mauveA7: \"#eee9ff40\",\n mauveA8: \"#eee7ff5d\",\n mauveA9: \"#eae6fd6e\",\n mauveA10: \"#ece9fd7c\",\n mauveA11: \"#f5f1ffb7\",\n mauveA12: \"#fdfdffef\",\n};\nconst mauveDarkP3 = {\n mauve1: \"color(display-p3 0.07 0.067 0.074)\",\n mauve2: \"color(display-p3 0.101 0.098 0.105)\",\n mauve3: \"color(display-p3 0.138 0.134 0.144)\",\n mauve4: \"color(display-p3 0.167 0.161 0.175)\",\n mauve5: \"color(display-p3 0.196 0.189 0.206)\",\n mauve6: \"color(display-p3 0.232 0.225 0.245)\",\n mauve7: \"color(display-p3 0.286 0.277 0.302)\",\n mauve8: \"color(display-p3 0.383 0.373 0.408)\",\n mauve9: \"color(display-p3 0.434 0.428 0.467)\",\n mauve10: \"color(display-p3 0.487 0.48 0.519)\",\n mauve11: \"color(display-p3 0.707 0.7 0.735)\",\n mauve12: \"color(display-p3 0.933 0.933 0.94)\",\n};\nconst mauveDarkP3A = {\n mauveA1: \"color(display-p3 0 0 0 / 0)\",\n mauveA2: \"color(display-p3 0.996 0.992 1 / 0.034)\",\n mauveA3: \"color(display-p3 0.937 0.933 0.992 / 0.077)\",\n mauveA4: \"color(display-p3 0.957 0.918 0.996 / 0.111)\",\n mauveA5: \"color(display-p3 0.937 0.906 0.996 / 0.145)\",\n mauveA6: \"color(display-p3 0.953 0.925 0.996 / 0.183)\",\n mauveA7: \"color(display-p3 0.945 0.929 1 / 0.246)\",\n mauveA8: \"color(display-p3 0.937 0.918 1 / 0.361)\",\n mauveA9: \"color(display-p3 0.933 0.918 1 / 0.424)\",\n mauveA10: \"color(display-p3 0.941 0.925 1 / 0.479)\",\n mauveA11: \"color(display-p3 0.965 0.961 1 / 0.712)\",\n mauveA12: \"color(display-p3 0.992 0.992 1 / 0.937)\",\n};\nconst slateDark = {\n slate1: \"#111113\",\n slate2: \"#18191b\",\n slate3: \"#212225\",\n slate4: \"#272a2d\",\n slate5: \"#2e3135\",\n slate6: \"#363a3f\",\n slate7: \"#43484e\",\n slate8: \"#5a6169\",\n slate9: \"#696e77\",\n slate10: \"#777b84\",\n slate11: \"#b0b4ba\",\n slate12: \"#edeef0\",\n};\nconst slateDarkA = {\n slateA1: \"#00000000\",\n slateA2: \"#d8f4f609\",\n slateA3: \"#ddeaf814\",\n slateA4: \"#d3edf81d\",\n slateA5: \"#d9edfe25\",\n slateA6: \"#d6ebfd30\",\n slateA7: \"#d9edff40\",\n slateA8: \"#d9edff5d\",\n slateA9: \"#dfebfd6d\",\n slateA10: \"#e5edfd7b\",\n slateA11: \"#f1f7feb5\",\n slateA12: \"#fcfdffef\",\n};\nconst slateDarkP3 = {\n slate1: \"color(display-p3 0.067 0.067 0.074)\",\n slate2: \"color(display-p3 0.095 0.098 0.105)\",\n slate3: \"color(display-p3 0.13 0.135 0.145)\",\n slate4: \"color(display-p3 0.156 0.163 0.176)\",\n slate5: \"color(display-p3 0.183 0.191 0.206)\",\n slate6: \"color(display-p3 0.215 0.226 0.244)\",\n slate7: \"color(display-p3 0.265 0.28 0.302)\",\n slate8: \"color(display-p3 0.357 0.381 0.409)\",\n slate9: \"color(display-p3 0.415 0.431 0.463)\",\n slate10: \"color(display-p3 0.469 0.483 0.514)\",\n slate11: \"color(display-p3 0.692 0.704 0.728)\",\n slate12: \"color(display-p3 0.93 0.933 0.94)\",\n};\nconst slateDarkP3A = {\n slateA1: \"color(display-p3 0 0 0 / 0)\",\n slateA2: \"color(display-p3 0.875 0.992 1 / 0.034)\",\n slateA3: \"color(display-p3 0.882 0.933 0.992 / 0.077)\",\n slateA4: \"color(display-p3 0.882 0.953 0.996 / 0.111)\",\n slateA5: \"color(display-p3 0.878 0.929 0.996 / 0.145)\",\n slateA6: \"color(display-p3 0.882 0.949 0.996 / 0.183)\",\n slateA7: \"color(display-p3 0.882 0.929 1 / 0.246)\",\n slateA8: \"color(display-p3 0.871 0.937 1 / 0.361)\",\n slateA9: \"color(display-p3 0.898 0.937 1 / 0.42)\",\n slateA10: \"color(display-p3 0.918 0.945 1 / 0.475)\",\n slateA11: \"color(display-p3 0.949 0.969 0.996 / 0.708)\",\n slateA12: \"color(display-p3 0.988 0.992 1 / 0.937)\",\n};\nconst sageDark = {\n sage1: \"#101211\",\n sage2: \"#171918\",\n sage3: \"#202221\",\n sage4: \"#272a29\",\n sage5: \"#2e3130\",\n sage6: \"#373b39\",\n sage7: \"#444947\",\n sage8: \"#5b625f\",\n sage9: \"#63706b\",\n sage10: \"#717d79\",\n sage11: \"#adb5b2\",\n sage12: \"#eceeed\",\n};\nconst sageDarkA = {\n sageA1: \"#00000000\",\n sageA2: \"#f0f2f108\",\n sageA3: \"#f3f5f412\",\n sageA4: \"#f2fefd1a\",\n sageA5: \"#f1fbfa22\",\n sageA6: \"#edfbf42d\",\n sageA7: \"#edfcf73c\",\n sageA8: \"#ebfdf657\",\n sageA9: \"#dffdf266\",\n sageA10: \"#e5fdf674\",\n sageA11: \"#f4fefbb0\",\n sageA12: \"#fdfffeed\",\n};\nconst sageDarkP3 = {\n sage1: \"color(display-p3 0.064 0.07 0.067)\",\n sage2: \"color(display-p3 0.092 0.098 0.094)\",\n sage3: \"color(display-p3 0.128 0.135 0.131)\",\n sage4: \"color(display-p3 0.155 0.164 0.159)\",\n sage5: \"color(display-p3 0.183 0.193 0.188)\",\n sage6: \"color(display-p3 0.218 0.23 0.224)\",\n sage7: \"color(display-p3 0.269 0.285 0.277)\",\n sage8: \"color(display-p3 0.362 0.382 0.373)\",\n sage9: \"color(display-p3 0.398 0.438 0.421)\",\n sage10: \"color(display-p3 0.453 0.49 0.474)\",\n sage11: \"color(display-p3 0.685 0.709 0.697)\",\n sage12: \"color(display-p3 0.927 0.933 0.93)\",\n};\nconst sageDarkP3A = {\n sageA1: \"color(display-p3 0 0 0 / 0)\",\n sageA2: \"color(display-p3 0.976 0.988 0.984 / 0.03)\",\n sageA3: \"color(display-p3 0.992 0.945 0.941 / 0.072)\",\n sageA4: \"color(display-p3 0.988 0.996 0.992 / 0.102)\",\n sageA5: \"color(display-p3 0.992 1 0.996 / 0.131)\",\n sageA6: \"color(display-p3 0.973 1 0.976 / 0.173)\",\n sageA7: \"color(display-p3 0.957 1 0.976 / 0.233)\",\n sageA8: \"color(display-p3 0.957 1 0.984 / 0.334)\",\n sageA9: \"color(display-p3 0.902 1 0.957 / 0.397)\",\n sageA10: \"color(display-p3 0.929 1 0.973 / 0.452)\",\n sageA11: \"color(display-p3 0.969 1 0.988 / 0.688)\",\n sageA12: \"color(display-p3 0.992 1 0.996 / 0.929)\",\n};\nconst oliveDark = {\n olive1: \"#111210\",\n olive2: \"#181917\",\n olive3: \"#212220\",\n olive4: \"#282a27\",\n olive5: \"#2f312e\",\n olive6: \"#383a36\",\n olive7: \"#454843\",\n olive8: \"#5c625b\",\n olive9: \"#687066\",\n olive10: \"#767d74\",\n olive11: \"#afb5ad\",\n olive12: \"#eceeec\",\n};\nconst oliveDarkA = {\n oliveA1: \"#00000000\",\n oliveA2: \"#f1f2f008\",\n oliveA3: \"#f4f5f312\",\n oliveA4: \"#f3fef21a\",\n oliveA5: \"#f2fbf122\",\n oliveA6: \"#f4faed2c\",\n oliveA7: \"#f2fced3b\",\n oliveA8: \"#edfdeb57\",\n oliveA9: \"#ebfde766\",\n oliveA10: \"#f0fdec74\",\n oliveA11: \"#f6fef4b0\",\n oliveA12: \"#fdfffded\",\n};\nconst oliveDarkP3 = {\n olive1: \"color(display-p3 0.067 0.07 0.063)\",\n olive2: \"color(display-p3 0.095 0.098 0.091)\",\n olive3: \"color(display-p3 0.131 0.135 0.126)\",\n olive4: \"color(display-p3 0.158 0.163 0.153)\",\n olive5: \"color(display-p3 0.186 0.192 0.18)\",\n olive6: \"color(display-p3 0.221 0.229 0.215)\",\n olive7: \"color(display-p3 0.273 0.284 0.266)\",\n olive8: \"color(display-p3 0.365 0.382 0.359)\",\n olive9: \"color(display-p3 0.414 0.438 0.404)\",\n olive10: \"color(display-p3 0.467 0.49 0.458)\",\n olive11: \"color(display-p3 0.69 0.709 0.682)\",\n olive12: \"color(display-p3 0.927 0.933 0.926)\",\n};\nconst oliveDarkP3A = {\n oliveA1: \"color(display-p3 0 0 0 / 0)\",\n oliveA2: \"color(display-p3 0.984 0.988 0.976 / 0.03)\",\n oliveA3: \"color(display-p3 0.992 0.996 0.988 / 0.068)\",\n oliveA4: \"color(display-p3 0.953 0.996 0.949 / 0.102)\",\n oliveA5: \"color(display-p3 0.969 1 0.965 / 0.131)\",\n oliveA6: \"color(display-p3 0.973 1 0.969 / 0.169)\",\n oliveA7: \"color(display-p3 0.98 1 0.961 / 0.228)\",\n oliveA8: \"color(display-p3 0.961 1 0.957 / 0.334)\",\n oliveA9: \"color(display-p3 0.949 1 0.922 / 0.397)\",\n oliveA10: \"color(display-p3 0.953 1 0.941 / 0.452)\",\n oliveA11: \"color(display-p3 0.976 1 0.965 / 0.688)\",\n oliveA12: \"color(display-p3 0.992 1 0.992 / 0.929)\",\n};\nconst sandDark = {\n sand1: \"#111110\",\n sand2: \"#191918\",\n sand3: \"#222221\",\n sand4: \"#2a2a28\",\n sand5: \"#31312e\",\n sand6: \"#3b3a37\",\n sand7: \"#494844\",\n sand8: \"#62605b\",\n sand9: \"#6f6d66\",\n sand10: \"#7c7b74\",\n sand11: \"#b5b3ad\",\n sand12: \"#eeeeec\",\n};\nconst sandDarkA = {\n sandA1: \"#00000000\",\n sandA2: \"#f4f4f309\",\n sandA3: \"#f6f6f513\",\n sandA4: \"#fefef31b\",\n sandA5: \"#fbfbeb23\",\n sandA6: \"#fffaed2d\",\n sandA7: \"#fffbed3c\",\n sandA8: \"#fff9eb57\",\n sandA9: \"#fffae965\",\n sandA10: \"#fffdee73\",\n sandA11: \"#fffcf4b0\",\n sandA12: \"#fffffded\",\n};\nconst sandDarkP3 = {\n sand1: \"color(display-p3 0.067 0.067 0.063)\",\n sand2: \"color(display-p3 0.098 0.098 0.094)\",\n sand3: \"color(display-p3 0.135 0.135 0.129)\",\n sand4: \"color(display-p3 0.164 0.163 0.156)\",\n sand5: \"color(display-p3 0.193 0.192 0.183)\",\n sand6: \"color(display-p3 0.23 0.229 0.217)\",\n sand7: \"color(display-p3 0.285 0.282 0.267)\",\n sand8: \"color(display-p3 0.384 0.378 0.357)\",\n sand9: \"color(display-p3 0.434 0.428 0.403)\",\n sand10: \"color(display-p3 0.487 0.481 0.456)\",\n sand11: \"color(display-p3 0.707 0.703 0.68)\",\n sand12: \"color(display-p3 0.933 0.933 0.926)\",\n};\nconst sandDarkP3A = {\n sandA1: \"color(display-p3 0 0 0 / 0)\",\n sandA2: \"color(display-p3 0.992 0.992 0.988 / 0.034)\",\n sandA3: \"color(display-p3 0.996 0.996 0.992 / 0.072)\",\n sandA4: \"color(display-p3 0.992 0.992 0.953 / 0.106)\",\n sandA5: \"color(display-p3 1 1 0.965 / 0.135)\",\n sandA6: \"color(display-p3 1 0.976 0.929 / 0.177)\",\n sandA7: \"color(display-p3 1 0.984 0.929 / 0.236)\",\n sandA8: \"color(display-p3 1 0.976 0.925 / 0.341)\",\n sandA9: \"color(display-p3 1 0.98 0.925 / 0.395)\",\n sandA10: \"color(display-p3 1 0.992 0.933 / 0.45)\",\n sandA11: \"color(display-p3 1 0.996 0.961 / 0.685)\",\n sandA12: \"color(display-p3 1 1 0.992 / 0.929)\",\n};\nconst tomatoDark = {\n tomato1: \"#181111\",\n tomato2: \"#1f1513\",\n tomato3: \"#391714\",\n tomato4: \"#4e1511\",\n tomato5: \"#5e1c16\",\n tomato6: \"#6e2920\",\n tomato7: \"#853a2d\",\n tomato8: \"#ac4d39\",\n tomato9: \"#e54d2e\",\n tomato10: \"#ec6142\",\n tomato11: \"#ff977d\",\n tomato12: \"#fbd3cb\",\n};\nconst tomatoDarkA = {\n tomatoA1: \"#f1121208\",\n tomatoA2: \"#ff55330f\",\n tomatoA3: \"#ff35232b\",\n tomatoA4: \"#fd201142\",\n tomatoA5: \"#fe332153\",\n tomatoA6: \"#ff4f3864\",\n tomatoA7: \"#fd644a7d\",\n tomatoA8: \"#fe6d4ea7\",\n tomatoA9: \"#fe5431e4\",\n tomatoA10: \"#ff6847eb\",\n tomatoA11: \"#ff977d\",\n tomatoA12: \"#ffd6cefb\",\n};\nconst tomatoDarkP3 = {\n tomato1: \"color(display-p3 0.09 0.068 0.067)\",\n tomato2: \"color(display-p3 0.115 0.084 0.076)\",\n tomato3: \"color(display-p3 0.205 0.097 0.083)\",\n tomato4: \"color(display-p3 0.282 0.099 0.077)\",\n tomato5: \"color(display-p3 0.339 0.129 0.101)\",\n tomato6: \"color(display-p3 0.398 0.179 0.141)\",\n tomato7: \"color(display-p3 0.487 0.245 0.194)\",\n tomato8: \"color(display-p3 0.629 0.322 0.248)\",\n tomato9: \"color(display-p3 0.831 0.345 0.231)\",\n tomato10: \"color(display-p3 0.862 0.415 0.298)\",\n tomato11: \"color(display-p3 1 0.585 0.455)\",\n tomato12: \"color(display-p3 0.959 0.833 0.802)\",\n};\nconst tomatoDarkP3A = {\n tomatoA1: \"color(display-p3 0.973 0.071 0.071 / 0.026)\",\n tomatoA2: \"color(display-p3 0.992 0.376 0.224 / 0.051)\",\n tomatoA3: \"color(display-p3 0.996 0.282 0.176 / 0.148)\",\n tomatoA4: \"color(display-p3 1 0.204 0.118 / 0.232)\",\n tomatoA5: \"color(display-p3 1 0.286 0.192 / 0.29)\",\n tomatoA6: \"color(display-p3 1 0.392 0.278 / 0.353)\",\n tomatoA7: \"color(display-p3 1 0.459 0.349 / 0.45)\",\n tomatoA8: \"color(display-p3 1 0.49 0.369 / 0.601)\",\n tomatoA9: \"color(display-p3 1 0.408 0.267 / 0.82)\",\n tomatoA10: \"color(display-p3 1 0.478 0.341 / 0.853)\",\n tomatoA11: \"color(display-p3 1 0.585 0.455)\",\n tomatoA12: \"color(display-p3 0.959 0.833 0.802)\",\n};\nconst redDark = {\n red1: \"#191111\",\n red2: \"#201314\",\n red3: \"#3b1219\",\n red4: \"#500f1c\",\n red5: \"#611623\",\n red6: \"#72232d\",\n red7: \"#8c333a\",\n red8: \"#b54548\",\n red9: \"#e5484d\",\n red10: \"#ec5d5e\",\n red11: \"#ff9592\",\n red12: \"#ffd1d9\",\n};\nconst redDarkA = {\n redA1: \"#f4121209\",\n redA2: \"#f22f3e11\",\n redA3: \"#ff173f2d\",\n redA4: \"#fe0a3b44\",\n redA5: \"#ff204756\",\n redA6: \"#ff3e5668\",\n redA7: \"#ff536184\",\n redA8: \"#ff5d61b0\",\n redA9: \"#fe4e54e4\",\n redA10: \"#ff6465eb\",\n redA11: \"#ff9592\",\n redA12: \"#ffd1d9\",\n};\nconst redDarkP3 = {\n red1: \"color(display-p3 0.093 0.068 0.067)\",\n red2: \"color(display-p3 0.118 0.077 0.079)\",\n red3: \"color(display-p3 0.211 0.081 0.099)\",\n red4: \"color(display-p3 0.287 0.079 0.113)\",\n red5: \"color(display-p3 0.348 0.11 0.142)\",\n red6: \"color(display-p3 0.414 0.16 0.183)\",\n red7: \"color(display-p3 0.508 0.224 0.236)\",\n red8: \"color(display-p3 0.659 0.298 0.297)\",\n red9: \"color(display-p3 0.83 0.329 0.324)\",\n red10: \"color(display-p3 0.861 0.403 0.387)\",\n red11: \"color(display-p3 1 0.57 0.55)\",\n red12: \"color(display-p3 0.971 0.826 0.852)\",\n};\nconst redDarkP3A = {\n redA1: \"color(display-p3 0.984 0.071 0.071 / 0.03)\",\n redA2: \"color(display-p3 0.996 0.282 0.282 / 0.055)\",\n redA3: \"color(display-p3 1 0.169 0.271 / 0.156)\",\n redA4: \"color(display-p3 1 0.118 0.267 / 0.236)\",\n redA5: \"color(display-p3 1 0.212 0.314 / 0.303)\",\n redA6: \"color(display-p3 1 0.318 0.38 / 0.374)\",\n redA7: \"color(display-p3 1 0.4 0.424 / 0.475)\",\n redA8: \"color(display-p3 1 0.431 0.431 / 0.635)\",\n redA9: \"color(display-p3 1 0.388 0.384 / 0.82)\",\n redA10: \"color(display-p3 1 0.463 0.447 / 0.853)\",\n redA11: \"color(display-p3 1 0.57 0.55)\",\n redA12: \"color(display-p3 0.971 0.826 0.852)\",\n};\nconst rubyDark = {\n ruby1: \"#191113\",\n ruby2: \"#1e1517\",\n ruby3: \"#3a141e\",\n ruby4: \"#4e1325\",\n ruby5: \"#5e1a2e\",\n ruby6: \"#6f2539\",\n ruby7: \"#883447\",\n ruby8: \"#b3445a\",\n ruby9: \"#e54666\",\n ruby10: \"#ec5a72\",\n ruby11: \"#ff949d\",\n ruby12: \"#fed2e1\",\n};\nconst rubyDarkA = {\n rubyA1: \"#f4124a09\",\n rubyA2: \"#fe5a7f0e\",\n rubyA3: \"#ff235d2c\",\n rubyA4: \"#fd195e42\",\n rubyA5: \"#fe2d6b53\",\n rubyA6: \"#ff447665\",\n rubyA7: \"#ff577d80\",\n rubyA8: \"#ff5c7cae\",\n rubyA9: \"#fe4c70e4\",\n rubyA10: \"#ff617beb\",\n rubyA11: \"#ff949d\",\n rubyA12: \"#ffd3e2fe\",\n};\nconst rubyDarkP3 = {\n ruby1: \"color(display-p3 0.093 0.068 0.074)\",\n ruby2: \"color(display-p3 0.113 0.083 0.089)\",\n ruby3: \"color(display-p3 0.208 0.088 0.117)\",\n ruby4: \"color(display-p3 0.279 0.092 0.147)\",\n ruby5: \"color(display-p3 0.337 0.12 0.18)\",\n ruby6: \"color(display-p3 0.401 0.166 0.223)\",\n ruby7: \"color(display-p3 0.495 0.224 0.281)\",\n ruby8: \"color(display-p3 0.652 0.295 0.359)\",\n ruby9: \"color(display-p3 0.83 0.323 0.408)\",\n ruby10: \"color(display-p3 0.857 0.392 0.455)\",\n ruby11: \"color(display-p3 1 0.57 0.59)\",\n ruby12: \"color(display-p3 0.968 0.83 0.88)\",\n};\nconst rubyDarkP3A = {\n rubyA1: \"color(display-p3 0.984 0.071 0.329 / 0.03)\",\n rubyA2: \"color(display-p3 0.992 0.376 0.529 / 0.051)\",\n rubyA3: \"color(display-p3 0.996 0.196 0.404 / 0.152)\",\n rubyA4: \"color(display-p3 1 0.173 0.416 / 0.227)\",\n rubyA5: \"color(display-p3 1 0.259 0.459 / 0.29)\",\n rubyA6: \"color(display-p3 1 0.341 0.506 / 0.358)\",\n rubyA7: \"color(display-p3 1 0.412 0.541 / 0.458)\",\n rubyA8: \"color(display-p3 1 0.431 0.537 / 0.627)\",\n rubyA9: \"color(display-p3 1 0.376 0.482 / 0.82)\",\n rubyA10: \"color(display-p3 1 0.447 0.522 / 0.849)\",\n rubyA11: \"color(display-p3 1 0.57 0.59)\",\n rubyA12: \"color(display-p3 0.968 0.83 0.88)\",\n};\nconst crimsonDark = {\n crimson1: \"#191114\",\n crimson2: \"#201318\",\n crimson3: \"#381525\",\n crimson4: \"#4d122f\",\n crimson5: \"#5c1839\",\n crimson6: \"#6d2545\",\n crimson7: \"#873356\",\n crimson8: \"#b0436e\",\n crimson9: \"#e93d82\",\n crimson10: \"#ee518a\",\n crimson11: \"#ff92ad\",\n crimson12: \"#fdd3e8\",\n};\nconst crimsonDarkA = {\n crimsonA1: \"#f4126709\",\n crimsonA2: \"#f22f7a11\",\n crimsonA3: \"#fe2a8b2a\",\n crimsonA4: \"#fd158741\",\n crimsonA5: \"#fd278f51\",\n crimsonA6: \"#fe459763\",\n crimsonA7: \"#fd559b7f\",\n crimsonA8: \"#fe5b9bab\",\n crimsonA9: \"#fe418de8\",\n crimsonA10: \"#ff5693ed\",\n crimsonA11: \"#ff92ad\",\n crimsonA12: \"#ffd5eafd\",\n};\nconst crimsonDarkP3 = {\n crimson1: \"color(display-p3 0.093 0.068 0.078)\",\n crimson2: \"color(display-p3 0.117 0.078 0.095)\",\n crimson3: \"color(display-p3 0.203 0.091 0.143)\",\n crimson4: \"color(display-p3 0.277 0.087 0.182)\",\n crimson5: \"color(display-p3 0.332 0.115 0.22)\",\n crimson6: \"color(display-p3 0.394 0.162 0.268)\",\n crimson7: \"color(display-p3 0.489 0.222 0.336)\",\n crimson8: \"color(display-p3 0.638 0.289 0.429)\",\n crimson9: \"color(display-p3 0.843 0.298 0.507)\",\n crimson10: \"color(display-p3 0.864 0.364 0.539)\",\n crimson11: \"color(display-p3 1 0.56 0.66)\",\n crimson12: \"color(display-p3 0.966 0.834 0.906)\",\n};\nconst crimsonDarkP3A = {\n crimsonA1: \"color(display-p3 0.984 0.071 0.463 / 0.03)\",\n crimsonA2: \"color(display-p3 0.996 0.282 0.569 / 0.055)\",\n crimsonA3: \"color(display-p3 0.996 0.227 0.573 / 0.148)\",\n crimsonA4: \"color(display-p3 1 0.157 0.569 / 0.227)\",\n crimsonA5: \"color(display-p3 1 0.231 0.604 / 0.286)\",\n crimsonA6: \"color(display-p3 1 0.337 0.643 / 0.349)\",\n crimsonA7: \"color(display-p3 1 0.416 0.663 / 0.454)\",\n crimsonA8: \"color(display-p3 0.996 0.427 0.651 / 0.614)\",\n crimsonA9: \"color(display-p3 1 0.345 0.596 / 0.832)\",\n crimsonA10: \"color(display-p3 1 0.42 0.62 / 0.853)\",\n crimsonA11: \"color(display-p3 1 0.56 0.66)\",\n crimsonA12: \"color(display-p3 0.966 0.834 0.906)\",\n};\nconst pinkDark = {\n pink1: \"#191117\",\n pink2: \"#21121d\",\n pink3: \"#37172f\",\n pink4: \"#4b143d\",\n pink5: \"#591c47\",\n pink6: \"#692955\",\n pink7: \"#833869\",\n pink8: \"#a84885\",\n pink9: \"#d6409f\",\n pink10: \"#de51a8\",\n pink11: \"#ff8dcc\",\n pink12: \"#fdd1ea\",\n};\nconst pinkDarkA = {\n pinkA1: \"#f412bc09\",\n pinkA2: \"#f420bb12\",\n pinkA3: \"#fe37cc29\",\n pinkA4: \"#fc1ec43f\",\n pinkA5: \"#fd35c24e\",\n pinkA6: \"#fd51c75f\",\n pinkA7: \"#fd62c87b\",\n pinkA8: \"#ff68c8a2\",\n pinkA9: \"#fe49bcd4\",\n pinkA10: \"#ff5cc0dc\",\n pinkA11: \"#ff8dcc\",\n pinkA12: \"#ffd3ecfd\",\n};\nconst pinkDarkP3 = {\n pink1: \"color(display-p3 0.093 0.068 0.089)\",\n pink2: \"color(display-p3 0.121 0.073 0.11)\",\n pink3: \"color(display-p3 0.198 0.098 0.179)\",\n pink4: \"color(display-p3 0.271 0.095 0.231)\",\n pink5: \"color(display-p3 0.32 0.127 0.273)\",\n pink6: \"color(display-p3 0.382 0.177 0.326)\",\n pink7: \"color(display-p3 0.477 0.238 0.405)\",\n pink8: \"color(display-p3 0.612 0.304 0.51)\",\n pink9: \"color(display-p3 0.775 0.297 0.61)\",\n pink10: \"color(display-p3 0.808 0.356 0.645)\",\n pink11: \"color(display-p3 1 0.535 0.78)\",\n pink12: \"color(display-p3 0.964 0.826 0.912)\",\n};\nconst pinkDarkP3A = {\n pinkA1: \"color(display-p3 0.984 0.071 0.855 / 0.03)\",\n pinkA2: \"color(display-p3 1 0.2 0.8 / 0.059)\",\n pinkA3: \"color(display-p3 1 0.294 0.886 / 0.139)\",\n pinkA4: \"color(display-p3 1 0.192 0.82 / 0.219)\",\n pinkA5: \"color(display-p3 1 0.282 0.827 / 0.274)\",\n pinkA6: \"color(display-p3 1 0.396 0.835 / 0.337)\",\n pinkA7: \"color(display-p3 1 0.459 0.831 / 0.442)\",\n pinkA8: \"color(display-p3 1 0.478 0.827 / 0.585)\",\n pinkA9: \"color(display-p3 1 0.373 0.784 / 0.761)\",\n pinkA10: \"color(display-p3 1 0.435 0.792 / 0.795)\",\n pinkA11: \"color(display-p3 1 0.535 0.78)\",\n pinkA12: \"color(display-p3 0.964 0.826 0.912)\",\n};\nconst plumDark = {\n plum1: \"#181118\",\n plum2: \"#201320\",\n plum3: \"#351a35\",\n plum4: \"#451d47\",\n plum5: \"#512454\",\n plum6: \"#5e3061\",\n plum7: \"#734079\",\n plum8: \"#92549c\",\n plum9: \"#ab4aba\",\n plum10: \"#b658c4\",\n plum11: \"#e796f3\",\n plum12: \"#f4d4f4\",\n};\nconst plumDarkA = {\n plumA1: \"#f112f108\",\n plumA2: \"#f22ff211\",\n plumA3: \"#fd4cfd27\",\n plumA4: \"#f646ff3a\",\n plumA5: \"#f455ff48\",\n plumA6: \"#f66dff56\",\n plumA7: \"#f07cfd70\",\n plumA8: \"#ee84ff95\",\n plumA9: \"#e961feb6\",\n plumA10: \"#ed70ffc0\",\n plumA11: \"#f19cfef3\",\n plumA12: \"#feddfef4\",\n};\nconst plumDarkP3 = {\n plum1: \"color(display-p3 0.09 0.068 0.092)\",\n plum2: \"color(display-p3 0.118 0.077 0.121)\",\n plum3: \"color(display-p3 0.192 0.105 0.202)\",\n plum4: \"color(display-p3 0.25 0.121 0.271)\",\n plum5: \"color(display-p3 0.293 0.152 0.319)\",\n plum6: \"color(display-p3 0.343 0.198 0.372)\",\n plum7: \"color(display-p3 0.424 0.262 0.461)\",\n plum8: \"color(display-p3 0.54 0.341 0.595)\",\n plum9: \"color(display-p3 0.624 0.313 0.708)\",\n plum10: \"color(display-p3 0.666 0.365 0.748)\",\n plum11: \"color(display-p3 0.86 0.602 0.933)\",\n plum12: \"color(display-p3 0.936 0.836 0.949)\",\n};\nconst plumDarkP3A = {\n plumA1: \"color(display-p3 0.973 0.071 0.973 / 0.026)\",\n plumA2: \"color(display-p3 0.933 0.267 1 / 0.059)\",\n plumA3: \"color(display-p3 0.918 0.333 0.996 / 0.148)\",\n plumA4: \"color(display-p3 0.91 0.318 1 / 0.219)\",\n plumA5: \"color(display-p3 0.914 0.388 1 / 0.269)\",\n plumA6: \"color(display-p3 0.906 0.463 1 / 0.328)\",\n plumA7: \"color(display-p3 0.906 0.529 1 / 0.425)\",\n plumA8: \"color(display-p3 0.906 0.553 1 / 0.568)\",\n plumA9: \"color(display-p3 0.875 0.427 1 / 0.69)\",\n plumA10: \"color(display-p3 0.886 0.471 0.996 / 0.732)\",\n plumA11: \"color(display-p3 0.86 0.602 0.933)\",\n plumA12: \"color(display-p3 0.936 0.836 0.949)\",\n};\nconst purpleDark = {\n purple1: \"#18111b\",\n purple2: \"#1e1523\",\n purple3: \"#301c3b\",\n purple4: \"#3d224e\",\n purple5: \"#48295c\",\n purple6: \"#54346b\",\n purple7: \"#664282\",\n purple8: \"#8457aa\",\n purple9: \"#8e4ec6\",\n purple10: \"#9a5cd0\",\n purple11: \"#d19dff\",\n purple12: \"#ecd9fa\",\n};\nconst purpleDarkA = {\n purpleA1: \"#b412f90b\",\n purpleA2: \"#b744f714\",\n purpleA3: \"#c150ff2d\",\n purpleA4: \"#bb53fd42\",\n purpleA5: \"#be5cfd51\",\n purpleA6: \"#c16dfd61\",\n purpleA7: \"#c378fd7a\",\n purpleA8: \"#c47effa4\",\n purpleA9: \"#b661ffc2\",\n purpleA10: \"#bc6fffcd\",\n purpleA11: \"#d19dff\",\n purpleA12: \"#f1ddfffa\",\n};\nconst purpleDarkP3 = {\n purple1: \"color(display-p3 0.09 0.068 0.103)\",\n purple2: \"color(display-p3 0.113 0.082 0.134)\",\n purple3: \"color(display-p3 0.175 0.112 0.224)\",\n purple4: \"color(display-p3 0.224 0.137 0.297)\",\n purple5: \"color(display-p3 0.264 0.167 0.349)\",\n purple6: \"color(display-p3 0.311 0.208 0.406)\",\n purple7: \"color(display-p3 0.381 0.266 0.496)\",\n purple8: \"color(display-p3 0.49 0.349 0.649)\",\n purple9: \"color(display-p3 0.523 0.318 0.751)\",\n purple10: \"color(display-p3 0.57 0.373 0.791)\",\n purple11: \"color(display-p3 0.8 0.62 1)\",\n purple12: \"color(display-p3 0.913 0.854 0.971)\",\n};\nconst purpleDarkP3A = {\n purpleA1: \"color(display-p3 0.686 0.071 0.996 / 0.038)\",\n purpleA2: \"color(display-p3 0.722 0.286 0.996 / 0.072)\",\n purpleA3: \"color(display-p3 0.718 0.349 0.996 / 0.169)\",\n purpleA4: \"color(display-p3 0.702 0.353 1 / 0.248)\",\n purpleA5: \"color(display-p3 0.718 0.404 1 / 0.303)\",\n purpleA6: \"color(display-p3 0.733 0.455 1 / 0.366)\",\n purpleA7: \"color(display-p3 0.753 0.506 1 / 0.458)\",\n purpleA8: \"color(display-p3 0.749 0.522 1 / 0.622)\",\n purpleA9: \"color(display-p3 0.686 0.408 1 / 0.736)\",\n purpleA10: \"color(display-p3 0.71 0.459 1 / 0.778)\",\n purpleA11: \"color(display-p3 0.8 0.62 1)\",\n purpleA12: \"color(display-p3 0.913 0.854 0.971)\",\n};\nconst violetDark = {\n violet1: \"#14121f\",\n violet2: \"#1b1525\",\n violet3: \"#291f43\",\n violet4: \"#33255b\",\n violet5: \"#3c2e69\",\n violet6: \"#473876\",\n violet7: \"#56468b\",\n violet8: \"#6958ad\",\n violet9: \"#6e56cf\",\n violet10: \"#7d66d9\",\n violet11: \"#baa7ff\",\n violet12: \"#e2ddfe\",\n};\nconst violetDarkA = {\n violetA1: \"#4422ff0f\",\n violetA2: \"#853ff916\",\n violetA3: \"#8354fe36\",\n violetA4: \"#7d51fd50\",\n violetA5: \"#845ffd5f\",\n violetA6: \"#8f6cfd6d\",\n violetA7: \"#9879ff83\",\n violetA8: \"#977dfea8\",\n violetA9: \"#8668ffcc\",\n violetA10: \"#9176fed7\",\n violetA11: \"#baa7ff\",\n violetA12: \"#e3defffe\",\n};\nconst violetDarkP3 = {\n violet1: \"color(display-p3 0.077 0.071 0.118)\",\n violet2: \"color(display-p3 0.101 0.084 0.141)\",\n violet3: \"color(display-p3 0.154 0.123 0.256)\",\n violet4: \"color(display-p3 0.191 0.148 0.345)\",\n violet5: \"color(display-p3 0.226 0.182 0.396)\",\n violet6: \"color(display-p3 0.269 0.223 0.449)\",\n violet7: \"color(display-p3 0.326 0.277 0.53)\",\n violet8: \"color(display-p3 0.399 0.346 0.656)\",\n violet9: \"color(display-p3 0.417 0.341 0.784)\",\n violet10: \"color(display-p3 0.477 0.402 0.823)\",\n violet11: \"color(display-p3 0.72 0.65 1)\",\n violet12: \"color(display-p3 0.883 0.867 0.986)\",\n};\nconst violetDarkP3A = {\n violetA1: \"color(display-p3 0.282 0.141 0.996 / 0.055)\",\n violetA2: \"color(display-p3 0.51 0.263 1 / 0.08)\",\n violetA3: \"color(display-p3 0.494 0.337 0.996 / 0.202)\",\n violetA4: \"color(display-p3 0.49 0.345 1 / 0.299)\",\n violetA5: \"color(display-p3 0.525 0.392 1 / 0.353)\",\n violetA6: \"color(display-p3 0.569 0.455 1 / 0.408)\",\n violetA7: \"color(display-p3 0.588 0.494 1 / 0.496)\",\n violetA8: \"color(display-p3 0.596 0.51 1 / 0.631)\",\n violetA9: \"color(display-p3 0.522 0.424 1 / 0.769)\",\n violetA10: \"color(display-p3 0.576 0.482 1 / 0.811)\",\n violetA11: \"color(display-p3 0.72 0.65 1)\",\n violetA12: \"color(display-p3 0.883 0.867 0.986)\",\n};\nconst irisDark = {\n iris1: \"#13131e\",\n iris2: \"#171625\",\n iris3: \"#202248\",\n iris4: \"#262a65\",\n iris5: \"#303374\",\n iris6: \"#3d3e82\",\n iris7: \"#4a4a95\",\n iris8: \"#5958b1\",\n iris9: \"#5b5bd6\",\n iris10: \"#6e6ade\",\n iris11: \"#b1a9ff\",\n iris12: \"#e0dffe\",\n};\nconst irisDarkA = {\n irisA1: \"#3636fe0e\",\n irisA2: \"#564bf916\",\n irisA3: \"#525bff3b\",\n irisA4: \"#4d58ff5a\",\n irisA5: \"#5b62fd6b\",\n irisA6: \"#6d6ffd7a\",\n irisA7: \"#7777fe8e\",\n irisA8: \"#7b7afeac\",\n irisA9: \"#6a6afed4\",\n irisA10: \"#7d79ffdc\",\n irisA11: \"#b1a9ff\",\n irisA12: \"#e1e0fffe\",\n};\nconst irisDarkP3 = {\n iris1: \"color(display-p3 0.075 0.075 0.114)\",\n iris2: \"color(display-p3 0.089 0.086 0.14)\",\n iris3: \"color(display-p3 0.128 0.134 0.272)\",\n iris4: \"color(display-p3 0.153 0.165 0.382)\",\n iris5: \"color(display-p3 0.192 0.201 0.44)\",\n iris6: \"color(display-p3 0.239 0.241 0.491)\",\n iris7: \"color(display-p3 0.291 0.289 0.565)\",\n iris8: \"color(display-p3 0.35 0.345 0.673)\",\n iris9: \"color(display-p3 0.357 0.357 0.81)\",\n iris10: \"color(display-p3 0.428 0.416 0.843)\",\n iris11: \"color(display-p3 0.685 0.662 1)\",\n iris12: \"color(display-p3 0.878 0.875 0.986)\",\n};\nconst irisDarkP3A = {\n irisA1: \"color(display-p3 0.224 0.224 0.992 / 0.051)\",\n irisA2: \"color(display-p3 0.361 0.314 1 / 0.08)\",\n irisA3: \"color(display-p3 0.357 0.373 1 / 0.219)\",\n irisA4: \"color(display-p3 0.325 0.361 1 / 0.337)\",\n irisA5: \"color(display-p3 0.38 0.4 1 / 0.4)\",\n irisA6: \"color(display-p3 0.447 0.447 1 / 0.454)\",\n irisA7: \"color(display-p3 0.486 0.486 1 / 0.534)\",\n irisA8: \"color(display-p3 0.502 0.494 1 / 0.652)\",\n irisA9: \"color(display-p3 0.431 0.431 1 / 0.799)\",\n irisA10: \"color(display-p3 0.502 0.486 1 / 0.832)\",\n irisA11: \"color(display-p3 0.685 0.662 1)\",\n irisA12: \"color(display-p3 0.878 0.875 0.986)\",\n};\nconst indigoDark = {\n indigo1: \"#11131f\",\n indigo2: \"#141726\",\n indigo3: \"#182449\",\n indigo4: \"#1d2e62\",\n indigo5: \"#253974\",\n indigo6: \"#304384\",\n indigo7: \"#3a4f97\",\n indigo8: \"#435db1\",\n indigo9: \"#3e63dd\",\n indigo10: \"#5472e4\",\n indigo11: \"#9eb1ff\",\n indigo12: \"#d6e1ff\",\n};\nconst indigoDarkA = {\n indigoA1: \"#1133ff0f\",\n indigoA2: \"#3354fa17\",\n indigoA3: \"#2f62ff3c\",\n indigoA4: \"#3566ff57\",\n indigoA5: \"#4171fd6b\",\n indigoA6: \"#5178fd7c\",\n indigoA7: \"#5a7fff90\",\n indigoA8: \"#5b81feac\",\n indigoA9: \"#4671ffdb\",\n indigoA10: \"#5c7efee3\",\n indigoA11: \"#9eb1ff\",\n indigoA12: \"#d6e1ff\",\n};\nconst indigoDarkP3 = {\n indigo1: \"color(display-p3 0.068 0.074 0.118)\",\n indigo2: \"color(display-p3 0.081 0.089 0.144)\",\n indigo3: \"color(display-p3 0.105 0.141 0.275)\",\n indigo4: \"color(display-p3 0.129 0.18 0.369)\",\n indigo5: \"color(display-p3 0.163 0.22 0.439)\",\n indigo6: \"color(display-p3 0.203 0.262 0.5)\",\n indigo7: \"color(display-p3 0.245 0.309 0.575)\",\n indigo8: \"color(display-p3 0.285 0.362 0.674)\",\n indigo9: \"color(display-p3 0.276 0.384 0.837)\",\n indigo10: \"color(display-p3 0.354 0.445 0.866)\",\n indigo11: \"color(display-p3 0.63 0.69 1)\",\n indigo12: \"color(display-p3 0.848 0.881 0.99)\",\n};\nconst indigoDarkP3A = {\n indigoA1: \"color(display-p3 0.071 0.212 0.996 / 0.055)\",\n indigoA2: \"color(display-p3 0.251 0.345 0.988 / 0.085)\",\n indigoA3: \"color(display-p3 0.243 0.404 1 / 0.223)\",\n indigoA4: \"color(display-p3 0.263 0.42 1 / 0.324)\",\n indigoA5: \"color(display-p3 0.314 0.451 1 / 0.4)\",\n indigoA6: \"color(display-p3 0.361 0.49 1 / 0.467)\",\n indigoA7: \"color(display-p3 0.388 0.51 1 / 0.547)\",\n indigoA8: \"color(display-p3 0.404 0.518 1 / 0.652)\",\n indigoA9: \"color(display-p3 0.318 0.451 1 / 0.824)\",\n indigoA10: \"color(display-p3 0.404 0.506 1 / 0.858)\",\n indigoA11: \"color(display-p3 0.63 0.69 1)\",\n indigoA12: \"color(display-p3 0.848 0.881 0.99)\",\n};\nconst blueDark = {\n blue1: \"#0d1520\",\n blue2: \"#111927\",\n blue3: \"#0d2847\",\n blue4: \"#003362\",\n blue5: \"#004074\",\n blue6: \"#104d87\",\n blue7: \"#205d9e\",\n blue8: \"#2870bd\",\n blue9: \"#0090ff\",\n blue10: \"#3b9eff\",\n blue11: \"#70b8ff\",\n blue12: \"#c2e6ff\",\n};\nconst blueDarkA = {\n blueA1: \"#004df211\",\n blueA2: \"#1166fb18\",\n blueA3: \"#0077ff3a\",\n blueA4: \"#0075ff57\",\n blueA5: \"#0081fd6b\",\n blueA6: \"#0f89fd7f\",\n blueA7: \"#2a91fe98\",\n blueA8: \"#3094feb9\",\n blueA9: \"#0090ff\",\n blueA10: \"#3b9eff\",\n blueA11: \"#70b8ff\",\n blueA12: \"#c2e6ff\",\n};\nconst blueDarkP3 = {\n blue1: \"color(display-p3 0.057 0.081 0.122)\",\n blue2: \"color(display-p3 0.072 0.098 0.147)\",\n blue3: \"color(display-p3 0.078 0.154 0.27)\",\n blue4: \"color(display-p3 0.033 0.197 0.37)\",\n blue5: \"color(display-p3 0.08 0.245 0.441)\",\n blue6: \"color(display-p3 0.14 0.298 0.511)\",\n blue7: \"color(display-p3 0.195 0.361 0.6)\",\n blue8: \"color(display-p3 0.239 0.434 0.72)\",\n blue9: \"color(display-p3 0.247 0.556 0.969)\",\n blue10: \"color(display-p3 0.344 0.612 0.973)\",\n blue11: \"color(display-p3 0.49 0.72 1)\",\n blue12: \"color(display-p3 0.788 0.898 0.99)\",\n};\nconst blueDarkP3A = {\n blueA1: \"color(display-p3 0 0.333 1 / 0.059)\",\n blueA2: \"color(display-p3 0.114 0.435 0.988 / 0.085)\",\n blueA3: \"color(display-p3 0.122 0.463 1 / 0.219)\",\n blueA4: \"color(display-p3 0 0.467 1 / 0.324)\",\n blueA5: \"color(display-p3 0.098 0.51 1 / 0.4)\",\n blueA6: \"color(display-p3 0.224 0.557 1 / 0.475)\",\n blueA7: \"color(display-p3 0.294 0.584 1 / 0.572)\",\n blueA8: \"color(display-p3 0.314 0.592 1 / 0.702)\",\n blueA9: \"color(display-p3 0.251 0.573 0.996 / 0.967)\",\n blueA10: \"color(display-p3 0.357 0.631 1 / 0.971)\",\n blueA11: \"color(display-p3 0.49 0.72 1)\",\n blueA12: \"color(display-p3 0.788 0.898 0.99)\",\n};\nconst cyanDark = {\n cyan1: \"#0b161a\",\n cyan2: \"#101b20\",\n cyan3: \"#082c36\",\n cyan4: \"#003848\",\n cyan5: \"#004558\",\n cyan6: \"#045468\",\n cyan7: \"#12677e\",\n cyan8: \"#11809c\",\n cyan9: \"#00a2c7\",\n cyan10: \"#23afd0\",\n cyan11: \"#4ccce6\",\n cyan12: \"#b6ecf7\",\n};\nconst cyanDarkA = {\n cyanA1: \"#0091f70a\",\n cyanA2: \"#02a7f211\",\n cyanA3: \"#00befd28\",\n cyanA4: \"#00baff3b\",\n cyanA5: \"#00befd4d\",\n cyanA6: \"#00c7fd5e\",\n cyanA7: \"#14cdff75\",\n cyanA8: \"#11cfff95\",\n cyanA9: \"#00cfffc3\",\n cyanA10: \"#28d6ffcd\",\n cyanA11: \"#52e1fee5\",\n cyanA12: \"#bbf3fef7\",\n};\nconst cyanDarkP3 = {\n cyan1: \"color(display-p3 0.053 0.085 0.098)\",\n cyan2: \"color(display-p3 0.072 0.105 0.122)\",\n cyan3: \"color(display-p3 0.073 0.168 0.209)\",\n cyan4: \"color(display-p3 0.063 0.216 0.277)\",\n cyan5: \"color(display-p3 0.091 0.267 0.336)\",\n cyan6: \"color(display-p3 0.137 0.324 0.4)\",\n cyan7: \"color(display-p3 0.186 0.398 0.484)\",\n cyan8: \"color(display-p3 0.23 0.496 0.6)\",\n cyan9: \"color(display-p3 0.282 0.627 0.765)\",\n cyan10: \"color(display-p3 0.331 0.675 0.801)\",\n cyan11: \"color(display-p3 0.446 0.79 0.887)\",\n cyan12: \"color(display-p3 0.757 0.919 0.962)\",\n};\nconst cyanDarkP3A = {\n cyanA1: \"color(display-p3 0 0.647 0.992 / 0.034)\",\n cyanA2: \"color(display-p3 0.133 0.733 1 / 0.059)\",\n cyanA3: \"color(display-p3 0.122 0.741 0.996 / 0.152)\",\n cyanA4: \"color(display-p3 0.051 0.725 1 / 0.227)\",\n cyanA5: \"color(display-p3 0.149 0.757 1 / 0.29)\",\n cyanA6: \"color(display-p3 0.267 0.792 1 / 0.358)\",\n cyanA7: \"color(display-p3 0.333 0.808 1 / 0.446)\",\n cyanA8: \"color(display-p3 0.357 0.816 1 / 0.572)\",\n cyanA9: \"color(display-p3 0.357 0.82 1 / 0.748)\",\n cyanA10: \"color(display-p3 0.4 0.839 1 / 0.786)\",\n cyanA11: \"color(display-p3 0.446 0.79 0.887)\",\n cyanA12: \"color(display-p3 0.757 0.919 0.962)\",\n};\nconst tealDark = {\n teal1: \"#0d1514\",\n teal2: \"#111c1b\",\n teal3: \"#0d2d2a\",\n teal4: \"#023b37\",\n teal5: \"#084843\",\n teal6: \"#145750\",\n teal7: \"#1c6961\",\n teal8: \"#207e73\",\n teal9: \"#12a594\",\n teal10: \"#0eb39e\",\n teal11: \"#0bd8b6\",\n teal12: \"#adf0dd\",\n};\nconst tealDarkA = {\n tealA1: \"#00deab05\",\n tealA2: \"#12fbe60c\",\n tealA3: \"#00ffe61e\",\n tealA4: \"#00ffe92d\",\n tealA5: \"#00ffea3b\",\n tealA6: \"#1cffe84b\",\n tealA7: \"#2efde85f\",\n tealA8: \"#32ffe775\",\n tealA9: \"#13ffe49f\",\n tealA10: \"#0dffe0ae\",\n tealA11: \"#0afed5d6\",\n tealA12: \"#b8ffebef\",\n};\nconst tealDarkP3 = {\n teal1: \"color(display-p3 0.059 0.083 0.079)\",\n teal2: \"color(display-p3 0.075 0.11 0.107)\",\n teal3: \"color(display-p3 0.087 0.175 0.165)\",\n teal4: \"color(display-p3 0.087 0.227 0.214)\",\n teal5: \"color(display-p3 0.12 0.277 0.261)\",\n teal6: \"color(display-p3 0.162 0.335 0.314)\",\n teal7: \"color(display-p3 0.205 0.406 0.379)\",\n teal8: \"color(display-p3 0.245 0.489 0.453)\",\n teal9: \"color(display-p3 0.297 0.637 0.581)\",\n teal10: \"color(display-p3 0.319 0.69 0.62)\",\n teal11: \"color(display-p3 0.388 0.835 0.719)\",\n teal12: \"color(display-p3 0.734 0.934 0.87)\",\n};\nconst tealDarkP3A = {\n tealA1: \"color(display-p3 0 0.992 0.761 / 0.017)\",\n tealA2: \"color(display-p3 0.235 0.988 0.902 / 0.047)\",\n tealA3: \"color(display-p3 0.235 1 0.898 / 0.118)\",\n tealA4: \"color(display-p3 0.18 0.996 0.929 / 0.173)\",\n tealA5: \"color(display-p3 0.31 1 0.933 / 0.227)\",\n tealA6: \"color(display-p3 0.396 1 0.933 / 0.286)\",\n tealA7: \"color(display-p3 0.443 1 0.925 / 0.366)\",\n tealA8: \"color(display-p3 0.459 1 0.925 / 0.454)\",\n tealA9: \"color(display-p3 0.443 0.996 0.906 / 0.61)\",\n tealA10: \"color(display-p3 0.439 0.996 0.89 / 0.669)\",\n tealA11: \"color(display-p3 0.388 0.835 0.719)\",\n tealA12: \"color(display-p3 0.734 0.934 0.87)\",\n};\nconst jadeDark = {\n jade1: \"#0d1512\",\n jade2: \"#121c18\",\n jade3: \"#0f2e22\",\n jade4: \"#0b3b2c\",\n jade5: \"#114837\",\n jade6: \"#1b5745\",\n jade7: \"#246854\",\n jade8: \"#2a7e68\",\n jade9: \"#29a383\",\n jade10: \"#27b08b\",\n jade11: \"#1fd8a4\",\n jade12: \"#adf0d4\",\n};\nconst jadeDarkA = {\n jadeA1: \"#00de4505\",\n jadeA2: \"#27fba60c\",\n jadeA3: \"#02f99920\",\n jadeA4: \"#00ffaa2d\",\n jadeA5: \"#11ffb63b\",\n jadeA6: \"#34ffc24b\",\n jadeA7: \"#45fdc75e\",\n jadeA8: \"#48ffcf75\",\n jadeA9: \"#38feca9d\",\n jadeA10: \"#31fec7ab\",\n jadeA11: \"#21fec0d6\",\n jadeA12: \"#b8ffe1ef\",\n};\nconst jadeDarkP3 = {\n jade1: \"color(display-p3 0.059 0.083 0.071)\",\n jade2: \"color(display-p3 0.078 0.11 0.094)\",\n jade3: \"color(display-p3 0.091 0.176 0.138)\",\n jade4: \"color(display-p3 0.102 0.228 0.177)\",\n jade5: \"color(display-p3 0.133 0.279 0.221)\",\n jade6: \"color(display-p3 0.174 0.334 0.273)\",\n jade7: \"color(display-p3 0.219 0.402 0.335)\",\n jade8: \"color(display-p3 0.263 0.488 0.411)\",\n jade9: \"color(display-p3 0.319 0.63 0.521)\",\n jade10: \"color(display-p3 0.338 0.68 0.555)\",\n jade11: \"color(display-p3 0.4 0.835 0.656)\",\n jade12: \"color(display-p3 0.734 0.934 0.838)\",\n};\nconst jadeDarkP3A = {\n jadeA1: \"color(display-p3 0 0.992 0.298 / 0.017)\",\n jadeA2: \"color(display-p3 0.318 0.988 0.651 / 0.047)\",\n jadeA3: \"color(display-p3 0.267 1 0.667 / 0.118)\",\n jadeA4: \"color(display-p3 0.275 0.996 0.702 / 0.173)\",\n jadeA5: \"color(display-p3 0.361 1 0.741 / 0.227)\",\n jadeA6: \"color(display-p3 0.439 1 0.796 / 0.286)\",\n jadeA7: \"color(display-p3 0.49 1 0.804 / 0.362)\",\n jadeA8: \"color(display-p3 0.506 1 0.835 / 0.45)\",\n jadeA9: \"color(display-p3 0.478 0.996 0.816 / 0.606)\",\n jadeA10: \"color(display-p3 0.478 1 0.816 / 0.656)\",\n jadeA11: \"color(display-p3 0.4 0.835 0.656)\",\n jadeA12: \"color(display-p3 0.734 0.934 0.838)\",\n};\nconst greenDark = {\n green1: \"#0e1512\",\n green2: \"#121b17\",\n green3: \"#132d21\",\n green4: \"#113b29\",\n green5: \"#174933\",\n green6: \"#20573e\",\n green7: \"#28684a\",\n green8: \"#2f7c57\",\n green9: \"#30a46c\",\n green10: \"#33b074\",\n green11: \"#3dd68c\",\n green12: \"#b1f1cb\",\n};\nconst greenDarkA = {\n greenA1: \"#00de4505\",\n greenA2: \"#29f99d0b\",\n greenA3: \"#22ff991e\",\n greenA4: \"#11ff992d\",\n greenA5: \"#2bffa23c\",\n greenA6: \"#44ffaa4b\",\n greenA7: \"#50fdac5e\",\n greenA8: \"#54ffad73\",\n greenA9: \"#44ffa49e\",\n greenA10: \"#43fea4ab\",\n greenA11: \"#46fea5d4\",\n greenA12: \"#bbffd7f0\",\n};\nconst greenDarkP3 = {\n green1: \"color(display-p3 0.062 0.083 0.071)\",\n green2: \"color(display-p3 0.079 0.106 0.09)\",\n green3: \"color(display-p3 0.1 0.173 0.133)\",\n green4: \"color(display-p3 0.115 0.229 0.166)\",\n green5: \"color(display-p3 0.147 0.282 0.206)\",\n green6: \"color(display-p3 0.185 0.338 0.25)\",\n green7: \"color(display-p3 0.227 0.403 0.298)\",\n green8: \"color(display-p3 0.27 0.479 0.351)\",\n green9: \"color(display-p3 0.332 0.634 0.442)\",\n green10: \"color(display-p3 0.357 0.682 0.474)\",\n green11: \"color(display-p3 0.434 0.828 0.573)\",\n green12: \"color(display-p3 0.747 0.938 0.807)\",\n};\nconst greenDarkP3A = {\n greenA1: \"color(display-p3 0 0.992 0.298 / 0.017)\",\n greenA2: \"color(display-p3 0.341 0.98 0.616 / 0.043)\",\n greenA3: \"color(display-p3 0.376 0.996 0.655 / 0.114)\",\n greenA4: \"color(display-p3 0.341 0.996 0.635 / 0.173)\",\n greenA5: \"color(display-p3 0.408 1 0.678 / 0.232)\",\n greenA6: \"color(display-p3 0.475 1 0.706 / 0.29)\",\n greenA7: \"color(display-p3 0.514 1 0.706 / 0.362)\",\n greenA8: \"color(display-p3 0.529 1 0.718 / 0.442)\",\n greenA9: \"color(display-p3 0.502 0.996 0.682 / 0.61)\",\n greenA10: \"color(display-p3 0.506 1 0.682 / 0.66)\",\n greenA11: \"color(display-p3 0.434 0.828 0.573)\",\n greenA12: \"color(display-p3 0.747 0.938 0.807)\",\n};\nconst grassDark = {\n grass1: \"#0e1511\",\n grass2: \"#141a15\",\n grass3: \"#1b2a1e\",\n grass4: \"#1d3a24\",\n grass5: \"#25482d\",\n grass6: \"#2d5736\",\n grass7: \"#366740\",\n grass8: \"#3e7949\",\n grass9: \"#46a758\",\n grass10: \"#53b365\",\n grass11: \"#71d083\",\n grass12: \"#c2f0c2\",\n};\nconst grassDarkA = {\n grassA1: \"#00de1205\",\n grassA2: \"#5ef7780a\",\n grassA3: \"#70fe8c1b\",\n grassA4: \"#57ff802c\",\n grassA5: \"#68ff8b3b\",\n grassA6: \"#71ff8f4b\",\n grassA7: \"#77fd925d\",\n grassA8: \"#77fd9070\",\n grassA9: \"#65ff82a1\",\n grassA10: \"#72ff8dae\",\n grassA11: \"#89ff9fcd\",\n grassA12: \"#ceffceef\",\n};\nconst grassDarkP3 = {\n grass1: \"color(display-p3 0.062 0.083 0.067)\",\n grass2: \"color(display-p3 0.083 0.103 0.085)\",\n grass3: \"color(display-p3 0.118 0.163 0.122)\",\n grass4: \"color(display-p3 0.142 0.225 0.15)\",\n grass5: \"color(display-p3 0.178 0.279 0.186)\",\n grass6: \"color(display-p3 0.217 0.337 0.224)\",\n grass7: \"color(display-p3 0.258 0.4 0.264)\",\n grass8: \"color(display-p3 0.302 0.47 0.305)\",\n grass9: \"color(display-p3 0.38 0.647 0.378)\",\n grass10: \"color(display-p3 0.426 0.694 0.426)\",\n grass11: \"color(display-p3 0.535 0.807 0.542)\",\n grass12: \"color(display-p3 0.797 0.936 0.776)\",\n};\nconst grassDarkP3A = {\n grassA1: \"color(display-p3 0 0.992 0.071 / 0.017)\",\n grassA2: \"color(display-p3 0.482 0.996 0.584 / 0.038)\",\n grassA3: \"color(display-p3 0.549 0.992 0.588 / 0.106)\",\n grassA4: \"color(display-p3 0.51 0.996 0.557 / 0.169)\",\n grassA5: \"color(display-p3 0.553 1 0.588 / 0.227)\",\n grassA6: \"color(display-p3 0.584 1 0.608 / 0.29)\",\n grassA7: \"color(display-p3 0.604 1 0.616 / 0.358)\",\n grassA8: \"color(display-p3 0.608 1 0.62 / 0.433)\",\n grassA9: \"color(display-p3 0.573 1 0.569 / 0.622)\",\n grassA10: \"color(display-p3 0.6 0.996 0.6 / 0.673)\",\n grassA11: \"color(display-p3 0.535 0.807 0.542)\",\n grassA12: \"color(display-p3 0.797 0.936 0.776)\",\n};\nconst brownDark = {\n brown1: \"#12110f\",\n brown2: \"#1c1816\",\n brown3: \"#28211d\",\n brown4: \"#322922\",\n brown5: \"#3e3128\",\n brown6: \"#4d3c2f\",\n brown7: \"#614a39\",\n brown8: \"#7c5f46\",\n brown9: \"#ad7f58\",\n brown10: \"#b88c67\",\n brown11: \"#dbb594\",\n brown12: \"#f2e1ca\",\n};\nconst brownDarkA = {\n brownA1: \"#91110002\",\n brownA2: \"#fba67c0c\",\n brownA3: \"#fcb58c19\",\n brownA4: \"#fbbb8a24\",\n brownA5: \"#fcb88931\",\n brownA6: \"#fdba8741\",\n brownA7: \"#ffbb8856\",\n brownA8: \"#ffbe8773\",\n brownA9: \"#feb87da8\",\n brownA10: \"#ffc18cb3\",\n brownA11: \"#fed1aad9\",\n brownA12: \"#feecd4f2\",\n};\nconst brownDarkP3 = {\n brown1: \"color(display-p3 0.071 0.067 0.059)\",\n brown2: \"color(display-p3 0.107 0.095 0.087)\",\n brown3: \"color(display-p3 0.151 0.13 0.115)\",\n brown4: \"color(display-p3 0.191 0.161 0.138)\",\n brown5: \"color(display-p3 0.235 0.194 0.162)\",\n brown6: \"color(display-p3 0.291 0.237 0.192)\",\n brown7: \"color(display-p3 0.365 0.295 0.232)\",\n brown8: \"color(display-p3 0.469 0.377 0.287)\",\n brown9: \"color(display-p3 0.651 0.505 0.368)\",\n brown10: \"color(display-p3 0.697 0.557 0.423)\",\n brown11: \"color(display-p3 0.835 0.715 0.597)\",\n brown12: \"color(display-p3 0.938 0.885 0.802)\",\n};\nconst brownDarkP3A = {\n brownA1: \"color(display-p3 0.855 0.071 0 / 0.005)\",\n brownA2: \"color(display-p3 0.98 0.706 0.525 / 0.043)\",\n brownA3: \"color(display-p3 0.996 0.745 0.576 / 0.093)\",\n brownA4: \"color(display-p3 1 0.765 0.592 / 0.135)\",\n brownA5: \"color(display-p3 1 0.761 0.588 / 0.181)\",\n brownA6: \"color(display-p3 1 0.773 0.592 / 0.24)\",\n brownA7: \"color(display-p3 0.996 0.776 0.58 / 0.32)\",\n brownA8: \"color(display-p3 1 0.78 0.573 / 0.433)\",\n brownA9: \"color(display-p3 1 0.769 0.549 / 0.627)\",\n brownA10: \"color(display-p3 1 0.792 0.596 / 0.677)\",\n brownA11: \"color(display-p3 0.835 0.715 0.597)\",\n brownA12: \"color(display-p3 0.938 0.885 0.802)\",\n};\nconst bronzeDark = {\n bronze1: \"#141110\",\n bronze2: \"#1c1917\",\n bronze3: \"#262220\",\n bronze4: \"#302a27\",\n bronze5: \"#3b3330\",\n bronze6: \"#493e3a\",\n bronze7: \"#5a4c47\",\n bronze8: \"#6f5f58\",\n bronze9: \"#a18072\",\n bronze10: \"#ae8c7e\",\n bronze11: \"#d4b3a5\",\n bronze12: \"#ede0d9\",\n};\nconst bronzeDarkA = {\n bronzeA1: \"#d1110004\",\n bronzeA2: \"#fbbc910c\",\n bronzeA3: \"#faceb817\",\n bronzeA4: \"#facdb622\",\n bronzeA5: \"#ffd2c12d\",\n bronzeA6: \"#ffd1c03c\",\n bronzeA7: \"#fdd0c04f\",\n bronzeA8: \"#ffd6c565\",\n bronzeA9: \"#fec7b09b\",\n bronzeA10: \"#fecab5a9\",\n bronzeA11: \"#ffd7c6d1\",\n bronzeA12: \"#fff1e9ec\",\n};\nconst bronzeDarkP3 = {\n bronze1: \"color(display-p3 0.076 0.067 0.063)\",\n bronze2: \"color(display-p3 0.106 0.097 0.093)\",\n bronze3: \"color(display-p3 0.147 0.132 0.125)\",\n bronze4: \"color(display-p3 0.185 0.166 0.156)\",\n bronze5: \"color(display-p3 0.227 0.202 0.19)\",\n bronze6: \"color(display-p3 0.278 0.246 0.23)\",\n bronze7: \"color(display-p3 0.343 0.302 0.281)\",\n bronze8: \"color(display-p3 0.426 0.374 0.347)\",\n bronze9: \"color(display-p3 0.611 0.507 0.455)\",\n bronze10: \"color(display-p3 0.66 0.556 0.504)\",\n bronze11: \"color(display-p3 0.81 0.707 0.655)\",\n bronze12: \"color(display-p3 0.921 0.88 0.854)\",\n};\nconst bronzeDarkP3A = {\n bronzeA1: \"color(display-p3 0.941 0.067 0 / 0.009)\",\n bronzeA2: \"color(display-p3 0.98 0.8 0.706 / 0.043)\",\n bronzeA3: \"color(display-p3 0.988 0.851 0.761 / 0.085)\",\n bronzeA4: \"color(display-p3 0.996 0.839 0.78 / 0.127)\",\n bronzeA5: \"color(display-p3 0.996 0.863 0.773 / 0.173)\",\n bronzeA6: \"color(display-p3 1 0.863 0.796 / 0.227)\",\n bronzeA7: \"color(display-p3 1 0.867 0.8 / 0.295)\",\n bronzeA8: \"color(display-p3 1 0.859 0.788 / 0.387)\",\n bronzeA9: \"color(display-p3 1 0.82 0.733 / 0.585)\",\n bronzeA10: \"color(display-p3 1 0.839 0.761 / 0.635)\",\n bronzeA11: \"color(display-p3 0.81 0.707 0.655)\",\n bronzeA12: \"color(display-p3 0.921 0.88 0.854)\",\n};\nconst goldDark = {\n gold1: \"#121211\",\n gold2: \"#1b1a17\",\n gold3: \"#24231f\",\n gold4: \"#2d2b26\",\n gold5: \"#38352e\",\n gold6: \"#444039\",\n gold7: \"#544f46\",\n gold8: \"#696256\",\n gold9: \"#978365\",\n gold10: \"#a39073\",\n gold11: \"#cbb99f\",\n gold12: \"#e8e2d9\",\n};\nconst goldDarkA = {\n goldA1: \"#91911102\",\n goldA2: \"#f9e29d0b\",\n goldA3: \"#f8ecbb15\",\n goldA4: \"#ffeec41e\",\n goldA5: \"#feecc22a\",\n goldA6: \"#feebcb37\",\n goldA7: \"#ffedcd48\",\n goldA8: \"#fdeaca5f\",\n goldA9: \"#ffdba690\",\n goldA10: \"#fedfb09d\",\n goldA11: \"#fee7c6c8\",\n goldA12: \"#fef7ede7\",\n};\nconst goldDarkP3 = {\n gold1: \"color(display-p3 0.071 0.071 0.067)\",\n gold2: \"color(display-p3 0.104 0.101 0.09)\",\n gold3: \"color(display-p3 0.141 0.136 0.122)\",\n gold4: \"color(display-p3 0.177 0.17 0.152)\",\n gold5: \"color(display-p3 0.217 0.207 0.185)\",\n gold6: \"color(display-p3 0.265 0.252 0.225)\",\n gold7: \"color(display-p3 0.327 0.31 0.277)\",\n gold8: \"color(display-p3 0.407 0.384 0.342)\",\n gold9: \"color(display-p3 0.579 0.517 0.41)\",\n gold10: \"color(display-p3 0.628 0.566 0.463)\",\n gold11: \"color(display-p3 0.784 0.728 0.635)\",\n gold12: \"color(display-p3 0.906 0.887 0.855)\",\n};\nconst goldDarkP3A = {\n goldA1: \"color(display-p3 0.855 0.855 0.071 / 0.005)\",\n goldA2: \"color(display-p3 0.98 0.89 0.616 / 0.043)\",\n goldA3: \"color(display-p3 1 0.949 0.753 / 0.08)\",\n goldA4: \"color(display-p3 1 0.933 0.8 / 0.118)\",\n goldA5: \"color(display-p3 1 0.949 0.804 / 0.16)\",\n goldA6: \"color(display-p3 1 0.925 0.8 / 0.215)\",\n goldA7: \"color(display-p3 1 0.945 0.831 / 0.278)\",\n goldA8: \"color(display-p3 1 0.937 0.82 / 0.366)\",\n goldA9: \"color(display-p3 0.996 0.882 0.69 / 0.551)\",\n goldA10: \"color(display-p3 1 0.894 0.725 / 0.601)\",\n goldA11: \"color(display-p3 0.784 0.728 0.635)\",\n goldA12: \"color(display-p3 0.906 0.887 0.855)\",\n};\nconst skyDark = {\n sky1: \"#0d141f\",\n sky2: \"#111a27\",\n sky3: \"#112840\",\n sky4: \"#113555\",\n sky5: \"#154467\",\n sky6: \"#1b537b\",\n sky7: \"#1f6692\",\n sky8: \"#197cae\",\n sky9: \"#7ce2fe\",\n sky10: \"#a8eeff\",\n sky11: \"#75c7f0\",\n sky12: \"#c2f3ff\",\n};\nconst skyDarkA = {\n skyA1: \"#0044ff0f\",\n skyA2: \"#1171fb18\",\n skyA3: \"#1184fc33\",\n skyA4: \"#128fff49\",\n skyA5: \"#1c9dfd5d\",\n skyA6: \"#28a5ff72\",\n skyA7: \"#2badfe8b\",\n skyA8: \"#1db2fea9\",\n skyA9: \"#7ce3fffe\",\n skyA10: \"#a8eeff\",\n skyA11: \"#7cd3ffef\",\n skyA12: \"#c2f3ff\",\n};\nconst skyDarkP3 = {\n sky1: \"color(display-p3 0.056 0.078 0.116)\",\n sky2: \"color(display-p3 0.075 0.101 0.149)\",\n sky3: \"color(display-p3 0.089 0.154 0.244)\",\n sky4: \"color(display-p3 0.106 0.207 0.323)\",\n sky5: \"color(display-p3 0.135 0.261 0.394)\",\n sky6: \"color(display-p3 0.17 0.322 0.469)\",\n sky7: \"color(display-p3 0.205 0.394 0.557)\",\n sky8: \"color(display-p3 0.232 0.48 0.665)\",\n sky9: \"color(display-p3 0.585 0.877 0.983)\",\n sky10: \"color(display-p3 0.718 0.925 0.991)\",\n sky11: \"color(display-p3 0.536 0.772 0.924)\",\n sky12: \"color(display-p3 0.799 0.947 0.993)\",\n};\nconst skyDarkP3A = {\n skyA1: \"color(display-p3 0 0.282 0.996 / 0.055)\",\n skyA2: \"color(display-p3 0.157 0.467 0.992 / 0.089)\",\n skyA3: \"color(display-p3 0.192 0.522 0.996 / 0.19)\",\n skyA4: \"color(display-p3 0.212 0.584 1 / 0.274)\",\n skyA5: \"color(display-p3 0.259 0.631 1 / 0.349)\",\n skyA6: \"color(display-p3 0.302 0.655 1 / 0.433)\",\n skyA7: \"color(display-p3 0.329 0.686 1 / 0.526)\",\n skyA8: \"color(display-p3 0.325 0.71 1 / 0.643)\",\n skyA9: \"color(display-p3 0.592 0.894 1 / 0.984)\",\n skyA10: \"color(display-p3 0.722 0.933 1 / 0.992)\",\n skyA11: \"color(display-p3 0.536 0.772 0.924)\",\n skyA12: \"color(display-p3 0.799 0.947 0.993)\",\n};\nconst mintDark = {\n mint1: \"#0e1515\",\n mint2: \"#0f1b1b\",\n mint3: \"#092c2b\",\n mint4: \"#003a38\",\n mint5: \"#004744\",\n mint6: \"#105650\",\n mint7: \"#1e685f\",\n mint8: \"#277f70\",\n mint9: \"#86ead4\",\n mint10: \"#a8f5e5\",\n mint11: \"#58d5ba\",\n mint12: \"#c4f5e1\",\n};\nconst mintDarkA = {\n mintA1: \"#00dede05\",\n mintA2: \"#00f9f90b\",\n mintA3: \"#00fff61d\",\n mintA4: \"#00fff42c\",\n mintA5: \"#00fff23a\",\n mintA6: \"#0effeb4a\",\n mintA7: \"#34fde55e\",\n mintA8: \"#41ffdf76\",\n mintA9: \"#92ffe7e9\",\n mintA10: \"#aefeedf5\",\n mintA11: \"#67ffded2\",\n mintA12: \"#cbfee9f5\",\n};\nconst mintDarkP3 = {\n mint1: \"color(display-p3 0.059 0.082 0.081)\",\n mint2: \"color(display-p3 0.068 0.104 0.105)\",\n mint3: \"color(display-p3 0.077 0.17 0.168)\",\n mint4: \"color(display-p3 0.068 0.224 0.22)\",\n mint5: \"color(display-p3 0.104 0.275 0.264)\",\n mint6: \"color(display-p3 0.154 0.332 0.313)\",\n mint7: \"color(display-p3 0.207 0.403 0.373)\",\n mint8: \"color(display-p3 0.258 0.49 0.441)\",\n mint9: \"color(display-p3 0.62 0.908 0.834)\",\n mint10: \"color(display-p3 0.725 0.954 0.898)\",\n mint11: \"color(display-p3 0.482 0.825 0.733)\",\n mint12: \"color(display-p3 0.807 0.955 0.887)\",\n};\nconst mintDarkP3A = {\n mintA1: \"color(display-p3 0 0.992 0.992 / 0.017)\",\n mintA2: \"color(display-p3 0.071 0.98 0.98 / 0.043)\",\n mintA3: \"color(display-p3 0.176 0.996 0.996 / 0.11)\",\n mintA4: \"color(display-p3 0.071 0.996 0.973 / 0.169)\",\n mintA5: \"color(display-p3 0.243 1 0.949 / 0.223)\",\n mintA6: \"color(display-p3 0.369 1 0.933 / 0.286)\",\n mintA7: \"color(display-p3 0.459 1 0.914 / 0.362)\",\n mintA8: \"color(display-p3 0.49 1 0.89 / 0.454)\",\n mintA9: \"color(display-p3 0.678 0.996 0.914 / 0.904)\",\n mintA10: \"color(display-p3 0.761 1 0.941 / 0.95)\",\n mintA11: \"color(display-p3 0.482 0.825 0.733)\",\n mintA12: \"color(display-p3 0.807 0.955 0.887)\",\n};\nconst limeDark = {\n lime1: \"#11130c\",\n lime2: \"#151a10\",\n lime3: \"#1f2917\",\n lime4: \"#29371d\",\n lime5: \"#334423\",\n lime6: \"#3d522a\",\n lime7: \"#496231\",\n lime8: \"#577538\",\n lime9: \"#bdee63\",\n lime10: \"#d4ff70\",\n lime11: \"#bde56c\",\n lime12: \"#e3f7ba\",\n};\nconst limeDarkA = {\n limeA1: \"#11bb0003\",\n limeA2: \"#78f7000a\",\n limeA3: \"#9bfd4c1a\",\n limeA4: \"#a7fe5c29\",\n limeA5: \"#affe6537\",\n limeA6: \"#b2fe6d46\",\n limeA7: \"#b6ff6f57\",\n limeA8: \"#b6fd6d6c\",\n limeA9: \"#caff69ed\",\n limeA10: \"#d4ff70\",\n limeA11: \"#d1fe77e4\",\n limeA12: \"#e9febff7\",\n};\nconst limeDarkP3 = {\n lime1: \"color(display-p3 0.067 0.073 0.048)\",\n lime2: \"color(display-p3 0.086 0.1 0.067)\",\n lime3: \"color(display-p3 0.13 0.16 0.099)\",\n lime4: \"color(display-p3 0.172 0.214 0.126)\",\n lime5: \"color(display-p3 0.213 0.266 0.153)\",\n lime6: \"color(display-p3 0.257 0.321 0.182)\",\n lime7: \"color(display-p3 0.307 0.383 0.215)\",\n lime8: \"color(display-p3 0.365 0.456 0.25)\",\n lime9: \"color(display-p3 0.78 0.928 0.466)\",\n lime10: \"color(display-p3 0.865 0.995 0.519)\",\n lime11: \"color(display-p3 0.771 0.893 0.485)\",\n lime12: \"color(display-p3 0.905 0.966 0.753)\",\n};\nconst limeDarkP3A = {\n limeA1: \"color(display-p3 0.067 0.941 0 / 0.009)\",\n limeA2: \"color(display-p3 0.584 0.996 0.071 / 0.038)\",\n limeA3: \"color(display-p3 0.69 1 0.38 / 0.101)\",\n limeA4: \"color(display-p3 0.729 1 0.435 / 0.16)\",\n limeA5: \"color(display-p3 0.745 1 0.471 / 0.215)\",\n limeA6: \"color(display-p3 0.769 1 0.482 / 0.274)\",\n limeA7: \"color(display-p3 0.769 1 0.506 / 0.341)\",\n limeA8: \"color(display-p3 0.784 1 0.51 / 0.416)\",\n limeA9: \"color(display-p3 0.839 1 0.502 / 0.925)\",\n limeA10: \"color(display-p3 0.871 1 0.522 / 0.996)\",\n limeA11: \"color(display-p3 0.771 0.893 0.485)\",\n limeA12: \"color(display-p3 0.905 0.966 0.753)\",\n};\nconst yellowDark = {\n yellow1: \"#14120b\",\n yellow2: \"#1b180f\",\n yellow3: \"#2d2305\",\n yellow4: \"#362b00\",\n yellow5: \"#433500\",\n yellow6: \"#524202\",\n yellow7: \"#665417\",\n yellow8: \"#836a21\",\n yellow9: \"#ffe629\",\n yellow10: \"#ffff57\",\n yellow11: \"#f5e147\",\n yellow12: \"#f6eeb4\",\n};\nconst yellowDarkA = {\n yellowA1: \"#d1510004\",\n yellowA2: \"#f9b4000b\",\n yellowA3: \"#ffaa001e\",\n yellowA4: \"#fdb70028\",\n yellowA5: \"#febb0036\",\n yellowA6: \"#fec40046\",\n yellowA7: \"#fdcb225c\",\n yellowA8: \"#fdca327b\",\n yellowA9: \"#ffe629\",\n yellowA10: \"#ffff57\",\n yellowA11: \"#fee949f5\",\n yellowA12: \"#fef6baf6\",\n};\nconst yellowDarkP3 = {\n yellow1: \"color(display-p3 0.078 0.069 0.047)\",\n yellow2: \"color(display-p3 0.103 0.094 0.063)\",\n yellow3: \"color(display-p3 0.168 0.137 0.039)\",\n yellow4: \"color(display-p3 0.209 0.169 0)\",\n yellow5: \"color(display-p3 0.255 0.209 0)\",\n yellow6: \"color(display-p3 0.31 0.261 0.07)\",\n yellow7: \"color(display-p3 0.389 0.331 0.135)\",\n yellow8: \"color(display-p3 0.497 0.42 0.182)\",\n yellow9: \"color(display-p3 1 0.92 0.22)\",\n yellow10: \"color(display-p3 1 1 0.456)\",\n yellow11: \"color(display-p3 0.948 0.885 0.392)\",\n yellow12: \"color(display-p3 0.959 0.934 0.731)\",\n};\nconst yellowDarkP3A = {\n yellowA1: \"color(display-p3 0.973 0.369 0 / 0.013)\",\n yellowA2: \"color(display-p3 0.996 0.792 0 / 0.038)\",\n yellowA3: \"color(display-p3 0.996 0.71 0 / 0.11)\",\n yellowA4: \"color(display-p3 0.996 0.741 0 / 0.152)\",\n yellowA5: \"color(display-p3 0.996 0.765 0 / 0.202)\",\n yellowA6: \"color(display-p3 0.996 0.816 0.082 / 0.261)\",\n yellowA7: \"color(display-p3 1 0.831 0.263 / 0.345)\",\n yellowA8: \"color(display-p3 1 0.831 0.314 / 0.463)\",\n yellowA9: \"color(display-p3 1 0.922 0.22)\",\n yellowA10: \"color(display-p3 1 1 0.455)\",\n yellowA11: \"color(display-p3 0.948 0.885 0.392)\",\n yellowA12: \"color(display-p3 0.959 0.934 0.731)\",\n};\nconst amberDark = {\n amber1: \"#16120c\",\n amber2: \"#1d180f\",\n amber3: \"#302008\",\n amber4: \"#3f2700\",\n amber5: \"#4d3000\",\n amber6: \"#5c3d05\",\n amber7: \"#714f19\",\n amber8: \"#8f6424\",\n amber9: \"#ffc53d\",\n amber10: \"#ffd60a\",\n amber11: \"#ffca16\",\n amber12: \"#ffe7b3\",\n};\nconst amberDarkA = {\n amberA1: \"#e63c0006\",\n amberA2: \"#fd9b000d\",\n amberA3: \"#fa820022\",\n amberA4: \"#fc820032\",\n amberA5: \"#fd8b0041\",\n amberA6: \"#fd9b0051\",\n amberA7: \"#ffab2567\",\n amberA8: \"#ffae3587\",\n amberA9: \"#ffc53d\",\n amberA10: \"#ffd60a\",\n amberA11: \"#ffca16\",\n amberA12: \"#ffe7b3\",\n};\nconst amberDarkP3 = {\n amber1: \"color(display-p3 0.082 0.07 0.05)\",\n amber2: \"color(display-p3 0.111 0.094 0.064)\",\n amber3: \"color(display-p3 0.178 0.128 0.049)\",\n amber4: \"color(display-p3 0.239 0.156 0)\",\n amber5: \"color(display-p3 0.29 0.193 0)\",\n amber6: \"color(display-p3 0.344 0.245 0.076)\",\n amber7: \"color(display-p3 0.422 0.314 0.141)\",\n amber8: \"color(display-p3 0.535 0.399 0.189)\",\n amber9: \"color(display-p3 1 0.77 0.26)\",\n amber10: \"color(display-p3 1 0.87 0.15)\",\n amber11: \"color(display-p3 1 0.8 0.29)\",\n amber12: \"color(display-p3 0.984 0.909 0.726)\",\n};\nconst amberDarkP3A = {\n amberA1: \"color(display-p3 0.992 0.298 0 / 0.017)\",\n amberA2: \"color(display-p3 0.988 0.651 0 / 0.047)\",\n amberA3: \"color(display-p3 1 0.6 0 / 0.118)\",\n amberA4: \"color(display-p3 1 0.557 0 / 0.185)\",\n amberA5: \"color(display-p3 1 0.592 0 / 0.24)\",\n amberA6: \"color(display-p3 1 0.659 0.094 / 0.299)\",\n amberA7: \"color(display-p3 1 0.714 0.263 / 0.383)\",\n amberA8: \"color(display-p3 0.996 0.729 0.306 / 0.5)\",\n amberA9: \"color(display-p3 1 0.769 0.259)\",\n amberA10: \"color(display-p3 1 0.871 0.149)\",\n amberA11: \"color(display-p3 1 0.8 0.29)\",\n amberA12: \"color(display-p3 0.984 0.909 0.726)\",\n};\nconst orangeDark = {\n orange1: \"#17120e\",\n orange2: \"#1e160f\",\n orange3: \"#331e0b\",\n orange4: \"#462100\",\n orange5: \"#562800\",\n orange6: \"#66350c\",\n orange7: \"#7e451d\",\n orange8: \"#a35829\",\n orange9: \"#f76b15\",\n orange10: \"#ff801f\",\n orange11: \"#ffa057\",\n orange12: \"#ffe0c2\",\n};\nconst orangeDarkA = {\n orangeA1: \"#ec360007\",\n orangeA2: \"#fe6d000e\",\n orangeA3: \"#fb6a0025\",\n orangeA4: \"#ff590039\",\n orangeA5: \"#ff61004a\",\n orangeA6: \"#fd75045c\",\n orangeA7: \"#ff832c75\",\n orangeA8: \"#fe84389d\",\n orangeA9: \"#fe6d15f7\",\n orangeA10: \"#ff801f\",\n orangeA11: \"#ffa057\",\n orangeA12: \"#ffe0c2\",\n};\nconst orangeDarkP3 = {\n orange1: \"color(display-p3 0.088 0.07 0.057)\",\n orange2: \"color(display-p3 0.113 0.089 0.061)\",\n orange3: \"color(display-p3 0.189 0.12 0.056)\",\n orange4: \"color(display-p3 0.262 0.132 0)\",\n orange5: \"color(display-p3 0.315 0.168 0.016)\",\n orange6: \"color(display-p3 0.376 0.219 0.088)\",\n orange7: \"color(display-p3 0.465 0.283 0.147)\",\n orange8: \"color(display-p3 0.601 0.359 0.201)\",\n orange9: \"color(display-p3 0.9 0.45 0.2)\",\n orange10: \"color(display-p3 0.98 0.51 0.23)\",\n orange11: \"color(display-p3 1 0.63 0.38)\",\n orange12: \"color(display-p3 0.98 0.883 0.775)\",\n};\nconst orangeDarkP3A = {\n orangeA1: \"color(display-p3 0.961 0.247 0 / 0.022)\",\n orangeA2: \"color(display-p3 0.992 0.529 0 / 0.051)\",\n orangeA3: \"color(display-p3 0.996 0.486 0 / 0.131)\",\n orangeA4: \"color(display-p3 0.996 0.384 0 / 0.211)\",\n orangeA5: \"color(display-p3 1 0.455 0 / 0.265)\",\n orangeA6: \"color(display-p3 1 0.529 0.129 / 0.332)\",\n orangeA7: \"color(display-p3 1 0.569 0.251 / 0.429)\",\n orangeA8: \"color(display-p3 1 0.584 0.302 / 0.572)\",\n orangeA9: \"color(display-p3 1 0.494 0.216 / 0.895)\",\n orangeA10: \"color(display-p3 1 0.522 0.235 / 0.979)\",\n orangeA11: \"color(display-p3 1 0.63 0.38)\",\n orangeA12: \"color(display-p3 0.98 0.883 0.775)\",\n};\n\nconst gray = {\n gray1: \"#fcfcfc\",\n gray2: \"#f9f9f9\",\n gray3: \"#f0f0f0\",\n gray4: \"#e8e8e8\",\n gray5: \"#e0e0e0\",\n gray6: \"#d9d9d9\",\n gray7: \"#cecece\",\n gray8: \"#bbbbbb\",\n gray9: \"#8d8d8d\",\n gray10: \"#838383\",\n gray11: \"#646464\",\n gray12: \"#202020\",\n};\nconst grayA = {\n grayA1: \"#00000003\",\n grayA2: \"#00000006\",\n grayA3: \"#0000000f\",\n grayA4: \"#00000017\",\n grayA5: \"#0000001f\",\n grayA6: \"#00000026\",\n grayA7: \"#00000031\",\n grayA8: \"#00000044\",\n grayA9: \"#00000072\",\n grayA10: \"#0000007c\",\n grayA11: \"#0000009b\",\n grayA12: \"#000000df\",\n};\nconst grayP3 = {\n gray1: \"color(display-p3 0.988 0.988 0.988)\",\n gray2: \"color(display-p3 0.975 0.975 0.975)\",\n gray3: \"color(display-p3 0.939 0.939 0.939)\",\n gray4: \"color(display-p3 0.908 0.908 0.908)\",\n gray5: \"color(display-p3 0.88 0.88 0.88)\",\n gray6: \"color(display-p3 0.849 0.849 0.849)\",\n gray7: \"color(display-p3 0.807 0.807 0.807)\",\n gray8: \"color(display-p3 0.732 0.732 0.732)\",\n gray9: \"color(display-p3 0.553 0.553 0.553)\",\n gray10: \"color(display-p3 0.512 0.512 0.512)\",\n gray11: \"color(display-p3 0.392 0.392 0.392)\",\n gray12: \"color(display-p3 0.125 0.125 0.125)\",\n};\nconst grayP3A = {\n grayA1: \"color(display-p3 0 0 0 / 0.012)\",\n grayA2: \"color(display-p3 0 0 0 / 0.024)\",\n grayA3: \"color(display-p3 0 0 0 / 0.063)\",\n grayA4: \"color(display-p3 0 0 0 / 0.09)\",\n grayA5: \"color(display-p3 0 0 0 / 0.122)\",\n grayA6: \"color(display-p3 0 0 0 / 0.153)\",\n grayA7: \"color(display-p3 0 0 0 / 0.192)\",\n grayA8: \"color(display-p3 0 0 0 / 0.267)\",\n grayA9: \"color(display-p3 0 0 0 / 0.447)\",\n grayA10: \"color(display-p3 0 0 0 / 0.486)\",\n grayA11: \"color(display-p3 0 0 0 / 0.608)\",\n grayA12: \"color(display-p3 0 0 0 / 0.875)\",\n};\nconst mauve = {\n mauve1: \"#fdfcfd\",\n mauve2: \"#faf9fb\",\n mauve3: \"#f2eff3\",\n mauve4: \"#eae7ec\",\n mauve5: \"#e3dfe6\",\n mauve6: \"#dbd8e0\",\n mauve7: \"#d0cdd7\",\n mauve8: \"#bcbac7\",\n mauve9: \"#8e8c99\",\n mauve10: \"#84828e\",\n mauve11: \"#65636d\",\n mauve12: \"#211f26\",\n};\nconst mauveA = {\n mauveA1: \"#55005503\",\n mauveA2: \"#2b005506\",\n mauveA3: \"#30004010\",\n mauveA4: \"#20003618\",\n mauveA5: \"#20003820\",\n mauveA6: \"#14003527\",\n mauveA7: \"#10003332\",\n mauveA8: \"#08003145\",\n mauveA9: \"#05001d73\",\n mauveA10: \"#0500197d\",\n mauveA11: \"#0400119c\",\n mauveA12: \"#020008e0\",\n};\nconst mauveP3 = {\n mauve1: \"color(display-p3 0.991 0.988 0.992)\",\n mauve2: \"color(display-p3 0.98 0.976 0.984)\",\n mauve3: \"color(display-p3 0.946 0.938 0.952)\",\n mauve4: \"color(display-p3 0.915 0.906 0.925)\",\n mauve5: \"color(display-p3 0.886 0.876 0.901)\",\n mauve6: \"color(display-p3 0.856 0.846 0.875)\",\n mauve7: \"color(display-p3 0.814 0.804 0.84)\",\n mauve8: \"color(display-p3 0.735 0.728 0.777)\",\n mauve9: \"color(display-p3 0.555 0.549 0.596)\",\n mauve10: \"color(display-p3 0.514 0.508 0.552)\",\n mauve11: \"color(display-p3 0.395 0.388 0.424)\",\n mauve12: \"color(display-p3 0.128 0.122 0.147)\",\n};\nconst mauveP3A = {\n mauveA1: \"color(display-p3 0.349 0.024 0.349 / 0.012)\",\n mauveA2: \"color(display-p3 0.184 0.024 0.349 / 0.024)\",\n mauveA3: \"color(display-p3 0.129 0.008 0.255 / 0.063)\",\n mauveA4: \"color(display-p3 0.094 0.012 0.216 / 0.095)\",\n mauveA5: \"color(display-p3 0.098 0.008 0.224 / 0.126)\",\n mauveA6: \"color(display-p3 0.055 0.004 0.18 / 0.153)\",\n mauveA7: \"color(display-p3 0.067 0.008 0.184 / 0.197)\",\n mauveA8: \"color(display-p3 0.02 0.004 0.176 / 0.271)\",\n mauveA9: \"color(display-p3 0.02 0.004 0.106 / 0.451)\",\n mauveA10: \"color(display-p3 0.012 0.004 0.09 / 0.491)\",\n mauveA11: \"color(display-p3 0.016 0 0.059 / 0.612)\",\n mauveA12: \"color(display-p3 0.008 0 0.027 / 0.879)\",\n};\nconst slate = {\n slate1: \"#fcfcfd\",\n slate2: \"#f9f9fb\",\n slate3: \"#f0f0f3\",\n slate4: \"#e8e8ec\",\n slate5: \"#e0e1e6\",\n slate6: \"#d9d9e0\",\n slate7: \"#cdced6\",\n slate8: \"#b9bbc6\",\n slate9: \"#8b8d98\",\n slate10: \"#80838d\",\n slate11: \"#60646c\",\n slate12: \"#1c2024\",\n};\nconst slateA = {\n slateA1: \"#00005503\",\n slateA2: \"#00005506\",\n slateA3: \"#0000330f\",\n slateA4: \"#00002d17\",\n slateA5: \"#0009321f\",\n slateA6: \"#00002f26\",\n slateA7: \"#00062e32\",\n slateA8: \"#00083046\",\n slateA9: \"#00051d74\",\n slateA10: \"#00071b7f\",\n slateA11: \"#0007149f\",\n slateA12: \"#000509e3\",\n};\nconst slateP3 = {\n slate1: \"color(display-p3 0.988 0.988 0.992)\",\n slate2: \"color(display-p3 0.976 0.976 0.984)\",\n slate3: \"color(display-p3 0.94 0.941 0.953)\",\n slate4: \"color(display-p3 0.908 0.909 0.925)\",\n slate5: \"color(display-p3 0.88 0.881 0.901)\",\n slate6: \"color(display-p3 0.85 0.852 0.876)\",\n slate7: \"color(display-p3 0.805 0.808 0.838)\",\n slate8: \"color(display-p3 0.727 0.733 0.773)\",\n slate9: \"color(display-p3 0.547 0.553 0.592)\",\n slate10: \"color(display-p3 0.503 0.512 0.549)\",\n slate11: \"color(display-p3 0.379 0.392 0.421)\",\n slate12: \"color(display-p3 0.113 0.125 0.14)\",\n};\nconst slateP3A = {\n slateA1: \"color(display-p3 0.024 0.024 0.349 / 0.012)\",\n slateA2: \"color(display-p3 0.024 0.024 0.349 / 0.024)\",\n slateA3: \"color(display-p3 0.004 0.004 0.204 / 0.059)\",\n slateA4: \"color(display-p3 0.012 0.012 0.184 / 0.091)\",\n slateA5: \"color(display-p3 0.004 0.039 0.2 / 0.122)\",\n slateA6: \"color(display-p3 0.008 0.008 0.165 / 0.15)\",\n slateA7: \"color(display-p3 0.008 0.027 0.184 / 0.197)\",\n slateA8: \"color(display-p3 0.004 0.031 0.176 / 0.275)\",\n slateA9: \"color(display-p3 0.004 0.02 0.106 / 0.455)\",\n slateA10: \"color(display-p3 0.004 0.027 0.098 / 0.499)\",\n slateA11: \"color(display-p3 0 0.02 0.063 / 0.62)\",\n slateA12: \"color(display-p3 0 0.012 0.031 / 0.887)\",\n};\nconst sage = {\n sage1: \"#fbfdfc\",\n sage2: \"#f7f9f8\",\n sage3: \"#eef1f0\",\n sage4: \"#e6e9e8\",\n sage5: \"#dfe2e0\",\n sage6: \"#d7dad9\",\n sage7: \"#cbcfcd\",\n sage8: \"#b8bcba\",\n sage9: \"#868e8b\",\n sage10: \"#7c8481\",\n sage11: \"#5f6563\",\n sage12: \"#1a211e\",\n};\nconst sageA = {\n sageA1: \"#00804004\",\n sageA2: \"#00402008\",\n sageA3: \"#002d1e11\",\n sageA4: \"#001f1519\",\n sageA5: \"#00180820\",\n sageA6: \"#00140d28\",\n sageA7: \"#00140a34\",\n sageA8: \"#000f0847\",\n sageA9: \"#00110b79\",\n sageA10: \"#00100a83\",\n sageA11: \"#000a07a0\",\n sageA12: \"#000805e5\",\n};\nconst sageP3 = {\n sage1: \"color(display-p3 0.986 0.992 0.988)\",\n sage2: \"color(display-p3 0.97 0.977 0.974)\",\n sage3: \"color(display-p3 0.935 0.944 0.94)\",\n sage4: \"color(display-p3 0.904 0.913 0.909)\",\n sage5: \"color(display-p3 0.875 0.885 0.88)\",\n sage6: \"color(display-p3 0.844 0.854 0.849)\",\n sage7: \"color(display-p3 0.8 0.811 0.806)\",\n sage8: \"color(display-p3 0.725 0.738 0.732)\",\n sage9: \"color(display-p3 0.531 0.556 0.546)\",\n sage10: \"color(display-p3 0.492 0.515 0.506)\",\n sage11: \"color(display-p3 0.377 0.395 0.389)\",\n sage12: \"color(display-p3 0.107 0.129 0.118)\",\n};\nconst sageP3A = {\n sageA1: \"color(display-p3 0.024 0.514 0.267 / 0.016)\",\n sageA2: \"color(display-p3 0.02 0.267 0.145 / 0.032)\",\n sageA3: \"color(display-p3 0.008 0.184 0.125 / 0.067)\",\n sageA4: \"color(display-p3 0.012 0.094 0.051 / 0.095)\",\n sageA5: \"color(display-p3 0.008 0.098 0.035 / 0.126)\",\n sageA6: \"color(display-p3 0.004 0.078 0.027 / 0.157)\",\n sageA7: \"color(display-p3 0 0.059 0.039 / 0.2)\",\n sageA8: \"color(display-p3 0.004 0.047 0.031 / 0.275)\",\n sageA9: \"color(display-p3 0.004 0.059 0.035 / 0.471)\",\n sageA10: \"color(display-p3 0 0.047 0.031 / 0.51)\",\n sageA11: \"color(display-p3 0 0.031 0.02 / 0.624)\",\n sageA12: \"color(display-p3 0 0.027 0.012 / 0.895)\",\n};\nconst olive = {\n olive1: \"#fcfdfc\",\n olive2: \"#f8faf8\",\n olive3: \"#eff1ef\",\n olive4: \"#e7e9e7\",\n olive5: \"#dfe2df\",\n olive6: \"#d7dad7\",\n olive7: \"#cccfcc\",\n olive8: \"#b9bcb8\",\n olive9: \"#898e87\",\n olive10: \"#7f847d\",\n olive11: \"#60655f\",\n olive12: \"#1d211c\",\n};\nconst oliveA = {\n oliveA1: \"#00550003\",\n oliveA2: \"#00490007\",\n oliveA3: \"#00200010\",\n oliveA4: \"#00160018\",\n oliveA5: \"#00180020\",\n oliveA6: \"#00140028\",\n oliveA7: \"#000f0033\",\n oliveA8: \"#040f0047\",\n oliveA9: \"#050f0078\",\n oliveA10: \"#040e0082\",\n oliveA11: \"#020a00a0\",\n oliveA12: \"#010600e3\",\n};\nconst oliveP3 = {\n olive1: \"color(display-p3 0.989 0.992 0.989)\",\n olive2: \"color(display-p3 0.974 0.98 0.973)\",\n olive3: \"color(display-p3 0.939 0.945 0.937)\",\n olive4: \"color(display-p3 0.907 0.914 0.905)\",\n olive5: \"color(display-p3 0.878 0.885 0.875)\",\n olive6: \"color(display-p3 0.846 0.855 0.843)\",\n olive7: \"color(display-p3 0.803 0.812 0.8)\",\n olive8: \"color(display-p3 0.727 0.738 0.723)\",\n olive9: \"color(display-p3 0.541 0.556 0.532)\",\n olive10: \"color(display-p3 0.5 0.515 0.491)\",\n olive11: \"color(display-p3 0.38 0.395 0.374)\",\n olive12: \"color(display-p3 0.117 0.129 0.111)\",\n};\nconst oliveP3A = {\n oliveA1: \"color(display-p3 0.024 0.349 0.024 / 0.012)\",\n oliveA2: \"color(display-p3 0.024 0.302 0.024 / 0.028)\",\n oliveA3: \"color(display-p3 0.008 0.129 0.008 / 0.063)\",\n oliveA4: \"color(display-p3 0.012 0.094 0.012 / 0.095)\",\n oliveA5: \"color(display-p3 0.035 0.098 0.008 / 0.126)\",\n oliveA6: \"color(display-p3 0.027 0.078 0.004 / 0.157)\",\n oliveA7: \"color(display-p3 0.02 0.059 0 / 0.2)\",\n oliveA8: \"color(display-p3 0.02 0.059 0.004 / 0.279)\",\n oliveA9: \"color(display-p3 0.02 0.051 0.004 / 0.467)\",\n oliveA10: \"color(display-p3 0.024 0.047 0 / 0.51)\",\n oliveA11: \"color(display-p3 0.012 0.039 0 / 0.628)\",\n oliveA12: \"color(display-p3 0.008 0.024 0 / 0.891)\",\n};\nconst sand = {\n sand1: \"#fdfdfc\",\n sand2: \"#f9f9f8\",\n sand3: \"#f1f0ef\",\n sand4: \"#e9e8e6\",\n sand5: \"#e2e1de\",\n sand6: \"#dad9d6\",\n sand7: \"#cfceca\",\n sand8: \"#bcbbb5\",\n sand9: \"#8d8d86\",\n sand10: \"#82827c\",\n sand11: \"#63635e\",\n sand12: \"#21201c\",\n};\nconst sandA = {\n sandA1: \"#55550003\",\n sandA2: \"#25250007\",\n sandA3: \"#20100010\",\n sandA4: \"#1f150019\",\n sandA5: \"#1f180021\",\n sandA6: \"#19130029\",\n sandA7: \"#19140035\",\n sandA8: \"#1915014a\",\n sandA9: \"#0f0f0079\",\n sandA10: \"#0c0c0083\",\n sandA11: \"#080800a1\",\n sandA12: \"#060500e3\",\n};\nconst sandP3 = {\n sand1: \"color(display-p3 0.992 0.992 0.989)\",\n sand2: \"color(display-p3 0.977 0.977 0.973)\",\n sand3: \"color(display-p3 0.943 0.942 0.936)\",\n sand4: \"color(display-p3 0.913 0.912 0.903)\",\n sand5: \"color(display-p3 0.885 0.883 0.873)\",\n sand6: \"color(display-p3 0.854 0.852 0.839)\",\n sand7: \"color(display-p3 0.813 0.81 0.794)\",\n sand8: \"color(display-p3 0.738 0.734 0.713)\",\n sand9: \"color(display-p3 0.553 0.553 0.528)\",\n sand10: \"color(display-p3 0.511 0.511 0.488)\",\n sand11: \"color(display-p3 0.388 0.388 0.37)\",\n sand12: \"color(display-p3 0.129 0.126 0.111)\",\n};\nconst sandP3A = {\n sandA1: \"color(display-p3 0.349 0.349 0.024 / 0.012)\",\n sandA2: \"color(display-p3 0.161 0.161 0.024 / 0.028)\",\n sandA3: \"color(display-p3 0.067 0.067 0.008 / 0.063)\",\n sandA4: \"color(display-p3 0.129 0.129 0.012 / 0.099)\",\n sandA5: \"color(display-p3 0.098 0.067 0.008 / 0.126)\",\n sandA6: \"color(display-p3 0.102 0.075 0.004 / 0.161)\",\n sandA7: \"color(display-p3 0.098 0.098 0.004 / 0.208)\",\n sandA8: \"color(display-p3 0.086 0.075 0.004 / 0.287)\",\n sandA9: \"color(display-p3 0.051 0.051 0.004 / 0.471)\",\n sandA10: \"color(display-p3 0.047 0.047 0 / 0.514)\",\n sandA11: \"color(display-p3 0.031 0.031 0 / 0.632)\",\n sandA12: \"color(display-p3 0.024 0.02 0 / 0.891)\",\n};\nconst tomato = {\n tomato1: \"#fffcfc\",\n tomato2: \"#fff8f7\",\n tomato3: \"#feebe7\",\n tomato4: \"#ffdcd3\",\n tomato5: \"#ffcdc2\",\n tomato6: \"#fdbdaf\",\n tomato7: \"#f5a898\",\n tomato8: \"#ec8e7b\",\n tomato9: \"#e54d2e\",\n tomato10: \"#dd4425\",\n tomato11: \"#d13415\",\n tomato12: \"#5c271f\",\n};\nconst tomatoA = {\n tomatoA1: \"#ff000003\",\n tomatoA2: \"#ff200008\",\n tomatoA3: \"#f52b0018\",\n tomatoA4: \"#ff35002c\",\n tomatoA5: \"#ff2e003d\",\n tomatoA6: \"#f92d0050\",\n tomatoA7: \"#e7280067\",\n tomatoA8: \"#db250084\",\n tomatoA9: \"#df2600d1\",\n tomatoA10: \"#d72400da\",\n tomatoA11: \"#cd2200ea\",\n tomatoA12: \"#460900e0\",\n};\nconst tomatoP3 = {\n tomato1: \"color(display-p3 0.998 0.989 0.988)\",\n tomato2: \"color(display-p3 0.994 0.974 0.969)\",\n tomato3: \"color(display-p3 0.985 0.924 0.909)\",\n tomato4: \"color(display-p3 0.996 0.868 0.835)\",\n tomato5: \"color(display-p3 0.98 0.812 0.77)\",\n tomato6: \"color(display-p3 0.953 0.75 0.698)\",\n tomato7: \"color(display-p3 0.917 0.673 0.611)\",\n tomato8: \"color(display-p3 0.875 0.575 0.502)\",\n tomato9: \"color(display-p3 0.831 0.345 0.231)\",\n tomato10: \"color(display-p3 0.802 0.313 0.2)\",\n tomato11: \"color(display-p3 0.755 0.259 0.152)\",\n tomato12: \"color(display-p3 0.335 0.165 0.132)\",\n};\nconst tomatoP3A = {\n tomatoA1: \"color(display-p3 0.675 0.024 0.024 / 0.012)\",\n tomatoA2: \"color(display-p3 0.757 0.145 0.02 / 0.032)\",\n tomatoA3: \"color(display-p3 0.831 0.184 0.012 / 0.091)\",\n tomatoA4: \"color(display-p3 0.976 0.192 0.004 / 0.165)\",\n tomatoA5: \"color(display-p3 0.918 0.192 0.004 / 0.232)\",\n tomatoA6: \"color(display-p3 0.847 0.173 0.004 / 0.302)\",\n tomatoA7: \"color(display-p3 0.788 0.165 0.004 / 0.389)\",\n tomatoA8: \"color(display-p3 0.749 0.153 0.004 / 0.499)\",\n tomatoA9: \"color(display-p3 0.78 0.149 0 / 0.769)\",\n tomatoA10: \"color(display-p3 0.757 0.141 0 / 0.8)\",\n tomatoA11: \"color(display-p3 0.755 0.259 0.152)\",\n tomatoA12: \"color(display-p3 0.335 0.165 0.132)\",\n};\nconst red = {\n red1: \"#fffcfc\",\n red2: \"#fff7f7\",\n red3: \"#feebec\",\n red4: \"#ffdbdc\",\n red5: \"#ffcdce\",\n red6: \"#fdbdbe\",\n red7: \"#f4a9aa\",\n red8: \"#eb8e90\",\n red9: \"#e5484d\",\n red10: \"#dc3e42\",\n red11: \"#ce2c31\",\n red12: \"#641723\",\n};\nconst redA = {\n redA1: \"#ff000003\",\n redA2: \"#ff000008\",\n redA3: \"#f3000d14\",\n redA4: \"#ff000824\",\n redA5: \"#ff000632\",\n redA6: \"#f8000442\",\n redA7: \"#df000356\",\n redA8: \"#d2000571\",\n redA9: \"#db0007b7\",\n redA10: \"#d10005c1\",\n redA11: \"#c40006d3\",\n redA12: \"#55000de8\",\n};\nconst redP3 = {\n red1: \"color(display-p3 0.998 0.989 0.988)\",\n red2: \"color(display-p3 0.995 0.971 0.971)\",\n red3: \"color(display-p3 0.985 0.925 0.925)\",\n red4: \"color(display-p3 0.999 0.866 0.866)\",\n red5: \"color(display-p3 0.984 0.812 0.811)\",\n red6: \"color(display-p3 0.955 0.751 0.749)\",\n red7: \"color(display-p3 0.915 0.675 0.672)\",\n red8: \"color(display-p3 0.872 0.575 0.572)\",\n red9: \"color(display-p3 0.83 0.329 0.324)\",\n red10: \"color(display-p3 0.798 0.294 0.285)\",\n red11: \"color(display-p3 0.744 0.234 0.222)\",\n red12: \"color(display-p3 0.36 0.115 0.143)\",\n};\nconst redP3A = {\n redA1: \"color(display-p3 0.675 0.024 0.024 / 0.012)\",\n redA2: \"color(display-p3 0.863 0.024 0.024 / 0.028)\",\n redA3: \"color(display-p3 0.792 0.008 0.008 / 0.075)\",\n redA4: \"color(display-p3 1 0.008 0.008 / 0.134)\",\n redA5: \"color(display-p3 0.918 0.008 0.008 / 0.189)\",\n redA6: \"color(display-p3 0.831 0.02 0.004 / 0.251)\",\n redA7: \"color(display-p3 0.741 0.016 0.004 / 0.33)\",\n redA8: \"color(display-p3 0.698 0.012 0.004 / 0.428)\",\n redA9: \"color(display-p3 0.749 0.008 0 / 0.675)\",\n redA10: \"color(display-p3 0.714 0.012 0 / 0.714)\",\n redA11: \"color(display-p3 0.744 0.234 0.222)\",\n redA12: \"color(display-p3 0.36 0.115 0.143)\",\n};\nconst ruby = {\n ruby1: \"#fffcfd\",\n ruby2: \"#fff7f8\",\n ruby3: \"#feeaed\",\n ruby4: \"#ffdce1\",\n ruby5: \"#ffced6\",\n ruby6: \"#f8bfc8\",\n ruby7: \"#efacb8\",\n ruby8: \"#e592a3\",\n ruby9: \"#e54666\",\n ruby10: \"#dc3b5d\",\n ruby11: \"#ca244d\",\n ruby12: \"#64172b\",\n};\nconst rubyA = {\n rubyA1: \"#ff005503\",\n rubyA2: \"#ff002008\",\n rubyA3: \"#f3002515\",\n rubyA4: \"#ff002523\",\n rubyA5: \"#ff002a31\",\n rubyA6: \"#e4002440\",\n rubyA7: \"#ce002553\",\n rubyA8: \"#c300286d\",\n rubyA9: \"#db002cb9\",\n rubyA10: \"#d2002cc4\",\n rubyA11: \"#c10030db\",\n rubyA12: \"#550016e8\",\n};\nconst rubyP3 = {\n ruby1: \"color(display-p3 0.998 0.989 0.992)\",\n ruby2: \"color(display-p3 0.995 0.971 0.974)\",\n ruby3: \"color(display-p3 0.983 0.92 0.928)\",\n ruby4: \"color(display-p3 0.987 0.869 0.885)\",\n ruby5: \"color(display-p3 0.968 0.817 0.839)\",\n ruby6: \"color(display-p3 0.937 0.758 0.786)\",\n ruby7: \"color(display-p3 0.897 0.685 0.721)\",\n ruby8: \"color(display-p3 0.851 0.588 0.639)\",\n ruby9: \"color(display-p3 0.83 0.323 0.408)\",\n ruby10: \"color(display-p3 0.795 0.286 0.375)\",\n ruby11: \"color(display-p3 0.728 0.211 0.311)\",\n ruby12: \"color(display-p3 0.36 0.115 0.171)\",\n};\nconst rubyP3A = {\n rubyA1: \"color(display-p3 0.675 0.024 0.349 / 0.012)\",\n rubyA2: \"color(display-p3 0.863 0.024 0.024 / 0.028)\",\n rubyA3: \"color(display-p3 0.804 0.008 0.11 / 0.079)\",\n rubyA4: \"color(display-p3 0.91 0.008 0.125 / 0.13)\",\n rubyA5: \"color(display-p3 0.831 0.004 0.133 / 0.185)\",\n rubyA6: \"color(display-p3 0.745 0.004 0.118 / 0.244)\",\n rubyA7: \"color(display-p3 0.678 0.004 0.114 / 0.314)\",\n rubyA8: \"color(display-p3 0.639 0.004 0.125 / 0.412)\",\n rubyA9: \"color(display-p3 0.753 0 0.129 / 0.679)\",\n rubyA10: \"color(display-p3 0.714 0 0.125 / 0.714)\",\n rubyA11: \"color(display-p3 0.728 0.211 0.311)\",\n rubyA12: \"color(display-p3 0.36 0.115 0.171)\",\n};\nconst crimson = {\n crimson1: \"#fffcfd\",\n crimson2: \"#fef7f9\",\n crimson3: \"#ffe9f0\",\n crimson4: \"#fedce7\",\n crimson5: \"#facedd\",\n crimson6: \"#f3bed1\",\n crimson7: \"#eaacc3\",\n crimson8: \"#e093b2\",\n crimson9: \"#e93d82\",\n crimson10: \"#df3478\",\n crimson11: \"#cb1d63\",\n crimson12: \"#621639\",\n};\nconst crimsonA = {\n crimsonA1: \"#ff005503\",\n crimsonA2: \"#e0004008\",\n crimsonA3: \"#ff005216\",\n crimsonA4: \"#f8005123\",\n crimsonA5: \"#e5004f31\",\n crimsonA6: \"#d0004b41\",\n crimsonA7: \"#bf004753\",\n crimsonA8: \"#b6004a6c\",\n crimsonA9: \"#e2005bc2\",\n crimsonA10: \"#d70056cb\",\n crimsonA11: \"#c4004fe2\",\n crimsonA12: \"#530026e9\",\n};\nconst crimsonP3 = {\n crimson1: \"color(display-p3 0.998 0.989 0.992)\",\n crimson2: \"color(display-p3 0.991 0.969 0.976)\",\n crimson3: \"color(display-p3 0.987 0.917 0.941)\",\n crimson4: \"color(display-p3 0.975 0.866 0.904)\",\n crimson5: \"color(display-p3 0.953 0.813 0.864)\",\n crimson6: \"color(display-p3 0.921 0.755 0.817)\",\n crimson7: \"color(display-p3 0.88 0.683 0.761)\",\n crimson8: \"color(display-p3 0.834 0.592 0.694)\",\n crimson9: \"color(display-p3 0.843 0.298 0.507)\",\n crimson10: \"color(display-p3 0.807 0.266 0.468)\",\n crimson11: \"color(display-p3 0.731 0.195 0.388)\",\n crimson12: \"color(display-p3 0.352 0.111 0.221)\",\n};\nconst crimsonP3A = {\n crimsonA1: \"color(display-p3 0.675 0.024 0.349 / 0.012)\",\n crimsonA2: \"color(display-p3 0.757 0.02 0.267 / 0.032)\",\n crimsonA3: \"color(display-p3 0.859 0.008 0.294 / 0.083)\",\n crimsonA4: \"color(display-p3 0.827 0.008 0.298 / 0.134)\",\n crimsonA5: \"color(display-p3 0.753 0.008 0.275 / 0.189)\",\n crimsonA6: \"color(display-p3 0.682 0.004 0.247 / 0.244)\",\n crimsonA7: \"color(display-p3 0.62 0.004 0.251 / 0.318)\",\n crimsonA8: \"color(display-p3 0.6 0.004 0.251 / 0.408)\",\n crimsonA9: \"color(display-p3 0.776 0 0.298 / 0.702)\",\n crimsonA10: \"color(display-p3 0.737 0 0.275 / 0.734)\",\n crimsonA11: \"color(display-p3 0.731 0.195 0.388)\",\n crimsonA12: \"color(display-p3 0.352 0.111 0.221)\",\n};\nconst pink = {\n pink1: \"#fffcfe\",\n pink2: \"#fef7fb\",\n pink3: \"#fee9f5\",\n pink4: \"#fbdcef\",\n pink5: \"#f6cee7\",\n pink6: \"#efbfdd\",\n pink7: \"#e7acd0\",\n pink8: \"#dd93c2\",\n pink9: \"#d6409f\",\n pink10: \"#cf3897\",\n pink11: \"#c2298a\",\n pink12: \"#651249\",\n};\nconst pinkA = {\n pinkA1: \"#ff00aa03\",\n pinkA2: \"#e0008008\",\n pinkA3: \"#f4008c16\",\n pinkA4: \"#e2008b23\",\n pinkA5: \"#d1008331\",\n pinkA6: \"#c0007840\",\n pinkA7: \"#b6006f53\",\n pinkA8: \"#af006f6c\",\n pinkA9: \"#c8007fbf\",\n pinkA10: \"#c2007ac7\",\n pinkA11: \"#b60074d6\",\n pinkA12: \"#59003bed\",\n};\nconst pinkP3 = {\n pink1: \"color(display-p3 0.998 0.989 0.996)\",\n pink2: \"color(display-p3 0.992 0.97 0.985)\",\n pink3: \"color(display-p3 0.981 0.917 0.96)\",\n pink4: \"color(display-p3 0.963 0.867 0.932)\",\n pink5: \"color(display-p3 0.939 0.815 0.899)\",\n pink6: \"color(display-p3 0.907 0.756 0.859)\",\n pink7: \"color(display-p3 0.869 0.683 0.81)\",\n pink8: \"color(display-p3 0.825 0.59 0.751)\",\n pink9: \"color(display-p3 0.775 0.297 0.61)\",\n pink10: \"color(display-p3 0.748 0.27 0.581)\",\n pink11: \"color(display-p3 0.698 0.219 0.528)\",\n pink12: \"color(display-p3 0.363 0.101 0.279)\",\n};\nconst pinkP3A = {\n pinkA1: \"color(display-p3 0.675 0.024 0.675 / 0.012)\",\n pinkA2: \"color(display-p3 0.757 0.02 0.51 / 0.032)\",\n pinkA3: \"color(display-p3 0.765 0.008 0.529 / 0.083)\",\n pinkA4: \"color(display-p3 0.737 0.008 0.506 / 0.134)\",\n pinkA5: \"color(display-p3 0.663 0.004 0.451 / 0.185)\",\n pinkA6: \"color(display-p3 0.616 0.004 0.424 / 0.244)\",\n pinkA7: \"color(display-p3 0.596 0.004 0.412 / 0.318)\",\n pinkA8: \"color(display-p3 0.573 0.004 0.404 / 0.412)\",\n pinkA9: \"color(display-p3 0.682 0 0.447 / 0.702)\",\n pinkA10: \"color(display-p3 0.655 0 0.424 / 0.73)\",\n pinkA11: \"color(display-p3 0.698 0.219 0.528)\",\n pinkA12: \"color(display-p3 0.363 0.101 0.279)\",\n};\nconst plum = {\n plum1: \"#fefcff\",\n plum2: \"#fdf7fd\",\n plum3: \"#fbebfb\",\n plum4: \"#f7def8\",\n plum5: \"#f2d1f3\",\n plum6: \"#e9c2ec\",\n plum7: \"#deade3\",\n plum8: \"#cf91d8\",\n plum9: \"#ab4aba\",\n plum10: \"#a144af\",\n plum11: \"#953ea3\",\n plum12: \"#53195d\",\n};\nconst plumA = {\n plumA1: \"#aa00ff03\",\n plumA2: \"#c000c008\",\n plumA3: \"#cc00cc14\",\n plumA4: \"#c200c921\",\n plumA5: \"#b700bd2e\",\n plumA6: \"#a400b03d\",\n plumA7: \"#9900a852\",\n plumA8: \"#9000a56e\",\n plumA9: \"#89009eb5\",\n plumA10: \"#7f0092bb\",\n plumA11: \"#730086c1\",\n plumA12: \"#40004be6\",\n};\nconst plumP3 = {\n plum1: \"color(display-p3 0.995 0.988 0.999)\",\n plum2: \"color(display-p3 0.988 0.971 0.99)\",\n plum3: \"color(display-p3 0.973 0.923 0.98)\",\n plum4: \"color(display-p3 0.953 0.875 0.966)\",\n plum5: \"color(display-p3 0.926 0.825 0.945)\",\n plum6: \"color(display-p3 0.89 0.765 0.916)\",\n plum7: \"color(display-p3 0.84 0.686 0.877)\",\n plum8: \"color(display-p3 0.775 0.58 0.832)\",\n plum9: \"color(display-p3 0.624 0.313 0.708)\",\n plum10: \"color(display-p3 0.587 0.29 0.667)\",\n plum11: \"color(display-p3 0.543 0.263 0.619)\",\n plum12: \"color(display-p3 0.299 0.114 0.352)\",\n};\nconst plumP3A = {\n plumA1: \"color(display-p3 0.675 0.024 1 / 0.012)\",\n plumA2: \"color(display-p3 0.58 0.024 0.58 / 0.028)\",\n plumA3: \"color(display-p3 0.655 0.008 0.753 / 0.079)\",\n plumA4: \"color(display-p3 0.627 0.008 0.722 / 0.126)\",\n plumA5: \"color(display-p3 0.58 0.004 0.69 / 0.177)\",\n plumA6: \"color(display-p3 0.537 0.004 0.655 / 0.236)\",\n plumA7: \"color(display-p3 0.49 0.004 0.616 / 0.314)\",\n plumA8: \"color(display-p3 0.471 0.004 0.6 / 0.42)\",\n plumA9: \"color(display-p3 0.451 0 0.576 / 0.687)\",\n plumA10: \"color(display-p3 0.42 0 0.529 / 0.71)\",\n plumA11: \"color(display-p3 0.543 0.263 0.619)\",\n plumA12: \"color(display-p3 0.299 0.114 0.352)\",\n};\nconst purple = {\n purple1: \"#fefcfe\",\n purple2: \"#fbf7fe\",\n purple3: \"#f7edfe\",\n purple4: \"#f2e2fc\",\n purple5: \"#ead5f9\",\n purple6: \"#e0c4f4\",\n purple7: \"#d1afec\",\n purple8: \"#be93e4\",\n purple9: \"#8e4ec6\",\n purple10: \"#8347b9\",\n purple11: \"#8145b5\",\n purple12: \"#402060\",\n};\nconst purpleA = {\n purpleA1: \"#aa00aa03\",\n purpleA2: \"#8000e008\",\n purpleA3: \"#8e00f112\",\n purpleA4: \"#8d00e51d\",\n purpleA5: \"#8000db2a\",\n purpleA6: \"#7a01d03b\",\n purpleA7: \"#6d00c350\",\n purpleA8: \"#6600c06c\",\n purpleA9: \"#5c00adb1\",\n purpleA10: \"#53009eb8\",\n purpleA11: \"#52009aba\",\n purpleA12: \"#250049df\",\n};\nconst purpleP3 = {\n purple1: \"color(display-p3 0.995 0.988 0.996)\",\n purple2: \"color(display-p3 0.983 0.971 0.993)\",\n purple3: \"color(display-p3 0.963 0.931 0.989)\",\n purple4: \"color(display-p3 0.937 0.888 0.981)\",\n purple5: \"color(display-p3 0.904 0.837 0.966)\",\n purple6: \"color(display-p3 0.86 0.774 0.942)\",\n purple7: \"color(display-p3 0.799 0.69 0.91)\",\n purple8: \"color(display-p3 0.719 0.583 0.874)\",\n purple9: \"color(display-p3 0.523 0.318 0.751)\",\n purple10: \"color(display-p3 0.483 0.289 0.7)\",\n purple11: \"color(display-p3 0.473 0.281 0.687)\",\n purple12: \"color(display-p3 0.234 0.132 0.363)\",\n};\nconst purpleP3A = {\n purpleA1: \"color(display-p3 0.675 0.024 0.675 / 0.012)\",\n purpleA2: \"color(display-p3 0.443 0.024 0.722 / 0.028)\",\n purpleA3: \"color(display-p3 0.506 0.008 0.835 / 0.071)\",\n purpleA4: \"color(display-p3 0.451 0.004 0.831 / 0.114)\",\n purpleA5: \"color(display-p3 0.431 0.004 0.788 / 0.165)\",\n purpleA6: \"color(display-p3 0.384 0.004 0.745 / 0.228)\",\n purpleA7: \"color(display-p3 0.357 0.004 0.71 / 0.31)\",\n purpleA8: \"color(display-p3 0.322 0.004 0.702 / 0.416)\",\n purpleA9: \"color(display-p3 0.298 0 0.639 / 0.683)\",\n purpleA10: \"color(display-p3 0.271 0 0.58 / 0.71)\",\n purpleA11: \"color(display-p3 0.473 0.281 0.687)\",\n purpleA12: \"color(display-p3 0.234 0.132 0.363)\",\n};\nconst violet = {\n violet1: \"#fdfcfe\",\n violet2: \"#faf8ff\",\n violet3: \"#f4f0fe\",\n violet4: \"#ebe4ff\",\n violet5: \"#e1d9ff\",\n violet6: \"#d4cafe\",\n violet7: \"#c2b5f5\",\n violet8: \"#aa99ec\",\n violet9: \"#6e56cf\",\n violet10: \"#654dc4\",\n violet11: \"#6550b9\",\n violet12: \"#2f265f\",\n};\nconst violetA = {\n violetA1: \"#5500aa03\",\n violetA2: \"#4900ff07\",\n violetA3: \"#4400ee0f\",\n violetA4: \"#4300ff1b\",\n violetA5: \"#3600ff26\",\n violetA6: \"#3100fb35\",\n violetA7: \"#2d01dd4a\",\n violetA8: \"#2b00d066\",\n violetA9: \"#2400b7a9\",\n violetA10: \"#2300abb2\",\n violetA11: \"#1f0099af\",\n violetA12: \"#0b0043d9\",\n};\nconst violetP3 = {\n violet1: \"color(display-p3 0.991 0.988 0.995)\",\n violet2: \"color(display-p3 0.978 0.974 0.998)\",\n violet3: \"color(display-p3 0.953 0.943 0.993)\",\n violet4: \"color(display-p3 0.916 0.897 1)\",\n violet5: \"color(display-p3 0.876 0.851 1)\",\n violet6: \"color(display-p3 0.825 0.793 0.981)\",\n violet7: \"color(display-p3 0.752 0.712 0.943)\",\n violet8: \"color(display-p3 0.654 0.602 0.902)\",\n violet9: \"color(display-p3 0.417 0.341 0.784)\",\n violet10: \"color(display-p3 0.381 0.306 0.741)\",\n violet11: \"color(display-p3 0.383 0.317 0.702)\",\n violet12: \"color(display-p3 0.179 0.15 0.359)\",\n};\nconst violetP3A = {\n violetA1: \"color(display-p3 0.349 0.024 0.675 / 0.012)\",\n violetA2: \"color(display-p3 0.161 0.024 0.863 / 0.028)\",\n violetA3: \"color(display-p3 0.204 0.004 0.871 / 0.059)\",\n violetA4: \"color(display-p3 0.196 0.004 1 / 0.102)\",\n violetA5: \"color(display-p3 0.165 0.008 1 / 0.15)\",\n violetA6: \"color(display-p3 0.153 0.004 0.906 / 0.208)\",\n violetA7: \"color(display-p3 0.141 0.004 0.796 / 0.287)\",\n violetA8: \"color(display-p3 0.133 0.004 0.753 / 0.397)\",\n violetA9: \"color(display-p3 0.114 0 0.675 / 0.659)\",\n violetA10: \"color(display-p3 0.11 0 0.627 / 0.695)\",\n violetA11: \"color(display-p3 0.383 0.317 0.702)\",\n violetA12: \"color(display-p3 0.179 0.15 0.359)\",\n};\nconst iris = {\n iris1: \"#fdfdff\",\n iris2: \"#f8f8ff\",\n iris3: \"#f0f1fe\",\n iris4: \"#e6e7ff\",\n iris5: \"#dadcff\",\n iris6: \"#cbcdff\",\n iris7: \"#b8baf8\",\n iris8: \"#9b9ef0\",\n iris9: \"#5b5bd6\",\n iris10: \"#5151cd\",\n iris11: \"#5753c6\",\n iris12: \"#272962\",\n};\nconst irisA = {\n irisA1: \"#0000ff02\",\n irisA2: \"#0000ff07\",\n irisA3: \"#0011ee0f\",\n irisA4: \"#000bff19\",\n irisA5: \"#000eff25\",\n irisA6: \"#000aff34\",\n irisA7: \"#0008e647\",\n irisA8: \"#0008d964\",\n irisA9: \"#0000c0a4\",\n irisA10: \"#0000b6ae\",\n irisA11: \"#0600abac\",\n irisA12: \"#000246d8\",\n};\nconst irisP3 = {\n iris1: \"color(display-p3 0.992 0.992 0.999)\",\n iris2: \"color(display-p3 0.972 0.973 0.998)\",\n iris3: \"color(display-p3 0.943 0.945 0.992)\",\n iris4: \"color(display-p3 0.902 0.906 1)\",\n iris5: \"color(display-p3 0.857 0.861 1)\",\n iris6: \"color(display-p3 0.799 0.805 0.987)\",\n iris7: \"color(display-p3 0.721 0.727 0.955)\",\n iris8: \"color(display-p3 0.61 0.619 0.918)\",\n iris9: \"color(display-p3 0.357 0.357 0.81)\",\n iris10: \"color(display-p3 0.318 0.318 0.774)\",\n iris11: \"color(display-p3 0.337 0.326 0.748)\",\n iris12: \"color(display-p3 0.154 0.161 0.371)\",\n};\nconst irisP3A = {\n irisA1: \"color(display-p3 0.02 0.02 1 / 0.008)\",\n irisA2: \"color(display-p3 0.024 0.024 0.863 / 0.028)\",\n irisA3: \"color(display-p3 0.004 0.071 0.871 / 0.059)\",\n irisA4: \"color(display-p3 0.012 0.051 1 / 0.099)\",\n irisA5: \"color(display-p3 0.008 0.035 1 / 0.142)\",\n irisA6: \"color(display-p3 0 0.02 0.941 / 0.2)\",\n irisA7: \"color(display-p3 0.004 0.02 0.847 / 0.279)\",\n irisA8: \"color(display-p3 0.004 0.024 0.788 / 0.389)\",\n irisA9: \"color(display-p3 0 0 0.706 / 0.644)\",\n irisA10: \"color(display-p3 0 0 0.667 / 0.683)\",\n irisA11: \"color(display-p3 0.337 0.326 0.748)\",\n irisA12: \"color(display-p3 0.154 0.161 0.371)\",\n};\nconst indigo = {\n indigo1: \"#fdfdfe\",\n indigo2: \"#f7f9ff\",\n indigo3: \"#edf2fe\",\n indigo4: \"#e1e9ff\",\n indigo5: \"#d2deff\",\n indigo6: \"#c1d0ff\",\n indigo7: \"#abbdf9\",\n indigo8: \"#8da4ef\",\n indigo9: \"#3e63dd\",\n indigo10: \"#3358d4\",\n indigo11: \"#3a5bc7\",\n indigo12: \"#1f2d5c\",\n};\nconst indigoA = {\n indigoA1: \"#00008002\",\n indigoA2: \"#0040ff08\",\n indigoA3: \"#0047f112\",\n indigoA4: \"#0044ff1e\",\n indigoA5: \"#0044ff2d\",\n indigoA6: \"#003eff3e\",\n indigoA7: \"#0037ed54\",\n indigoA8: \"#0034dc72\",\n indigoA9: \"#0031d2c1\",\n indigoA10: \"#002ec9cc\",\n indigoA11: \"#002bb7c5\",\n indigoA12: \"#001046e0\",\n};\nconst indigoP3 = {\n indigo1: \"color(display-p3 0.992 0.992 0.996)\",\n indigo2: \"color(display-p3 0.971 0.977 0.998)\",\n indigo3: \"color(display-p3 0.933 0.948 0.992)\",\n indigo4: \"color(display-p3 0.885 0.914 1)\",\n indigo5: \"color(display-p3 0.831 0.87 1)\",\n indigo6: \"color(display-p3 0.767 0.814 0.995)\",\n indigo7: \"color(display-p3 0.685 0.74 0.957)\",\n indigo8: \"color(display-p3 0.569 0.639 0.916)\",\n indigo9: \"color(display-p3 0.276 0.384 0.837)\",\n indigo10: \"color(display-p3 0.234 0.343 0.801)\",\n indigo11: \"color(display-p3 0.256 0.354 0.755)\",\n indigo12: \"color(display-p3 0.133 0.175 0.348)\",\n};\nconst indigoP3A = {\n indigoA1: \"color(display-p3 0.02 0.02 0.51 / 0.008)\",\n indigoA2: \"color(display-p3 0.024 0.161 0.863 / 0.028)\",\n indigoA3: \"color(display-p3 0.008 0.239 0.886 / 0.067)\",\n indigoA4: \"color(display-p3 0.004 0.247 1 / 0.114)\",\n indigoA5: \"color(display-p3 0.004 0.235 1 / 0.169)\",\n indigoA6: \"color(display-p3 0.004 0.208 0.984 / 0.232)\",\n indigoA7: \"color(display-p3 0.004 0.176 0.863 / 0.314)\",\n indigoA8: \"color(display-p3 0.004 0.165 0.812 / 0.432)\",\n indigoA9: \"color(display-p3 0 0.153 0.773 / 0.726)\",\n indigoA10: \"color(display-p3 0 0.137 0.737 / 0.765)\",\n indigoA11: \"color(display-p3 0.256 0.354 0.755)\",\n indigoA12: \"color(display-p3 0.133 0.175 0.348)\",\n};\nconst blue = {\n blue1: \"#fbfdff\",\n blue2: \"#f4faff\",\n blue3: \"#e6f4fe\",\n blue4: \"#d5efff\",\n blue5: \"#c2e5ff\",\n blue6: \"#acd8fc\",\n blue7: \"#8ec8f6\",\n blue8: \"#5eb1ef\",\n blue9: \"#0090ff\",\n blue10: \"#0588f0\",\n blue11: \"#0d74ce\",\n blue12: \"#113264\",\n};\nconst blueA = {\n blueA1: \"#0080ff04\",\n blueA2: \"#008cff0b\",\n blueA3: \"#008ff519\",\n blueA4: \"#009eff2a\",\n blueA5: \"#0093ff3d\",\n blueA6: \"#0088f653\",\n blueA7: \"#0083eb71\",\n blueA8: \"#0084e6a1\",\n blueA9: \"#0090ff\",\n blueA10: \"#0086f0fa\",\n blueA11: \"#006dcbf2\",\n blueA12: \"#002359ee\",\n};\nconst blueP3 = {\n blue1: \"color(display-p3 0.986 0.992 0.999)\",\n blue2: \"color(display-p3 0.96 0.979 0.998)\",\n blue3: \"color(display-p3 0.912 0.956 0.991)\",\n blue4: \"color(display-p3 0.853 0.932 1)\",\n blue5: \"color(display-p3 0.788 0.894 0.998)\",\n blue6: \"color(display-p3 0.709 0.843 0.976)\",\n blue7: \"color(display-p3 0.606 0.777 0.947)\",\n blue8: \"color(display-p3 0.451 0.688 0.917)\",\n blue9: \"color(display-p3 0.247 0.556 0.969)\",\n blue10: \"color(display-p3 0.234 0.523 0.912)\",\n blue11: \"color(display-p3 0.15 0.44 0.84)\",\n blue12: \"color(display-p3 0.102 0.193 0.379)\",\n};\nconst blueP3A = {\n blueA1: \"color(display-p3 0.024 0.514 1 / 0.016)\",\n blueA2: \"color(display-p3 0.024 0.514 0.906 / 0.04)\",\n blueA3: \"color(display-p3 0.012 0.506 0.914 / 0.087)\",\n blueA4: \"color(display-p3 0.008 0.545 1 / 0.146)\",\n blueA5: \"color(display-p3 0.004 0.502 0.984 / 0.212)\",\n blueA6: \"color(display-p3 0.004 0.463 0.922 / 0.291)\",\n blueA7: \"color(display-p3 0.004 0.431 0.863 / 0.393)\",\n blueA8: \"color(display-p3 0 0.427 0.851 / 0.55)\",\n blueA9: \"color(display-p3 0 0.412 0.961 / 0.753)\",\n blueA10: \"color(display-p3 0 0.376 0.886 / 0.765)\",\n blueA11: \"color(display-p3 0.15 0.44 0.84)\",\n blueA12: \"color(display-p3 0.102 0.193 0.379)\",\n};\nconst cyan = {\n cyan1: \"#fafdfe\",\n cyan2: \"#f2fafb\",\n cyan3: \"#def7f9\",\n cyan4: \"#caf1f6\",\n cyan5: \"#b5e9f0\",\n cyan6: \"#9ddde7\",\n cyan7: \"#7dcedc\",\n cyan8: \"#3db9cf\",\n cyan9: \"#00a2c7\",\n cyan10: \"#0797b9\",\n cyan11: \"#107d98\",\n cyan12: \"#0d3c48\",\n};\nconst cyanA = {\n cyanA1: \"#0099cc05\",\n cyanA2: \"#009db10d\",\n cyanA3: \"#00c2d121\",\n cyanA4: \"#00bcd435\",\n cyanA5: \"#01b4cc4a\",\n cyanA6: \"#00a7c162\",\n cyanA7: \"#009fbb82\",\n cyanA8: \"#00a3c0c2\",\n cyanA9: \"#00a2c7\",\n cyanA10: \"#0094b7f8\",\n cyanA11: \"#007491ef\",\n cyanA12: \"#00323ef2\",\n};\nconst cyanP3 = {\n cyan1: \"color(display-p3 0.982 0.992 0.996)\",\n cyan2: \"color(display-p3 0.955 0.981 0.984)\",\n cyan3: \"color(display-p3 0.888 0.965 0.975)\",\n cyan4: \"color(display-p3 0.821 0.941 0.959)\",\n cyan5: \"color(display-p3 0.751 0.907 0.935)\",\n cyan6: \"color(display-p3 0.671 0.862 0.9)\",\n cyan7: \"color(display-p3 0.564 0.8 0.854)\",\n cyan8: \"color(display-p3 0.388 0.715 0.798)\",\n cyan9: \"color(display-p3 0.282 0.627 0.765)\",\n cyan10: \"color(display-p3 0.264 0.583 0.71)\",\n cyan11: \"color(display-p3 0.08 0.48 0.63)\",\n cyan12: \"color(display-p3 0.108 0.232 0.277)\",\n};\nconst cyanP3A = {\n cyanA1: \"color(display-p3 0.02 0.608 0.804 / 0.02)\",\n cyanA2: \"color(display-p3 0.02 0.557 0.647 / 0.044)\",\n cyanA3: \"color(display-p3 0.004 0.694 0.796 / 0.114)\",\n cyanA4: \"color(display-p3 0.004 0.678 0.784 / 0.181)\",\n cyanA5: \"color(display-p3 0.004 0.624 0.733 / 0.248)\",\n cyanA6: \"color(display-p3 0.004 0.584 0.706 / 0.33)\",\n cyanA7: \"color(display-p3 0.004 0.541 0.667 / 0.436)\",\n cyanA8: \"color(display-p3 0 0.533 0.667 / 0.612)\",\n cyanA9: \"color(display-p3 0 0.482 0.675 / 0.718)\",\n cyanA10: \"color(display-p3 0 0.435 0.608 / 0.738)\",\n cyanA11: \"color(display-p3 0.08 0.48 0.63)\",\n cyanA12: \"color(display-p3 0.108 0.232 0.277)\",\n};\nconst teal = {\n teal1: \"#fafefd\",\n teal2: \"#f3fbf9\",\n teal3: \"#e0f8f3\",\n teal4: \"#ccf3ea\",\n teal5: \"#b8eae0\",\n teal6: \"#a1ded2\",\n teal7: \"#83cdc1\",\n teal8: \"#53b9ab\",\n teal9: \"#12a594\",\n teal10: \"#0d9b8a\",\n teal11: \"#008573\",\n teal12: \"#0d3d38\",\n};\nconst tealA = {\n tealA1: \"#00cc9905\",\n tealA2: \"#00aa800c\",\n tealA3: \"#00c69d1f\",\n tealA4: \"#00c39633\",\n tealA5: \"#00b49047\",\n tealA6: \"#00a6855e\",\n tealA7: \"#0099807c\",\n tealA8: \"#009783ac\",\n tealA9: \"#009e8ced\",\n tealA10: \"#009684f2\",\n tealA11: \"#008573\",\n tealA12: \"#00332df2\",\n};\nconst tealP3 = {\n teal1: \"color(display-p3 0.983 0.996 0.992)\",\n teal2: \"color(display-p3 0.958 0.983 0.976)\",\n teal3: \"color(display-p3 0.895 0.971 0.952)\",\n teal4: \"color(display-p3 0.831 0.949 0.92)\",\n teal5: \"color(display-p3 0.761 0.914 0.878)\",\n teal6: \"color(display-p3 0.682 0.864 0.825)\",\n teal7: \"color(display-p3 0.581 0.798 0.756)\",\n teal8: \"color(display-p3 0.433 0.716 0.671)\",\n teal9: \"color(display-p3 0.297 0.637 0.581)\",\n teal10: \"color(display-p3 0.275 0.599 0.542)\",\n teal11: \"color(display-p3 0.08 0.5 0.43)\",\n teal12: \"color(display-p3 0.11 0.235 0.219)\",\n};\nconst tealP3A = {\n tealA1: \"color(display-p3 0.024 0.757 0.514 / 0.016)\",\n tealA2: \"color(display-p3 0.02 0.647 0.467 / 0.044)\",\n tealA3: \"color(display-p3 0.004 0.741 0.557 / 0.106)\",\n tealA4: \"color(display-p3 0.004 0.702 0.537 / 0.169)\",\n tealA5: \"color(display-p3 0.004 0.643 0.494 / 0.24)\",\n tealA6: \"color(display-p3 0.004 0.569 0.447 / 0.318)\",\n tealA7: \"color(display-p3 0.004 0.518 0.424 / 0.42)\",\n tealA8: \"color(display-p3 0 0.506 0.424 / 0.569)\",\n tealA9: \"color(display-p3 0 0.482 0.404 / 0.702)\",\n tealA10: \"color(display-p3 0 0.451 0.369 / 0.726)\",\n tealA11: \"color(display-p3 0.08 0.5 0.43)\",\n tealA12: \"color(display-p3 0.11 0.235 0.219)\",\n};\nconst jade = {\n jade1: \"#fbfefd\",\n jade2: \"#f4fbf7\",\n jade3: \"#e6f7ed\",\n jade4: \"#d6f1e3\",\n jade5: \"#c3e9d7\",\n jade6: \"#acdec8\",\n jade7: \"#8bceb6\",\n jade8: \"#56ba9f\",\n jade9: \"#29a383\",\n jade10: \"#26997b\",\n jade11: \"#208368\",\n jade12: \"#1d3b31\",\n};\nconst jadeA = {\n jadeA1: \"#00c08004\",\n jadeA2: \"#00a3460b\",\n jadeA3: \"#00ae4819\",\n jadeA4: \"#00a85129\",\n jadeA5: \"#00a2553c\",\n jadeA6: \"#009a5753\",\n jadeA7: \"#00945f74\",\n jadeA8: \"#00976ea9\",\n jadeA9: \"#00916bd6\",\n jadeA10: \"#008764d9\",\n jadeA11: \"#007152df\",\n jadeA12: \"#002217e2\",\n};\nconst jadeP3 = {\n jade1: \"color(display-p3 0.986 0.996 0.992)\",\n jade2: \"color(display-p3 0.962 0.983 0.969)\",\n jade3: \"color(display-p3 0.912 0.965 0.932)\",\n jade4: \"color(display-p3 0.858 0.941 0.893)\",\n jade5: \"color(display-p3 0.795 0.909 0.847)\",\n jade6: \"color(display-p3 0.715 0.864 0.791)\",\n jade7: \"color(display-p3 0.603 0.802 0.718)\",\n jade8: \"color(display-p3 0.44 0.72 0.629)\",\n jade9: \"color(display-p3 0.319 0.63 0.521)\",\n jade10: \"color(display-p3 0.299 0.592 0.488)\",\n jade11: \"color(display-p3 0.15 0.5 0.37)\",\n jade12: \"color(display-p3 0.142 0.229 0.194)\",\n};\nconst jadeP3A = {\n jadeA1: \"color(display-p3 0.024 0.757 0.514 / 0.016)\",\n jadeA2: \"color(display-p3 0.024 0.612 0.22 / 0.04)\",\n jadeA3: \"color(display-p3 0.012 0.596 0.235 / 0.087)\",\n jadeA4: \"color(display-p3 0.008 0.588 0.255 / 0.142)\",\n jadeA5: \"color(display-p3 0.004 0.561 0.251 / 0.204)\",\n jadeA6: \"color(display-p3 0.004 0.525 0.278 / 0.287)\",\n jadeA7: \"color(display-p3 0.004 0.506 0.29 / 0.397)\",\n jadeA8: \"color(display-p3 0 0.506 0.337 / 0.561)\",\n jadeA9: \"color(display-p3 0 0.459 0.298 / 0.683)\",\n jadeA10: \"color(display-p3 0 0.42 0.271 / 0.702)\",\n jadeA11: \"color(display-p3 0.15 0.5 0.37)\",\n jadeA12: \"color(display-p3 0.142 0.229 0.194)\",\n};\nconst green = {\n green1: \"#fbfefc\",\n green2: \"#f4fbf6\",\n green3: \"#e6f6eb\",\n green4: \"#d6f1df\",\n green5: \"#c4e8d1\",\n green6: \"#adddc0\",\n green7: \"#8eceaa\",\n green8: \"#5bb98b\",\n green9: \"#30a46c\",\n green10: \"#2b9a66\",\n green11: \"#218358\",\n green12: \"#193b2d\",\n};\nconst greenA = {\n greenA1: \"#00c04004\",\n greenA2: \"#00a32f0b\",\n greenA3: \"#00a43319\",\n greenA4: \"#00a83829\",\n greenA5: \"#019c393b\",\n greenA6: \"#00963c52\",\n greenA7: \"#00914071\",\n greenA8: \"#00924ba4\",\n greenA9: \"#008f4acf\",\n greenA10: \"#008647d4\",\n greenA11: \"#00713fde\",\n greenA12: \"#002616e6\",\n};\nconst greenP3 = {\n green1: \"color(display-p3 0.986 0.996 0.989)\",\n green2: \"color(display-p3 0.963 0.983 0.967)\",\n green3: \"color(display-p3 0.913 0.964 0.925)\",\n green4: \"color(display-p3 0.859 0.94 0.879)\",\n green5: \"color(display-p3 0.796 0.907 0.826)\",\n green6: \"color(display-p3 0.718 0.863 0.761)\",\n green7: \"color(display-p3 0.61 0.801 0.675)\",\n green8: \"color(display-p3 0.451 0.715 0.559)\",\n green9: \"color(display-p3 0.332 0.634 0.442)\",\n green10: \"color(display-p3 0.308 0.595 0.417)\",\n green11: \"color(display-p3 0.19 0.5 0.32)\",\n green12: \"color(display-p3 0.132 0.228 0.18)\",\n};\nconst greenP3A = {\n greenA1: \"color(display-p3 0.024 0.757 0.267 / 0.016)\",\n greenA2: \"color(display-p3 0.024 0.565 0.129 / 0.036)\",\n greenA3: \"color(display-p3 0.012 0.596 0.145 / 0.087)\",\n greenA4: \"color(display-p3 0.008 0.588 0.145 / 0.142)\",\n greenA5: \"color(display-p3 0.004 0.541 0.157 / 0.204)\",\n greenA6: \"color(display-p3 0.004 0.518 0.157 / 0.283)\",\n greenA7: \"color(display-p3 0.004 0.486 0.165 / 0.389)\",\n greenA8: \"color(display-p3 0 0.478 0.2 / 0.55)\",\n greenA9: \"color(display-p3 0 0.455 0.165 / 0.667)\",\n greenA10: \"color(display-p3 0 0.416 0.153 / 0.691)\",\n greenA11: \"color(display-p3 0.19 0.5 0.32)\",\n greenA12: \"color(display-p3 0.132 0.228 0.18)\",\n};\nconst grass = {\n grass1: \"#fbfefb\",\n grass2: \"#f5fbf5\",\n grass3: \"#e9f6e9\",\n grass4: \"#daf1db\",\n grass5: \"#c9e8ca\",\n grass6: \"#b2ddb5\",\n grass7: \"#94ce9a\",\n grass8: \"#65ba74\",\n grass9: \"#46a758\",\n grass10: \"#3e9b4f\",\n grass11: \"#2a7e3b\",\n grass12: \"#203c25\",\n};\nconst grassA = {\n grassA1: \"#00c00004\",\n grassA2: \"#0099000a\",\n grassA3: \"#00970016\",\n grassA4: \"#009f0725\",\n grassA5: \"#00930536\",\n grassA6: \"#008f0a4d\",\n grassA7: \"#018b0f6b\",\n grassA8: \"#008d199a\",\n grassA9: \"#008619b9\",\n grassA10: \"#007b17c1\",\n grassA11: \"#006514d5\",\n grassA12: \"#002006df\",\n};\nconst grassP3 = {\n grass1: \"color(display-p3 0.986 0.996 0.985)\",\n grass2: \"color(display-p3 0.966 0.983 0.964)\",\n grass3: \"color(display-p3 0.923 0.965 0.917)\",\n grass4: \"color(display-p3 0.872 0.94 0.865)\",\n grass5: \"color(display-p3 0.811 0.908 0.802)\",\n grass6: \"color(display-p3 0.733 0.864 0.724)\",\n grass7: \"color(display-p3 0.628 0.803 0.622)\",\n grass8: \"color(display-p3 0.477 0.72 0.482)\",\n grass9: \"color(display-p3 0.38 0.647 0.378)\",\n grass10: \"color(display-p3 0.344 0.598 0.342)\",\n grass11: \"color(display-p3 0.263 0.488 0.261)\",\n grass12: \"color(display-p3 0.151 0.233 0.153)\",\n};\nconst grassP3A = {\n grassA1: \"color(display-p3 0.024 0.757 0.024 / 0.016)\",\n grassA2: \"color(display-p3 0.024 0.565 0.024 / 0.036)\",\n grassA3: \"color(display-p3 0.059 0.576 0.008 / 0.083)\",\n grassA4: \"color(display-p3 0.035 0.565 0.008 / 0.134)\",\n grassA5: \"color(display-p3 0.047 0.545 0.008 / 0.197)\",\n grassA6: \"color(display-p3 0.031 0.502 0.004 / 0.275)\",\n grassA7: \"color(display-p3 0.012 0.482 0.004 / 0.377)\",\n grassA8: \"color(display-p3 0 0.467 0.008 / 0.522)\",\n grassA9: \"color(display-p3 0.008 0.435 0 / 0.624)\",\n grassA10: \"color(display-p3 0.008 0.388 0 / 0.659)\",\n grassA11: \"color(display-p3 0.263 0.488 0.261)\",\n grassA12: \"color(display-p3 0.151 0.233 0.153)\",\n};\nconst brown = {\n brown1: \"#fefdfc\",\n brown2: \"#fcf9f6\",\n brown3: \"#f6eee7\",\n brown4: \"#f0e4d9\",\n brown5: \"#ebdaca\",\n brown6: \"#e4cdb7\",\n brown7: \"#dcbc9f\",\n brown8: \"#cea37e\",\n brown9: \"#ad7f58\",\n brown10: \"#a07553\",\n brown11: \"#815e46\",\n brown12: \"#3e332e\",\n};\nconst brownA = {\n brownA1: \"#aa550003\",\n brownA2: \"#aa550009\",\n brownA3: \"#a04b0018\",\n brownA4: \"#9b4a0026\",\n brownA5: \"#9f4d0035\",\n brownA6: \"#a04e0048\",\n brownA7: \"#a34e0060\",\n brownA8: \"#9f4a0081\",\n brownA9: \"#823c00a7\",\n brownA10: \"#723300ac\",\n brownA11: \"#522100b9\",\n brownA12: \"#140600d1\",\n};\nconst brownP3 = {\n brown1: \"color(display-p3 0.995 0.992 0.989)\",\n brown2: \"color(display-p3 0.987 0.976 0.964)\",\n brown3: \"color(display-p3 0.959 0.936 0.909)\",\n brown4: \"color(display-p3 0.934 0.897 0.855)\",\n brown5: \"color(display-p3 0.909 0.856 0.798)\",\n brown6: \"color(display-p3 0.88 0.808 0.73)\",\n brown7: \"color(display-p3 0.841 0.742 0.639)\",\n brown8: \"color(display-p3 0.782 0.647 0.514)\",\n brown9: \"color(display-p3 0.651 0.505 0.368)\",\n brown10: \"color(display-p3 0.601 0.465 0.344)\",\n brown11: \"color(display-p3 0.485 0.374 0.288)\",\n brown12: \"color(display-p3 0.236 0.202 0.183)\",\n};\nconst brownP3A = {\n brownA1: \"color(display-p3 0.675 0.349 0.024 / 0.012)\",\n brownA2: \"color(display-p3 0.675 0.349 0.024 / 0.036)\",\n brownA3: \"color(display-p3 0.573 0.314 0.012 / 0.091)\",\n brownA4: \"color(display-p3 0.545 0.302 0.008 / 0.146)\",\n brownA5: \"color(display-p3 0.561 0.29 0.004 / 0.204)\",\n brownA6: \"color(display-p3 0.553 0.294 0.004 / 0.271)\",\n brownA7: \"color(display-p3 0.557 0.286 0.004 / 0.361)\",\n brownA8: \"color(display-p3 0.549 0.275 0.004 / 0.487)\",\n brownA9: \"color(display-p3 0.447 0.22 0 / 0.632)\",\n brownA10: \"color(display-p3 0.388 0.188 0 / 0.655)\",\n brownA11: \"color(display-p3 0.485 0.374 0.288)\",\n brownA12: \"color(display-p3 0.236 0.202 0.183)\",\n};\nconst bronze = {\n bronze1: \"#fdfcfc\",\n bronze2: \"#fdf7f5\",\n bronze3: \"#f6edea\",\n bronze4: \"#efe4df\",\n bronze5: \"#e7d9d3\",\n bronze6: \"#dfcdc5\",\n bronze7: \"#d3bcb3\",\n bronze8: \"#c2a499\",\n bronze9: \"#a18072\",\n bronze10: \"#957468\",\n bronze11: \"#7d5e54\",\n bronze12: \"#43302b\",\n};\nconst bronzeA = {\n bronzeA1: \"#55000003\",\n bronzeA2: \"#cc33000a\",\n bronzeA3: \"#92250015\",\n bronzeA4: \"#80280020\",\n bronzeA5: \"#7423002c\",\n bronzeA6: \"#7324003a\",\n bronzeA7: \"#6c1f004c\",\n bronzeA8: \"#671c0066\",\n bronzeA9: \"#551a008d\",\n bronzeA10: \"#4c150097\",\n bronzeA11: \"#3d0f00ab\",\n bronzeA12: \"#1d0600d4\",\n};\nconst bronzeP3 = {\n bronze1: \"color(display-p3 0.991 0.988 0.988)\",\n bronze2: \"color(display-p3 0.989 0.97 0.961)\",\n bronze3: \"color(display-p3 0.958 0.932 0.919)\",\n bronze4: \"color(display-p3 0.929 0.894 0.877)\",\n bronze5: \"color(display-p3 0.898 0.853 0.832)\",\n bronze6: \"color(display-p3 0.861 0.805 0.778)\",\n bronze7: \"color(display-p3 0.812 0.739 0.706)\",\n bronze8: \"color(display-p3 0.741 0.647 0.606)\",\n bronze9: \"color(display-p3 0.611 0.507 0.455)\",\n bronze10: \"color(display-p3 0.563 0.461 0.414)\",\n bronze11: \"color(display-p3 0.471 0.373 0.336)\",\n bronze12: \"color(display-p3 0.251 0.191 0.172)\",\n};\nconst bronzeP3A = {\n bronzeA1: \"color(display-p3 0.349 0.024 0.024 / 0.012)\",\n bronzeA2: \"color(display-p3 0.71 0.22 0.024 / 0.04)\",\n bronzeA3: \"color(display-p3 0.482 0.2 0.008 / 0.083)\",\n bronzeA4: \"color(display-p3 0.424 0.133 0.004 / 0.122)\",\n bronzeA5: \"color(display-p3 0.4 0.145 0.004 / 0.169)\",\n bronzeA6: \"color(display-p3 0.388 0.125 0.004 / 0.224)\",\n bronzeA7: \"color(display-p3 0.365 0.11 0.004 / 0.295)\",\n bronzeA8: \"color(display-p3 0.341 0.102 0.004 / 0.393)\",\n bronzeA9: \"color(display-p3 0.29 0.094 0 / 0.546)\",\n bronzeA10: \"color(display-p3 0.255 0.082 0 / 0.585)\",\n bronzeA11: \"color(display-p3 0.471 0.373 0.336)\",\n bronzeA12: \"color(display-p3 0.251 0.191 0.172)\",\n};\nconst gold = {\n gold1: \"#fdfdfc\",\n gold2: \"#faf9f2\",\n gold3: \"#f2f0e7\",\n gold4: \"#eae6db\",\n gold5: \"#e1dccf\",\n gold6: \"#d8d0bf\",\n gold7: \"#cbc0aa\",\n gold8: \"#b9a88d\",\n gold9: \"#978365\",\n gold10: \"#8c7a5e\",\n gold11: \"#71624b\",\n gold12: \"#3b352b\",\n};\nconst goldA = {\n goldA1: \"#55550003\",\n goldA2: \"#9d8a000d\",\n goldA3: \"#75600018\",\n goldA4: \"#6b4e0024\",\n goldA5: \"#60460030\",\n goldA6: \"#64440040\",\n goldA7: \"#63420055\",\n goldA8: \"#633d0072\",\n goldA9: \"#5332009a\",\n goldA10: \"#492d00a1\",\n goldA11: \"#362100b4\",\n goldA12: \"#130c00d4\",\n};\nconst goldP3 = {\n gold1: \"color(display-p3 0.992 0.992 0.989)\",\n gold2: \"color(display-p3 0.98 0.976 0.953)\",\n gold3: \"color(display-p3 0.947 0.94 0.909)\",\n gold4: \"color(display-p3 0.914 0.904 0.865)\",\n gold5: \"color(display-p3 0.88 0.865 0.816)\",\n gold6: \"color(display-p3 0.84 0.818 0.756)\",\n gold7: \"color(display-p3 0.788 0.753 0.677)\",\n gold8: \"color(display-p3 0.715 0.66 0.565)\",\n gold9: \"color(display-p3 0.579 0.517 0.41)\",\n gold10: \"color(display-p3 0.538 0.479 0.38)\",\n gold11: \"color(display-p3 0.433 0.386 0.305)\",\n gold12: \"color(display-p3 0.227 0.209 0.173)\",\n};\nconst goldP3A = {\n goldA1: \"color(display-p3 0.349 0.349 0.024 / 0.012)\",\n goldA2: \"color(display-p3 0.592 0.514 0.024 / 0.048)\",\n goldA3: \"color(display-p3 0.4 0.357 0.012 / 0.091)\",\n goldA4: \"color(display-p3 0.357 0.298 0.008 / 0.134)\",\n goldA5: \"color(display-p3 0.345 0.282 0.004 / 0.185)\",\n goldA6: \"color(display-p3 0.341 0.263 0.004 / 0.244)\",\n goldA7: \"color(display-p3 0.345 0.235 0.004 / 0.322)\",\n goldA8: \"color(display-p3 0.345 0.22 0.004 / 0.436)\",\n goldA9: \"color(display-p3 0.286 0.18 0 / 0.589)\",\n goldA10: \"color(display-p3 0.255 0.161 0 / 0.62)\",\n goldA11: \"color(display-p3 0.433 0.386 0.305)\",\n goldA12: \"color(display-p3 0.227 0.209 0.173)\",\n};\nconst sky = {\n sky1: \"#f9feff\",\n sky2: \"#f1fafd\",\n sky3: \"#e1f6fd\",\n sky4: \"#d1f0fa\",\n sky5: \"#bee7f5\",\n sky6: \"#a9daed\",\n sky7: \"#8dcae3\",\n sky8: \"#60b3d7\",\n sky9: \"#7ce2fe\",\n sky10: \"#74daf8\",\n sky11: \"#00749e\",\n sky12: \"#1d3e56\",\n};\nconst skyA = {\n skyA1: \"#00d5ff06\",\n skyA2: \"#00a4db0e\",\n skyA3: \"#00b3ee1e\",\n skyA4: \"#00ace42e\",\n skyA5: \"#00a1d841\",\n skyA6: \"#0092ca56\",\n skyA7: \"#0089c172\",\n skyA8: \"#0085bf9f\",\n skyA9: \"#00c7fe83\",\n skyA10: \"#00bcf38b\",\n skyA11: \"#00749e\",\n skyA12: \"#002540e2\",\n};\nconst skyP3 = {\n sky1: \"color(display-p3 0.98 0.995 0.999)\",\n sky2: \"color(display-p3 0.953 0.98 0.99)\",\n sky3: \"color(display-p3 0.899 0.963 0.989)\",\n sky4: \"color(display-p3 0.842 0.937 0.977)\",\n sky5: \"color(display-p3 0.777 0.9 0.954)\",\n sky6: \"color(display-p3 0.701 0.851 0.921)\",\n sky7: \"color(display-p3 0.604 0.785 0.879)\",\n sky8: \"color(display-p3 0.457 0.696 0.829)\",\n sky9: \"color(display-p3 0.585 0.877 0.983)\",\n sky10: \"color(display-p3 0.555 0.845 0.959)\",\n sky11: \"color(display-p3 0.193 0.448 0.605)\",\n sky12: \"color(display-p3 0.145 0.241 0.329)\",\n};\nconst skyP3A = {\n skyA1: \"color(display-p3 0.02 0.804 1 / 0.02)\",\n skyA2: \"color(display-p3 0.024 0.592 0.757 / 0.048)\",\n skyA3: \"color(display-p3 0.004 0.655 0.886 / 0.102)\",\n skyA4: \"color(display-p3 0.004 0.604 0.851 / 0.157)\",\n skyA5: \"color(display-p3 0.004 0.565 0.792 / 0.224)\",\n skyA6: \"color(display-p3 0.004 0.502 0.737 / 0.299)\",\n skyA7: \"color(display-p3 0.004 0.459 0.694 / 0.397)\",\n skyA8: \"color(display-p3 0 0.435 0.682 / 0.542)\",\n skyA9: \"color(display-p3 0.004 0.71 0.965 / 0.416)\",\n skyA10: \"color(display-p3 0.004 0.647 0.914 / 0.444)\",\n skyA11: \"color(display-p3 0.193 0.448 0.605)\",\n skyA12: \"color(display-p3 0.145 0.241 0.329)\",\n};\nconst mint = {\n mint1: \"#f9fefd\",\n mint2: \"#f2fbf9\",\n mint3: \"#ddf9f2\",\n mint4: \"#c8f4e9\",\n mint5: \"#b3ecde\",\n mint6: \"#9ce0d0\",\n mint7: \"#7ecfbd\",\n mint8: \"#4cbba5\",\n mint9: \"#86ead4\",\n mint10: \"#7de0cb\",\n mint11: \"#027864\",\n mint12: \"#16433c\",\n};\nconst mintA = {\n mintA1: \"#00d5aa06\",\n mintA2: \"#00b18a0d\",\n mintA3: \"#00d29e22\",\n mintA4: \"#00cc9937\",\n mintA5: \"#00c0914c\",\n mintA6: \"#00b08663\",\n mintA7: \"#00a17d81\",\n mintA8: \"#009e7fb3\",\n mintA9: \"#00d3a579\",\n mintA10: \"#00c39982\",\n mintA11: \"#007763fd\",\n mintA12: \"#00312ae9\",\n};\nconst mintP3 = {\n mint1: \"color(display-p3 0.98 0.995 0.992)\",\n mint2: \"color(display-p3 0.957 0.985 0.977)\",\n mint3: \"color(display-p3 0.888 0.972 0.95)\",\n mint4: \"color(display-p3 0.819 0.951 0.916)\",\n mint5: \"color(display-p3 0.747 0.918 0.873)\",\n mint6: \"color(display-p3 0.668 0.87 0.818)\",\n mint7: \"color(display-p3 0.567 0.805 0.744)\",\n mint8: \"color(display-p3 0.42 0.724 0.649)\",\n mint9: \"color(display-p3 0.62 0.908 0.834)\",\n mint10: \"color(display-p3 0.585 0.871 0.797)\",\n mint11: \"color(display-p3 0.203 0.463 0.397)\",\n mint12: \"color(display-p3 0.136 0.259 0.236)\",\n};\nconst mintP3A = {\n mintA1: \"color(display-p3 0.02 0.804 0.608 / 0.02)\",\n mintA2: \"color(display-p3 0.02 0.647 0.467 / 0.044)\",\n mintA3: \"color(display-p3 0.004 0.761 0.553 / 0.114)\",\n mintA4: \"color(display-p3 0.004 0.741 0.545 / 0.181)\",\n mintA5: \"color(display-p3 0.004 0.678 0.51 / 0.255)\",\n mintA6: \"color(display-p3 0.004 0.616 0.463 / 0.334)\",\n mintA7: \"color(display-p3 0.004 0.549 0.412 / 0.432)\",\n mintA8: \"color(display-p3 0 0.529 0.392 / 0.581)\",\n mintA9: \"color(display-p3 0.004 0.765 0.569 / 0.381)\",\n mintA10: \"color(display-p3 0.004 0.69 0.51 / 0.416)\",\n mintA11: \"color(display-p3 0.203 0.463 0.397)\",\n mintA12: \"color(display-p3 0.136 0.259 0.236)\",\n};\nconst lime = {\n lime1: \"#fcfdfa\",\n lime2: \"#f8faf3\",\n lime3: \"#eef6d6\",\n lime4: \"#e2f0bd\",\n lime5: \"#d3e7a6\",\n lime6: \"#c2da91\",\n lime7: \"#abc978\",\n lime8: \"#8db654\",\n lime9: \"#bdee63\",\n lime10: \"#b0e64c\",\n lime11: \"#5c7c2f\",\n lime12: \"#37401c\",\n};\nconst limeA = {\n limeA1: \"#66990005\",\n limeA2: \"#6b95000c\",\n limeA3: \"#96c80029\",\n limeA4: \"#8fc60042\",\n limeA5: \"#81bb0059\",\n limeA6: \"#72aa006e\",\n limeA7: \"#61990087\",\n limeA8: \"#559200ab\",\n limeA9: \"#93e4009c\",\n limeA10: \"#8fdc00b3\",\n limeA11: \"#375f00d0\",\n limeA12: \"#1e2900e3\",\n};\nconst limeP3 = {\n lime1: \"color(display-p3 0.989 0.992 0.981)\",\n lime2: \"color(display-p3 0.975 0.98 0.954)\",\n lime3: \"color(display-p3 0.939 0.965 0.851)\",\n lime4: \"color(display-p3 0.896 0.94 0.76)\",\n lime5: \"color(display-p3 0.843 0.903 0.678)\",\n lime6: \"color(display-p3 0.778 0.852 0.599)\",\n lime7: \"color(display-p3 0.694 0.784 0.508)\",\n lime8: \"color(display-p3 0.585 0.707 0.378)\",\n lime9: \"color(display-p3 0.78 0.928 0.466)\",\n lime10: \"color(display-p3 0.734 0.896 0.397)\",\n lime11: \"color(display-p3 0.386 0.482 0.227)\",\n lime12: \"color(display-p3 0.222 0.25 0.128)\",\n};\nconst limeP3A = {\n limeA1: \"color(display-p3 0.412 0.608 0.02 / 0.02)\",\n limeA2: \"color(display-p3 0.514 0.592 0.024 / 0.048)\",\n limeA3: \"color(display-p3 0.584 0.765 0.008 / 0.15)\",\n limeA4: \"color(display-p3 0.561 0.757 0.004 / 0.24)\",\n limeA5: \"color(display-p3 0.514 0.698 0.004 / 0.322)\",\n limeA6: \"color(display-p3 0.443 0.627 0 / 0.4)\",\n limeA7: \"color(display-p3 0.376 0.561 0.004 / 0.491)\",\n limeA8: \"color(display-p3 0.333 0.529 0 / 0.624)\",\n limeA9: \"color(display-p3 0.588 0.867 0 / 0.534)\",\n limeA10: \"color(display-p3 0.561 0.827 0 / 0.604)\",\n limeA11: \"color(display-p3 0.386 0.482 0.227)\",\n limeA12: \"color(display-p3 0.222 0.25 0.128)\",\n};\nconst yellow = {\n yellow1: \"#fdfdf9\",\n yellow2: \"#fefce9\",\n yellow3: \"#fffab8\",\n yellow4: \"#fff394\",\n yellow5: \"#ffe770\",\n yellow6: \"#f3d768\",\n yellow7: \"#e4c767\",\n yellow8: \"#d5ae39\",\n yellow9: \"#ffe629\",\n yellow10: \"#ffdc00\",\n yellow11: \"#9e6c00\",\n yellow12: \"#473b1f\",\n};\nconst yellowA = {\n yellowA1: \"#aaaa0006\",\n yellowA2: \"#f4dd0016\",\n yellowA3: \"#ffee0047\",\n yellowA4: \"#ffe3016b\",\n yellowA5: \"#ffd5008f\",\n yellowA6: \"#ebbc0097\",\n yellowA7: \"#d2a10098\",\n yellowA8: \"#c99700c6\",\n yellowA9: \"#ffe100d6\",\n yellowA10: \"#ffdc00\",\n yellowA11: \"#9e6c00\",\n yellowA12: \"#2e2000e0\",\n};\nconst yellowP3 = {\n yellow1: \"color(display-p3 0.992 0.992 0.978)\",\n yellow2: \"color(display-p3 0.995 0.99 0.922)\",\n yellow3: \"color(display-p3 0.997 0.982 0.749)\",\n yellow4: \"color(display-p3 0.992 0.953 0.627)\",\n yellow5: \"color(display-p3 0.984 0.91 0.51)\",\n yellow6: \"color(display-p3 0.934 0.847 0.474)\",\n yellow7: \"color(display-p3 0.876 0.785 0.46)\",\n yellow8: \"color(display-p3 0.811 0.689 0.313)\",\n yellow9: \"color(display-p3 1 0.92 0.22)\",\n yellow10: \"color(display-p3 0.977 0.868 0.291)\",\n yellow11: \"color(display-p3 0.6 0.44 0)\",\n yellow12: \"color(display-p3 0.271 0.233 0.137)\",\n};\nconst yellowP3A = {\n yellowA1: \"color(display-p3 0.675 0.675 0.024 / 0.024)\",\n yellowA2: \"color(display-p3 0.953 0.855 0.008 / 0.079)\",\n yellowA3: \"color(display-p3 0.988 0.925 0.004 / 0.251)\",\n yellowA4: \"color(display-p3 0.98 0.875 0.004 / 0.373)\",\n yellowA5: \"color(display-p3 0.969 0.816 0.004 / 0.491)\",\n yellowA6: \"color(display-p3 0.875 0.71 0 / 0.526)\",\n yellowA7: \"color(display-p3 0.769 0.604 0 / 0.542)\",\n yellowA8: \"color(display-p3 0.725 0.549 0 / 0.687)\",\n yellowA9: \"color(display-p3 1 0.898 0 / 0.781)\",\n yellowA10: \"color(display-p3 0.969 0.812 0 / 0.71)\",\n yellowA11: \"color(display-p3 0.6 0.44 0)\",\n yellowA12: \"color(display-p3 0.271 0.233 0.137)\",\n};\nconst amber = {\n amber1: \"#fefdfb\",\n amber2: \"#fefbe9\",\n amber3: \"#fff7c2\",\n amber4: \"#ffee9c\",\n amber5: \"#fbe577\",\n amber6: \"#f3d673\",\n amber7: \"#e9c162\",\n amber8: \"#e2a336\",\n amber9: \"#ffc53d\",\n amber10: \"#ffba18\",\n amber11: \"#ab6400\",\n amber12: \"#4f3422\",\n};\nconst amberA = {\n amberA1: \"#c0800004\",\n amberA2: \"#f4d10016\",\n amberA3: \"#ffde003d\",\n amberA4: \"#ffd40063\",\n amberA5: \"#f8cf0088\",\n amberA6: \"#eab5008c\",\n amberA7: \"#dc9b009d\",\n amberA8: \"#da8a00c9\",\n amberA9: \"#ffb300c2\",\n amberA10: \"#ffb300e7\",\n amberA11: \"#ab6400\",\n amberA12: \"#341500dd\",\n};\nconst amberP3 = {\n amber1: \"color(display-p3 0.995 0.992 0.985)\",\n amber2: \"color(display-p3 0.994 0.986 0.921)\",\n amber3: \"color(display-p3 0.994 0.969 0.782)\",\n amber4: \"color(display-p3 0.989 0.937 0.65)\",\n amber5: \"color(display-p3 0.97 0.902 0.527)\",\n amber6: \"color(display-p3 0.936 0.844 0.506)\",\n amber7: \"color(display-p3 0.89 0.762 0.443)\",\n amber8: \"color(display-p3 0.85 0.65 0.3)\",\n amber9: \"color(display-p3 1 0.77 0.26)\",\n amber10: \"color(display-p3 0.959 0.741 0.274)\",\n amber11: \"color(display-p3 0.64 0.4 0)\",\n amber12: \"color(display-p3 0.294 0.208 0.145)\",\n};\nconst amberP3A = {\n amberA1: \"color(display-p3 0.757 0.514 0.024 / 0.016)\",\n amberA2: \"color(display-p3 0.902 0.804 0.008 / 0.079)\",\n amberA3: \"color(display-p3 0.965 0.859 0.004 / 0.22)\",\n amberA4: \"color(display-p3 0.969 0.82 0.004 / 0.35)\",\n amberA5: \"color(display-p3 0.933 0.796 0.004 / 0.475)\",\n amberA6: \"color(display-p3 0.875 0.682 0.004 / 0.495)\",\n amberA7: \"color(display-p3 0.804 0.573 0 / 0.557)\",\n amberA8: \"color(display-p3 0.788 0.502 0 / 0.699)\",\n amberA9: \"color(display-p3 1 0.686 0 / 0.742)\",\n amberA10: \"color(display-p3 0.945 0.643 0 / 0.726)\",\n amberA11: \"color(display-p3 0.64 0.4 0)\",\n amberA12: \"color(display-p3 0.294 0.208 0.145)\",\n};\nconst orange = {\n orange1: \"#fefcfb\",\n orange2: \"#fff7ed\",\n orange3: \"#ffefd6\",\n orange4: \"#ffdfb5\",\n orange5: \"#ffd19a\",\n orange6: \"#ffc182\",\n orange7: \"#f5ae73\",\n orange8: \"#ec9455\",\n orange9: \"#f76b15\",\n orange10: \"#ef5f00\",\n orange11: \"#cc4e00\",\n orange12: \"#582d1d\",\n};\nconst orangeA = {\n orangeA1: \"#c0400004\",\n orangeA2: \"#ff8e0012\",\n orangeA3: \"#ff9c0029\",\n orangeA4: \"#ff91014a\",\n orangeA5: \"#ff8b0065\",\n orangeA6: \"#ff81007d\",\n orangeA7: \"#ed6c008c\",\n orangeA8: \"#e35f00aa\",\n orangeA9: \"#f65e00ea\",\n orangeA10: \"#ef5f00\",\n orangeA11: \"#cc4e00\",\n orangeA12: \"#431200e2\",\n};\nconst orangeP3 = {\n orange1: \"color(display-p3 0.995 0.988 0.985)\",\n orange2: \"color(display-p3 0.994 0.968 0.934)\",\n orange3: \"color(display-p3 0.989 0.938 0.85)\",\n orange4: \"color(display-p3 1 0.874 0.687)\",\n orange5: \"color(display-p3 1 0.821 0.583)\",\n orange6: \"color(display-p3 0.975 0.767 0.545)\",\n orange7: \"color(display-p3 0.919 0.693 0.486)\",\n orange8: \"color(display-p3 0.877 0.597 0.379)\",\n orange9: \"color(display-p3 0.9 0.45 0.2)\",\n orange10: \"color(display-p3 0.87 0.409 0.164)\",\n orange11: \"color(display-p3 0.76 0.34 0)\",\n orange12: \"color(display-p3 0.323 0.185 0.127)\",\n};\nconst orangeP3A = {\n orangeA1: \"color(display-p3 0.757 0.267 0.024 / 0.016)\",\n orangeA2: \"color(display-p3 0.886 0.533 0.008 / 0.067)\",\n orangeA3: \"color(display-p3 0.922 0.584 0.008 / 0.15)\",\n orangeA4: \"color(display-p3 1 0.604 0.004 / 0.314)\",\n orangeA5: \"color(display-p3 1 0.569 0.004 / 0.416)\",\n orangeA6: \"color(display-p3 0.949 0.494 0.004 / 0.455)\",\n orangeA7: \"color(display-p3 0.839 0.408 0 / 0.514)\",\n orangeA8: \"color(display-p3 0.804 0.349 0 / 0.62)\",\n orangeA9: \"color(display-p3 0.878 0.314 0 / 0.8)\",\n orangeA10: \"color(display-p3 0.843 0.29 0 / 0.836)\",\n orangeA11: \"color(display-p3 0.76 0.34 0)\",\n orangeA12: \"color(display-p3 0.323 0.185 0.127)\",\n};\n\nconst blackA = {\n blackA1: \"rgba(0, 0, 0, 0.05)\",\n blackA2: \"rgba(0, 0, 0, 0.1)\",\n blackA3: \"rgba(0, 0, 0, 0.15)\",\n blackA4: \"rgba(0, 0, 0, 0.2)\",\n blackA5: \"rgba(0, 0, 0, 0.3)\",\n blackA6: \"rgba(0, 0, 0, 0.4)\",\n blackA7: \"rgba(0, 0, 0, 0.5)\",\n blackA8: \"rgba(0, 0, 0, 0.6)\",\n blackA9: \"rgba(0, 0, 0, 0.7)\",\n blackA10: \"rgba(0, 0, 0, 0.8)\",\n blackA11: \"rgba(0, 0, 0, 0.9)\",\n blackA12: \"rgba(0, 0, 0, 0.95)\",\n};\nconst blackP3A = {\n blackA1: \"color(display-p3 0 0 0 / 0.05)\",\n blackA2: \"color(display-p3 0 0 0 / 0.1)\",\n blackA3: \"color(display-p3 0 0 0 / 0.15)\",\n blackA4: \"color(display-p3 0 0 0 / 0.2)\",\n blackA5: \"color(display-p3 0 0 0 / 0.3)\",\n blackA6: \"color(display-p3 0 0 0 / 0.4)\",\n blackA7: \"color(display-p3 0 0 0 / 0.5)\",\n blackA8: \"color(display-p3 0 0 0 / 0.6)\",\n blackA9: \"color(display-p3 0 0 0 / 0.7)\",\n blackA10: \"color(display-p3 0 0 0 / 0.8)\",\n blackA11: \"color(display-p3 0 0 0 / 0.9)\",\n blackA12: \"color(display-p3 0 0 0 / 0.95)\",\n};\n\nconst whiteA = {\n whiteA1: \"rgba(255, 255, 255, 0.05)\",\n whiteA2: \"rgba(255, 255, 255, 0.1)\",\n whiteA3: \"rgba(255, 255, 255, 0.15)\",\n whiteA4: \"rgba(255, 255, 255, 0.2)\",\n whiteA5: \"rgba(255, 255, 255, 0.3)\",\n whiteA6: \"rgba(255, 255, 255, 0.4)\",\n whiteA7: \"rgba(255, 255, 255, 0.5)\",\n whiteA8: \"rgba(255, 255, 255, 0.6)\",\n whiteA9: \"rgba(255, 255, 255, 0.7)\",\n whiteA10: \"rgba(255, 255, 255, 0.8)\",\n whiteA11: \"rgba(255, 255, 255, 0.9)\",\n whiteA12: \"rgba(255, 255, 255, 0.95)\",\n};\nconst whiteP3A = {\n whiteA1: \"color(display-p3 1 1 1 / 0.05)\",\n whiteA2: \"color(display-p3 1 1 1 / 0.1)\",\n whiteA3: \"color(display-p3 1 1 1 / 0.15)\",\n whiteA4: \"color(display-p3 1 1 1 / 0.2)\",\n whiteA5: \"color(display-p3 1 1 1 / 0.3)\",\n whiteA6: \"color(display-p3 1 1 1 / 0.4)\",\n whiteA7: \"color(display-p3 1 1 1 / 0.5)\",\n whiteA8: \"color(display-p3 1 1 1 / 0.6)\",\n whiteA9: \"color(display-p3 1 1 1 / 0.7)\",\n whiteA10: \"color(display-p3 1 1 1 / 0.8)\",\n whiteA11: \"color(display-p3 1 1 1 / 0.9)\",\n whiteA12: \"color(display-p3 1 1 1 / 0.95)\",\n};\n\nexport { amber, amberA, amberDark, amberDarkA, amberDarkP3, amberDarkP3A, amberP3, amberP3A, blackA, blackP3A, blue, blueA, blueDark, blueDarkA, blueDarkP3, blueDarkP3A, blueP3, blueP3A, bronze, bronzeA, bronzeDark, bronzeDarkA, bronzeDarkP3, bronzeDarkP3A, bronzeP3, bronzeP3A, brown, brownA, brownDark, brownDarkA, brownDarkP3, brownDarkP3A, brownP3, brownP3A, crimson, crimsonA, crimsonDark, crimsonDarkA, crimsonDarkP3, crimsonDarkP3A, crimsonP3, crimsonP3A, cyan, cyanA, cyanDark, cyanDarkA, cyanDarkP3, cyanDarkP3A, cyanP3, cyanP3A, gold, goldA, goldDark, goldDarkA, goldDarkP3, goldDarkP3A, goldP3, goldP3A, grass, grassA, grassDark, grassDarkA, grassDarkP3, grassDarkP3A, grassP3, grassP3A, gray, grayA, grayDark, grayDarkA, grayDarkP3, grayDarkP3A, grayP3, grayP3A, green, greenA, greenDark, greenDarkA, greenDarkP3, greenDarkP3A, greenP3, greenP3A, indigo, indigoA, indigoDark, indigoDarkA, indigoDarkP3, indigoDarkP3A, indigoP3, indigoP3A, iris, irisA, irisDark, irisDarkA, irisDarkP3, irisDarkP3A, irisP3, irisP3A, jade, jadeA, jadeDark, jadeDarkA, jadeDarkP3, jadeDarkP3A, jadeP3, jadeP3A, lime, limeA, limeDark, limeDarkA, limeDarkP3, limeDarkP3A, limeP3, limeP3A, mauve, mauveA, mauveDark, mauveDarkA, mauveDarkP3, mauveDarkP3A, mauveP3, mauveP3A, mint, mintA, mintDark, mintDarkA, mintDarkP3, mintDarkP3A, mintP3, mintP3A, olive, oliveA, oliveDark, oliveDarkA, oliveDarkP3, oliveDarkP3A, oliveP3, oliveP3A, orange, orangeA, orangeDark, orangeDarkA, orangeDarkP3, orangeDarkP3A, orangeP3, orangeP3A, pink, pinkA, pinkDark, pinkDarkA, pinkDarkP3, pinkDarkP3A, pinkP3, pinkP3A, plum, plumA, plumDark, plumDarkA, plumDarkP3, plumDarkP3A, plumP3, plumP3A, purple, purpleA, purpleDark, purpleDarkA, purpleDarkP3, purpleDarkP3A, purpleP3, purpleP3A, red, redA, redDark, redDarkA, redDarkP3, redDarkP3A, redP3, redP3A, ruby, rubyA, rubyDark, rubyDarkA, rubyDarkP3, rubyDarkP3A, rubyP3, rubyP3A, sage, sageA, sageDark, sageDarkA, sageDarkP3, sageDarkP3A, sageP3, sageP3A, sand, sandA, sandDark, sandDarkA, sandDarkP3, sandDarkP3A, sandP3, sandP3A, sky, skyA, skyDark, skyDarkA, skyDarkP3, skyDarkP3A, skyP3, skyP3A, slate, slateA, slateDark, slateDarkA, slateDarkP3, slateDarkP3A, slateP3, slateP3A, teal, tealA, tealDark, tealDarkA, tealDarkP3, tealDarkP3A, tealP3, tealP3A, tomato, tomatoA, tomatoDark, tomatoDarkA, tomatoDarkP3, tomatoDarkP3A, tomatoP3, tomatoP3A, violet, violetA, violetDark, violetDarkA, violetDarkP3, violetDarkP3A, violetP3, violetP3A, whiteA, whiteP3A, yellow, yellowA, yellowDark, yellowDarkA, yellowDarkP3, yellowDarkP3A, yellowP3, yellowP3A };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["React", "React", "useEffect", "useState", "useState", "useEffect", "React", "React", "useEffect", "useState", "React", "useEffect", "useState", "React", "React", "React", "React", "React", "item", "className", "React", "navigationHelpers", "helpers", "React", "navigationHelpers", "React", "renderNodes", "React", "navigationHelpers", "React", "React", "React", "React", "_", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "useEffect", "useState", "React", "navigationHelpers", "navigationHelpers", "React", "React", "navigationHelpers", "React", "React", "React", "navigationHelpers", "React", "navigationHelpers", "React", "React", "React", "React", "React", "React", "React", "React", "slugify", "readBasePath", "React", "React", "React", "React", "React"]
|
|
7
7
|
}
|