jb-core
Version:
jb design system core modules
2 lines • 4.29 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).JBCoreTheme={})}(this,(function(e){"use strict";var t=class{get value(){return`oklch(${this.lightness} ${this.chroma} ${this.hue})`}constructor(e,t){this.variableName=t,this.lightness=e.lightness,this.chroma=e.chroma,this.hue=e.hue}};function n(e){return new t({lightness:6*(3+1.3*e)*.01,chroma:.001*(14+.09*e),hue:258.36},`--jb-neutral-${e}`)}function r(e){return new t({lightness:e.lightness+.07,chroma:e.chroma+.07,hue:e.hue},`${e.variableName}-hover`)}function i(e){return new t({lightness:e.lightness-.1,chroma:e.chroma-.05,hue:e.hue},`${e.variableName}-pressed`)}function a(e){const n=Math.min(e.lightness+.12*(1-e.lightness),.985),r=e.chroma*(1-.15*(n-e.lightness));return new t({lightness:n,chroma:Number(r.toFixed(3)),hue:e.hue},`${e.variableName}-l`)}function s(e){const n=Math.max(e.lightness-.12*e.lightness,.02),r=e.chroma*(1-.15*(n-e.lightness));return new t({lightness:n,chroma:r,hue:e.hue},`${e.variableName}-d`)}function l(e){const n=Math.min(e.lightness+.65*(1-e.lightness),.93),r=.55*e.chroma*(1-.08*(n-e.lightness)),i=e.hue>=70&&e.hue<=162?5:-3,a=e.hue+i;return new t({lightness:n,chroma:Number(r.toFixed(3)),hue:a},`${e.variableName}-subtle`)}function o(e){const n=Math.max(e.lightness-.35,.22),r=Math.min(1.6*e.chroma,.28);return new t({lightness:Number(n.toFixed(3)),chroma:Number(r.toFixed(3)),hue:e.hue},`${e.variableName}-contrast`)}function h(e){return{main:e,hover:r(e),pressed:i(e),light:a(e),dark:s(e),subtle:l(e),contrast:o(e)}}const u=new t({lightness:.6,chroma:.26,hue:256},"--jb-primary"),c=new t({lightness:.6,chroma:.26,hue:286},"--jb-secondary"),m=new t({lightness:.75,chroma:.18,hue:70},"--jb-yellow"),g=new t({lightness:.68,chroma:.1484,hue:162.1},"--jb-green"),d=new t({lightness:.6,chroma:.22,hue:23.21},"--jb-red"),b={single:{black:new t({lightness:.14,chroma:0,hue:0},"--jb-black"),white:new t({lightness:1,chroma:0,hue:0},"--jb-white"),highlight:new t({lightness:.93,chroma:.2302,hue:125.18},"--jb-highlight")},neutral:[n(0),n(1),n(2),n(3),n(4),n(5),n(6),n(7),n(8),n(9),n(10)],primary:h(u),secondary:h(c),yellow:h(m),green:h(g),red:h(d)};function y(e){try{const{value:t,...n}=e;window.CSS.registerProperty({...n}),f(e.name,t)}catch(e){}}function f(e,t){try{t&&(document.documentElement.style.getPropertyValue(e)||document.documentElement.style.setProperty(e,t))}catch(e){}}function p(e,t){y({name:t??e.variableName,syntax:"<color>",inherits:!0,initialValue:e.value})}function w(){var e;!function(e){p(e.neutral[0],"--jb-neutral"),p(e.primary.main),p(e.secondary.main),p(e.single.black),p(e.single.white),p(e.single.highlight),p(e.yellow.main),p(e.green.main),p(e.red.main),p(e.red.main);for(let t=1;t<=10;t++)p(e.neutral[t])}(b),p((e=b).single.black,"--jb-text-primary"),p(e.neutral[7],"--jb-text-secondary"),p(e.single.white,"--jb-text-contrast")}function x(){y({name:"--jb-radius",inherits:!0,value:"1rem",initialValue:"16px",syntax:"<length-percentage>"}),y({name:"--jb-radius-xs",inherits:!0,value:"0.5rem",initialValue:"8px",syntax:"<length-percentage>"}),y({name:"--jb-radius-sm",inherits:!0,value:"0.75rem",initialValue:"12px",syntax:"<length-percentage>"}),y({name:"--jb-radius-lg",inherits:!0,value:"1.25rem",initialValue:"20px",syntax:"<length-percentage>"}),y({name:"--jb-radius-xl",inherits:!0,value:"1.5rem",initialValue:"24px",syntax:"<length-percentage>"})}e.createColorGroup=h,e.createThemeColor=function(e){const n={};return Object.keys(e).forEach((r=>{const i=h(new t(e[r],`---jb-${r}`));n[r]=i})),n},e.defaultColors=b,e.defineColors=w,e.defineSizes=x,e.getContrastColor=o,e.getDarkerColor=s,e.getHoverColor=r,e.getLighterColor=a,e.getNeutralColor=n,e.getPressedColor=i,e.getSubtleColor=l,e.registerCssProperty=y,e.registerDefaultVariables=function(){x(),w()},e.setColors=function(e){function t(e){document.documentElement.style.setProperty(e.variableName,e.value)}function n(e){t(e.main),t(e.light),t(e.dark),t(e.contrast),t(e.subtle),t(e.hover),t(e.pressed)}e.primary&&n(e.primary),e.secondary&&n(e.secondary),e.green&&n(e.green),e.red&&n(e.red),e.yellow&&n(e.yellow)},e.setCssProperty=f}));
//# sourceMappingURL=index.umd.js.map