{"id":336512,"date":"2026-07-08T10:04:11","date_gmt":"2026-07-08T10:04:11","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/axismundi-theme-switcher\/"},"modified":"2026-07-08T10:03:55","modified_gmt":"2026-07-08T10:03:55","slug":"axismundi-theme-switcher","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/axismundi-theme-switcher\/","author":21128503,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.5","stable_tag":"0.1.5","tested":"7.0","requires":"6.7","requires_php":"8.1","requires_plugins":null,"header_name":"Axismundi Theme Switcher","header_author":"KIM JIWOON","header_description":"Light \/ dark \/ auto theme switcher block and color-scheme bridge for Axismundi.","assets_banners_color":"","last_updated":"2026-07-08 10:03:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/Jiwoon-Kim\/axismundi\/tree\/main\/products\/distributables\/plugins\/axismundi-theme-switcher","header_author_uri":"https:\/\/designbusan.ai.kr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.5":{"tag":"0.1.5","author":"kimjiwoon","date":"2026-07-08 10:03:55"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"axismundi\/theme-switcher":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"axismundi\/theme-switcher","version":"0.1.5","title":"Theme Switcher","category":"design","icon":"admin-appearance","description":"Switches between Auto, Light, and Dark theme modes.","keywords":["theme","dark mode","color scheme","appearance","light","dark"],"textdomain":"axismundi-theme-switcher","example":{"attributes":{}},"supports":{"html":false,"align":false,"interactivity":true,"color":{"text":true,"background":true},"spacing":{"padding":true},"__experimentalBorder":{"radius":true}},"styles":[{"name":"theme-cycle","label":"Theme cycle"}],"editorScript":"file:.\/edit.js","editorStyle":"file:.\/style.css","style":"file:.\/style.css","render":"file:.\/render.php","viewScriptModule":"file:.\/view.js"}},"tagged_versions":["0.1.5"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2769,1220,3706,173231,1332],"plugin_category":[46],"plugin_contributors":[270183],"plugin_business_model":[],"class_list":["post-336512","plugin","type-plugin","status-publish","hentry","plugin_tags-appearance","plugin_tags-block","plugin_tags-color-scheme","plugin_tags-dark-mode","plugin_tags-editor","plugin_category-editor-and-writing","plugin_contributors-kimjiwoon","plugin_committers-kimjiwoon"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/axismundi-theme-switcher.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Axismundi Theme Switcher provides the <code>axismundi\/theme-switcher<\/code> block and the\nearly color-scheme bridge that applies the persisted <code>axismundi_theme<\/code> cookie\nbefore paint. The Axismundi theme owns the <code>data-theme<\/code> token selectors; this\nplugin owns the UI, persistence, and editor preview sync.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the Axismundi theme.<\/li>\n<li>Upload and activate this plugin.<\/li>\n<li>Insert the Theme Switcher block where a light \/ dark \/ auto control is\nneeded.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20an%20external%20service%3F\"><h3>Does this plugin require an external service?<\/h3><\/dt>\n<dd><p>No. The switcher runs locally in WordPress and stores the selected mode in a\nfirst-party cookie named <code>axismundi_theme<\/code>.<\/p><\/dd>\n<dt id=\"can%20this%20plugin%20be%20used%20without%20the%20axismundi%20theme%3F\"><h3>Can this plugin be used without the Axismundi theme?<\/h3><\/dt>\n<dd><p>The block still renders and toggles the <code>data-theme<\/code> attribute, but the visual\ncolor-scheme change depends on a theme or stylesheet that consumes\n    html[data-theme] selectors.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.5<\/h4>\n\n<ul>\n<li>Prepare the package for WordPress.org Plugin Check by removing the hidden\ndistribution manifest and relying on WordPress.org translation loading.<\/li>\n<li>Prefix render-template variables with the full plugin prefix.<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>The front-end switcher now dispatches the <code>axismundi-theme-scheme-change<\/code> event\n(matching the editor preview), so JS consumers that cache theme colours (canvas,\ncharts, themed visuals) can re-read tokens on a light \/ dark \/ auto change.\n  data-theme plus this event are the public client-side contract.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Stop applying the persisted theme scheme to the top-level WordPress admin\ndocument. Editor preview and Style Book scheme synchronization now stays\nscoped to preview documents, avoiding admin chrome color-scheme leakage.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Animate the Material Symbols FILL axis on interaction: the cycle icon fills\non hover \/ focus \/ press, and the selected segment stays filled. The axis\ninterpolates continuously (the Axismundi theme registers <code>--md-icon-fill<\/code> via\n  @property); reduced-motion users get the instant state.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Harden the cycle \/ segmented icons: notranslate, translate=\"no\", and\ndraggable=\"false\" on the Material Symbols spans so machine translation\ncannot rewrite the ligature text and the glyph cannot be dragged out.<\/li>\n<li>The icon-box contract (1em box, overflow clip) is now inherited from the\nAxismundi theme's icons.css \u2014 fixes a header overflow while the icon font\nwas still loading.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: the <code>axismundi\/theme-switcher<\/code> block (light \/ dark \/ auto)\nand the early color-scheme bridge that applies the persisted cookie before\npaint.<\/li>\n<li>Block Hooks auto-insertion of the cycle control into the theme header.<\/li>\n<li>Material Design 3 styling that consumes the Axismundi theme tokens (with M3\nfallbacks): a standard icon button for the cycle style and a segmented\ncontrol for the default three-mode layout.<\/li>\n<\/ul>","raw_excerpt":"Companion block and color-scheme bridge for the Axismundi light \/ dark \/ auto theme switcher.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/336512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=336512"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kimjiwoon"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=336512"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=336512"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=336512"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=336512"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=336512"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=336512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}