@usecapsule/core-components 3.3.0 → 3.3.1-dev.0
Sign up to get free protection for your applications and to get access to all the features.
- package/css/capsule-core.css +25 -10
- package/css/capsule-core.css.map +1 -1
- package/dist/capsule/capsule.esm.js +1 -1
- package/dist/capsule/capsule.esm.js.map +1 -1
- package/dist/capsule/index.esm.js +1 -1
- package/dist/capsule/index.esm.js.map +1 -1
- package/dist/capsule/p-0e558c7f.entry.js +10 -0
- package/dist/capsule/{p-05cb769b.entry.js.map → p-0e558c7f.entry.js.map} +1 -1
- package/dist/capsule/{p-dc4591d5.entry.js → p-1bd11889.entry.js} +2 -2
- package/dist/capsule/p-1bd11889.entry.js.map +1 -0
- package/dist/capsule/p-32cdf894.entry.js +2 -0
- package/dist/capsule/p-32cdf894.entry.js.map +1 -0
- package/dist/capsule/p-3b042fd1.entry.js +2 -0
- package/dist/capsule/p-5965b15e.entry.js +2 -0
- package/dist/capsule/{p-c1aa1ffb.entry.js.map → p-5965b15e.entry.js.map} +1 -1
- package/dist/capsule/{p-742bda0b.entry.js → p-5d62e610.entry.js} +2 -2
- package/dist/capsule/p-60508b1e.entry.js +20 -0
- package/dist/capsule/p-60508b1e.entry.js.map +1 -0
- package/dist/cjs/capsule.cjs.js +1 -1
- package/dist/cjs/{cpsl-alert_33.cjs.entry.js → cpsl-alert_34.cjs.entry.js} +17025 -13458
- package/dist/cjs/cpsl-alert_34.cjs.entry.js.map +1 -0
- package/dist/cjs/cpsl-animation.cjs.entry.js +3 -2
- package/dist/cjs/cpsl-animation.cjs.entry.js.map +1 -1
- package/dist/cjs/cpsl-hero.cjs.entry.js +9 -6
- package/dist/cjs/cpsl-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/cpsl-identicon.cjs.entry.js +1 -1
- package/dist/cjs/cpsl-info-box.cjs.entry.js +2 -2
- package/dist/cjs/cpsl-info-box.cjs.entry.js.map +1 -1
- package/dist/cjs/cpsl-modal-v2.cjs.entry.js +1 -1
- package/dist/cjs/cpsl-modal-v2.cjs.entry.js.map +1 -1
- package/dist/cjs/cpsl-row.cjs.entry.js +1 -1
- package/dist/cjs/index-65f57499.js +2 -2
- package/dist/cjs/index.cjs.js +40 -17
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/icons/arrow-circle-broken-down-left.svg +3 -0
- package/dist/collection/assets/icons/bank.svg +3 -0
- package/dist/collection/assets/icons/credit-card.svg +3 -0
- package/dist/collection/assets/icons/dot.svg +3 -0
- package/dist/collection/assets/icons/download.svg +3 -0
- package/dist/collection/assets/icons/globe.svg +3 -0
- package/dist/collection/assets/icons/hero-alert-circle.svg +3 -0
- package/dist/collection/assets/icons/hero-checkmark-capsule.svg +11 -0
- package/dist/collection/assets/icons/hero-checkmark.svg +3 -0
- package/dist/collection/assets/icons/hero-external-connection.svg +71 -0
- package/dist/collection/assets/icons/index.js +21 -1
- package/dist/collection/assets/icons/index.js.map +1 -1
- package/dist/collection/assets/icons/link-external.svg +3 -0
- package/dist/collection/assets/icons/log-out.svg +3 -0
- package/dist/collection/assets/icons/moonpay-brand.svg +10 -0
- package/dist/collection/assets/icons/puzzle-piece.svg +3 -0
- package/dist/collection/assets/icons/qr-code-02.svg +3 -0
- package/dist/collection/assets/icons/qr-code.svg +3 -0
- package/dist/collection/assets/icons/refresh.svg +3 -3
- package/dist/collection/assets/icons/search.svg +3 -0
- package/dist/collection/assets/icons/send.svg +3 -0
- package/dist/collection/assets/icons/shield.svg +3 -0
- package/dist/collection/assets/icons/stripe-brand.svg +3 -0
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/cpsl-alert/cpsl-alert.js +3 -3
- package/dist/collection/components/cpsl-alert/cpsl-alert.js.map +1 -1
- package/dist/collection/components/cpsl-app-bar/cpsl-app-bar.js +3 -3
- package/dist/collection/components/cpsl-app-bar/cpsl-app-bar.js.map +1 -1
- package/dist/collection/components/{cpsl-modal/cpsl-modal.css → cpsl-auth-modal/cpsl-auth-modal.css} +33 -58
- package/dist/collection/components/{cpsl-modal/cpsl-modal.js → cpsl-auth-modal/cpsl-auth-modal.js} +13 -131
- package/dist/collection/components/cpsl-auth-modal/cpsl-auth-modal.js.map +1 -0
- package/dist/collection/components/cpsl-button/cpsl-button.css +89 -2
- package/dist/collection/components/cpsl-button/cpsl-button.js +6 -5
- package/dist/collection/components/cpsl-button/cpsl-button.js.map +1 -1
- package/dist/collection/components/cpsl-button/cpsl-button.stories.js.map +1 -1
- package/dist/collection/components/cpsl-button-group/cpsl-button-group.js +2 -2
- package/dist/collection/components/cpsl-button-group/cpsl-button-group.js.map +1 -1
- package/dist/collection/components/cpsl-card/cpsl-card.css +5 -2
- package/dist/collection/components/cpsl-code-input/cpsl-code-input.css +3 -0
- package/dist/collection/components/cpsl-code-input/cpsl-code-input.js +11 -7
- package/dist/collection/components/cpsl-code-input/cpsl-code-input.js.map +1 -1
- package/dist/collection/components/cpsl-divider/cpsl-divider.css +2 -1
- package/dist/collection/components/cpsl-drawer/cpsl-drawer.js +2 -2
- package/dist/collection/components/cpsl-drawer/cpsl-drawer.js.map +1 -1
- package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.js +2 -2
- package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.js.map +1 -1
- package/dist/collection/components/cpsl-file-upload/cpsl-file-upload.js +5 -10
- package/dist/collection/components/cpsl-file-upload/cpsl-file-upload.js.map +1 -1
- package/dist/collection/components/cpsl-hero/cpsl-hero.css +136 -71
- package/dist/collection/components/cpsl-hero/cpsl-hero.js +63 -9
- package/dist/collection/components/cpsl-hero/cpsl-hero.js.map +1 -1
- package/dist/collection/components/cpsl-icon/cpsl-icon.css +8 -0
- package/dist/collection/components/cpsl-icon/cpsl-icon.js +2 -2
- package/dist/collection/components/cpsl-icon/cpsl-icon.js.map +1 -1
- package/dist/collection/components/cpsl-icon-group/cpsl-icon-group.css +97 -0
- package/dist/collection/components/cpsl-icon-group/cpsl-icon-group.js +121 -0
- package/dist/collection/components/cpsl-icon-group/cpsl-icon-group.js.map +1 -0
- package/dist/collection/components/cpsl-identicon/cpsl-identicon.js +1 -1
- package/dist/collection/components/cpsl-info-box/cpsl-info-box.css +1 -2
- package/dist/collection/components/cpsl-info-box/cpsl-info-box.js +1 -1
- package/dist/collection/components/cpsl-input/cpsl-input.css +21 -2
- package/dist/collection/components/cpsl-input/cpsl-input.js +100 -28
- package/dist/collection/components/cpsl-input/cpsl-input.js.map +1 -1
- package/dist/collection/components/cpsl-modal-v2/cpsl-modal-v2.js +1 -1
- package/dist/collection/components/cpsl-modal-v2/cpsl-modal-v2.js.map +1 -1
- package/dist/collection/components/cpsl-nav-button-group/cpsl-nav-button-group.js +2 -2
- package/dist/collection/components/cpsl-nav-button-group/cpsl-nav-button-group.js.map +1 -1
- package/dist/collection/components/cpsl-overlay/cpsl-overlay.js +1 -1
- package/dist/collection/components/cpsl-overlay/cpsl-overlay.js.map +1 -1
- package/dist/collection/components/cpsl-pagination/cpsl-pagination.js +1 -1
- package/dist/collection/components/cpsl-pill/cpsl-pill.js +1 -1
- package/dist/collection/components/cpsl-popover/cpsl-popover.css +2 -0
- package/dist/collection/components/cpsl-popover/cpsl-popover.js +12 -14
- package/dist/collection/components/cpsl-popover/cpsl-popover.js.map +1 -1
- package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.css +12 -3
- package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.js +28 -23
- package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.js.map +1 -1
- package/dist/collection/components/cpsl-radio/cpsl-radio.js +1 -1
- package/dist/collection/components/cpsl-row/cpsl-row.js +1 -1
- package/dist/collection/components/cpsl-select/cpsl-select.css +17 -0
- package/dist/collection/components/cpsl-select/cpsl-select.js +96 -6
- package/dist/collection/components/cpsl-select/cpsl-select.js.map +1 -1
- package/dist/collection/components/cpsl-select-item/cpsl-select-item.js +1 -1
- package/dist/collection/components/cpsl-select-item/cpsl-select-item.js.map +1 -1
- package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.js +3 -3
- package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.js.map +1 -1
- package/dist/collection/components/cpsl-spinner/cpsl-spinner.css +30 -8
- package/dist/collection/components/cpsl-spinner/cpsl-spinner.js +5 -7
- package/dist/collection/components/cpsl-spinner/cpsl-spinner.js.map +1 -1
- package/dist/collection/components/cpsl-switch/cpsl-switch.js +1 -1
- package/dist/collection/components/cpsl-tab/cpsl-tab.css +24 -1
- package/dist/collection/components/cpsl-tab/cpsl-tab.js +1 -1
- package/dist/collection/components/cpsl-tab/cpsl-tab.js.map +1 -1
- package/dist/collection/components/cpsl-table/cpsl-table.js +1 -9
- package/dist/collection/components/cpsl-table/cpsl-table.js.map +1 -1
- package/dist/collection/components/cpsl-tabs/cpsl-tabs.css +1 -4
- package/dist/collection/components/cpsl-tabs/cpsl-tabs.js +2 -5
- package/dist/collection/components/cpsl-tabs/cpsl-tabs.js.map +1 -1
- package/dist/collection/components/cpsl-text/cpsl-text.css +19 -0
- package/dist/collection/components/cpsl-text/cpsl-text.js +5 -4
- package/dist/collection/components/cpsl-text/cpsl-text.js.map +1 -1
- package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.css +3 -1
- package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.js +2 -2
- package/dist/collection/interface.js.map +1 -1
- package/dist/collection/utils/theme/generateBorderRadii.js +5 -4
- package/dist/collection/utils/theme/generateBorderRadii.js.map +1 -1
- package/dist/collection/utils/theme/generateFont.js +1 -1
- package/dist/collection/utils/theme/generateFont.js.map +1 -1
- package/dist/collection/utils/theme/generatePalette.js +25 -9
- package/dist/collection/utils/theme/generatePalette.js.map +1 -1
- package/dist/collection/utils/theme/generateTheme.js +9 -3
- package/dist/collection/utils/theme/generateTheme.js.map +1 -1
- package/dist/collection/utils/theme/utils.js.map +1 -1
- package/dist/esm/capsule.js +1 -1
- package/dist/esm/{cpsl-alert_33.entry.js → cpsl-alert_34.entry.js} +17026 -13460
- package/dist/esm/cpsl-alert_34.entry.js.map +1 -0
- package/dist/esm/cpsl-animation.entry.js +2 -1
- package/dist/esm/cpsl-animation.entry.js.map +1 -1
- package/dist/esm/cpsl-hero.entry.js +10 -7
- package/dist/esm/cpsl-hero.entry.js.map +1 -1
- package/dist/esm/cpsl-identicon.entry.js +1 -1
- package/dist/esm/cpsl-info-box.entry.js +2 -2
- package/dist/esm/cpsl-info-box.entry.js.map +1 -1
- package/dist/esm/cpsl-modal-v2.entry.js +1 -1
- package/dist/esm/cpsl-modal-v2.entry.js.map +1 -1
- package/dist/esm/cpsl-row.entry.js +1 -1
- package/dist/esm/index-91db3414.js +2 -2
- package/dist/esm/index.js +40 -17
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/assets/icons/index.d.ts +20 -0
- package/dist/types/components/{cpsl-modal/cpsl-modal.d.ts → cpsl-auth-modal/cpsl-auth-modal.d.ts} +3 -23
- package/dist/types/components/cpsl-button/cpsl-button.d.ts +2 -2
- package/dist/types/components/cpsl-hero/cpsl-hero.d.ts +18 -3
- package/dist/types/components/cpsl-icon-group/cpsl-icon-group.d.ts +20 -0
- package/dist/types/components/cpsl-input/cpsl-input.d.ts +13 -3
- package/dist/types/components/cpsl-popover/cpsl-popover.d.ts +2 -2
- package/dist/types/components/cpsl-qr-code/cpsl-qr-code.d.ts +1 -0
- package/dist/types/components/cpsl-select/cpsl-select.d.ts +22 -1
- package/dist/types/components/cpsl-text/cpsl-text.d.ts +1 -1
- package/dist/types/components.d.ts +222 -146
- package/dist/types/interface.d.ts +13 -0
- package/dist/types/utils/theme/generateBorderRadii.d.ts +1 -1
- package/dist/types/utils/theme/generatePalette.d.ts +4 -2
- package/dist/types/utils/theme/generateTheme.d.ts +1 -1
- package/package.json +4 -3
- package/dist/capsule/p-0462f723.js +0 -2
- package/dist/capsule/p-0462f723.js.map +0 -1
- package/dist/capsule/p-05cb769b.entry.js +0 -10
- package/dist/capsule/p-0eea90f8.entry.js +0 -2
- package/dist/capsule/p-7233228e.entry.js +0 -29
- package/dist/capsule/p-7233228e.entry.js.map +0 -1
- package/dist/capsule/p-c1aa1ffb.entry.js +0 -2
- package/dist/capsule/p-d351f076.entry.js +0 -2
- package/dist/capsule/p-d351f076.entry.js.map +0 -1
- package/dist/capsule/p-dc4591d5.entry.js.map +0 -1
- package/dist/cjs/_commonjsHelpers-b3309d7b.js +0 -12
- package/dist/cjs/_commonjsHelpers-b3309d7b.js.map +0 -1
- package/dist/cjs/cpsl-alert_33.cjs.entry.js.map +0 -1
- package/dist/collection/components/cpsl-modal/cpsl-modal.js.map +0 -1
- package/dist/esm/_commonjsHelpers-1789f0cf.js +0 -9
- package/dist/esm/_commonjsHelpers-1789f0cf.js.map +0 -1
- package/dist/esm/cpsl-alert_33.entry.js.map +0 -1
- /package/dist/capsule/{p-0eea90f8.entry.js.map → p-3b042fd1.entry.js.map} +0 -0
- /package/dist/capsule/{p-742bda0b.entry.js.map → p-5d62e610.entry.js.map} +0 -0
- /package/dist/types/Users/{norwood/capsule-repos → taylorbosch/Documents/GitHub/Capsule}/web-sdk/packages/core-components/.stencil/scripts/buildAssets.d.ts +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["guard","low","high","value","Math","min","max","ColorError","Error","constructor","color","super","ColorError$1","parseToRgba","trim","toLowerCase","normalizedColor","namedColorRegex","test","nameToHex","reducedHexMatch","reducedHexRegex","exec","arr","Array","from","slice","map","x","parseInt","r","hexMatch","hexRegex","rgbaMatch","rgbaRegex","parseFloat","hslaMatch","hslaRegex","h","s","l","a","hslToRgb","Number","isNaN","hash","str","i","length","charCodeAt","colorToInt","replace","compressedColorMap","split","reduce","acc","next","key","substring","hex","toString","prefix","normalizedColorName","result","amount","join","RegExp","roundColor","round","hue","saturation","lightness","huePrime","chroma","abs","secondComponent","red","green","blue","lightnessModification","finalRed","finalGreen","finalBlue","getLuminance","f","channel","pow","g","b","rgba","alpha","toFixed","mix","color1","color2","weight","normalize","n","index","r1","g1","b1","a1","r2","g2","b2","a2","alphaDelta","normalizedWeight","combinedWeight","weight2","weight1","readableColorIsBlack","t","u","M","m","d","p","v","o","O","unitInput","unitOutput","roundOutput","e","c","D","isColor","strColor","Option","style","toKebabCase","pascal","buildVars","prev","obj","resp","k","name","Object","assign","getCssColors","customPalette","getCssBorderRadii","customBorderRadii","overlayMix","baseColor","overlayColor","baseRGBA","overlayRGBA","finalRGBA","overlay","generateBorderRadii","borderRadius","mediumRadius","largeRadius","checkboxRadius","fullRadius","isFull","isNone","document","documentElement","setProperty","Boolean","cssBorderRadiiVars","entries","forEach","FONT_NAME_MAP","body2XS","bodyXS","bodyS","bodyM","bodyL","bodyXL","headingXS","headingS","headingM","headingL","headingXL","heading2XL","generateFont","font","customFontSizes","removeProperty","generatePalette","foregroundColor","backgroundColor","DEFAULT_THEME","isDarkBackground","palette","foregroundColors","backgroundColors","backgroundMixColor","foregroundMixColor","COLOR_MIXES","push","utilityLightMixColor","utilityLightMixValue","UTILITY_COLORS","yellow","cssColorVars","generateTheme"],"sources":["../../node_modules/color2k/dist/index.module.es.js","../../node_modules/color-blend/dist/index.modern.js","src/utils/theme/utils.ts","src/utils/theme/generateBorderRadii.ts","src/utils/theme/generateFont.ts","src/utils/theme/generatePalette.ts","src/utils/theme/generateTheme.ts"],"sourcesContent":["/**\n * A simple guard function:\n *\n * ```js\n * Math.min(Math.max(low, value), high)\n * ```\n */\nfunction guard(low, high, value) {\n return Math.min(Math.max(low, value), high);\n}\n\nclass ColorError extends Error {\n constructor(color) {\n super(`Failed to parse color: \"${color}\"`);\n }\n}\nvar ColorError$1 = ColorError;\n\n/**\n * Parses a color into red, gree, blue, alpha parts\n *\n * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color\n */\nfunction parseToRgba(color) {\n if (typeof color !== 'string') throw new ColorError$1(color);\n if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];\n let normalizedColor = color.trim();\n normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;\n const reducedHexMatch = reducedHexRegex.exec(normalizedColor);\n if (reducedHexMatch) {\n const arr = Array.from(reducedHexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];\n }\n const hexMatch = hexRegex.exec(normalizedColor);\n if (hexMatch) {\n const arr = Array.from(hexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];\n }\n const rgbaMatch = rgbaRegex.exec(normalizedColor);\n if (rgbaMatch) {\n const arr = Array.from(rgbaMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];\n }\n const hslaMatch = hslaRegex.exec(normalizedColor);\n if (hslaMatch) {\n const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);\n if (guard(0, 100, s) !== s) throw new ColorError$1(color);\n if (guard(0, 100, l) !== l) throw new ColorError$1(color);\n return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];\n }\n throw new ColorError$1(color);\n}\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return (hash >>> 0) % 2341;\n}\nconst colorToInt = x => parseInt(x.replace(/_/g, ''), 36);\nconst compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {\n const key = colorToInt(next.substring(0, 3));\n const hex = colorToInt(next.substring(3)).toString(16);\n\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n let prefix = '';\n for (let i = 0; i < 6 - hex.length; i++) {\n prefix += '0';\n }\n acc[key] = `${prefix}${hex}`;\n return acc;\n}, {});\n\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n */\nfunction nameToHex(color) {\n const normalizedColorName = color.toLowerCase().trim();\n const result = compressedColorMap[hash(normalizedColorName)];\n if (!result) throw new ColorError$1(color);\n return `#${result}`;\n}\nconst r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');\nconst reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');\nconst hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');\nconst rgbaRegex = new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${r(',\\\\s*(\\\\d+)\\\\s*', 2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`, 'i');\nconst hslaRegex = /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i;\nconst namedColorRegex = /^[a-z]+$/i;\nconst roundColor = color => {\n return Math.round(color * 255);\n};\nconst hslToRgb = (hue, saturation, lightness) => {\n let l = lightness / 100;\n if (saturation === 0) {\n // achromatic\n return [l, l, l].map(roundColor);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (hue % 360 + 360) % 360 / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n let red = 0;\n let green = 0;\n let blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return [finalRed, finalGreen, finalBlue].map(roundColor);\n};\n\n// taken from:\n// https://github.com/styled-components/polished/blob/a23a6a2bb26802b3d922d9c3b67bac3f3a54a310/src/internalHelpers/_rgbToHsl.js\n\n/**\n * Parses a color in hue, saturation, lightness, and the alpha channel.\n *\n * Hue is a number between 0 and 360, saturation, lightness, and alpha are\n * decimal percentages between 0 and 1\n */\nfunction parseToHsla(color) {\n const [red, green, blue, alpha] = parseToRgba(color).map((value, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? value : value / 255);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const lightness = (max + min) / 2;\n\n // achromatic\n if (max === min) return [0, 0, lightness, alpha];\n const delta = max - min;\n const saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const hue = 60 * (red === max ? (green - blue) / delta + (green < blue ? 6 : 0) : green === max ? (blue - red) / delta + 2 : (red - green) / delta + 4);\n return [hue, saturation, lightness, alpha];\n}\n\n/**\n * Takes in hsla parts and constructs an hsla string\n *\n * @param hue The color circle (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue\n * @param saturation Percentage of saturation, given as a decimal between 0 and 1\n * @param lightness Percentage of lightness, given as a decimal between 0 and 1\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction hsla(hue, saturation, lightness, alpha) {\n return `hsla(${(hue % 360).toFixed()}, ${guard(0, 100, saturation * 100).toFixed()}%, ${guard(0, 100, lightness * 100).toFixed()}%, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Adjusts the current hue of the color by the given degrees. Wraps around when\n * over 360.\n *\n * @param color input color\n * @param degrees degrees to adjust the input color, accepts degree integers\n * (0 - 360) and wraps around on overflow\n */\nfunction adjustHue(color, degrees) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h + degrees, s, l, a);\n}\n\n/**\n * Darkens using lightness. This is equivalent to subtracting the lightness\n * from the L in HSL.\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction darken(color, amount) {\n const [hue, saturation, lightness, alpha] = parseToHsla(color);\n return hsla(hue, saturation, lightness - amount, alpha);\n}\n\n/**\n * Desaturates the input color by the given amount via subtracting from the `s`\n * in `hsla`.\n *\n * @param amount The amount to desaturate, given as a decimal between 0 and 1\n */\nfunction desaturate(color, amount) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h, s - amount, l, a);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js\n\n/**\n * Returns a number (float) representing the luminance of a color.\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n function f(x) {\n const channel = x / 255;\n return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n const [r, g, b] = parseToRgba(color);\n return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getContrast.js\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n */\nfunction getContrast(color1, color2) {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05);\n}\n\n/**\n * Takes in rgba parts and returns an rgba string\n *\n * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive\n * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive\n * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction rgba(red, green, blue, alpha) {\n return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Mixes two colors together. Taken from sass's implementation.\n */\nfunction mix(color1, color2, weight) {\n const normalize = (n, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? n : n / 255;\n const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);\n const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = a2 - a1;\n const normalizedWeight = weight * 2 - 1;\n const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);\n const weight2 = (combinedWeight + 1) / 2;\n const weight1 = 1 - weight2;\n const r = (r1 * weight1 + r2 * weight2) * 255;\n const g = (g1 * weight1 + g2 * weight2) * 255;\n const b = (b1 * weight1 + b2 * weight2) * 255;\n const a = a2 * weight + a1 * (1 - weight);\n return rgba(r, g, b, a);\n}\n\n/**\n * Given a series colors, this function will return a `scale(x)` function that\n * accepts a percentage as a decimal between 0 and 1 and returns the color at\n * that percentage in the scale.\n *\n * ```js\n * const scale = getScale('red', 'yellow', 'green');\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(0.5)); // rgba(255, 255, 0, 1)\n * console.log(scale(1)); // rgba(0, 128, 0, 1)\n * ```\n *\n * If you'd like to limit the domain and range like chroma-js, we recommend\n * wrapping scale again.\n *\n * ```js\n * const _scale = getScale('red', 'yellow', 'green');\n * const scale = x => _scale(x / 100);\n *\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(50)); // rgba(255, 255, 0, 1)\n * console.log(scale(100)); // rgba(0, 128, 0, 1)\n * ```\n */\nfunction getScale(...colors) {\n return n => {\n const lastIndex = colors.length - 1;\n const lowIndex = guard(0, lastIndex, Math.floor(n * lastIndex));\n const highIndex = guard(0, lastIndex, Math.ceil(n * lastIndex));\n const color1 = colors[lowIndex];\n const color2 = colors[highIndex];\n const unit = 1 / lastIndex;\n const weight = (n - unit * lowIndex) / unit;\n return mix(color1, color2, weight);\n };\n}\n\nconst guidelines = {\n decorative: 1.5,\n readable: 3,\n aa: 4.5,\n aaa: 7\n};\n\n/**\n * Returns whether or not a color has bad contrast against a background\n * according to a given standard.\n */\nfunction hasBadContrast(color, standard = 'aa', background = '#fff') {\n return getContrast(color, background) < guidelines[standard];\n}\n\n/**\n * Lightens a color by a given amount. This is equivalent to\n * `darken(color, -amount)`\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction lighten(color, amount) {\n return darken(color, -amount);\n}\n\n/**\n * Takes in a color and makes it more transparent by convert to `rgba` and\n * decreasing the amount in the alpha channel.\n *\n * @param amount The amount to increase the transparency by, given as a decimal between 0 and 1\n */\nfunction transparentize(color, amount) {\n const [r, g, b, a] = parseToRgba(color);\n return rgba(r, g, b, a - amount);\n}\n\n/**\n * Takes a color and un-transparentizes it. Equivalent to\n * `transparentize(color, -amount)`\n *\n * @param amount The amount to increase the opacity by, given as a decimal between 0 and 1\n */\nfunction opacify(color, amount) {\n return transparentize(color, -amount);\n}\n\n/**\n * An alternative function to `readableColor`. Returns whether or not the \n * readable color (i.e. the color to be place on top the input color) should be\n * black.\n */\nfunction readableColorIsBlack(color) {\n return getLuminance(color) > 0.179;\n}\n\n/**\n * Returns black or white for best contrast depending on the luminosity of the\n * given color.\n */\nfunction readableColor(color) {\n return readableColorIsBlack(color) ? '#000' : '#fff';\n}\n\n/**\n * Saturates a color by converting it to `hsl` and increasing the saturation\n * amount. Equivalent to `desaturate(color, -amount)`\n * \n * @param color Input color\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction saturate(color, amount) {\n return desaturate(color, -amount);\n}\n\n/**\n * Takes in any color and returns it as a hex code.\n */\nfunction toHex(color) {\n const [r, g, b, a] = parseToRgba(color);\n let hex = x => {\n const h = guard(0, 255, x).toString(16);\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n return h.length === 1 ? `0${h}` : h;\n };\n return `#${hex(r)}${hex(g)}${hex(b)}${a < 1 ? hex(Math.round(a * 255)) : ''}`;\n}\n\n/**\n * Takes in any color and returns it as an rgba string.\n */\nfunction toRgba(color) {\n return rgba(...parseToRgba(color));\n}\n\n/**\n * Takes in any color and returns it as an hsla string.\n */\nfunction toHsla(color) {\n return hsla(...parseToHsla(color));\n}\n\nexport { ColorError$1 as ColorError, adjustHue, darken, desaturate, getContrast, getLuminance, getScale, guard, hasBadContrast, hsla, lighten, mix, opacify, parseToHsla, parseToRgba, readableColor, readableColorIsBlack, rgba, saturate, toHex, toHsla, toRgba, transparentize };\n//# sourceMappingURL=index.module.es.js.map\n","function n(n,r,t){return{r:255*t(n.r/255,r.r/255),g:255*t(n.g/255,r.g/255),b:255*t(n.b/255,r.b/255)}}function r(n,r){return r}function t(n,r){return n*r}function u(n,r){return n+r-n*r}function i(n,r){return a(r,n)}function o(n,r){return Math.min(n,r)}function e(n,r){return Math.min(Math.max(n,r),1)}function c(n,r){return 0===n?0:1===r?1:Math.min(1,n/(1-r))}function f(n,r){return 1===n?1:0===r?0:1-Math.min(1,(1-n)/r)}function a(n,r){return r<=.5?t(n,2*r):u(n,2*r-1)}function b(n,r){return r<=.5?n-(1-2*r)*n*(1-n):n+(2*r-1)*((n<=.25?((16*n-12)*n+4)*n:Math.sqrt(n))-n)}function g(n,r){return Math.abs(n-r)}function h(n,r){return n+r-2*n*r}function M(n,r,t){return Math.min(Math.max(n||0,r),t)}function m(n){return{r:M(n.r,0,255),g:M(n.g,0,255),b:M(n.b,0,255),a:M(n.a,0,1)}}function d(n){return{r:255*n.r,g:255*n.g,b:255*n.b,a:n.a}}function p(n){return{r:n.r/255,g:n.g/255,b:n.b/255,a:n.a}}function v(n,r){void 0===r&&(r=0);var t=Math.pow(10,r);return{r:Math.round(n.r*t)/t,g:Math.round(n.g*t)/t,b:Math.round(n.b*t)/t,a:n.a}}function x(n,r,t,u,i,o){return(1-r/t)*u+r/t*Math.round((1-n)*i+n*o)}function O(n,r,t,u,i){void 0===i&&(i={unitInput:!1,unitOutput:!1,roundOutput:!0}),i.unitInput&&(n=d(n),r=d(r)),n=m(n);var o=(r=m(r)).a+n.a-r.a*n.a,e=t(n,r,u),c=m({r:x(n.a,r.a,o,n.r,r.r,e.r),g:x(n.a,r.a,o,n.g,r.g,e.g),b:x(n.a,r.a,o,n.b,r.b,e.b),a:o});return c=i.unitOutput?p(c):i.roundOutput?v(c):function(n){return v(n,9)}(c),c}function s(n,r,t){return d(t(p(n),p(r)))}function I(n){return.3*n.r+.59*n.g+.11*n.b}function q(n,r){var t=r-I(n);return function(n){var r=I(n),t=n.r,u=n.g,i=n.b,o=Math.min(t,u,i),e=Math.max(t,u,i);function c(n){return r+(n-r)*r/(r-o)}function f(n){return r+(n-r)*(1-r)/(e-r)}return o<0&&(t=c(t),u=c(u),i=c(i)),e>1&&(t=f(t),u=f(u),i=f(i)),{r:t,g:u,b:i}}({r:n.r+t,g:n.g+t,b:n.b+t})}function w(n){return Math.max(n.r,n.g,n.b)-Math.min(n.r,n.g,n.b)}function j(n,r){var t=[\"r\",\"g\",\"b\"].sort(function(r,t){return n[r]-n[t]}),u=t[0],i=t[1],o=t[2],e={r:n.r,g:n.g,b:n.b};return e[o]>e[u]?(e[i]=(e[i]-e[u])*r/(e[o]-e[u]),e[o]=r):e[i]=e[o]=0,e[u]=0,e}function k(n,r){return q(j(r,w(n)),I(n))}function l(n,r){return q(j(n,w(r)),I(n))}function y(n,r){return q(r,I(n))}function z(n,r){return q(n,I(r))}function A(t,u){return O(t,u,n,r)}function B(r,u){return O(r,u,n,t)}function C(r,t){return O(r,t,n,u)}function D(r,t){return O(r,t,n,i)}function E(r,t){return O(r,t,n,o)}function F(r,t){return O(r,t,n,e)}function G(r,t){return O(r,t,n,c)}function H(r,t){return O(r,t,n,f)}function J(r,t){return O(r,t,n,a)}function K(r,t){return O(r,t,n,b)}function L(r,t){return O(r,t,n,g)}function N(r,t){return O(r,t,n,h)}function P(n,r){return O(n,r,s,k)}function Q(n,r){return O(n,r,s,l)}function R(n,r){return O(n,r,s,y)}function S(n,r){return O(n,r,s,z)}export{R as color,H as colorBurn,G as colorDodge,E as darken,L as difference,N as exclusion,J as hardLight,P as hue,F as lighten,S as luminosity,B as multiply,A as normal,D as overlay,Q as saturation,C as screen,K as softLight};\n//# sourceMappingURL=index.modern.js.map\n","import { parseToRgba, rgba } from 'color2k';\nimport { CustomBorderRadii, CustomPalette } from '../../interface';\nimport { overlay } from 'color-blend';\n\nexport const isColor = strColor => {\n const s = new Option().style;\n s.color = strColor;\n return s.color !== '';\n};\n\nconst toKebabCase = (pascal: string) => pascal.replace(/([a-z0–9])([A-Z])/g, '$1-$2').toLowerCase();\n\n// This function handles arrays and objects\nconst buildVars = (prev: string, obj: any): { [k: string]: string } => {\n let resp = {};\n\n for (const k in obj) {\n const name = `${prev}-${toKebabCase(k)}`;\n if (typeof obj[k] === 'object' && obj[k] !== null) {\n resp = { ...resp, ...buildVars(name, obj[k]) };\n } else {\n resp[name] = obj[k];\n }\n }\n\n return resp;\n};\n\nexport const getCssColors = (customPalette: CustomPalette): { [k: string]: string } =>\n buildVars('--cpsl-color', customPalette);\nexport const getCssBorderRadii = (customBorderRadii: CustomBorderRadii): { [k: string]: string } =>\n buildVars('--cpsl-border-radius', customBorderRadii);\n\nexport const overlayMix = (baseColor: string, overlayColor: string) => {\n const baseRGBA = parseToRgba(baseColor);\n const overlayRGBA = parseToRgba(overlayColor);\n\n const finalRGBA = overlay(\n { r: baseRGBA[0], g: baseRGBA[1], b: baseRGBA[2], a: 0.1 },\n { r: overlayRGBA[0], g: overlayRGBA[1], b: overlayRGBA[2], a: overlayRGBA[3] },\n );\n\n return rgba(finalRGBA.r, finalRGBA.g, finalRGBA.b, finalRGBA.a);\n};\n","import { Theme } from '../../interface';\nimport { getCssBorderRadii } from './utils';\n\nexport const generateBorderRadii = ({\n borderRadius,\n customBorderRadii,\n}: Pick<Theme, 'borderRadius' | 'customBorderRadii'>) => {\n let mediumRadius: number,\n largeRadius: number,\n checkboxRadius: number = 4;\n const fullRadius = 1000;\n let isFull = false;\n let isNone = false;\n\n switch (borderRadius) {\n case 'none': {\n isNone = true;\n mediumRadius = 0;\n largeRadius = 0;\n checkboxRadius = 0;\n break;\n }\n case 'xs': {\n mediumRadius = 2;\n largeRadius = 4;\n checkboxRadius = 2;\n break;\n }\n case 'sm': {\n mediumRadius = 4;\n largeRadius = 8;\n break;\n }\n case 'md': {\n mediumRadius = 8;\n largeRadius = 16;\n break;\n }\n case 'xl': {\n mediumRadius = 16;\n largeRadius = 32;\n break;\n }\n case 'full': {\n mediumRadius = 24;\n largeRadius = 32;\n isFull = true;\n break;\n }\n default:\n case 'lg': {\n mediumRadius = 12;\n largeRadius = 24;\n break;\n }\n }\n\n document.documentElement.style.setProperty('--cpsl-border-radius-input', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-select', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-file', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-alert', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-tabs', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty(\n '--cpsl-border-radius-primary-button',\n `${isFull ? fullRadius : mediumRadius}px`,\n );\n document.documentElement.style.setProperty(\n '--cpsl-border-radius-secondary-button',\n `${isFull ? fullRadius : mediumRadius}px`,\n );\n document.documentElement.style.setProperty(\n '--cpsl-border-radius-destructive-button',\n `${isFull ? fullRadius : mediumRadius}px`,\n );\n document.documentElement.style.setProperty('--cpsl-border-radius-tile-button', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-qr-code', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-info-box', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-table-container', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-avatar', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-button-group', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-card', `${largeRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-modal', `${largeRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-checkbox', `${checkboxRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-switch', `${isNone ? 0 : fullRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-pill', `${isNone ? 0 : fullRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-radio', `${fullRadius}px`);\n\n if (Boolean(customBorderRadii)) {\n const cssBorderRadiiVars = getCssBorderRadii(customBorderRadii);\n Object.entries(cssBorderRadiiVars).forEach(([k, v]) => document.documentElement.style.setProperty(k, v));\n }\n};\n","import { Theme } from '../../interface';\n\nconst FONT_NAME_MAP = {\n body2XS: 'body-2xs',\n bodyXS: 'body-xs',\n bodyS: 'body-s',\n bodyM: 'body-m',\n bodyL: 'body-l',\n bodyXL: 'body-xl',\n headingXS: 'heading-xs',\n headingS: 'heading-s',\n headingM: 'heading-m',\n headingL: 'heading-l',\n headingXL: 'heading-xl',\n heading2XL: 'heading-2xl',\n};\n\nexport const generateFont = ({ font, customFontSizes }: Pick<Theme, 'font' | 'customFontSizes'>) => {\n if (Boolean(font)) {\n document.documentElement.style.setProperty('--cpsl-default-font', font);\n }\n\n Object.entries(FONT_NAME_MAP).forEach(([key, value]) => {\n if (customFontSizes?.[key]) {\n document.documentElement.style.setProperty(`--cpsl-font-size-${value}`, customFontSizes[key]);\n } else {\n document.documentElement.style.removeProperty(`--cpsl-font-size-${value}`);\n }\n });\n};\n","import { mix, readableColorIsBlack } from 'color2k';\nimport { Theme } from '../../interface';\nimport { getCssColors, isColor, overlayMix } from './utils';\nimport { COLOR_MIXES, DEFAULT_THEME, UTILITY_COLORS } from '../../constants';\n\nexport type Palette = {\n foregroundColors: string[];\n backgroundColors: string[];\n isDarkBackground: boolean;\n};\n\nexport const generatePalette = ({\n foregroundColor,\n backgroundColor,\n customPalette,\n}: Pick<Theme, 'foregroundColor' | 'backgroundColor' | 'customPalette'>): Palette => {\n if (!Boolean(foregroundColor) || !isColor(foregroundColor)) {\n foregroundColor = DEFAULT_THEME.foregroundColor;\n }\n if (!Boolean(backgroundColor) || !isColor(backgroundColor)) {\n backgroundColor = DEFAULT_THEME.backgroundColor;\n }\n\n const isDarkBackground = !readableColorIsBlack(backgroundColor);\n\n const palette: Palette = {\n foregroundColors: [],\n backgroundColors: [],\n isDarkBackground,\n };\n\n const backgroundMixColor = isDarkBackground ? '#FFFFFF' : '#000000';\n const foregroundMixColor = isDarkBackground ? '#000000' : '#FFFFFF';\n\n COLOR_MIXES.forEach(value => {\n palette.foregroundColors.push(mix(foregroundColor, foregroundMixColor, value));\n palette.backgroundColors.push(mix(backgroundColor, backgroundMixColor, value));\n });\n\n // BACKGROUND\n document.documentElement.style.setProperty('--cpsl-color-background-0', palette.backgroundColors[0]);\n document.documentElement.style.setProperty('--cpsl-color-background-4', palette.backgroundColors[1]);\n document.documentElement.style.setProperty('--cpsl-color-background-8', palette.backgroundColors[2]);\n document.documentElement.style.setProperty('--cpsl-color-background-16', palette.backgroundColors[3]);\n document.documentElement.style.setProperty('--cpsl-color-background-32', palette.backgroundColors[4]);\n document.documentElement.style.setProperty('--cpsl-color-background-48', palette.backgroundColors[5]);\n document.documentElement.style.setProperty('--cpsl-color-background-64', palette.backgroundColors[6]);\n document.documentElement.style.setProperty('--cpsl-color-background-80', palette.backgroundColors[7]);\n document.documentElement.style.setProperty('--cpsl-color-background-96', palette.backgroundColors[8]);\n\n // FOREGROUND\n document.documentElement.style.setProperty('--cpsl-color-foreground-0', palette.foregroundColors[0]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-4', palette.foregroundColors[1]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-8', palette.foregroundColors[2]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-16', palette.foregroundColors[3]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-32', palette.foregroundColors[4]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-48', palette.foregroundColors[5]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-64', palette.foregroundColors[6]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-80', palette.foregroundColors[7]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-96', palette.foregroundColors[8]);\n\n const utilityLightMixColor = '#FFFFFF';\n const utilityLightMixValue = 0.72;\n // UTILITY\n const red = overlayMix(foregroundColor, UTILITY_COLORS.red);\n const yellow = overlayMix(foregroundColor, UTILITY_COLORS.yellow);\n const green = overlayMix(foregroundColor, UTILITY_COLORS.green);\n document.documentElement.style.setProperty('--cpsl-color-utility-red', red);\n document.documentElement.style.setProperty('--cpsl-color-utility-yellow', yellow);\n document.documentElement.style.setProperty('--cpsl-color-utility-green', green);\n document.documentElement.style.setProperty(\n '--cpsl-color-utility-red-light',\n mix(red, utilityLightMixColor, utilityLightMixValue),\n );\n document.documentElement.style.setProperty(\n '--cpsl-color-utility-yellow-light',\n mix(yellow, utilityLightMixColor, utilityLightMixValue),\n );\n document.documentElement.style.setProperty(\n '--cpsl-color-utility-green-light',\n mix(green, utilityLightMixColor, utilityLightMixValue),\n );\n\n if (Boolean(customPalette)) {\n const cssColorVars = getCssColors(customPalette);\n Object.entries(cssColorVars).forEach(([k, v]) => document.documentElement.style.setProperty(k, v));\n }\n\n return palette;\n};\n","import { DEFAULT_THEME } from '../../constants';\nimport { Theme } from '../../interface';\nimport { generateBorderRadii } from './generateBorderRadii';\nimport { generateFont } from './generateFont';\nimport { generatePalette } from './generatePalette';\n\n/**\n * Generates css theme variables.\n * @returns @boolean Whether background is dark or not.\n */\nexport const generateTheme = ({\n foregroundColor = DEFAULT_THEME.foregroundColor,\n backgroundColor = DEFAULT_THEME.backgroundColor,\n font,\n customPalette,\n borderRadius,\n customFontSizes,\n customBorderRadii,\n}: Theme): boolean => {\n const palette = generatePalette({ foregroundColor, backgroundColor, customPalette });\n\n generateFont({ font, customFontSizes });\n\n generateBorderRadii({ borderRadius, customBorderRadii });\n\n return palette.isDarkBackground;\n};\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["guard","low","high","value","Math","min","max","ColorError","Error","constructor","color","super","ColorError$1","parseToRgba","trim","toLowerCase","normalizedColor","namedColorRegex","test","nameToHex","reducedHexMatch","reducedHexRegex","exec","arr","Array","from","slice","map","x","parseInt","r","hexMatch","hexRegex","rgbaMatch","rgbaRegex","parseFloat","hslaMatch","hslaRegex","h","s","l","a","hslToRgb","Number","isNaN","hash","str","i","length","charCodeAt","colorToInt","replace","compressedColorMap","split","reduce","acc","next","key","substring","hex","toString","prefix","normalizedColorName","result","amount","join","RegExp","roundColor","round","hue","saturation","lightness","huePrime","chroma","abs","secondComponent","red","green","blue","lightnessModification","finalRed","finalGreen","finalBlue","getLuminance","f","channel","pow","g","b","rgba","alpha","toFixed","mix","color1","color2","weight","normalize","n","index","r1","g1","b1","a1","r2","g2","b2","a2","alphaDelta","normalizedWeight","combinedWeight","weight2","weight1","readableColorIsBlack","t","u","M","m","d","p","v","o","O","unitInput","unitOutput","roundOutput","e","c","D","isColor","strColor","Option","style","toKebabCase","pascal","buildVars","prev","obj","resp","k","name","Object","assign","getCssColors","customPalette","getCssBorderRadii","customBorderRadii","overlayMix","baseColor","overlayColor","baseRGBA","overlayRGBA","finalRGBA","overlay","generateBorderRadii","borderRadius","mediumRadius","largeRadius","checkboxRadius","fullRadius","isFull","isNone","document","documentElement","setProperty","cssBorderRadiiVars","entries","forEach","FONT_NAME_MAP","body2XS","bodyXS","bodyS","bodyM","bodyL","bodyXL","headingXS","headingS","headingM","headingL","headingXL","heading2XL","generateFont","font","customFontSizes","removeProperty","generatePalette","foregroundColor","backgroundColor","accentColor","isDarkTheme","DEFAULT_THEME","Boolean","isDarkAccent","palette","foregroundColors","backgroundColors","accentColors","backgroundMixColor","foregroundMixColor","accentMixColor","COLOR_MIXES","push","utilityLightMixColor","utilityLightMixValue","UTILITY_COLORS","yellow","cssColorVars","generateTheme","darkForegroundColor","darkBackgroundColor","darkAccentColor","mode"],"sources":["../../node_modules/color2k/dist/index.module.es.js","../../node_modules/color-blend/dist/index.modern.js","src/utils/theme/utils.ts","src/utils/theme/generateBorderRadii.ts","src/utils/theme/generateFont.ts","src/utils/theme/generatePalette.ts","src/utils/theme/generateTheme.ts"],"sourcesContent":["/**\n * A simple guard function:\n *\n * ```js\n * Math.min(Math.max(low, value), high)\n * ```\n */\nfunction guard(low, high, value) {\n return Math.min(Math.max(low, value), high);\n}\n\nclass ColorError extends Error {\n constructor(color) {\n super(`Failed to parse color: \"${color}\"`);\n }\n}\nvar ColorError$1 = ColorError;\n\n/**\n * Parses a color into red, gree, blue, alpha parts\n *\n * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color\n */\nfunction parseToRgba(color) {\n if (typeof color !== 'string') throw new ColorError$1(color);\n if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];\n let normalizedColor = color.trim();\n normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;\n const reducedHexMatch = reducedHexRegex.exec(normalizedColor);\n if (reducedHexMatch) {\n const arr = Array.from(reducedHexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];\n }\n const hexMatch = hexRegex.exec(normalizedColor);\n if (hexMatch) {\n const arr = Array.from(hexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];\n }\n const rgbaMatch = rgbaRegex.exec(normalizedColor);\n if (rgbaMatch) {\n const arr = Array.from(rgbaMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];\n }\n const hslaMatch = hslaRegex.exec(normalizedColor);\n if (hslaMatch) {\n const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);\n if (guard(0, 100, s) !== s) throw new ColorError$1(color);\n if (guard(0, 100, l) !== l) throw new ColorError$1(color);\n return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];\n }\n throw new ColorError$1(color);\n}\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return (hash >>> 0) % 2341;\n}\nconst colorToInt = x => parseInt(x.replace(/_/g, ''), 36);\nconst compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {\n const key = colorToInt(next.substring(0, 3));\n const hex = colorToInt(next.substring(3)).toString(16);\n\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n let prefix = '';\n for (let i = 0; i < 6 - hex.length; i++) {\n prefix += '0';\n }\n acc[key] = `${prefix}${hex}`;\n return acc;\n}, {});\n\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n */\nfunction nameToHex(color) {\n const normalizedColorName = color.toLowerCase().trim();\n const result = compressedColorMap[hash(normalizedColorName)];\n if (!result) throw new ColorError$1(color);\n return `#${result}`;\n}\nconst r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');\nconst reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');\nconst hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');\nconst rgbaRegex = new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${r(',\\\\s*(\\\\d+)\\\\s*', 2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`, 'i');\nconst hslaRegex = /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i;\nconst namedColorRegex = /^[a-z]+$/i;\nconst roundColor = color => {\n return Math.round(color * 255);\n};\nconst hslToRgb = (hue, saturation, lightness) => {\n let l = lightness / 100;\n if (saturation === 0) {\n // achromatic\n return [l, l, l].map(roundColor);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (hue % 360 + 360) % 360 / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n let red = 0;\n let green = 0;\n let blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return [finalRed, finalGreen, finalBlue].map(roundColor);\n};\n\n// taken from:\n// https://github.com/styled-components/polished/blob/a23a6a2bb26802b3d922d9c3b67bac3f3a54a310/src/internalHelpers/_rgbToHsl.js\n\n/**\n * Parses a color in hue, saturation, lightness, and the alpha channel.\n *\n * Hue is a number between 0 and 360, saturation, lightness, and alpha are\n * decimal percentages between 0 and 1\n */\nfunction parseToHsla(color) {\n const [red, green, blue, alpha] = parseToRgba(color).map((value, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? value : value / 255);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const lightness = (max + min) / 2;\n\n // achromatic\n if (max === min) return [0, 0, lightness, alpha];\n const delta = max - min;\n const saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const hue = 60 * (red === max ? (green - blue) / delta + (green < blue ? 6 : 0) : green === max ? (blue - red) / delta + 2 : (red - green) / delta + 4);\n return [hue, saturation, lightness, alpha];\n}\n\n/**\n * Takes in hsla parts and constructs an hsla string\n *\n * @param hue The color circle (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue\n * @param saturation Percentage of saturation, given as a decimal between 0 and 1\n * @param lightness Percentage of lightness, given as a decimal between 0 and 1\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction hsla(hue, saturation, lightness, alpha) {\n return `hsla(${(hue % 360).toFixed()}, ${guard(0, 100, saturation * 100).toFixed()}%, ${guard(0, 100, lightness * 100).toFixed()}%, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Adjusts the current hue of the color by the given degrees. Wraps around when\n * over 360.\n *\n * @param color input color\n * @param degrees degrees to adjust the input color, accepts degree integers\n * (0 - 360) and wraps around on overflow\n */\nfunction adjustHue(color, degrees) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h + degrees, s, l, a);\n}\n\n/**\n * Darkens using lightness. This is equivalent to subtracting the lightness\n * from the L in HSL.\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction darken(color, amount) {\n const [hue, saturation, lightness, alpha] = parseToHsla(color);\n return hsla(hue, saturation, lightness - amount, alpha);\n}\n\n/**\n * Desaturates the input color by the given amount via subtracting from the `s`\n * in `hsla`.\n *\n * @param amount The amount to desaturate, given as a decimal between 0 and 1\n */\nfunction desaturate(color, amount) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h, s - amount, l, a);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js\n\n/**\n * Returns a number (float) representing the luminance of a color.\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n function f(x) {\n const channel = x / 255;\n return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n const [r, g, b] = parseToRgba(color);\n return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getContrast.js\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n */\nfunction getContrast(color1, color2) {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05);\n}\n\n/**\n * Takes in rgba parts and returns an rgba string\n *\n * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive\n * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive\n * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction rgba(red, green, blue, alpha) {\n return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Mixes two colors together. Taken from sass's implementation.\n */\nfunction mix(color1, color2, weight) {\n const normalize = (n, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? n : n / 255;\n const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);\n const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = a2 - a1;\n const normalizedWeight = weight * 2 - 1;\n const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);\n const weight2 = (combinedWeight + 1) / 2;\n const weight1 = 1 - weight2;\n const r = (r1 * weight1 + r2 * weight2) * 255;\n const g = (g1 * weight1 + g2 * weight2) * 255;\n const b = (b1 * weight1 + b2 * weight2) * 255;\n const a = a2 * weight + a1 * (1 - weight);\n return rgba(r, g, b, a);\n}\n\n/**\n * Given a series colors, this function will return a `scale(x)` function that\n * accepts a percentage as a decimal between 0 and 1 and returns the color at\n * that percentage in the scale.\n *\n * ```js\n * const scale = getScale('red', 'yellow', 'green');\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(0.5)); // rgba(255, 255, 0, 1)\n * console.log(scale(1)); // rgba(0, 128, 0, 1)\n * ```\n *\n * If you'd like to limit the domain and range like chroma-js, we recommend\n * wrapping scale again.\n *\n * ```js\n * const _scale = getScale('red', 'yellow', 'green');\n * const scale = x => _scale(x / 100);\n *\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(50)); // rgba(255, 255, 0, 1)\n * console.log(scale(100)); // rgba(0, 128, 0, 1)\n * ```\n */\nfunction getScale(...colors) {\n return n => {\n const lastIndex = colors.length - 1;\n const lowIndex = guard(0, lastIndex, Math.floor(n * lastIndex));\n const highIndex = guard(0, lastIndex, Math.ceil(n * lastIndex));\n const color1 = colors[lowIndex];\n const color2 = colors[highIndex];\n const unit = 1 / lastIndex;\n const weight = (n - unit * lowIndex) / unit;\n return mix(color1, color2, weight);\n };\n}\n\nconst guidelines = {\n decorative: 1.5,\n readable: 3,\n aa: 4.5,\n aaa: 7\n};\n\n/**\n * Returns whether or not a color has bad contrast against a background\n * according to a given standard.\n */\nfunction hasBadContrast(color, standard = 'aa', background = '#fff') {\n return getContrast(color, background) < guidelines[standard];\n}\n\n/**\n * Lightens a color by a given amount. This is equivalent to\n * `darken(color, -amount)`\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction lighten(color, amount) {\n return darken(color, -amount);\n}\n\n/**\n * Takes in a color and makes it more transparent by convert to `rgba` and\n * decreasing the amount in the alpha channel.\n *\n * @param amount The amount to increase the transparency by, given as a decimal between 0 and 1\n */\nfunction transparentize(color, amount) {\n const [r, g, b, a] = parseToRgba(color);\n return rgba(r, g, b, a - amount);\n}\n\n/**\n * Takes a color and un-transparentizes it. Equivalent to\n * `transparentize(color, -amount)`\n *\n * @param amount The amount to increase the opacity by, given as a decimal between 0 and 1\n */\nfunction opacify(color, amount) {\n return transparentize(color, -amount);\n}\n\n/**\n * An alternative function to `readableColor`. Returns whether or not the \n * readable color (i.e. the color to be place on top the input color) should be\n * black.\n */\nfunction readableColorIsBlack(color) {\n return getLuminance(color) > 0.179;\n}\n\n/**\n * Returns black or white for best contrast depending on the luminosity of the\n * given color.\n */\nfunction readableColor(color) {\n return readableColorIsBlack(color) ? '#000' : '#fff';\n}\n\n/**\n * Saturates a color by converting it to `hsl` and increasing the saturation\n * amount. Equivalent to `desaturate(color, -amount)`\n * \n * @param color Input color\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction saturate(color, amount) {\n return desaturate(color, -amount);\n}\n\n/**\n * Takes in any color and returns it as a hex code.\n */\nfunction toHex(color) {\n const [r, g, b, a] = parseToRgba(color);\n let hex = x => {\n const h = guard(0, 255, x).toString(16);\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n return h.length === 1 ? `0${h}` : h;\n };\n return `#${hex(r)}${hex(g)}${hex(b)}${a < 1 ? hex(Math.round(a * 255)) : ''}`;\n}\n\n/**\n * Takes in any color and returns it as an rgba string.\n */\nfunction toRgba(color) {\n return rgba(...parseToRgba(color));\n}\n\n/**\n * Takes in any color and returns it as an hsla string.\n */\nfunction toHsla(color) {\n return hsla(...parseToHsla(color));\n}\n\nexport { ColorError$1 as ColorError, adjustHue, darken, desaturate, getContrast, getLuminance, getScale, guard, hasBadContrast, hsla, lighten, mix, opacify, parseToHsla, parseToRgba, readableColor, readableColorIsBlack, rgba, saturate, toHex, toHsla, toRgba, transparentize };\n//# sourceMappingURL=index.module.es.js.map\n","function n(n,r,t){return{r:255*t(n.r/255,r.r/255),g:255*t(n.g/255,r.g/255),b:255*t(n.b/255,r.b/255)}}function r(n,r){return r}function t(n,r){return n*r}function u(n,r){return n+r-n*r}function i(n,r){return a(r,n)}function o(n,r){return Math.min(n,r)}function e(n,r){return Math.min(Math.max(n,r),1)}function c(n,r){return 0===n?0:1===r?1:Math.min(1,n/(1-r))}function f(n,r){return 1===n?1:0===r?0:1-Math.min(1,(1-n)/r)}function a(n,r){return r<=.5?t(n,2*r):u(n,2*r-1)}function b(n,r){return r<=.5?n-(1-2*r)*n*(1-n):n+(2*r-1)*((n<=.25?((16*n-12)*n+4)*n:Math.sqrt(n))-n)}function g(n,r){return Math.abs(n-r)}function h(n,r){return n+r-2*n*r}function M(n,r,t){return Math.min(Math.max(n||0,r),t)}function m(n){return{r:M(n.r,0,255),g:M(n.g,0,255),b:M(n.b,0,255),a:M(n.a,0,1)}}function d(n){return{r:255*n.r,g:255*n.g,b:255*n.b,a:n.a}}function p(n){return{r:n.r/255,g:n.g/255,b:n.b/255,a:n.a}}function v(n,r){void 0===r&&(r=0);var t=Math.pow(10,r);return{r:Math.round(n.r*t)/t,g:Math.round(n.g*t)/t,b:Math.round(n.b*t)/t,a:n.a}}function x(n,r,t,u,i,o){return(1-r/t)*u+r/t*Math.round((1-n)*i+n*o)}function O(n,r,t,u,i){void 0===i&&(i={unitInput:!1,unitOutput:!1,roundOutput:!0}),i.unitInput&&(n=d(n),r=d(r)),n=m(n);var o=(r=m(r)).a+n.a-r.a*n.a,e=t(n,r,u),c=m({r:x(n.a,r.a,o,n.r,r.r,e.r),g:x(n.a,r.a,o,n.g,r.g,e.g),b:x(n.a,r.a,o,n.b,r.b,e.b),a:o});return c=i.unitOutput?p(c):i.roundOutput?v(c):function(n){return v(n,9)}(c),c}function s(n,r,t){return d(t(p(n),p(r)))}function I(n){return.3*n.r+.59*n.g+.11*n.b}function q(n,r){var t=r-I(n);return function(n){var r=I(n),t=n.r,u=n.g,i=n.b,o=Math.min(t,u,i),e=Math.max(t,u,i);function c(n){return r+(n-r)*r/(r-o)}function f(n){return r+(n-r)*(1-r)/(e-r)}return o<0&&(t=c(t),u=c(u),i=c(i)),e>1&&(t=f(t),u=f(u),i=f(i)),{r:t,g:u,b:i}}({r:n.r+t,g:n.g+t,b:n.b+t})}function w(n){return Math.max(n.r,n.g,n.b)-Math.min(n.r,n.g,n.b)}function j(n,r){var t=[\"r\",\"g\",\"b\"].sort(function(r,t){return n[r]-n[t]}),u=t[0],i=t[1],o=t[2],e={r:n.r,g:n.g,b:n.b};return e[o]>e[u]?(e[i]=(e[i]-e[u])*r/(e[o]-e[u]),e[o]=r):e[i]=e[o]=0,e[u]=0,e}function k(n,r){return q(j(r,w(n)),I(n))}function l(n,r){return q(j(n,w(r)),I(n))}function y(n,r){return q(r,I(n))}function z(n,r){return q(n,I(r))}function A(t,u){return O(t,u,n,r)}function B(r,u){return O(r,u,n,t)}function C(r,t){return O(r,t,n,u)}function D(r,t){return O(r,t,n,i)}function E(r,t){return O(r,t,n,o)}function F(r,t){return O(r,t,n,e)}function G(r,t){return O(r,t,n,c)}function H(r,t){return O(r,t,n,f)}function J(r,t){return O(r,t,n,a)}function K(r,t){return O(r,t,n,b)}function L(r,t){return O(r,t,n,g)}function N(r,t){return O(r,t,n,h)}function P(n,r){return O(n,r,s,k)}function Q(n,r){return O(n,r,s,l)}function R(n,r){return O(n,r,s,y)}function S(n,r){return O(n,r,s,z)}export{R as color,H as colorBurn,G as colorDodge,E as darken,L as difference,N as exclusion,J as hardLight,P as hue,F as lighten,S as luminosity,B as multiply,A as normal,D as overlay,Q as saturation,C as screen,K as softLight};\n//# sourceMappingURL=index.modern.js.map\n","import { parseToRgba, rgba } from 'color2k';\nimport { CustomBorderRadii, CustomPalette } from '../../interface';\nimport { overlay } from 'color-blend';\n\nexport const isColor = strColor => {\n const s = new Option().style;\n s.color = strColor;\n return s.color !== '';\n};\n\nconst toKebabCase = (pascal: string) => pascal.replace(/([a-z0–9])([A-Z])/g, '$1-$2').toLowerCase();\n\n// This function handles arrays and objects\nconst buildVars = (prev: string, obj: any): { [k: string]: string } => {\n let resp = {};\n\n for (const k in obj) {\n const name = `${prev}-${toKebabCase(k)}`;\n if (typeof obj[k] === 'object' && obj[k] !== null) {\n resp = { ...resp, ...buildVars(name, obj[k]) };\n } else {\n resp[name] = obj[k];\n }\n }\n\n return resp;\n};\n\nexport const getCssColors = (customPalette: CustomPalette): { [k: string]: string } => buildVars('--cpsl-color', customPalette);\nexport const getCssBorderRadii = (customBorderRadii: CustomBorderRadii): { [k: string]: string } => buildVars('--cpsl-border-radius', customBorderRadii);\n\nexport const overlayMix = (baseColor: string, overlayColor: string) => {\n const baseRGBA = parseToRgba(baseColor);\n const overlayRGBA = parseToRgba(overlayColor);\n\n const finalRGBA = overlay({ r: baseRGBA[0], g: baseRGBA[1], b: baseRGBA[2], a: 0.1 }, { r: overlayRGBA[0], g: overlayRGBA[1], b: overlayRGBA[2], a: overlayRGBA[3] });\n\n return rgba(finalRGBA.r, finalRGBA.g, finalRGBA.b, finalRGBA.a);\n};\n","import { Theme } from '../../interface';\nimport { getCssBorderRadii } from './utils';\n\nexport const generateBorderRadii = ({ borderRadius, customBorderRadii }: Pick<Theme, 'borderRadius' | 'customBorderRadii'>) => {\n let mediumRadius: number,\n largeRadius: number,\n checkboxRadius: number = 4;\n const fullRadius = 1000;\n let isFull = false;\n let isNone = false;\n\n switch (borderRadius) {\n case 'none': {\n isNone = true;\n mediumRadius = 0;\n largeRadius = 0;\n checkboxRadius = 0;\n break;\n }\n case 'xs': {\n mediumRadius = 2;\n largeRadius = 4;\n checkboxRadius = 2;\n break;\n }\n case 'sm': {\n mediumRadius = 4;\n largeRadius = 8;\n break;\n }\n case 'md': {\n mediumRadius = 8;\n largeRadius = 16;\n break;\n }\n case 'xl': {\n mediumRadius = 16;\n largeRadius = 32;\n break;\n }\n case 'full': {\n mediumRadius = 24;\n largeRadius = 32;\n isFull = true;\n break;\n }\n default:\n case 'lg': {\n mediumRadius = 12;\n largeRadius = 24;\n break;\n }\n }\n\n document.documentElement.style.setProperty('--cpsl-border-radius-input', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-select', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-file', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-alert', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-tabs', `${isNone ? 0 : fullRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-primary-button', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-secondary-button', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-tertiary-button', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-destructive-button', `${isFull ? fullRadius : mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-tile-button', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-qr-code', `${largeRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-info-box', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-table-container', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-avatar', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-button-group', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-card', `${largeRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-modal', `${largeRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-checkbox', `${checkboxRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-switch', `${isNone ? 0 : fullRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-pill', `${isNone ? 0 : fullRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-radio', `${fullRadius}px`);\n\n if (customBorderRadii) {\n const cssBorderRadiiVars = getCssBorderRadii(customBorderRadii);\n Object.entries(cssBorderRadiiVars).forEach(([k, v]) => document.documentElement.style.setProperty(k, v));\n }\n};\n","import { Theme } from '../../interface';\n\nconst FONT_NAME_MAP = {\n body2XS: 'body-2xs',\n bodyXS: 'body-xs',\n bodyS: 'body-s',\n bodyM: 'body-m',\n bodyL: 'body-l',\n bodyXL: 'body-xl',\n headingXS: 'heading-xs',\n headingS: 'heading-s',\n headingM: 'heading-m',\n headingL: 'heading-l',\n headingXL: 'heading-xl',\n heading2XL: 'heading-2xl',\n};\n\nexport const generateFont = ({ font, customFontSizes }: Pick<Theme, 'font' | 'customFontSizes'>) => {\n if (font) {\n document.documentElement.style.setProperty('--cpsl-default-font', font);\n }\n\n Object.entries(FONT_NAME_MAP).forEach(([key, value]) => {\n if (customFontSizes?.[key]) {\n document.documentElement.style.setProperty(`--cpsl-font-size-${value}`, customFontSizes[key]);\n } else {\n document.documentElement.style.removeProperty(`--cpsl-font-size-${value}`);\n }\n });\n};\n","import { mix, readableColorIsBlack } from 'color2k';\nimport { Theme } from '../../interface';\nimport { getCssColors, isColor, overlayMix } from './utils';\nimport { COLOR_MIXES, DEFAULT_THEME, UTILITY_COLORS } from '../../constants';\n\nexport type Palette = {\n foregroundColors: string[];\n backgroundColors: string[];\n accentColors: string[];\n};\n\nexport const generatePalette = ({\n foregroundColor,\n backgroundColor,\n accentColor,\n isDarkTheme,\n customPalette,\n}: Pick<Theme, 'foregroundColor' | 'backgroundColor' | 'accentColor' | 'customPalette'> & { isDarkTheme: boolean }) => {\n if (!foregroundColor || !isColor(foregroundColor)) {\n foregroundColor = DEFAULT_THEME.foregroundColor;\n }\n if (!backgroundColor || !isColor(backgroundColor)) {\n backgroundColor = DEFAULT_THEME.backgroundColor;\n }\n if (!Boolean(accentColor) || !isColor(accentColor)) {\n accentColor = foregroundColor;\n }\n\n const isDarkAccent = Boolean(accentColor) ? !readableColorIsBlack(accentColor) : false;\n\n const palette: Palette = {\n foregroundColors: [],\n backgroundColors: [],\n accentColors: [],\n };\n\n const backgroundMixColor = isDarkTheme ? '#FFFFFF' : '#000000';\n const foregroundMixColor = isDarkTheme ? '#000000' : '#FFFFFF';\n const accentMixColor = isDarkAccent ? '#FFFFFF' : '#000000';\n\n COLOR_MIXES.forEach(value => {\n palette.foregroundColors.push(mix(foregroundColor, foregroundMixColor, value));\n palette.backgroundColors.push(mix(backgroundColor, backgroundMixColor, value));\n palette.accentColors.push(mix(accentColor, accentMixColor, value));\n });\n\n // BACKGROUND\n document.documentElement.style.setProperty('--cpsl-color-background-0', palette.backgroundColors[0]);\n document.documentElement.style.setProperty('--cpsl-color-background-4', palette.backgroundColors[1]);\n document.documentElement.style.setProperty('--cpsl-color-background-8', palette.backgroundColors[2]);\n document.documentElement.style.setProperty('--cpsl-color-background-16', palette.backgroundColors[3]);\n document.documentElement.style.setProperty('--cpsl-color-background-32', palette.backgroundColors[4]);\n document.documentElement.style.setProperty('--cpsl-color-background-48', palette.backgroundColors[5]);\n document.documentElement.style.setProperty('--cpsl-color-background-64', palette.backgroundColors[6]);\n document.documentElement.style.setProperty('--cpsl-color-background-80', palette.backgroundColors[7]);\n document.documentElement.style.setProperty('--cpsl-color-background-96', palette.backgroundColors[8]);\n\n // FOREGROUND\n document.documentElement.style.setProperty('--cpsl-color-foreground-0', palette.foregroundColors[0]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-4', palette.foregroundColors[1]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-8', palette.foregroundColors[2]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-16', palette.foregroundColors[3]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-32', palette.foregroundColors[4]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-48', palette.foregroundColors[5]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-64', palette.foregroundColors[6]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-80', palette.foregroundColors[7]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-96', palette.foregroundColors[8]);\n\n // ACCENT\n document.documentElement.style.setProperty('--cpsl-color-accent-0', palette.accentColors[0]);\n document.documentElement.style.setProperty('--cpsl-color-accent-4', palette.accentColors[1]);\n document.documentElement.style.setProperty('--cpsl-color-accent-8', palette.accentColors[2]);\n document.documentElement.style.setProperty('--cpsl-color-accent-16', palette.accentColors[3]);\n document.documentElement.style.setProperty('--cpsl-color-accent-32', palette.accentColors[4]);\n document.documentElement.style.setProperty('--cpsl-color-accent-48', palette.accentColors[5]);\n document.documentElement.style.setProperty('--cpsl-color-accent-64', palette.accentColors[6]);\n document.documentElement.style.setProperty('--cpsl-color-accent-80', palette.accentColors[7]);\n document.documentElement.style.setProperty('--cpsl-color-accent-96', palette.accentColors[8]);\n\n // CONTRAST\n document.documentElement.style.setProperty('--cpsl-color-contrast', isDarkTheme ? '#FFFFFF' : '#000000');\n\n const utilityLightMixColor = '#FFFFFF';\n const utilityLightMixValue = 0.72;\n // UTILITY\n const red = overlayMix(foregroundColor, UTILITY_COLORS.red);\n const yellow = overlayMix(foregroundColor, UTILITY_COLORS.yellow);\n const green = overlayMix(foregroundColor, UTILITY_COLORS.green);\n document.documentElement.style.setProperty('--cpsl-color-utility-red', red);\n document.documentElement.style.setProperty('--cpsl-color-utility-yellow', yellow);\n document.documentElement.style.setProperty('--cpsl-color-utility-green', green);\n document.documentElement.style.setProperty('--cpsl-color-utility-red-light', mix(red, utilityLightMixColor, utilityLightMixValue));\n document.documentElement.style.setProperty('--cpsl-color-utility-yellow-light', mix(yellow, utilityLightMixColor, utilityLightMixValue));\n document.documentElement.style.setProperty('--cpsl-color-utility-green-light', mix(green, utilityLightMixColor, utilityLightMixValue));\n\n if (customPalette) {\n const cssColorVars = getCssColors(customPalette);\n Object.entries(cssColorVars).forEach(([k, v]) => document.documentElement.style.setProperty(k, v));\n }\n};\n","import { DEFAULT_THEME } from '../../constants';\nimport { Theme } from '../../interface';\nimport { generateBorderRadii } from './generateBorderRadii';\nimport { generateFont } from './generateFont';\nimport { generatePalette } from './generatePalette';\n\n/**\n * Generates css theme variables.\n * @returns @boolean Whether background is dark or not.\n */\nexport const generateTheme = ({\n foregroundColor = DEFAULT_THEME.foregroundColor,\n backgroundColor = DEFAULT_THEME.backgroundColor,\n accentColor,\n darkForegroundColor,\n darkBackgroundColor,\n darkAccentColor,\n mode = 'light',\n font,\n customPalette,\n borderRadius,\n customFontSizes,\n customBorderRadii,\n}: Theme) => {\n const isDarkTheme = mode === 'dark';\n\n generatePalette({\n foregroundColor: isDarkTheme ? (darkForegroundColor ?? foregroundColor) : foregroundColor,\n backgroundColor: isDarkTheme ? (darkBackgroundColor ?? backgroundColor) : backgroundColor,\n accentColor: isDarkTheme ? (darkAccentColor ?? accentColor) : accentColor,\n customPalette,\n isDarkTheme,\n });\n\n generateFont({ font, customFontSizes });\n\n generateBorderRadii({ borderRadius, customBorderRadii });\n};\n"],"mappings":"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","ignoreList":[]}
|