@draftbit/theme 50.6.2-531e17.2 → 50.6.2-8430ca.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/lib/commonjs/DefaultTheme.js +1 -1
  2. package/lib/commonjs/Provider.js +1 -1
  3. package/lib/commonjs/createTheme.js +1 -1
  4. package/lib/commonjs/createThemeValuesProxy.js +1 -1
  5. package/lib/commonjs/types.js +0 -1
  6. package/lib/commonjs/validators.js +1 -1
  7. package/lib/typescript/src/DefaultTheme.js +38 -38
  8. package/lib/typescript/src/DefaultTheme.js.map +1 -1
  9. package/lib/typescript/src/Provider.js +11 -23
  10. package/lib/typescript/src/Provider.js.map +1 -1
  11. package/lib/typescript/src/createTheme.d.ts +1 -13
  12. package/lib/typescript/src/createTheme.js +6 -17
  13. package/lib/typescript/src/createTheme.js.map +1 -1
  14. package/lib/typescript/src/createThemeValuesProxy.js +22 -34
  15. package/lib/typescript/src/createThemeValuesProxy.js.map +1 -1
  16. package/lib/typescript/src/types.d.ts +2 -30
  17. package/lib/typescript/src/validators.d.ts +1 -3
  18. package/lib/typescript/src/validators.js +45 -10
  19. package/lib/typescript/src/validators.js.map +1 -1
  20. package/lib/typescript/tsconfig.tsbuildinfo +1 -1
  21. package/package.json +3 -2
  22. package/src/DefaultTheme.js +38 -38
  23. package/src/DefaultTheme.js.map +1 -1
  24. package/src/DefaultTheme.ts +38 -38
  25. package/src/Provider.js +11 -23
  26. package/src/Provider.js.map +1 -1
  27. package/src/Provider.tsx +41 -29
  28. package/src/createTheme.js +6 -17
  29. package/src/createTheme.js.map +1 -1
  30. package/src/createTheme.ts +12 -19
  31. package/src/createThemeValuesProxy.js +22 -34
  32. package/src/createThemeValuesProxy.js.map +1 -1
  33. package/src/createThemeValuesProxy.ts +31 -49
  34. package/src/types.ts +2 -33
  35. package/src/validators.js +45 -10
  36. package/src/validators.js.map +1 -1
  37. package/src/validators.ts +49 -12
@@ -1 +1 @@
1
- import{systemWeights}from"react-native-typography";import createTheme from"./createTheme";var palettes={draftbit:{primary:"rgb(90, 69, 255)",secondary:"rgb(59, 201, 234)",tertiary:"rgb(90,69,255)",background:"rgba(251, 252, 253, 1)",error:"rgba(255, 69, 100, 1)",divider:"rgba(200, 200, 200, 1)",strong:"rgba(18, 20, 44, 1)",medium:"rgba(70, 78, 88, 1)",light:"rgba(165, 173, 183, 1)",text:"#000",success:"#22bb33",warning:"#f0ad4e",info:"#aaaaaa"}};var DraftbitTheme=createTheme({breakpoints:{},palettes:palettes,theme:{name:"Draftbit",colors:{branding:{primary:palettes.draftbit.primary,secondary:palettes.draftbit.secondary,tertiary:palettes.draftbit.tertiary,accent:palettes.draftbit.secondary},text:{strong:palettes.draftbit.strong,medium:palettes.draftbit.medium,normal:palettes.draftbit.text,light:palettes.draftbit.light,success:palettes.draftbit.success,warning:palettes.draftbit.warning,danger:palettes.draftbit.error},background:{brand:palettes.draftbit.background,info:palettes.draftbit.info,success:palettes.draftbit.success,warning:palettes.draftbit.warning,danger:palettes.draftbit.error},foreground:{brand:palettes.draftbit.light,info:palettes.draftbit.strong,success:palettes.draftbit.light,warning:palettes.draftbit.light,danger:palettes.draftbit.light},border:{brand:palettes.draftbit.divider,info:palettes.draftbit.divider,success:palettes.draftbit.divider,warning:palettes.draftbit.divider,danger:palettes.draftbit.divider}},typography:{body1:Object.assign({},systemWeights.regular,{fontSize:16,letterSpacing:0,lineHeight:26}),body2:Object.assign({},systemWeights.regular,{fontSize:14,letterSpacing:0,lineHeight:22}),button:Object.assign({},systemWeights.bold,{fontSize:14,letterSpacing:0,lineHeight:16}),caption:Object.assign({},systemWeights.regular,{fontSize:12,letterSpacing:0,lineHeight:16}),headline1:Object.assign({},systemWeights.bold,{fontSize:60,letterSpacing:0,lineHeight:71}),headline2:Object.assign({},systemWeights.bold,{fontSize:48,letterSpacing:0,lineHeight:58}),headline3:Object.assign({},systemWeights.bold,{fontSize:34,letterSpacing:0,lineHeight:40}),headline4:Object.assign({},systemWeights.bold,{fontSize:24,letterSpacing:0,lineHeight:34}),headline5:Object.assign({},systemWeights.bold,{fontSize:20,letterSpacing:0,lineHeight:26}),headline6:Object.assign({},systemWeights.bold,{fontSize:16,letterSpacing:0,lineHeight:24}),overline:Object.assign({},systemWeights.regular,{fontSize:12,letterSpacing:2,lineHeight:16}),subtitle1:Object.assign({},systemWeights.regular,{fontSize:16,letterSpacing:0,lineHeight:26}),subtitle2:Object.assign({},systemWeights.regular,{fontSize:14,letterSpacing:0,lineHeight:22})}}});export default DraftbitTheme;
1
+ import{systemWeights}from"react-native-typography";import createTheme from"./createTheme";var palettes={draftbit:{primary:"rgb(90, 69, 255)",secondary:"rgb(59, 201, 234)",tertiary:"rgb(90,69,255)",background:"rgba(251, 252, 253, 1)",error:"rgba(255, 69, 100, 1)",divider:"rgba(200, 200, 200, 1)",strong:"rgba(18, 20, 44, 1)",medium:"rgba(70, 78, 88, 1)",light:"rgba(165, 173, 183, 1)",text:"#000",success:"#22bb33",warning:"#f0ad4e",info:"#aaaaaa"}};var DraftbitTheme=createTheme({breakpoints:{},palettes:palettes,theme:{name:"Draftbit",colors:{branding:{primary:palettes.draftbit.primary,secondary:palettes.draftbit.secondary,tertiary:palettes.draftbit.tertiary,accent:palettes.draftbit.secondary},text:{strong:palettes.draftbit.strong,medium:palettes.draftbit.medium,normal:palettes.draftbit.text,light:palettes.draftbit.light,success:palettes.draftbit.success,warning:palettes.draftbit.warning,danger:palettes.draftbit.error},background:{brand:palettes.draftbit.background,info:palettes.draftbit.info,success:palettes.draftbit.success,warning:palettes.draftbit.warning,danger:palettes.draftbit.error},foreground:{brand:palettes.draftbit.light,info:palettes.draftbit.strong,success:palettes.draftbit.light,warning:palettes.draftbit.light,danger:palettes.draftbit.light},border:{brand:palettes.draftbit.divider,info:palettes.draftbit.divider,success:palettes.draftbit.divider,warning:palettes.draftbit.divider,danger:palettes.draftbit.divider}},typography:{headline1:Object.assign({},systemWeights.regular,{fontSize:60,letterSpacing:0,lineHeight:71}),headline2:Object.assign({},systemWeights.regular,{fontSize:48,letterSpacing:0,lineHeight:58}),headline3:Object.assign({},systemWeights.regular,{fontSize:34,letterSpacing:0,lineHeight:40}),headline4:Object.assign({},systemWeights.regular,{fontSize:24,letterSpacing:0,lineHeight:34}),headline5:Object.assign({},systemWeights.regular,{fontSize:20,letterSpacing:0,lineHeight:26}),subtitle1:Object.assign({},systemWeights.regular,{fontSize:16,letterSpacing:0,lineHeight:26}),subtitle2:Object.assign({},systemWeights.regular,{fontSize:14,letterSpacing:0,lineHeight:22}),body1:Object.assign({},systemWeights.regular,{fontSize:16,letterSpacing:0,lineHeight:26}),body2:Object.assign({},systemWeights.regular,{fontSize:14,letterSpacing:0,lineHeight:22}),button:Object.assign({},systemWeights.regular,{fontSize:14,letterSpacing:0,lineHeight:16}),caption:Object.assign({},systemWeights.regular,{fontSize:12,letterSpacing:0,lineHeight:16}),overline:Object.assign({},systemWeights.regular,{fontSize:12,letterSpacing:2,lineHeight:16}),headline6:Object.assign({},systemWeights.regular,{fontSize:16,letterSpacing:0,lineHeight:24})}}});export default DraftbitTheme;
@@ -1 +1 @@
1
- import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/theme/src/Provider.tsx";import React from"react";import{Dimensions,Platform,useColorScheme}from"react-native";import AsyncStorage from"@react-native-async-storage/async-storage";import createThemeValuesProxy from"./createThemeValuesProxy";import DefaultTheme from"./DefaultTheme";import{jsx as _jsx}from"react/jsx-runtime";var SAVED_SELECTED_THEME_KEY="saved_selected_theme";var ThemeContext=React.createContext({theme:DefaultTheme,changeTheme:function changeTheme(){}});var Provider=function Provider(_ref){var _themes$find;var themes=_ref.themes,breakpoints=_ref.breakpoints,initialThemeName=_ref.initialThemeName,children=_ref.children;var initialTheme=(_themes$find=themes.find(function(theme){return theme.name===initialThemeName;}))!=null?_themes$find:DefaultTheme;var _React$useState=React.useState(initialTheme),_React$useState2=_slicedToArray(_React$useState,2),currentTheme=_React$useState2[0],setCurrentTheme=_React$useState2[1];var _React$useState3=React.useState(Dimensions.get("window").width),_React$useState4=_slicedToArray(_React$useState3,2),deviceWidth=_React$useState4[0],setDeviceWidth=_React$useState4[1];var colorScheme=useColorScheme();var lightDarkSelection=colorScheme!=null?colorScheme:"light";var changeTheme=React.useCallback(function(themeName,options){var theme=themes.find(function(t){return t.name===themeName;});if(!theme){console.warn("Theme with name",themeName,"not found. Make sure it's passed into the top level ThemeProvider");return;}setCurrentTheme(theme);if((options==null?void 0:options.persistent)===true){AsyncStorage.setItem(SAVED_SELECTED_THEME_KEY,themeName).catch(function(e){console.warn("Failed to persist selected theme",e);});}},[themes,setCurrentTheme]);var proxiedTheme=React.useMemo(function(){var createProxiedThemeValue=function createProxiedThemeValue(value){return createThemeValuesProxy(value,breakpoints,deviceWidth,Platform.OS,lightDarkSelection);};return Object.assign({},currentTheme,{colors:{branding:createProxiedThemeValue(currentTheme.colors.branding),text:createProxiedThemeValue(currentTheme.colors.text),background:createProxiedThemeValue(currentTheme.colors.background),foreground:createProxiedThemeValue(currentTheme.colors.foreground),border:createProxiedThemeValue(currentTheme.colors.border)},typography:currentTheme.typography});},[currentTheme,deviceWidth,breakpoints,lightDarkSelection]);React.useEffect(function(){var listener=Dimensions.addEventListener("change",function(_ref2){var window=_ref2.window;return setDeviceWidth(window.width);});return function(){listener.remove();};});React.useEffect(function(){var run=function(){var _ref3=_asyncToGenerator(function*(){var savedSelectedThemeName=yield AsyncStorage.getItem(SAVED_SELECTED_THEME_KEY);var themeExists=themes.some(function(t){return t.name===savedSelectedThemeName;});if(savedSelectedThemeName){if(themeExists){changeTheme(savedSelectedThemeName);}else{AsyncStorage.removeItem(SAVED_SELECTED_THEME_KEY).catch(function(e){console.warn("Failed to reset persisted selected theme",e);});}}});return function run(){return _ref3.apply(this,arguments);};}();run();},[]);return _jsx(ThemeContext.Provider,{value:{theme:proxiedTheme,changeTheme:changeTheme},children:children});};var useTheme=function useTheme(){var _React$useContext=React.useContext(ThemeContext),theme=_React$useContext.theme;return theme;};var useChangeTheme=function useChangeTheme(){var _React$useContext2=React.useContext(ThemeContext),changeTheme=_React$useContext2.changeTheme;return changeTheme;};var withTheme=function withTheme(Component){return React.forwardRef(function(props,ref){var _React$useContext3=React.useContext(ThemeContext),theme=_React$useContext3.theme;return _jsx(Component,Object.assign({},props,{theme:theme,ref:ref}));});};export{Provider,useTheme,useChangeTheme,withTheme};
1
+ import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/theme/src/Provider.tsx";import React from"react";import{Dimensions,Platform,useColorScheme}from"react-native";import AsyncStorage from"@react-native-async-storage/async-storage";import createThemeValuesProxy from"./createThemeValuesProxy";import DefaultTheme from"./DefaultTheme";import{jsx as _jsx}from"react/jsx-runtime";var SAVED_SELECTED_THEME_KEY="saved_selected_theme";var ThemeContext=React.createContext({theme:DefaultTheme,changeTheme:function changeTheme(){}});var Provider=function Provider(_ref){var _themes$find;var themes=_ref.themes,breakpoints=_ref.breakpoints,initialThemeName=_ref.initialThemeName,children=_ref.children;var initialTheme=(_themes$find=themes.find(function(theme){return theme.name===initialThemeName;}))!=null?_themes$find:DefaultTheme;var _React$useState=React.useState(initialTheme),_React$useState2=_slicedToArray(_React$useState,2),currentTheme=_React$useState2[0],setCurrentTheme=_React$useState2[1];var _React$useState3=React.useState(Dimensions.get("window").width),_React$useState4=_slicedToArray(_React$useState3,2),deviceWidth=_React$useState4[0],setDeviceWidth=_React$useState4[1];var colorScheme=useColorScheme();var lightDarkSelection=colorScheme!=null?colorScheme:"light";var changeTheme=React.useCallback(function(themeName,options){var theme=themes.find(function(t){return t.name===themeName;});if(!theme){console.warn("Theme with name",themeName,"not found. Make sure it's passed into the top level ThemeProvider");return;}setCurrentTheme(theme);if((options==null?void 0:options.persistent)===true){AsyncStorage.setItem(SAVED_SELECTED_THEME_KEY,themeName).catch(function(e){console.warn("Failed to persist selected theme",e);});}},[themes,setCurrentTheme]);var proxiedTheme=React.useMemo(function(){return Object.assign({},currentTheme,{colors:{branding:createThemeValuesProxy(currentTheme.colors.branding,breakpoints,deviceWidth,Platform.OS,lightDarkSelection),text:createThemeValuesProxy(currentTheme.colors.text,breakpoints,deviceWidth,Platform.OS,lightDarkSelection),background:createThemeValuesProxy(currentTheme.colors.background,breakpoints,deviceWidth,Platform.OS,lightDarkSelection),foreground:createThemeValuesProxy(currentTheme.colors.foreground,breakpoints,deviceWidth,Platform.OS,lightDarkSelection),border:createThemeValuesProxy(currentTheme.colors.border,breakpoints,deviceWidth,Platform.OS,lightDarkSelection)}});},[currentTheme,deviceWidth,breakpoints,lightDarkSelection]);React.useEffect(function(){var listener=Dimensions.addEventListener("change",function(_ref2){var window=_ref2.window;return setDeviceWidth(window.width);});return function(){listener.remove();};});React.useEffect(function(){var run=function(){var _ref3=_asyncToGenerator(function*(){var savedSelectedThemeName=yield AsyncStorage.getItem(SAVED_SELECTED_THEME_KEY);if(savedSelectedThemeName){changeTheme(savedSelectedThemeName);}});return function run(){return _ref3.apply(this,arguments);};}();run();},[]);return _jsx(ThemeContext.Provider,{value:{theme:proxiedTheme,changeTheme:changeTheme},children:children});};var useTheme=function useTheme(){var _React$useContext=React.useContext(ThemeContext),theme=_React$useContext.theme;return theme;};var useChangeTheme=function useChangeTheme(){var _React$useContext2=React.useContext(ThemeContext),changeTheme=_React$useContext2.changeTheme;return changeTheme;};var withTheme=function withTheme(Component){return React.forwardRef(function(props,ref){var _React$useContext3=React.useContext(ThemeContext),theme=_React$useContext3.theme;return _jsx(Component,Object.assign({},props,{theme:theme,ref:ref}));});};export{Provider,useTheme,useChangeTheme,withTheme};
@@ -1 +1 @@
1
- import merge from"deepmerge";export default function createTheme(_ref){var theme=_ref.theme,baseTheme=_ref.baseTheme;var resultTheme=theme;if(baseTheme){resultTheme=merge(baseTheme,theme);}return Object.assign({},resultTheme,{validated:true});}
1
+ import merge from"deepmerge";import{validateBreakpoints,validatePalettes,validateTheme}from"./validators";export default function createTheme(_ref){var breakpoints=_ref.breakpoints,palettes=_ref.palettes,theme=_ref.theme,baseTheme=_ref.baseTheme;validateBreakpoints(breakpoints);validatePalettes(palettes);validateTheme(theme);var resultTheme=theme;if(baseTheme){validateTheme(baseTheme);resultTheme=merge(baseTheme,theme);}return Object.assign({},resultTheme,{validated:true});}
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{isObject}from"lodash";export default function createThemeValuesProxy(value,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection){if(value===undefined||value===null){return undefined;}return new Proxy(value,{get:function get(target,key){var currentValue=target[key];var valueAsThemeValues=isObject(currentValue)?currentValue:undefined;if(valueAsThemeValues){var platformKeys=["ios","android","web","macos","windows"];var breakpointKeys=Object.keys(breakpoints);var lightDarkKeys=["light","dark"];var keysType=getKeysType(valueAsThemeValues,platformKeys,breakpointKeys,lightDarkKeys);if(keysType==="default"){return createThemeValuesProxy(valueAsThemeValues,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else if(keysType==="platform"){return getPlatformValue(valueAsThemeValues,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else if(keysType==="breakpoint"){return getBreakpointValue(valueAsThemeValues,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else if(keysType==="lightDark"){return getLightDarkValue(valueAsThemeValues,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else{return undefined;}}else{return currentValue;}},set:function set(){throw new Error("Theme is read only, cannot be modified at runtime");}});}function getKeysType(value,platformKeys,breakpointKeys,lightDarkKeys){var hasPlatformKeys=platformKeys.some(function(key){return value[key]!==undefined;});var hasBreakpointKeys=breakpointKeys.some(function(key){return value[key]!==undefined;});var hasLightDarkKeys=lightDarkKeys.some(function(key){return value[key]!==undefined;});var hasUserDefinedKeys=Object.keys(value).some(function(key){return!platformKeys.includes(key)&&!breakpointKeys.includes(key)&&!lightDarkKeys.includes(key)&&key!=="default";});if(!onlyOneTrue(hasPlatformKeys,hasBreakpointKeys,hasUserDefinedKeys,hasLightDarkKeys)&&!allFalse(hasPlatformKeys,hasBreakpointKeys,hasUserDefinedKeys,hasLightDarkKeys)){throw new Error("Cannot mix usage of platform keys, breakpoint keys, light/dark keys, and custom defined keys on the same level"+`\nKeys: ${Object.keys(value).join(", ")}`);}else if(hasPlatformKeys){return"platform";}else if(hasBreakpointKeys){return"breakpoint";}else if(hasLightDarkKeys){return"lightDark";}else{return"default";}}function onlyOneTrue(a,b,c,d){return[a,b,c,d].filter(function(x){return x;}).length===1;}function allFalse(a,b,c,d){return[a,b,c,d].filter(function(x){return x;}).length===0;}function getPlatformValue(value,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection){var _value$devicePlatform;var currentPlatformValue=(_value$devicePlatform=value==null?void 0:value[devicePlatform])!=null?_value$devicePlatform:value==null?void 0:value.default;var valueAsThemeValues=isObject(currentPlatformValue)?currentPlatformValue:undefined;if(valueAsThemeValues){return createThemeValuesProxy(valueAsThemeValues,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else{return currentPlatformValue;}}function getBreakpointValue(value,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection){var _value$currentBreakpo;var keysToBreakpointValue=Object.keys(value!=null?value:{}).map(function(key){return[key,breakpoints[key]];});var orderedBreakpoints=keysToBreakpointValue.sort(function(_ref){var _ref2=_slicedToArray(_ref,2),_=_ref2[0],val=_ref2[1];return val;});var currentBreakpointKey="";for(var _ref3 of orderedBreakpoints){var _ref4=_slicedToArray(_ref3,2);var breakpointKey=_ref4[0];var breakpointValue=_ref4[1];if(deviceWidth>=breakpointValue){currentBreakpointKey=breakpointKey;}}var currentBreakpointValue=(_value$currentBreakpo=value==null?void 0:value[currentBreakpointKey])!=null?_value$currentBreakpo:value==null?void 0:value.default;var valueAsThemeValues=isObject(currentBreakpointKey)?currentBreakpointKey:undefined;if(valueAsThemeValues){return createThemeValuesProxy(valueAsThemeValues,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else{return currentBreakpointValue;}}function getLightDarkValue(value,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection){var _value$currentLightDa;var currentLightDarkValue=(_value$currentLightDa=value==null?void 0:value[currentLightDarkSelection])!=null?_value$currentLightDa:value==null?void 0:value.default;var valueAsThemeValues=isObject(currentLightDarkSelection)?currentLightDarkSelection:undefined;if(valueAsThemeValues){return createThemeValuesProxy(valueAsThemeValues,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else{return currentLightDarkValue;}}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{isObject}from"lodash";export default function createThemeValuesProxy(value,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection){if(value===undefined||value===null){return undefined;}return new Proxy(value,{get:function get(target,key){var currentValue=target[key];if(!isObject(currentValue)){return currentValue;}else{var platformKeys=["ios","android","web","macos","windows"];var breakpointKeys=Object.keys(breakpoints);var lightDarkKeys=["light","dark"];var keysType=getKeysType(currentValue,platformKeys,breakpointKeys,lightDarkKeys);if(keysType==="default"){return createThemeValuesProxy(currentValue,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else if(keysType==="platform"){return getPlatformValue(currentValue,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else if(keysType==="breakpoint"){return getBreakpointValue(currentValue,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else if(keysType==="lightDark"){return getLightDarkValue(currentValue,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}else{return undefined;}}},set:function set(){throw new Error("Theme is read only, cannot be modified at runtime");}});}function getKeysType(value,platformKeys,breakpointKeys,lightDarkKeys){var hasPlatformKeys=platformKeys.some(function(key){return value[key]!==undefined;});var hasBreakpointKeys=breakpointKeys.some(function(key){return value[key]!==undefined;});var hasLightDarkKeys=lightDarkKeys.some(function(key){return value[key]!==undefined;});var hasUserDefinedKeys=Object.keys(value).some(function(key){return!platformKeys.includes(key)&&!breakpointKeys.includes(key)&&!lightDarkKeys.includes(key)&&key!=="default";});if(!onlyOneTrue(hasPlatformKeys,hasBreakpointKeys,hasUserDefinedKeys,hasLightDarkKeys)&&!allFalse(hasPlatformKeys,hasBreakpointKeys,hasUserDefinedKeys,hasLightDarkKeys)){throw new Error("Cannot mix usage of platform keys, breakpoint keys, light/dark keys, and custom defined keys on the same level"+`\nKeys: ${Object.keys(value).join(", ")}`);}else if(hasPlatformKeys){return"platform";}else if(hasBreakpointKeys){return"breakpoint";}else if(hasLightDarkKeys){return"lightDark";}else{return"default";}}function onlyOneTrue(a,b,c,d){return[a,b,c,d].filter(function(x){return x;}).length===1;}function allFalse(a,b,c,d){return[a,b,c,d].filter(function(x){return x;}).length===0;}function getPlatformValue(value,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection){var _value$devicePlatform;var currentPlatformValue=(_value$devicePlatform=value[devicePlatform])!=null?_value$devicePlatform:value.default;if(!isObject(currentPlatformValue)){return currentPlatformValue;}else{return createThemeValuesProxy(currentPlatformValue,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}}function getBreakpointValue(value,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection){var _value$currentBreakpo;var keysToBreakpointValue=Object.keys(value).map(function(key){return[key,breakpoints[key]];});var orderedBreakpoints=keysToBreakpointValue.sort(function(_ref){var _ref2=_slicedToArray(_ref,2),_=_ref2[0],val=_ref2[1];return val;});var currentBreakpointKey="";for(var _ref3 of orderedBreakpoints){var _ref4=_slicedToArray(_ref3,2);var breakpointKey=_ref4[0];var breakpointValue=_ref4[1];if(deviceWidth>=breakpointValue){currentBreakpointKey=breakpointKey;}}var currentBreakpointValue=(_value$currentBreakpo=value[currentBreakpointKey])!=null?_value$currentBreakpo:value.default;if(!isObject(currentBreakpointValue)){return currentBreakpointValue;}else{return createThemeValuesProxy(currentBreakpointValue,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}}function getLightDarkValue(value,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection){var _value$currentLightDa;var currentLightDarkValue=(_value$currentLightDa=value[currentLightDarkSelection])!=null?_value$currentLightDa:value.default;if(!isObject(currentLightDarkValue)){return currentLightDarkValue;}else{return createThemeValuesProxy(currentLightDarkValue,breakpoints,deviceWidth,devicePlatform,currentLightDarkSelection);}}
@@ -1 +0,0 @@
1
- export{};
@@ -1 +1 @@
1
- export function validatePalettes(palettes){palettes;}export function validateBreakpoints(breakpoints){breakpoints;}export function validateTheme(theme){theme;}export function isTextStyleObject(value){value;return true;}export function asThemeValuesObject(value){return value;}
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";export function validatePalettes(palettes){for(var key of Object.keys(palettes)){if(typeof key!=="string"){throw new Error(`Invalid palettes object, ${key} is not a string`);}for(var _ref of Object.entries(palettes[key])){var _ref2=_slicedToArray(_ref,2);var innerKey=_ref2[0];var value=_ref2[1];if(typeof innerKey!=="string"){throw new Error(`Invalid palette color key, ${innerKey} is not a string`);}if(typeof value!=="string"){throw new Error(`Invalid palette color value, ${value} is not a string`);}}}}export function validateBreakpoints(breakpoints){for(var _ref3 of Object.entries(breakpoints)){var _ref4=_slicedToArray(_ref3,2);var key=_ref4[0];var value=_ref4[1];if(typeof key!=="string"){throw new Error(`Invalid breakpoint key, ${key} is not a string`);}if(typeof value!=="number"){throw new Error(`Invalid breakpoint value, ${value} is not a number`);}}}export function validateTheme(theme){function validateThemeValues(themeValue){if(themeValue===undefined||themeValue===null){return;}for(var _ref5 of Object.entries(themeValue)){var _ref6=_slicedToArray(_ref5,2);var key=_ref6[0];var value=_ref6[1];if(typeof key!=="string"){throw new Error(`Invalid theme key, ${key} is not a string`);}if(value===undefined||value===null){continue;}else if(typeof value==="object"){validateThemeValues(value);}else if(typeof value!=="string"&&typeof value!=="number"){throw new Error(`Invalid theme value, ${value} is not a string, number, or object`);}}}validateThemeValues(theme.colors.branding);validateThemeValues(theme.colors.text);validateThemeValues(theme.colors.foreground);validateThemeValues(theme.colors.background);validateThemeValues(theme.colors.border);}
@@ -61,84 +61,84 @@ const DraftbitTheme = createTheme({
61
61
  },
62
62
  },
63
63
  typography: {
64
- body1: {
65
- ...systemWeights.regular,
66
- fontSize: 16,
67
- letterSpacing: 0,
68
- lineHeight: 26,
69
- },
70
- body2: {
71
- ...systemWeights.regular,
72
- fontSize: 14,
73
- letterSpacing: 0,
74
- lineHeight: 22,
75
- },
76
- button: {
77
- ...systemWeights.bold,
78
- fontSize: 14,
79
- letterSpacing: 0,
80
- lineHeight: 16,
81
- },
82
- caption: {
83
- ...systemWeights.regular,
84
- fontSize: 12,
85
- letterSpacing: 0,
86
- lineHeight: 16,
87
- },
88
64
  headline1: {
89
- ...systemWeights.bold,
65
+ ...systemWeights.regular,
90
66
  fontSize: 60,
91
67
  letterSpacing: 0,
92
68
  lineHeight: 71,
93
69
  },
94
70
  headline2: {
95
- ...systemWeights.bold,
71
+ ...systemWeights.regular,
96
72
  fontSize: 48,
97
73
  letterSpacing: 0,
98
74
  lineHeight: 58,
99
75
  },
100
76
  headline3: {
101
- ...systemWeights.bold,
77
+ ...systemWeights.regular,
102
78
  fontSize: 34,
103
79
  letterSpacing: 0,
104
80
  lineHeight: 40,
105
81
  },
106
82
  headline4: {
107
- ...systemWeights.bold,
83
+ ...systemWeights.regular,
108
84
  fontSize: 24,
109
85
  letterSpacing: 0,
110
86
  lineHeight: 34,
111
87
  },
112
88
  headline5: {
113
- ...systemWeights.bold,
89
+ ...systemWeights.regular,
114
90
  fontSize: 20,
115
91
  letterSpacing: 0,
116
92
  lineHeight: 26,
117
93
  },
118
- headline6: {
119
- ...systemWeights.bold,
94
+ subtitle1: {
95
+ ...systemWeights.regular,
120
96
  fontSize: 16,
121
97
  letterSpacing: 0,
122
- lineHeight: 24,
98
+ lineHeight: 26,
123
99
  },
124
- overline: {
100
+ subtitle2: {
125
101
  ...systemWeights.regular,
126
- fontSize: 12,
127
- letterSpacing: 2,
128
- lineHeight: 16,
102
+ fontSize: 14,
103
+ letterSpacing: 0,
104
+ lineHeight: 22,
129
105
  },
130
- subtitle1: {
106
+ body1: {
131
107
  ...systemWeights.regular,
132
108
  fontSize: 16,
133
109
  letterSpacing: 0,
134
110
  lineHeight: 26,
135
111
  },
136
- subtitle2: {
112
+ body2: {
137
113
  ...systemWeights.regular,
138
114
  fontSize: 14,
139
115
  letterSpacing: 0,
140
116
  lineHeight: 22,
141
117
  },
118
+ button: {
119
+ ...systemWeights.regular,
120
+ fontSize: 14,
121
+ letterSpacing: 0,
122
+ lineHeight: 16,
123
+ },
124
+ caption: {
125
+ ...systemWeights.regular,
126
+ fontSize: 12,
127
+ letterSpacing: 0,
128
+ lineHeight: 16,
129
+ },
130
+ overline: {
131
+ ...systemWeights.regular,
132
+ fontSize: 12,
133
+ letterSpacing: 2,
134
+ lineHeight: 16,
135
+ },
136
+ headline6: {
137
+ ...systemWeights.regular,
138
+ fontSize: 16,
139
+ letterSpacing: 0,
140
+ lineHeight: 24,
141
+ },
142
142
  },
143
143
  },
144
144
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultTheme.js","sourceRoot":"","sources":["../../../src/DefaultTheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DefaultTheme.js","sourceRoot":"","sources":["../../../src/DefaultTheme.ts"],"names":[],"mappings":"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"}
@@ -28,20 +28,16 @@ const Provider = ({ themes, breakpoints, initialThemeName, children, }) => {
28
28
  });
29
29
  }
30
30
  }, [themes, setCurrentTheme]);
31
- const proxiedTheme = React.useMemo(() => {
32
- const createProxiedThemeValue = (value) => createThemeValuesProxy(value, breakpoints, deviceWidth, Platform.OS, lightDarkSelection);
33
- return {
34
- ...currentTheme,
35
- colors: {
36
- branding: createProxiedThemeValue(currentTheme.colors.branding),
37
- text: createProxiedThemeValue(currentTheme.colors.text),
38
- background: createProxiedThemeValue(currentTheme.colors.background),
39
- foreground: createProxiedThemeValue(currentTheme.colors.foreground),
40
- border: createProxiedThemeValue(currentTheme.colors.border),
41
- },
42
- typography: currentTheme.typography,
43
- };
44
- }, [currentTheme, deviceWidth, breakpoints, lightDarkSelection]);
31
+ const proxiedTheme = React.useMemo(() => ({
32
+ ...currentTheme,
33
+ colors: {
34
+ branding: createThemeValuesProxy(currentTheme.colors.branding, breakpoints, deviceWidth, Platform.OS, lightDarkSelection),
35
+ text: createThemeValuesProxy(currentTheme.colors.text, breakpoints, deviceWidth, Platform.OS, lightDarkSelection),
36
+ background: createThemeValuesProxy(currentTheme.colors.background, breakpoints, deviceWidth, Platform.OS, lightDarkSelection),
37
+ foreground: createThemeValuesProxy(currentTheme.colors.foreground, breakpoints, deviceWidth, Platform.OS, lightDarkSelection),
38
+ border: createThemeValuesProxy(currentTheme.colors.border, breakpoints, deviceWidth, Platform.OS, lightDarkSelection),
39
+ },
40
+ }), [currentTheme, deviceWidth, breakpoints, lightDarkSelection]);
45
41
  React.useEffect(() => {
46
42
  const listener = Dimensions.addEventListener("change", ({ window }) => setDeviceWidth(window.width));
47
43
  return () => {
@@ -51,16 +47,8 @@ const Provider = ({ themes, breakpoints, initialThemeName, children, }) => {
51
47
  React.useEffect(() => {
52
48
  const run = async () => {
53
49
  const savedSelectedThemeName = await AsyncStorage.getItem(SAVED_SELECTED_THEME_KEY);
54
- const themeExists = themes.some((t) => t.name === savedSelectedThemeName);
55
50
  if (savedSelectedThemeName) {
56
- if (themeExists) {
57
- changeTheme(savedSelectedThemeName);
58
- }
59
- else {
60
- AsyncStorage.removeItem(SAVED_SELECTED_THEME_KEY).catch((e) => {
61
- console.warn("Failed to reset persisted selected theme", e);
62
- });
63
- }
51
+ changeTheme(savedSelectedThemeName);
64
52
  }
65
53
  };
66
54
  run();
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/Provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/Provider.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,5 @@
1
1
  import type { Breakpoints, Theme, ValidatedTheme, ColorPalettes } from "./types";
2
- /**
3
- * Custom deepmerge function to skip merging of typography/text style objects.
4
- *
5
- * The theme object allows for special keys that trigger variability depending
6
- * on platform, breakpoint, color mode, etc.
7
- *
8
- * Text style objects can break this logic when merged with other objects.
9
- * For example, if you merge a standard text style object with another object that
10
- * has variability through the special keys, you get an object with both special
11
- * keys and the keys of the style object which breaks how the proxy is able to
12
- * return the correct value.
13
- */
14
- export default function createTheme({ theme, baseTheme, }: {
2
+ export default function createTheme({ breakpoints, palettes, theme, baseTheme, }: {
15
3
  breakpoints: Breakpoints;
16
4
  palettes: ColorPalettes;
17
5
  theme: Theme;
@@ -1,23 +1,12 @@
1
1
  import merge from "deepmerge";
2
- /**
3
- * Custom deepmerge function to skip merging of typography/text style objects.
4
- *
5
- * The theme object allows for special keys that trigger variability depending
6
- * on platform, breakpoint, color mode, etc.
7
- *
8
- * Text style objects can break this logic when merged with other objects.
9
- * For example, if you merge a standard text style object with another object that
10
- * has variability through the special keys, you get an object with both special
11
- * keys and the keys of the style object which breaks how the proxy is able to
12
- * return the correct value.
13
- */
14
- export default function createTheme({ theme, baseTheme, }) {
15
- // validateBreakpoints(breakpoints);
16
- // validatePalettes(palettes);
17
- // validateTheme(theme);
2
+ import { validateBreakpoints, validatePalettes, validateTheme, } from "./validators";
3
+ export default function createTheme({ breakpoints, palettes, theme, baseTheme, }) {
4
+ validateBreakpoints(breakpoints);
5
+ validatePalettes(palettes);
6
+ validateTheme(theme);
18
7
  let resultTheme = theme;
19
8
  if (baseTheme) {
20
- //validateTheme(baseTheme);
9
+ validateTheme(baseTheme);
21
10
  resultTheme = merge(baseTheme, theme);
22
11
  }
23
12
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"createTheme.js","sourceRoot":"","sources":["../../../src/createTheme.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,WAAW,CAAC;AAE9B;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,KAAK,EACL,SAAS,GAMV;IACC,oCAAoC;IACpC,8BAA8B;IAC9B,wBAAwB;IAExB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,IAAI,SAAS,EAAE;QACb,2BAA2B;QAC3B,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACvC;IAED,OAAO;QACL,GAAG,WAAW;QACd,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"createTheme.js","sourceRoot":"","sources":["../../../src/createTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,WAAW,CAAC;AAO9B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,WAAW,EACX,QAAQ,EACR,KAAK,EACL,SAAS,GAMV;IACC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACjC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,IAAI,SAAS,EAAE;QACb,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACvC;IAED,OAAO;QACL,GAAG,WAAW;QACd,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
@@ -13,33 +13,30 @@ export default function createThemeValuesProxy(value, breakpoints, deviceWidth,
13
13
  return new Proxy(value, {
14
14
  get: (target, key) => {
15
15
  const currentValue = target[key];
16
- const valueAsThemeValues = isObject(currentValue)
17
- ? currentValue
18
- : undefined;
19
- if (valueAsThemeValues) {
16
+ if (!isObject(currentValue)) {
17
+ return currentValue;
18
+ }
19
+ else {
20
20
  const platformKeys = ["ios", "android", "web", "macos", "windows"];
21
21
  const breakpointKeys = Object.keys(breakpoints);
22
22
  const lightDarkKeys = ["light", "dark"];
23
- const keysType = getKeysType(valueAsThemeValues, platformKeys, breakpointKeys, lightDarkKeys);
23
+ const keysType = getKeysType(currentValue, platformKeys, breakpointKeys, lightDarkKeys);
24
24
  if (keysType === "default") {
25
- return createThemeValuesProxy(valueAsThemeValues, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
25
+ return createThemeValuesProxy(currentValue, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
26
26
  }
27
27
  else if (keysType === "platform") {
28
- return getPlatformValue(valueAsThemeValues, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
28
+ return getPlatformValue(currentValue, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
29
29
  }
30
30
  else if (keysType === "breakpoint") {
31
- return getBreakpointValue(valueAsThemeValues, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
31
+ return getBreakpointValue(currentValue, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
32
32
  }
33
33
  else if (keysType === "lightDark") {
34
- return getLightDarkValue(valueAsThemeValues, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
34
+ return getLightDarkValue(currentValue, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
35
35
  }
36
36
  else {
37
37
  return undefined;
38
38
  }
39
39
  }
40
- else {
41
- return currentValue;
42
- }
43
40
  },
44
41
  set: () => {
45
42
  throw new Error("Theme is read only, cannot be modified at runtime");
@@ -80,20 +77,17 @@ function allFalse(a, b, c, d) {
80
77
  }
81
78
  function getPlatformValue(value, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection) {
82
79
  var _a;
83
- const currentPlatformValue = (_a = value === null || value === void 0 ? void 0 : value[devicePlatform]) !== null && _a !== void 0 ? _a : value === null || value === void 0 ? void 0 : value.default;
84
- const valueAsThemeValues = isObject(currentPlatformValue)
85
- ? currentPlatformValue
86
- : undefined;
87
- if (valueAsThemeValues) {
88
- return createThemeValuesProxy(valueAsThemeValues, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
80
+ const currentPlatformValue = (_a = value[devicePlatform]) !== null && _a !== void 0 ? _a : value.default;
81
+ if (!isObject(currentPlatformValue)) {
82
+ return currentPlatformValue;
89
83
  }
90
84
  else {
91
- return currentPlatformValue;
85
+ return createThemeValuesProxy(currentPlatformValue, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
92
86
  }
93
87
  }
94
88
  function getBreakpointValue(value, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection) {
95
89
  var _a;
96
- const keysToBreakpointValue = Object.keys(value !== null && value !== void 0 ? value : {}).map((key) => [key, breakpoints[key]]);
90
+ const keysToBreakpointValue = Object.keys(value).map((key) => [key, breakpoints[key]]);
97
91
  const orderedBreakpoints = keysToBreakpointValue.sort(([_, val]) => val);
98
92
  let currentBreakpointKey = "";
99
93
  for (const [breakpointKey, breakpointValue] of orderedBreakpoints) {
@@ -101,28 +95,22 @@ function getBreakpointValue(value, breakpoints, deviceWidth, devicePlatform, cur
101
95
  currentBreakpointKey = breakpointKey;
102
96
  }
103
97
  }
104
- const currentBreakpointValue = (_a = value === null || value === void 0 ? void 0 : value[currentBreakpointKey]) !== null && _a !== void 0 ? _a : value === null || value === void 0 ? void 0 : value.default;
105
- const valueAsThemeValues = isObject(currentBreakpointKey)
106
- ? currentBreakpointKey
107
- : undefined;
108
- if (valueAsThemeValues) {
109
- return createThemeValuesProxy(valueAsThemeValues, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
98
+ const currentBreakpointValue = (_a = value[currentBreakpointKey]) !== null && _a !== void 0 ? _a : value.default;
99
+ if (!isObject(currentBreakpointValue)) {
100
+ return currentBreakpointValue;
110
101
  }
111
102
  else {
112
- return currentBreakpointValue;
103
+ return createThemeValuesProxy(currentBreakpointValue, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
113
104
  }
114
105
  }
115
106
  function getLightDarkValue(value, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection) {
116
107
  var _a;
117
- const currentLightDarkValue = (_a = value === null || value === void 0 ? void 0 : value[currentLightDarkSelection]) !== null && _a !== void 0 ? _a : value === null || value === void 0 ? void 0 : value.default;
118
- const valueAsThemeValues = isObject(currentLightDarkSelection)
119
- ? currentLightDarkSelection
120
- : undefined;
121
- if (valueAsThemeValues) {
122
- return createThemeValuesProxy(valueAsThemeValues, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
108
+ const currentLightDarkValue = (_a = value[currentLightDarkSelection]) !== null && _a !== void 0 ? _a : value.default;
109
+ if (!isObject(currentLightDarkValue)) {
110
+ return currentLightDarkValue;
123
111
  }
124
112
  else {
125
- return currentLightDarkValue;
113
+ return createThemeValuesProxy(currentLightDarkValue, breakpoints, deviceWidth, devicePlatform, currentLightDarkSelection);
126
114
  }
127
115
  }
128
116
  //# sourceMappingURL=createThemeValuesProxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createThemeValuesProxy.js","sourceRoot":"","sources":["../../../src/createThemeValuesProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createThemeValuesProxy.js","sourceRoot":"","sources":["../../../src/createThemeValuesProxy.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { TextStyle } from "react-native";
2
1
  export declare type ThemeValues = {
3
- [key: string]: string | number | TextStyle | ThemeValues;
2
+ [key: string]: string | number | ThemeValues;
4
3
  };
5
4
  export declare type Theme = {
6
5
  name: string;
@@ -12,19 +11,7 @@ export declare type Theme = {
12
11
  border?: ThemeValues;
13
12
  };
14
13
  typography: {
15
- body1?: ThemeValues | TextStyle;
16
- body2?: ThemeValues | TextStyle;
17
- button?: ThemeValues | TextStyle;
18
- caption?: ThemeValues | TextStyle;
19
- headline1?: ThemeValues | TextStyle;
20
- headline2?: ThemeValues | TextStyle;
21
- headline3?: ThemeValues | TextStyle;
22
- headline4?: ThemeValues | TextStyle;
23
- headline5?: ThemeValues | TextStyle;
24
- headline6?: ThemeValues | TextStyle;
25
- overline?: ThemeValues | TextStyle;
26
- subtitle1?: ThemeValues | TextStyle;
27
- subtitle2?: ThemeValues | TextStyle;
14
+ [key: string]: any;
28
15
  };
29
16
  };
30
17
  export declare type ValidatedTheme = Theme & {
@@ -38,21 +25,6 @@ export declare type ReadTheme = Theme & {
38
25
  foreground?: any;
39
26
  border?: any;
40
27
  };
41
- typography: {
42
- body1?: any;
43
- body2?: any;
44
- button?: any;
45
- caption?: any;
46
- headline1?: any;
47
- headline2?: any;
48
- headline3?: any;
49
- headline4?: any;
50
- headline5?: any;
51
- headline6?: any;
52
- overline?: any;
53
- subtitle1?: any;
54
- subtitle2?: any;
55
- };
56
28
  };
57
29
  export declare type ColorPaletteValues = {
58
30
  [key: string]: string;
@@ -1,6 +1,4 @@
1
- import { ColorPalettes, Breakpoints, Theme, ThemeValues } from "./types";
1
+ import { ColorPalettes, Breakpoints, Theme } from "./types";
2
2
  export declare function validatePalettes(palettes: ColorPalettes): void;
3
3
  export declare function validateBreakpoints(breakpoints: Breakpoints): void;
4
4
  export declare function validateTheme(theme: Theme): void;
5
- export declare function isTextStyleObject(value: any): boolean;
6
- export declare function asThemeValuesObject(value: any): ThemeValues | null;
@@ -1,17 +1,52 @@
1
1
  export function validatePalettes(palettes) {
2
- palettes;
2
+ for (const key of Object.keys(palettes)) {
3
+ if (typeof key !== "string") {
4
+ throw new Error(`Invalid palettes object, ${key} is not a string`);
5
+ }
6
+ for (const [innerKey, value] of Object.entries(palettes[key])) {
7
+ if (typeof innerKey !== "string") {
8
+ throw new Error(`Invalid palette color key, ${innerKey} is not a string`);
9
+ }
10
+ if (typeof value !== "string") {
11
+ throw new Error(`Invalid palette color value, ${value} is not a string`);
12
+ }
13
+ }
14
+ }
3
15
  }
4
16
  export function validateBreakpoints(breakpoints) {
5
- breakpoints;
17
+ for (const [key, value] of Object.entries(breakpoints)) {
18
+ if (typeof key !== "string") {
19
+ throw new Error(`Invalid breakpoint key, ${key} is not a string`);
20
+ }
21
+ if (typeof value !== "number") {
22
+ throw new Error(`Invalid breakpoint value, ${value} is not a number`);
23
+ }
24
+ }
6
25
  }
7
26
  export function validateTheme(theme) {
8
- theme;
9
- }
10
- export function isTextStyleObject(value) {
11
- value;
12
- return true;
13
- }
14
- export function asThemeValuesObject(value) {
15
- return value;
27
+ function validateThemeValues(themeValue) {
28
+ if (themeValue === undefined || themeValue === null) {
29
+ return;
30
+ }
31
+ for (const [key, value] of Object.entries(themeValue)) {
32
+ if (typeof key !== "string") {
33
+ throw new Error(`Invalid theme key, ${key} is not a string`);
34
+ }
35
+ if (value === undefined || value === null) {
36
+ continue;
37
+ }
38
+ else if (typeof value === "object") {
39
+ validateThemeValues(value);
40
+ }
41
+ else if (typeof value !== "string" && typeof value !== "number") {
42
+ throw new Error(`Invalid theme value, ${value} is not a string, number, or object`);
43
+ }
44
+ }
45
+ }
46
+ validateThemeValues(theme.colors.branding);
47
+ validateThemeValues(theme.colors.text);
48
+ validateThemeValues(theme.colors.foreground);
49
+ validateThemeValues(theme.colors.background);
50
+ validateThemeValues(theme.colors.border);
16
51
  }
17
52
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/validators.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,QAAuB;IACtD,QAAQ,CAAC;AACX,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAwB;IAC1D,WAAW,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,KAAK,CAAC;AACR,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAU;IAC1C,KAAK,CAAC;IACN,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC5C,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/validators.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,QAAuB;IACtD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,kBAAkB,CAAC,CAAC;SACpE;QACD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAChC,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,kBAAkB,CACzD,CAAC;aACH;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,kBAAkB,CACxD,CAAC;aACH;SACF;KACF;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAwB;IAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,kBAAkB,CAAC,CAAC;SACnE;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,kBAAkB,CAAC,CAAC;SACvE;KACF;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,SAAS,mBAAmB,CAAC,UAAwB;QACnD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE;YACnD,OAAO;SACR;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,CAAC;aAC9D;YACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBACzC,SAAS;aACV;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACpC,mBAAmB,CAAC,KAAK,CAAC,CAAC;aAC5B;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACjE,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,qCAAqC,CACnE,CAAC;aACH;SACF;IACH,CAAC;IACD,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC"}