@tamagui/core 1.0.1-beta.130 → 1.0.1-beta.133

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 (60) hide show
  1. package/dist/cjs/createComponent.js +15 -8
  2. package/dist/cjs/createComponent.js.map +2 -2
  3. package/dist/cjs/createTamagui.js +11 -15
  4. package/dist/cjs/createTamagui.js.map +2 -2
  5. package/dist/cjs/createVariable.js +1 -1
  6. package/dist/cjs/createVariable.js.map +2 -2
  7. package/dist/cjs/createVariables.js +8 -18
  8. package/dist/cjs/createVariables.js.map +2 -2
  9. package/dist/cjs/helpers/expandStyle.js +1 -1
  10. package/dist/cjs/helpers/expandStyle.js.map +2 -2
  11. package/dist/cjs/helpers/getFont.js +3 -1
  12. package/dist/cjs/helpers/getFont.js.map +2 -2
  13. package/dist/cjs/helpers/getSplitStyles.js +1 -1
  14. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  15. package/dist/cjs/helpers/getStylesAtomic.js +4 -2
  16. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  17. package/dist/cjs/helpers/getVariantExtras.js +10 -1
  18. package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
  19. package/dist/cjs/insertFont.js +6 -6
  20. package/dist/cjs/insertFont.js.map +2 -2
  21. package/dist/cjs/types.js.map +1 -1
  22. package/dist/cjs/views/ThemeInverse.js +8 -2
  23. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  24. package/dist/esm/createComponent.js +15 -7
  25. package/dist/esm/createComponent.js.map +2 -2
  26. package/dist/esm/createTamagui.js +10 -13
  27. package/dist/esm/createTamagui.js.map +2 -2
  28. package/dist/esm/createVariable.js +1 -1
  29. package/dist/esm/createVariable.js.map +2 -2
  30. package/dist/esm/createVariables.js +8 -18
  31. package/dist/esm/createVariables.js.map +2 -2
  32. package/dist/esm/helpers/expandStyle.js +1 -1
  33. package/dist/esm/helpers/expandStyle.js.map +2 -2
  34. package/dist/esm/helpers/getFont.js +3 -1
  35. package/dist/esm/helpers/getFont.js.map +2 -2
  36. package/dist/esm/helpers/getSplitStyles.js +1 -1
  37. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  38. package/dist/esm/helpers/getStylesAtomic.js +4 -2
  39. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  40. package/dist/esm/helpers/getVariantExtras.js +10 -1
  41. package/dist/esm/helpers/getVariantExtras.js.map +2 -2
  42. package/dist/esm/insertFont.js +6 -6
  43. package/dist/esm/insertFont.js.map +2 -2
  44. package/dist/esm/views/ThemeInverse.js +8 -2
  45. package/dist/esm/views/ThemeInverse.js.map +2 -2
  46. package/package.json +11 -11
  47. package/types/createComponent.d.ts +0 -3
  48. package/types/createTamagui.d.ts +0 -1
  49. package/types/helpers/createTamaguiProvider.d.ts +0 -1
  50. package/types/helpers/getStylesAtomic.d.ts +7 -6
  51. package/types/types.d.ts +1 -0
  52. package/types/views/FontLanguage.d.ts +0 -1
  53. package/types/views/FontLanguage.native.d.ts +0 -1
  54. package/types/views/ThemeInverse.d.ts +4 -3
  55. package/types/views/ThemeProvider.d.ts +0 -1
  56. package/dist/cjs/helpers/expandStyle.test.js +0 -10
  57. package/dist/cjs/helpers/expandStyle.test.js.map +0 -7
  58. package/dist/esm/helpers/expandStyle.test.js +0 -9
  59. package/dist/esm/helpers/expandStyle.test.js.map +0 -7
  60. package/types/helpers/expandStyle.test.d.ts +0 -2
@@ -15,8 +15,17 @@ function getVariantExtras(props, languageContext, theme, defaultProps, avoidDefa
15
15
  if (Reflect.has(target, key)) {
16
16
  return Reflect.get(target, key);
17
17
  }
18
+ const shorthand = conf.inverseShorthands[key];
19
+ if (shorthand && Reflect.has(target, shorthand)) {
20
+ return Reflect.get(target, shorthand);
21
+ }
18
22
  if (defaultProps) {
19
- return Reflect.get(defaultProps, key);
23
+ if (Reflect.has(defaultProps, key)) {
24
+ return Reflect.get(defaultProps, key);
25
+ }
26
+ if (shorthand && Reflect.has(defaultProps, shorthand)) {
27
+ return Reflect.get(defaultProps, shorthand);
28
+ }
20
29
  }
21
30
  }
22
31
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/getVariantExtras.tsx"],
4
- "sourcesContent": ["import { getConfig } from '../conf'\nimport { GenericFonts } from '../types'\nimport { LanguageContextType } from '../views/FontLanguage.types'\n\nconst extrasCache = new WeakMap()\n\nexport function getVariantExtras(\n props: any,\n languageContext?: LanguageContextType,\n theme?: any,\n defaultProps?: any,\n avoidDefaultProps = false\n) {\n const conf = getConfig()\n\n if (extrasCache.has(props)) {\n return extrasCache.get(props)\n }\n\n const fonts = languageContext\n ? getFontsForLanguage(conf.fontsParsed, languageContext)\n : conf.fontsParsed\n\n const next = {\n fonts,\n tokens: conf.tokensParsed,\n theme,\n // TODO do this in splitstlye\n // we avoid passing in default props for media queries because that would confuse things like SizableText.size:\n props: avoidDefaultProps\n ? props\n : new Proxy(props, {\n get(target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n // these props may be extracted into classNames, but we still want to access them\n // at runtime, so we proxy back to defaultProps but don't pass them\n if (defaultProps) {\n return Reflect.get(defaultProps, key)\n }\n },\n }),\n }\n\n extrasCache.set(props, next)\n\n return next\n}\n\nconst fontLanguageCache = new WeakMap()\n\nexport function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType) {\n if (fontLanguageCache.has(language)) {\n return fontLanguageCache.get(language)\n }\n const next = {\n ...fonts,\n ...Object.fromEntries(\n Object.entries(language).map(([name, lang]) => {\n if (lang === 'default') {\n return []\n }\n const langKey = `$${name}_${lang}`\n return [`$${name}`, fonts[langKey]]\n })\n ),\n }\n fontLanguageCache.set(language, next)\n return next\n}\n"],
5
- "mappings": "AAAA;AAIA,MAAM,cAAc,oBAAI,QAAQ;AAEzB,0BACL,OACA,iBACA,OACA,cACA,oBAAoB,OACpB;AACA,QAAM,OAAO,UAAU;AAEvB,MAAI,YAAY,IAAI,KAAK,GAAG;AAC1B,WAAO,YAAY,IAAI,KAAK;AAAA,EAC9B;AAEA,QAAM,QAAQ,kBACV,oBAAoB,KAAK,aAAa,eAAe,IACrD,KAAK;AAET,QAAM,OAAO;AAAA,IACX;AAAA,IACA,QAAQ,KAAK;AAAA,IACb;AAAA,IAGA,OAAO,oBACH,QACA,IAAI,MAAM,OAAO;AAAA,MACf,IAAI,QAAQ,KAAK;AACf,YAAI,QAAQ,IAAI,QAAQ,GAAG,GAAG;AAC5B,iBAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,QAChC;AAGA,YAAI,cAAc;AAChB,iBAAO,QAAQ,IAAI,cAAc,GAAG;AAAA,QACtC;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACP;AAEA,cAAY,IAAI,OAAO,IAAI;AAE3B,SAAO;AACT;AAEA,MAAM,oBAAoB,oBAAI,QAAQ;AAE/B,6BAA6B,OAAqB,UAA+B;AACtF,MAAI,kBAAkB,IAAI,QAAQ,GAAG;AACnC,WAAO,kBAAkB,IAAI,QAAQ;AAAA,EACvC;AACA,QAAM,OAAO;AAAA,IACX,GAAG;AAAA,IACH,GAAG,OAAO,YACR,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,UAAU;AAC7C,UAAI,SAAS,WAAW;AACtB,eAAO,CAAC;AAAA,MACV;AACA,YAAM,UAAU,IAAI,QAAQ;AAC5B,aAAO,CAAC,IAAI,QAAQ,MAAM,QAAQ;AAAA,IACpC,CAAC,CACH;AAAA,EACF;AACA,oBAAkB,IAAI,UAAU,IAAI;AACpC,SAAO;AACT;",
4
+ "sourcesContent": ["import { getConfig } from '../conf'\nimport { GenericFonts } from '../types'\nimport { LanguageContextType } from '../views/FontLanguage.types'\n\nconst extrasCache = new WeakMap()\n\nexport function getVariantExtras(\n props: any,\n languageContext?: LanguageContextType,\n theme?: any,\n defaultProps?: any,\n avoidDefaultProps = false\n) {\n const conf = getConfig()\n\n if (extrasCache.has(props)) {\n return extrasCache.get(props)\n }\n\n const fonts = languageContext\n ? getFontsForLanguage(conf.fontsParsed, languageContext)\n : conf.fontsParsed\n\n const next = {\n fonts,\n tokens: conf.tokensParsed,\n theme,\n // TODO do this in splitstlye\n // we avoid passing in default props for media queries because that would confuse things like SizableText.size:\n props: avoidDefaultProps\n ? props\n : new Proxy(props, {\n // handles shorthands\n get(target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n const shorthand = conf.inverseShorthands[key as any]\n if (shorthand && Reflect.has(target, shorthand)) {\n return Reflect.get(target, shorthand)\n }\n // these props may be extracted into classNames, but we still want to access them\n // at runtime, so we proxy back to defaultProps but don't pass them\n if (defaultProps) {\n if (Reflect.has(defaultProps, key)) {\n return Reflect.get(defaultProps, key)\n }\n if (shorthand && Reflect.has(defaultProps, shorthand)) {\n return Reflect.get(defaultProps, shorthand)\n }\n }\n },\n }),\n }\n\n extrasCache.set(props, next)\n\n return next\n}\n\nconst fontLanguageCache = new WeakMap()\n\nexport function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType) {\n if (fontLanguageCache.has(language)) {\n return fontLanguageCache.get(language)\n }\n const next = {\n ...fonts,\n ...Object.fromEntries(\n Object.entries(language).map(([name, lang]) => {\n if (lang === 'default') {\n return []\n }\n const langKey = `$${name}_${lang}`\n return [`$${name}`, fonts[langKey]]\n })\n ),\n }\n fontLanguageCache.set(language, next)\n return next\n}\n"],
5
+ "mappings": "AAAA;AAIA,MAAM,cAAc,oBAAI,QAAQ;AAEzB,0BACL,OACA,iBACA,OACA,cACA,oBAAoB,OACpB;AACA,QAAM,OAAO,UAAU;AAEvB,MAAI,YAAY,IAAI,KAAK,GAAG;AAC1B,WAAO,YAAY,IAAI,KAAK;AAAA,EAC9B;AAEA,QAAM,QAAQ,kBACV,oBAAoB,KAAK,aAAa,eAAe,IACrD,KAAK;AAET,QAAM,OAAO;AAAA,IACX;AAAA,IACA,QAAQ,KAAK;AAAA,IACb;AAAA,IAGA,OAAO,oBACH,QACA,IAAI,MAAM,OAAO;AAAA,MAEf,IAAI,QAAQ,KAAK;AACf,YAAI,QAAQ,IAAI,QAAQ,GAAG,GAAG;AAC5B,iBAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,QAChC;AACA,cAAM,YAAY,KAAK,kBAAkB;AACzC,YAAI,aAAa,QAAQ,IAAI,QAAQ,SAAS,GAAG;AAC/C,iBAAO,QAAQ,IAAI,QAAQ,SAAS;AAAA,QACtC;AAGA,YAAI,cAAc;AAChB,cAAI,QAAQ,IAAI,cAAc,GAAG,GAAG;AAClC,mBAAO,QAAQ,IAAI,cAAc,GAAG;AAAA,UACtC;AACA,cAAI,aAAa,QAAQ,IAAI,cAAc,SAAS,GAAG;AACrD,mBAAO,QAAQ,IAAI,cAAc,SAAS;AAAA,UAC5C;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACP;AAEA,cAAY,IAAI,OAAO,IAAI;AAE3B,SAAO;AACT;AAEA,MAAM,oBAAoB,oBAAI,QAAQ;AAE/B,6BAA6B,OAAqB,UAA+B;AACtF,MAAI,kBAAkB,IAAI,QAAQ,GAAG;AACnC,WAAO,kBAAkB,IAAI,QAAQ;AAAA,EACvC;AACA,QAAM,OAAO;AAAA,IACX,GAAG;AAAA,IACH,GAAG,OAAO,YACR,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,UAAU;AAC7C,UAAI,SAAS,WAAW;AACtB,eAAO,CAAC;AAAA,MACV;AACA,YAAM,UAAU,IAAI,QAAQ;AAC5B,aAAO,CAAC,IAAI,QAAQ,MAAM,QAAQ;AAAA,IACpC,CAAC,CACH;AAAA,EACF;AACA,oBAAkB,IAAI,UAAU,IAAI;AACpC,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -7,9 +7,9 @@ function insertFont(name, fontIn) {
7
7
  const tokened = createVariables(font, name);
8
8
  const parsed = parseFont(tokened);
9
9
  if (process.env.TAMAGUI_TARGET === "web" && typeof document !== "undefined") {
10
- const css = registerFontVariables(parsed);
10
+ const fontVars = registerFontVariables(parsed);
11
11
  const style = document.createElement("style");
12
- style.innerText = `:root {${css.join(";")}}`;
12
+ style.innerText = `:root .font_${name} {${fontVars.join(";")}}`;
13
13
  style.setAttribute("data-tamagui-font", name);
14
14
  document.head.appendChild(style);
15
15
  }
@@ -37,12 +37,12 @@ function parseFont(definition) {
37
37
  return parsed;
38
38
  }
39
39
  function registerFontVariables(parsedFont) {
40
- const vals = [];
40
+ const response = [];
41
41
  for (const fkey in parsedFont) {
42
42
  if (fkey === "family") {
43
43
  const val = parsedFont[fkey];
44
44
  registerCSSVariable(val);
45
- vals.push(variableToCSS(val));
45
+ response.push(variableToCSS(val));
46
46
  } else {
47
47
  for (const fskey in parsedFont[fkey]) {
48
48
  const fval = parsedFont[fkey][fskey];
@@ -50,12 +50,12 @@ function registerFontVariables(parsedFont) {
50
50
  } else {
51
51
  const val = parsedFont[fkey][fskey];
52
52
  registerCSSVariable(val);
53
- vals.push(variableToCSS(val));
53
+ response.push(variableToCSS(val));
54
54
  }
55
55
  }
56
56
  }
57
57
  }
58
- return vals;
58
+ return response;
59
59
  }
60
60
  export {
61
61
  insertFont,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/insertFont.ts"],
4
- "sourcesContent": ["import { setConfigFont } from './conf'\nimport { createFont } from './createFont'\nimport { Variable } from './createVariable'\nimport { DeepVariableObject, createVariables } from './createVariables'\nimport { registerCSSVariable, variableToCSS } from './helpers/registerCSSVariable'\nimport { GenericFont } from './types'\n\n/**\n * Runtime dynamic insert font\n */\nexport function insertFont<A extends GenericFont>(name: string, fontIn: A): DeepVariableObject<A> {\n const font = createFont(fontIn)\n const tokened = createVariables(font, name) as GenericFont\n const parsed = parseFont(tokened) as DeepVariableObject<A>\n if (process.env.TAMAGUI_TARGET === 'web' && typeof document !== 'undefined') {\n const css = registerFontVariables(parsed)\n const style = document.createElement('style')\n style.innerText = `:root {${css.join(';')}}`\n style.setAttribute('data-tamagui-font', name)\n document.head.appendChild(style)\n }\n setConfigFont(name, tokened, parsed)\n return parsed\n}\n\nexport function parseFont<A extends GenericFont>(definition: A): DeepVariableObject<A> {\n const parsed: any = {}\n for (const attrKey in definition) {\n const attr = definition[attrKey]\n if (attrKey === 'family') {\n parsed[attrKey] = attr\n continue\n }\n parsed[attrKey] = {}\n for (const key in attr) {\n let val = attr[key] as any as Variable\n // is a theme reference\n if (val.val?.[0] === '$') {\n val = val.val\n }\n parsed[attrKey][`$${key}`] = val\n }\n }\n return parsed\n}\n\nexport function registerFontVariables(parsedFont: any) {\n const vals: string[] = []\n for (const fkey in parsedFont) {\n if (fkey === 'family') {\n const val = parsedFont[fkey]\n registerCSSVariable(val)\n vals.push(variableToCSS(val))\n } else {\n for (const fskey in parsedFont[fkey]) {\n const fval = parsedFont[fkey][fskey]\n if (typeof fval === 'string') {\n // no need to add its a theme reference like \"$borderColor\"\n } else {\n const val = parsedFont[fkey][fskey]\n registerCSSVariable(val)\n vals.push(variableToCSS(val))\n }\n }\n }\n }\n return vals\n}\n"],
5
- "mappings": "AAAA;AACA;AAEA;AACA;AAMO,oBAA2C,MAAc,QAAkC;AAChG,QAAM,OAAO,WAAW,MAAM;AAC9B,QAAM,UAAU,gBAAgB,MAAM,IAAI;AAC1C,QAAM,SAAS,UAAU,OAAO;AAChC,MAAI,QAAQ,IAAI,mBAAmB,SAAS,OAAO,aAAa,aAAa;AAC3E,UAAM,MAAM,sBAAsB,MAAM;AACxC,UAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,UAAM,YAAY,UAAU,IAAI,KAAK,GAAG;AACxC,UAAM,aAAa,qBAAqB,IAAI;AAC5C,aAAS,KAAK,YAAY,KAAK;AAAA,EACjC;AACA,gBAAc,MAAM,SAAS,MAAM;AACnC,SAAO;AACT;AAEO,mBAA0C,YAAsC;AAzBvF;AA0BE,QAAM,SAAc,CAAC;AACrB,aAAW,WAAW,YAAY;AAChC,UAAM,OAAO,WAAW;AACxB,QAAI,YAAY,UAAU;AACxB,aAAO,WAAW;AAClB;AAAA,IACF;AACA,WAAO,WAAW,CAAC;AACnB,eAAW,OAAO,MAAM;AACtB,UAAI,MAAM,KAAK;AAEf,UAAI,WAAI,QAAJ,mBAAU,QAAO,KAAK;AACxB,cAAM,IAAI;AAAA,MACZ;AACA,aAAO,SAAS,IAAI,SAAS;AAAA,IAC/B;AAAA,EACF;AACA,SAAO;AACT;AAEO,+BAA+B,YAAiB;AACrD,QAAM,OAAiB,CAAC;AACxB,aAAW,QAAQ,YAAY;AAC7B,QAAI,SAAS,UAAU;AACrB,YAAM,MAAM,WAAW;AACvB,0BAAoB,GAAG;AACvB,WAAK,KAAK,cAAc,GAAG,CAAC;AAAA,IAC9B,OAAO;AACL,iBAAW,SAAS,WAAW,OAAO;AACpC,cAAM,OAAO,WAAW,MAAM;AAC9B,YAAI,OAAO,SAAS,UAAU;AAAA,QAE9B,OAAO;AACL,gBAAM,MAAM,WAAW,MAAM;AAC7B,8BAAoB,GAAG;AACvB,eAAK,KAAK,cAAc,GAAG,CAAC;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;",
4
+ "sourcesContent": ["import { setConfigFont } from './conf'\nimport { createFont } from './createFont'\nimport { Variable } from './createVariable'\nimport { DeepVariableObject, createVariables } from './createVariables'\nimport { registerCSSVariable, variableToCSS } from './helpers/registerCSSVariable'\nimport { GenericFont } from './types'\n\n/**\n * Runtime dynamic insert font\n */\nexport function insertFont<A extends GenericFont>(name: string, fontIn: A): DeepVariableObject<A> {\n const font = createFont(fontIn)\n const tokened = createVariables(font, name) as GenericFont\n const parsed = parseFont(tokened) as DeepVariableObject<A>\n if (process.env.TAMAGUI_TARGET === 'web' && typeof document !== 'undefined') {\n const fontVars = registerFontVariables(parsed)\n const style = document.createElement('style')\n style.innerText = `:root .font_${name} {${fontVars.join(';')}}`\n style.setAttribute('data-tamagui-font', name)\n document.head.appendChild(style)\n }\n setConfigFont(name, tokened, parsed)\n return parsed\n}\n\nexport function parseFont<A extends GenericFont>(definition: A): DeepVariableObject<A> {\n const parsed: any = {}\n for (const attrKey in definition) {\n const attr = definition[attrKey]\n if (attrKey === 'family') {\n parsed[attrKey] = attr\n continue\n }\n parsed[attrKey] = {}\n for (const key in attr) {\n let val = attr[key] as any as Variable\n // is a theme reference\n if (val.val?.[0] === '$') {\n val = val.val\n }\n parsed[attrKey][`$${key}`] = val\n }\n }\n return parsed\n}\n\nexport function registerFontVariables(parsedFont: any) {\n const response: string[] = []\n\n for (const fkey in parsedFont) {\n if (fkey === 'family') {\n const val = parsedFont[fkey] as Variable\n registerCSSVariable(val)\n response.push(variableToCSS(val))\n } else {\n for (const fskey in parsedFont[fkey]) {\n const fval = parsedFont[fkey][fskey]\n if (typeof fval === 'string') {\n // no need to add its a theme reference like \"$borderColor\"\n } else {\n const val = parsedFont[fkey][fskey] as Variable\n registerCSSVariable(val)\n response.push(variableToCSS(val))\n }\n }\n }\n }\n return response\n}\n"],
5
+ "mappings": "AAAA;AACA;AAEA;AACA;AAMO,oBAA2C,MAAc,QAAkC;AAChG,QAAM,OAAO,WAAW,MAAM;AAC9B,QAAM,UAAU,gBAAgB,MAAM,IAAI;AAC1C,QAAM,SAAS,UAAU,OAAO;AAChC,MAAI,QAAQ,IAAI,mBAAmB,SAAS,OAAO,aAAa,aAAa;AAC3E,UAAM,WAAW,sBAAsB,MAAM;AAC7C,UAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,UAAM,YAAY,eAAe,SAAS,SAAS,KAAK,GAAG;AAC3D,UAAM,aAAa,qBAAqB,IAAI;AAC5C,aAAS,KAAK,YAAY,KAAK;AAAA,EACjC;AACA,gBAAc,MAAM,SAAS,MAAM;AACnC,SAAO;AACT;AAEO,mBAA0C,YAAsC;AAzBvF;AA0BE,QAAM,SAAc,CAAC;AACrB,aAAW,WAAW,YAAY;AAChC,UAAM,OAAO,WAAW;AACxB,QAAI,YAAY,UAAU;AACxB,aAAO,WAAW;AAClB;AAAA,IACF;AACA,WAAO,WAAW,CAAC;AACnB,eAAW,OAAO,MAAM;AACtB,UAAI,MAAM,KAAK;AAEf,UAAI,WAAI,QAAJ,mBAAU,QAAO,KAAK;AACxB,cAAM,IAAI;AAAA,MACZ;AACA,aAAO,SAAS,IAAI,SAAS;AAAA,IAC/B;AAAA,EACF;AACA,SAAO;AACT;AAEO,+BAA+B,YAAiB;AACrD,QAAM,WAAqB,CAAC;AAE5B,aAAW,QAAQ,YAAY;AAC7B,QAAI,SAAS,UAAU;AACrB,YAAM,MAAM,WAAW;AACvB,0BAAoB,GAAG;AACvB,eAAS,KAAK,cAAc,GAAG,CAAC;AAAA,IAClC,OAAO;AACL,iBAAW,SAAS,WAAW,OAAO;AACpC,cAAM,OAAO,WAAW,MAAM;AAC9B,YAAI,OAAO,SAAS,UAAU;AAAA,QAE9B,OAAO;AACL,gBAAM,MAAM,WAAW,MAAM;AAC7B,8BAAoB,GAAG;AACvB,mBAAS,KAAK,cAAc,GAAG,CAAC;AAAA,QAClC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -9,16 +9,22 @@ let inversions = {
9
9
  function setThemeInversions(next) {
10
10
  inversions = next;
11
11
  }
12
- const ThemeInverse = (props) => {
12
+ const ThemeInverse = ({
13
+ children,
14
+ disable
15
+ }) => {
13
16
  const themeName = useThemeName();
14
17
  const defaultTheme = useDefaultThemeName();
15
18
  const [name, setName] = useState(null);
16
19
  useIsomorphicLayoutEffect(() => {
17
20
  setName(inversions[themeName] || inversions[defaultTheme || ""] || null);
18
21
  }, [defaultTheme, themeName]);
22
+ if (disable) {
23
+ return children;
24
+ }
19
25
  return /* @__PURE__ */ React.createElement(Theme, {
20
26
  name
21
- }, props.children);
27
+ }, children);
22
28
  };
23
29
  export {
24
30
  ThemeInverse,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/ThemeInverse.tsx"],
4
- "sourcesContent": ["import React, { useState } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { useDefaultThemeName, useThemeName } from '../hooks/useTheme'\nimport { Theme } from './Theme'\n\ntype StringRecord = { [key: string]: string }\n\nlet inversions: StringRecord = {\n light: 'dark',\n dark: 'light',\n}\n\nexport function setThemeInversions(next: StringRecord) {\n inversions = next\n}\n\nexport const ThemeInverse = (props: { children: any }) => {\n const themeName = useThemeName()\n const defaultTheme = useDefaultThemeName()\n const [name, setName] = useState<null | string>(null)\n\n // ssr\n useIsomorphicLayoutEffect(() => {\n setName(inversions[themeName] || inversions[defaultTheme || ''] || null)\n }, [defaultTheme, themeName])\n\n return <Theme name={name}>{props.children}</Theme>\n}\n"],
5
- "mappings": "AAAA;AAEA;AACA;AACA;AAIA,IAAI,aAA2B;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AACR;AAEO,4BAA4B,MAAoB;AACrD,eAAa;AACf;AAEO,MAAM,eAAe,CAAC,UAA6B;AACxD,QAAM,YAAY,aAAa;AAC/B,QAAM,eAAe,oBAAoB;AACzC,QAAM,CAAC,MAAM,WAAW,SAAwB,IAAI;AAGpD,4BAA0B,MAAM;AAC9B,YAAQ,WAAW,cAAc,WAAW,gBAAgB,OAAO,IAAI;AAAA,EACzE,GAAG,CAAC,cAAc,SAAS,CAAC;AAE5B,SAAO,oCAAC;AAAA,IAAM;AAAA,KAAa,MAAM,QAAS;AAC5C;",
4
+ "sourcesContent": ["import React, { useState } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { useDefaultThemeName, useThemeName } from '../hooks/useTheme'\nimport { Theme } from './Theme'\n\ntype StringRecord = { [key: string]: string }\n\nlet inversions: StringRecord = {\n light: 'dark',\n dark: 'light',\n}\n\nexport function setThemeInversions(next: StringRecord) {\n inversions = next\n}\n\nexport const ThemeInverse = ({\n children,\n disable,\n}: {\n children: React.ReactNode\n disable?: boolean\n}) => {\n const themeName = useThemeName()\n const defaultTheme = useDefaultThemeName()\n const [name, setName] = useState<null | string>(null)\n\n // ssr\n useIsomorphicLayoutEffect(() => {\n setName(inversions[themeName] || inversions[defaultTheme || ''] || null)\n }, [defaultTheme, themeName])\n\n if (disable) {\n return children as JSX.Element\n }\n\n return <Theme name={name}>{children}</Theme>\n}\n"],
5
+ "mappings": "AAAA;AAEA;AACA;AACA;AAIA,IAAI,aAA2B;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AACR;AAEO,4BAA4B,MAAoB;AACrD,eAAa;AACf;AAEO,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,MAII;AACJ,QAAM,YAAY,aAAa;AAC/B,QAAM,eAAe,oBAAoB;AACzC,QAAM,CAAC,MAAM,WAAW,SAAwB,IAAI;AAGpD,4BAA0B,MAAM;AAC9B,YAAQ,WAAW,cAAc,WAAW,gBAAgB,OAAO,IAAI;AAAA,EACzE,GAAG,CAAC,cAAc,SAAS,CAAC;AAE5B,MAAI,SAAS;AACX,WAAO;AAAA,EACT;AAEA,SAAO,oCAAC;AAAA,IAAM;AAAA,KAAa,QAAS;AACtC;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/core",
3
- "version": "1.0.1-beta.130",
3
+ "version": "1.0.1-beta.133",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -13,7 +13,7 @@
13
13
  "watch": "tamagui-build --watch",
14
14
  "clean": "tamagui-build clean",
15
15
  "clean:build": "tamagui-build clean:build",
16
- "test": "vitest --run --config ../vite-plugin-internal/vite.config.ts --reporter json"
16
+ "test": "vitest --run --config ../vite-plugin-internal/vite.config.ts"
17
17
  },
18
18
  "files": [
19
19
  "types",
@@ -22,12 +22,12 @@
22
22
  ],
23
23
  "dependencies": {
24
24
  "@expo/match-media": "^0.3.0",
25
- "@tamagui/compose-refs": "^1.0.1-beta.130",
26
- "@tamagui/helpers": "^1.0.1-beta.130",
27
- "@tamagui/rnw": "^1.0.1-beta.130",
28
- "@tamagui/use-debounce": "^1.0.1-beta.130",
29
- "@tamagui/use-event": "^1.0.1-beta.130",
30
- "@tamagui/use-force-update": "^1.0.1-beta.130",
25
+ "@tamagui/compose-refs": "^1.0.1-beta.133",
26
+ "@tamagui/helpers": "^1.0.1-beta.133",
27
+ "@tamagui/rnw": "^1.0.1-beta.133",
28
+ "@tamagui/use-debounce": "^1.0.1-beta.133",
29
+ "@tamagui/use-event": "^1.0.1-beta.133",
30
+ "@tamagui/use-force-update": "^1.0.1-beta.133",
31
31
  "expo-screen-orientation": "^4.2.0",
32
32
  "hyphenate-style-name": "^1.0.4",
33
33
  "normalize-css-color": "^1.0.2",
@@ -38,13 +38,13 @@
38
38
  "react-native-web": "*"
39
39
  },
40
40
  "devDependencies": {
41
- "@tamagui/build": "^1.0.1-beta.130",
42
- "@types/react": "^17.0.21",
41
+ "@tamagui/build": "^1.0.1-beta.133",
42
+ "@types/react": "^18.0.15",
43
43
  "csstype": "^3.0.10",
44
44
  "esbuild": "^0.14.49",
45
45
  "react-native-web": "^0.18.3",
46
46
  "typescript": "^4.7.4",
47
- "vitest": "^0.19.0"
47
+ "vitest": "^0.19.1"
48
48
  },
49
49
  "publishConfig": {
50
50
  "access": "public"
@@ -18,9 +18,6 @@ export declare type SpacedChildrenProps = {
18
18
  separator?: React.ReactNode;
19
19
  };
20
20
  export declare function spacedChildren({ isZStack, children, space, direction, spaceFlex, separator, }: SpacedChildrenProps): React.ReactNode;
21
- export declare function AbsoluteFill(props: {
22
- children?: React.ReactNode;
23
- }): JSX.Element;
24
21
  export declare function processIDRefList(idRefList: string | Array<string>): string;
25
22
  export declare const accessibilityRoleToWebRole: {
26
23
  adjustable: string;
@@ -1,4 +1,3 @@
1
1
  import { CreateTamaguiProps, InferTamaguiConfig } from './types';
2
2
  export declare function createTamagui<Conf extends CreateTamaguiProps>(config: Conf): InferTamaguiConfig<Conf>;
3
- export declare const reversedShorthands: Record<string, string>;
4
3
  //# sourceMappingURL=createTamagui.d.ts.map
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TamaguiInternalConfig, TamaguiProviderProps } from '../types';
3
2
  export declare function createTamaguiProvider(config: TamaguiInternalConfig): ({ disableInjectCSS, children, ...themePropsProvider }: TamaguiProviderProps) => JSX.Element;
4
3
  //# sourceMappingURL=createTamaguiProvider.d.ts.map
@@ -1,13 +1,14 @@
1
1
  import { StyleObject } from '@tamagui/helpers';
2
- import { ViewStyle } from 'react-native';
2
+ import { TextStyle, ViewStyle } from 'react-native';
3
3
  import { PseudoDescriptor } from './pseudoDescriptors';
4
- export declare type ViewStyleWithPseudos = ViewStyle & {
5
- hoverStyle?: ViewStyle;
6
- pressStyle?: ViewStyle;
7
- focusStyle?: ViewStyle;
4
+ declare type ViewOrTextStyle = ViewStyle | TextStyle;
5
+ export declare type ViewStyleWithPseudos = ViewOrTextStyle & {
6
+ hoverStyle?: ViewOrTextStyle;
7
+ pressStyle?: ViewOrTextStyle;
8
+ focusStyle?: ViewOrTextStyle;
8
9
  };
9
10
  export declare function getStylesAtomic(stylesIn: ViewStyleWithPseudos): StyleObject[];
10
- export declare function getAtomicStyle(style: ViewStyle, pseudo?: PseudoDescriptor): StyleObject[];
11
+ export declare function getAtomicStyle(style: ViewOrTextStyle, pseudo?: PseudoDescriptor): StyleObject[];
11
12
  export declare function styleToCSS(style: Record<string, any>): void;
12
13
  declare type Value = Object | Array<any> | string | number;
13
14
  export declare type Style = {
package/types/types.d.ts CHANGED
@@ -176,6 +176,7 @@ export declare type TamaguiInternalConfig<A extends GenericTokens = GenericToken
176
176
  fontsParsed: GenericFonts;
177
177
  getCSS: () => string;
178
178
  parsed: boolean;
179
+ inverseShorthands: Record<string, string>;
179
180
  themeClassNameOnRoot?: boolean;
180
181
  };
181
182
  export declare type GetAnimationKeys<A extends GenericTamaguiConfig> = keyof A['animations']['animations'];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { FontLanguageProps } from './FontLanguage.types';
3
2
  export declare const FontLanguage: ({ children, ...props }: FontLanguageProps) => JSX.Element;
4
3
  //# sourceMappingURL=FontLanguage.d.ts.map
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { FontLanguageProps } from './FontLanguage.types';
3
2
  export declare const FontLanguage: ({ children, ...props }: FontLanguageProps) => JSX.Element;
4
3
  //# sourceMappingURL=FontLanguage.native.d.ts.map
@@ -1,10 +1,11 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  declare type StringRecord = {
3
3
  [key: string]: string;
4
4
  };
5
5
  export declare function setThemeInversions(next: StringRecord): void;
6
- export declare const ThemeInverse: (props: {
7
- children: any;
6
+ export declare const ThemeInverse: ({ children, disable, }: {
7
+ children: React.ReactNode;
8
+ disable?: boolean | undefined;
8
9
  }) => JSX.Element;
9
10
  export {};
10
11
  //# sourceMappingURL=ThemeInverse.d.ts.map
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare type ThemeProviderProps = {
3
2
  className?: string;
4
3
  themes: any;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- var import_vitest = require("vitest");
3
- var import_expandStyle = require("./expandStyle");
4
- (0, import_vitest.test)(`should expand webkit user-select`, () => {
5
- (0, import_vitest.expect)((0, import_expandStyle.expandStyle)("userSelect", "none")).toStrictEqual([
6
- ["userSelect", "none"],
7
- ["WebkitUserSelect", "none"]
8
- ]);
9
- });
10
- //# sourceMappingURL=expandStyle.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/helpers/expandStyle.test.ts"],
4
- "sourcesContent": ["import { expect, test } from 'vitest'\n\nimport { expandStyle } from './expandStyle'\n\ntest(`should expand webkit user-select`, () => {\n expect(expandStyle('userSelect', 'none')).toStrictEqual([\n ['userSelect', 'none'],\n ['WebkitUserSelect', 'none'],\n ])\n})\n"],
5
- "mappings": ";AAAA,oBAA6B;AAE7B,yBAA4B;AAE5B,wBAAK,oCAAoC,MAAM;AAC7C,4BAAO,oCAAY,cAAc,MAAM,CAAC,EAAE,cAAc;AAAA,IACtD,CAAC,cAAc,MAAM;AAAA,IACrB,CAAC,oBAAoB,MAAM;AAAA,EAC7B,CAAC;AACH,CAAC;",
6
- "names": []
7
- }
@@ -1,9 +0,0 @@
1
- import { expect, test } from "vitest";
2
- import { expandStyle } from "./expandStyle";
3
- test(`should expand webkit user-select`, () => {
4
- expect(expandStyle("userSelect", "none")).toStrictEqual([
5
- ["userSelect", "none"],
6
- ["WebkitUserSelect", "none"]
7
- ]);
8
- });
9
- //# sourceMappingURL=expandStyle.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/helpers/expandStyle.test.ts"],
4
- "sourcesContent": ["import { expect, test } from 'vitest'\n\nimport { expandStyle } from './expandStyle'\n\ntest(`should expand webkit user-select`, () => {\n expect(expandStyle('userSelect', 'none')).toStrictEqual([\n ['userSelect', 'none'],\n ['WebkitUserSelect', 'none'],\n ])\n})\n"],
5
- "mappings": "AAAA;AAEA;AAEA,KAAK,oCAAoC,MAAM;AAC7C,SAAO,YAAY,cAAc,MAAM,CAAC,EAAE,cAAc;AAAA,IACtD,CAAC,cAAc,MAAM;AAAA,IACrB,CAAC,oBAAoB,MAAM;AAAA,EAC7B,CAAC;AACH,CAAC;",
6
- "names": []
7
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=expandStyle.test.d.ts.map