1(function () { 2 'use strict'; 3 4 function clean(value) { 5 return String(value == null ? '' : value).trim(); 6 } 7 8 function setImportant(node, property, value) { 9 if (!node || !node.style) return; 10 value = clean(value); 11 if (!value) return; 12 try { 13 if (clean(node.style.getPropertyValue(property)) === value && node.style.getPropertyPriority(property) === 'important') return; 14 node.style.setProperty(property, value, 'important'); 15 } catch (_e) {} 16 } 17 18 function paletteVariableMap(payload) { 19 var p = payload && payload.palette ? payload.palette : {}; 20 var rgb = payload && payload.rgb ? payload.rgb : {}; 21 var surfaces = payload && payload.dark_surfaces ? payload.dark_surfaces : {}; 22 return { 23 '--golmd-brand-light-accent': p.green, 24 '--golmd-brand-light-strong': p.green_dark, 25 '--golmd-brand-light-active': p.green_active, 26 '--golmd-brand-light-soft': p.green_soft, 27 '--golmd-brand-light-on': p.green_on, 28 '--golmd-brand-light-accent-rgb': rgb.green, 29 '--golmd-brand-light-strong-rgb': rgb.green_dark, 30 '--golmd-brand-light-active-rgb': rgb.green_active, 31 '--golmd-brand-light-soft-rgb': rgb.green_soft, 32 '--golmd-brand-dark-accent': p.green_night, 33 '--golmd-brand-dark-strong': p.green_night_strong, 34 '--golmd-brand-dark-active': p.green_night_active, 35 '--golmd-brand-dark-soft': p.green_soft_dark, 36 '--golmd-brand-dark-on': p.green_night_on, 37 '--golmd-brand-dark-accent-rgb': rgb.green_night, 38 '--golmd-brand-dark-strong-rgb': rgb.green_night_strong, 39 '--golmd-brand-dark-active-rgb': rgb.green_night_active, 40 '--golmd-brand-dark-soft-rgb': rgb.green_soft_dark, 41 '--golmd-brand-dark-surface-1': surfaces.surface_1, 42 '--golmd-brand-dark-surface-2': surfaces.surface_2, 43 '--golmd-brand-dark-surface-3': surfaces.surface_3, 44 '--golmd-brand-dark-surface-4': surfaces.surface_4, 45 '--golmd-brand-dark-surface-1-rgb': surfaces.surface_1_rgb, 46 '--golmd-brand-dark-surface-2-rgb': surfaces.surface_2_rgb, 47 '--golmd-brand-dark-surface-3-rgb': surfaces.surface_3_rgb, 48 '--golmd-brand-dark-surface-4-rgb': surfaces.surface_4_rgb 49 }; 50 } 51 52 function applyPaletteVariables(payload) { 53 if (!payload || !payload.palette || !payload.rgb) return; 54 var vars = paletteVariableMap(payload); 55 [document.documentElement, document.body].forEach(function (root) { 56 if (!root) return; 57 Object.keys(vars).forEach(function (property) { 58 setImportant(root, property, vars[property]); 59 }); 60 }); 61 try { 62 document.documentElement.setAttribute('data-golmd-brand-palette-revision', clean(payload.revision || '0')); 63 } catch (_e) {} 64 } 65 66 function endpointUrl() { 67 var configured = window.golmdBrandPaletteV2910 && clean(window.golmdBrandPaletteV2910.endpoint); 68 if (configured) return configured; 69 try { 70 var apiLink = document.querySelector('link[rel="https://api.w.org/"]'); 71 if (apiLink && apiLink.href) return apiLink.href.replace(/\/?$/, '/') + 'golmd/v1/brand-palette'; 72 } catch (_e) {} 73 try { 74 return new URL('/wp-json/golmd/v1/brand-palette', window.location.origin).toString(); 75 } catch (_e2) { 76 return ''; 77 } 78 } 79 80 function refreshPalette() { 81 var endpoint = endpointUrl(); 82 if (!endpoint || !window.fetch) return Promise.resolve(null); 83 var separator = endpoint.indexOf('?') === -1 ? '?' : '&'; 84 return window.fetch(endpoint + separator + '_golmd_palette=' + Date.now(), { 85 method: 'GET', 86 credentials: 'same-origin', 87 cache: 'no-store', 88 headers: { Accept: 'application/json' } 89 }).then(function (response) { 90 if (!response.ok) throw new Error('Palette HTTP ' + response.status); 91 return response.json(); 92 }).then(function (payload) { 93 if (!payload || !payload.palette || !payload.rgb) throw new Error('Invalid palette payload'); 94 applyPaletteVariables(payload); 95 return payload; 96 }).catch(function () { 97 return null; 98 }); 99 } 100 101 function init() { 102 refreshPalette(); 103 window.addEventListener('pageshow', function (event) { 104 if (event && event.persisted) refreshPalette(); 105 }, { passive: true }); 106 } 107 108 if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init, { once: true }); 109 else init(); 110})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.