UNPKG

@meleon/uni-ui

Version:

A uniapp components library written in vue3 and typescript

1 lines 1.49 kB
var __rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(o=Object.getOwnPropertySymbols(e);n<o.length;n++)t.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(r[o[n]]=e[o[n]])}return r};import{isNotEmptyObject,useDeepClone}from"@meleon/uni-ui/utils";import{getColorPalette}from"./color";import themeSettings from"./themeSettings";export function initThemeSetting(e={},t=!1){const r=useDeepClone(themeSettings);if(e&&isNotEmptyObject(e)){const{primary:o}=e,n=__rest(e,["primary"]),{themeColor:l,otherColor:s}=themeSettings;r.darkMode=t,r.themeColor=o||l,r.otherColor=Object.assign(Object.assign({},s),n)}return r}function getSceneTheme(e){const t=[{scene:1,handler:e=>getColorPalette(e,1)},{scene:2,handler:e=>getColorPalette(e,2)},{scene:3,handler:e=>getColorPalette(e,3)},{scene:4,handler:e=>getColorPalette(e,4)},{scene:5,handler:e=>getColorPalette(e,5)},{scene:6,handler:e=>getColorPalette(e,6)},{scene:7,handler:e=>getColorPalette(e,7)},{scene:8,handler:e=>getColorPalette(e,8)},{scene:9,handler:e=>getColorPalette(e,9)}],r={};return Object.keys(e).forEach((o=>{t.forEach((t=>{const n=`${o}-color-${t.scene}`;r[n]=t.handler(e[o])}))})),r}export function getColorsOverride(e){const{primary:t,success:r,warning:o,danger:n,info:l}=e;return{common:getSceneTheme({primary:t,info:l,success:r,warning:o,danger:n})}}