@tamagui/core 1.0.1-beta.65 → 1.0.1-beta.68

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 (66) hide show
  1. package/dist/cjs/Tamagui.js +0 -3
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/ThemeManager.js +1 -1
  4. package/dist/cjs/ThemeManager.js.map +2 -2
  5. package/dist/cjs/constants/constants.js +1 -1
  6. package/dist/cjs/constants/constants.js.map +1 -1
  7. package/dist/cjs/createComponent.js +55 -35
  8. package/dist/cjs/createComponent.js.map +2 -2
  9. package/dist/cjs/createTamagui.js +13 -9
  10. package/dist/cjs/createTamagui.js.map +2 -2
  11. package/dist/cjs/helpers/createTamaguiProvider.js +12 -12
  12. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  13. package/dist/cjs/helpers/getSplitStyles.js +12 -7
  14. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  15. package/dist/cjs/helpers/getStylesAtomic.js +7 -7
  16. package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
  17. package/dist/cjs/types.js.map +1 -1
  18. package/dist/cjs/views/Theme.js +1 -4
  19. package/dist/cjs/views/Theme.js.map +2 -2
  20. package/dist/cjs/views/ThemeProvider.js +3 -2
  21. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  22. package/dist/esm/Tamagui.js +0 -3
  23. package/dist/esm/Tamagui.js.map +2 -2
  24. package/dist/esm/ThemeManager.js +1 -1
  25. package/dist/esm/ThemeManager.js.map +2 -2
  26. package/dist/esm/constants/constants.js +1 -1
  27. package/dist/esm/constants/constants.js.map +1 -1
  28. package/dist/esm/createComponent.js +55 -35
  29. package/dist/esm/createComponent.js.map +2 -2
  30. package/dist/esm/createTamagui.js +14 -10
  31. package/dist/esm/createTamagui.js.map +2 -2
  32. package/dist/esm/helpers/createTamaguiProvider.js +7 -7
  33. package/dist/esm/helpers/createTamaguiProvider.js.map +2 -2
  34. package/dist/esm/helpers/getSplitStyles.js +13 -8
  35. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  36. package/dist/esm/helpers/getStylesAtomic.js +6 -6
  37. package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
  38. package/dist/esm/views/Theme.js +1 -4
  39. package/dist/esm/views/Theme.js.map +2 -2
  40. package/dist/esm/views/ThemeProvider.js +3 -2
  41. package/dist/esm/views/ThemeProvider.js.map +2 -2
  42. package/dist/jsx/Tamagui.js +0 -3
  43. package/dist/jsx/ThemeManager.js +1 -1
  44. package/dist/jsx/constants/constants.js +1 -1
  45. package/dist/jsx/createComponent.js +53 -32
  46. package/dist/jsx/createTamagui.js +14 -10
  47. package/dist/jsx/helpers/createTamaguiProvider.js +4 -7
  48. package/dist/jsx/helpers/getSplitStyles.js +13 -8
  49. package/dist/jsx/helpers/getStylesAtomic.js +6 -6
  50. package/dist/jsx/views/Theme.js +1 -4
  51. package/dist/jsx/views/ThemeProvider.js +3 -2
  52. package/package.json +6 -5
  53. package/reset.css +12 -7
  54. package/types/constants/constants.d.ts +1 -1
  55. package/types/constants/constants.d.ts.map +1 -1
  56. package/types/createComponent.d.ts +3 -1
  57. package/types/createComponent.d.ts.map +1 -1
  58. package/types/createTamagui.d.ts.map +1 -1
  59. package/types/helpers/createTamaguiProvider.d.ts +2 -5
  60. package/types/helpers/createTamaguiProvider.d.ts.map +1 -1
  61. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  62. package/types/helpers/getStylesAtomic.d.ts +1 -1
  63. package/types/types.d.ts +3 -1
  64. package/types/types.d.ts.map +1 -1
  65. package/types/views/ThemeProvider.d.ts +1 -0
  66. package/types/views/ThemeProvider.d.ts.map +1 -1
@@ -60,9 +60,6 @@ const getValueFromIdentifier = /* @__PURE__ */ __name((identifier) => {
60
60
  const setIdentifierValue = /* @__PURE__ */ __name((identifier, value) => {
61
61
  identifierToValue.set(identifier, value);
62
62
  }, "setIdentifierValue");
63
- if (!globalThis["Tamagui"]) {
64
- globalThis["Tamagui"] = Tamagui;
65
- }
66
63
  // Annotate the CommonJS export names for ESM import in node:
67
64
  0 && (module.exports = {
68
65
  Tamagui,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Tamagui.ts"],
4
- "sourcesContent": ["import * as Helpers from '@tamagui/helpers'\n\nimport { getConfig } from './conf'\nimport { rnw } from './constants/rnw'\nimport { getAllSelectors, getAllTransforms, getInsertedRules } from './helpers/insertStyleRule'\n\n// serves a central store for state\n\nclass TamaguiManager {\n rnw = rnw\n Helpers = Helpers\n\n get config() {\n return getConfig()\n }\n\n get insertedRules() {\n return getInsertedRules()\n }\n\n get allSelectors() {\n return getAllSelectors()\n }\n\n get allTransforms() {\n return getAllTransforms()\n }\n\n get identifierToValue() {\n return identifierToValue\n }\n}\n\nexport const Tamagui = new TamaguiManager()\n\nconst identifierToValue = new Map<string, any>()\n\nexport const getValueFromIdentifier = (identifier: string) => {\n return identifierToValue.get(identifier)\n}\n\nexport const setIdentifierValue = (identifier: string, value: any) => {\n identifierToValue.set(identifier, value)\n}\n\nif (!globalThis['Tamagui']) {\n globalThis['Tamagui'] = Tamagui\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAAyB;AAEzB,kBAA0B;AAC1B,iBAAoB;AACpB,6BAAoE;AAIpE,MAAM,eAAe;AAAA,EAArB;AACE,eAAM;AACN,mBAAU;AAAA;AAAA,EAEV,IAAI,SAAS;AACX,WAAO,2BAAU;AAAA,EACnB;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,6CAAiB;AAAA,EAC1B;AAAA,EAEA,IAAI,eAAe;AACjB,WAAO,4CAAgB;AAAA,EACzB;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,6CAAiB;AAAA,EAC1B;AAAA,EAEA,IAAI,oBAAoB;AACtB,WAAO;AAAA,EACT;AACF;AAvBM;AAyBC,MAAM,UAAU,IAAI,eAAe;AAE1C,MAAM,oBAAoB,oBAAI,IAAiB;AAExC,MAAM,yBAAyB,wBAAC,eAAuB;AAC5D,SAAO,kBAAkB,IAAI,UAAU;AACzC,GAFsC;AAI/B,MAAM,qBAAqB,wBAAC,YAAoB,UAAe;AACpE,oBAAkB,IAAI,YAAY,KAAK;AACzC,GAFkC;AAIlC,IAAI,CAAC,WAAW,YAAY;AAC1B,aAAW,aAAa;AAC1B;",
4
+ "sourcesContent": ["import * as Helpers from '@tamagui/helpers'\n\nimport { getConfig } from './conf'\nimport { rnw } from './constants/rnw'\nimport { getAllSelectors, getAllTransforms, getInsertedRules } from './helpers/insertStyleRule'\n\n// serves a central store for state\n\nclass TamaguiManager {\n rnw = rnw\n Helpers = Helpers\n\n get config() {\n return getConfig()\n }\n\n get insertedRules() {\n return getInsertedRules()\n }\n\n get allSelectors() {\n return getAllSelectors()\n }\n\n get allTransforms() {\n return getAllTransforms()\n }\n\n get identifierToValue() {\n return identifierToValue\n }\n}\n\nexport const Tamagui = new TamaguiManager()\n\nconst identifierToValue = new Map<string, any>()\n\nexport const getValueFromIdentifier = (identifier: string) => {\n return identifierToValue.get(identifier)\n}\n\nexport const setIdentifierValue = (identifier: string, value: any) => {\n identifierToValue.set(identifier, value)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAAyB;AAEzB,kBAA0B;AAC1B,iBAAoB;AACpB,6BAAoE;AAIpE,MAAM,eAAe;AAAA,EAArB;AACE,eAAM;AACN,mBAAU;AAAA;AAAA,EAEV,IAAI,SAAS;AACX,WAAO,2BAAU;AAAA,EACnB;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,6CAAiB;AAAA,EAC1B;AAAA,EAEA,IAAI,eAAe;AACjB,WAAO,4CAAgB;AAAA,EACzB;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,6CAAiB;AAAA,EAC1B;AAAA,EAEA,IAAI,oBAAoB;AACtB,WAAO;AAAA,EACT;AACF;AAvBM;AAyBC,MAAM,UAAU,IAAI,eAAe;AAE1C,MAAM,oBAAoB,oBAAI,IAAiB;AAExC,MAAM,yBAAyB,wBAAC,eAAuB;AAC5D,SAAO,kBAAkB,IAAI,UAAU;AACzC,GAFsC;AAI/B,MAAM,qBAAqB,wBAAC,YAAoB,UAAe;AACpE,oBAAkB,IAAI,YAAY,KAAK;AACzC,GAFkC;",
6
6
  "names": []
7
7
  }
@@ -208,7 +208,7 @@ class ThemeManager {
208
208
  __name(ThemeManager, "ThemeManager");
209
209
  _getClassName = new WeakSet();
210
210
  getClassName_fn = /* @__PURE__ */ __name(function(name) {
211
- return `${import_constants.THEME_CLASSNAME_PREFIX}${name} tui_theme`.replace("light_", "").replace("dark_", "");
211
+ return `${import_constants.THEME_CLASSNAME_PREFIX}${name} t_Theme`.replace("light_", "").replace("dark_", "");
212
212
  }, "#getClassName");
213
213
  const ThemeManagerContext = (0, import_react.createContext)(null);
214
214
  const emptyManager = new ThemeManager();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ThemeManager.tsx"],
4
- "sourcesContent": ["import { createContext } from 'react'\n\nimport { getThemes } from './conf'\nimport { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from './constants/constants'\nimport { ThemeObject, Themes } from './types'\n\ntype ThemeListener = (name: string | null, themeManager: ThemeManager) => void\n\nexport type SetActiveThemeProps = {\n className?: string\n parentManager?: ThemeManager | null\n name?: string | null\n theme?: any\n}\n\nexport type GetNextThemeProps = {\n themes?: Themes\n name?: string | null\n componentName?: string | null\n reset?: boolean\n}\n\nexport class ThemeManager {\n keys = new Map<any, Set<string>>()\n listeners = new Map<any, Function>()\n themeListeners = new Set<ThemeListener>()\n className: string | null = null\n\n constructor(\n public name: string = '',\n public theme: ThemeObject | null = null,\n public parentManager: ThemeManager | null = null,\n public reset: boolean = false\n ) {\n // find the nearest different parentManager\n let parent = parentManager\n let tries = 0\n while (true) {\n tries++\n if (tries > 10) {\n throw new Error(`Nested 10 of the same theme in a row, likely error`)\n }\n if (!parent) break\n if (parent.name === name) {\n // go up if same\n parent = parent.parentManager\n } else {\n this.parentManager = parent\n break\n }\n }\n }\n\n get parentName() {\n return this.parentManager?.name || null\n }\n\n get fullName(): string {\n return this.getNextTheme().name || this.name || ''\n // const parentName = this.parentManager?.fullName || ''\n // const name = this.name || ''\n // const parts = [...new Set([...`${parentName}_${name}`.split('_')])].filter(Boolean)\n // return parts.join('_')\n }\n\n // gets value going up to parents\n getValue(key: string) {\n let theme = this.theme\n let manager = this as ThemeManager | null\n while (true) {\n if (!theme) return\n if (key in theme) {\n return theme[key]\n }\n manager = this.parentManager\n if (!manager) {\n return\n }\n if (manager.theme === theme) {\n return\n }\n theme = manager.theme\n }\n }\n\n update({ name, theme, className }: SetActiveThemeProps = {}) {\n // className compare on web, avoids light/dark re-renders\n const nameChanged = name !== this.name\n if (!nameChanged) {\n return false\n }\n this.className = className || null\n this.name = name || ''\n this.theme = theme\n this.notifyListeners()\n return true\n }\n\n getNextTheme(props: GetNextThemeProps = {}, debug?: any) {\n const { themes = getThemes(), name, componentName } = props\n\n if (props.reset && name) {\n return {\n name: name,\n theme: themes[name],\n className: this.#getClassName(name),\n }\n }\n\n const parentIsReset = this.parentManager?.reset\n\n if (!name) {\n if (componentName) {\n // allow for _Card_Button or just _Button\n const names = [\n `${this.name}_${componentName}`,\n `${withoutComponentName(this.name)}_${componentName}`,\n ]\n for (const name of names) {\n if (name in themes) {\n const className = this.#getClassName(name)\n return { name, theme: themes[name], className }\n }\n }\n }\n return {\n name: this.name,\n theme: this.theme,\n }\n }\n\n let nextName = name || this.name || ''\n let parentName = parentIsReset ? this.parentName || this.fullName : this.fullName\n\n while (true) {\n if (nextName in themes) {\n break\n }\n nextName = `${parentName}_${name}`\n if (nextName in themes) {\n break\n }\n if (!parentName.includes(THEME_NAME_SEPARATOR)) {\n // not found!\n console.warn('theme not found', name)\n // this happens in next during _document.getInitialProps and has a terrible/non-existent stack trace\n // throw new Error(`Theme not found: ${name}`)\n break\n }\n // go up one\n parentName = parentName.slice(0, parentName.lastIndexOf(THEME_NAME_SEPARATOR))\n }\n\n if (componentName) {\n // allow for _Card_Button or just _Button\n const names = [\n `${nextName}_${componentName}`,\n `${withoutComponentName(nextName)}_${componentName}`,\n ]\n for (const name of names) {\n if (name in themes) {\n nextName = name\n }\n }\n }\n\n let theme = themes[nextName]\n if (!theme) {\n theme = themes[`light_${nextName}`]\n }\n\n if (process.env.NODE_ENV === 'development' && debug) {\n console.log('getNextTheme', { props, nextName, parentName }, this)\n }\n\n return {\n name: nextName,\n theme,\n className: this.#getClassName(nextName),\n }\n }\n\n #getClassName(name: string) {\n return `${THEME_CLASSNAME_PREFIX}${name} tui_theme`.replace('light_', '').replace('dark_', '')\n }\n\n track(uuid: any, keys: Set<string>) {\n if (!this.name) return\n this.keys.set(uuid, keys)\n }\n\n notifyListeners() {\n if (!this.name) {\n this.keys.clear()\n }\n for (const [uuid, keys] of this.keys.entries()) {\n if (keys.size) {\n this.listeners.get(uuid)?.()\n }\n }\n this.themeListeners.forEach((cb) => cb(this.name, this))\n }\n\n onChangeTheme(cb: ThemeListener) {\n this.themeListeners.add(cb)\n return () => {\n this.themeListeners.delete(cb)\n }\n }\n\n onUpdate(uuid: any, cb: Function) {\n this.listeners.set(uuid, cb)\n return () => {\n this.listeners.delete(uuid)\n this.keys.delete(uuid)\n }\n }\n}\n\nexport const ThemeManagerContext = createContext<ThemeManager | null>(null)\nexport const emptyManager = new ThemeManager()\n\nconst withoutComponentName = (name: string) => name.replace(/(\\_[A-Z][a-zA-Z]+)+$/g, '')\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { createContext } from 'react'\n\nimport { getThemes } from './conf'\nimport { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from './constants/constants'\nimport { ThemeObject, Themes } from './types'\n\ntype ThemeListener = (name: string | null, themeManager: ThemeManager) => void\n\nexport type SetActiveThemeProps = {\n className?: string\n parentManager?: ThemeManager | null\n name?: string | null\n theme?: any\n}\n\nexport type GetNextThemeProps = {\n themes?: Themes\n name?: string | null\n componentName?: string | null\n reset?: boolean\n}\n\nexport class ThemeManager {\n keys = new Map<any, Set<string>>()\n listeners = new Map<any, Function>()\n themeListeners = new Set<ThemeListener>()\n className: string | null = null\n\n constructor(\n public name: string = '',\n public theme: ThemeObject | null = null,\n public parentManager: ThemeManager | null = null,\n public reset: boolean = false\n ) {\n // find the nearest different parentManager\n let parent = parentManager\n let tries = 0\n while (true) {\n tries++\n if (tries > 10) {\n throw new Error(`Nested 10 of the same theme in a row, likely error`)\n }\n if (!parent) break\n if (parent.name === name) {\n // go up if same\n parent = parent.parentManager\n } else {\n this.parentManager = parent\n break\n }\n }\n }\n\n get parentName() {\n return this.parentManager?.name || null\n }\n\n get fullName(): string {\n return this.getNextTheme().name || this.name || ''\n // const parentName = this.parentManager?.fullName || ''\n // const name = this.name || ''\n // const parts = [...new Set([...`${parentName}_${name}`.split('_')])].filter(Boolean)\n // return parts.join('_')\n }\n\n // gets value going up to parents\n getValue(key: string) {\n let theme = this.theme\n let manager = this as ThemeManager | null\n while (true) {\n if (!theme) return\n if (key in theme) {\n return theme[key]\n }\n manager = this.parentManager\n if (!manager) {\n return\n }\n if (manager.theme === theme) {\n return\n }\n theme = manager.theme\n }\n }\n\n update({ name, theme, className }: SetActiveThemeProps = {}) {\n // className compare on web, avoids light/dark re-renders\n const nameChanged = name !== this.name\n if (!nameChanged) {\n return false\n }\n this.className = className || null\n this.name = name || ''\n this.theme = theme\n this.notifyListeners()\n return true\n }\n\n getNextTheme(props: GetNextThemeProps = {}, debug?: any) {\n const { themes = getThemes(), name, componentName } = props\n\n if (props.reset && name) {\n return {\n name: name,\n theme: themes[name],\n className: this.#getClassName(name),\n }\n }\n\n const parentIsReset = this.parentManager?.reset\n\n if (!name) {\n if (componentName) {\n // allow for _Card_Button or just _Button\n const names = [\n `${this.name}_${componentName}`,\n `${withoutComponentName(this.name)}_${componentName}`,\n ]\n for (const name of names) {\n if (name in themes) {\n const className = this.#getClassName(name)\n return { name, theme: themes[name], className }\n }\n }\n }\n return {\n name: this.name,\n theme: this.theme,\n }\n }\n\n let nextName = name || this.name || ''\n let parentName = parentIsReset ? this.parentName || this.fullName : this.fullName\n\n while (true) {\n if (nextName in themes) {\n break\n }\n nextName = `${parentName}_${name}`\n if (nextName in themes) {\n break\n }\n if (!parentName.includes(THEME_NAME_SEPARATOR)) {\n // not found!\n console.warn('theme not found', name)\n // this happens in next during _document.getInitialProps and has a terrible/non-existent stack trace\n // throw new Error(`Theme not found: ${name}`)\n break\n }\n // go up one\n parentName = parentName.slice(0, parentName.lastIndexOf(THEME_NAME_SEPARATOR))\n }\n\n if (componentName) {\n // allow for _Card_Button or just _Button\n const names = [\n `${nextName}_${componentName}`,\n `${withoutComponentName(nextName)}_${componentName}`,\n ]\n for (const name of names) {\n if (name in themes) {\n nextName = name\n }\n }\n }\n\n let theme = themes[nextName]\n if (!theme) {\n theme = themes[`light_${nextName}`]\n }\n\n if (process.env.NODE_ENV === 'development' && debug) {\n console.log('getNextTheme', { props, nextName, parentName }, this)\n }\n\n return {\n name: nextName,\n theme,\n className: this.#getClassName(nextName),\n }\n }\n\n #getClassName(name: string) {\n return `${THEME_CLASSNAME_PREFIX}${name} t_Theme`.replace('light_', '').replace('dark_', '')\n }\n\n track(uuid: any, keys: Set<string>) {\n if (!this.name) return\n this.keys.set(uuid, keys)\n }\n\n notifyListeners() {\n if (!this.name) {\n this.keys.clear()\n }\n for (const [uuid, keys] of this.keys.entries()) {\n if (keys.size) {\n this.listeners.get(uuid)?.()\n }\n }\n this.themeListeners.forEach((cb) => cb(this.name, this))\n }\n\n onChangeTheme(cb: ThemeListener) {\n this.themeListeners.add(cb)\n return () => {\n this.themeListeners.delete(cb)\n }\n }\n\n onUpdate(uuid: any, cb: Function) {\n this.listeners.set(uuid, cb)\n return () => {\n this.listeners.delete(uuid)\n this.keys.delete(uuid)\n }\n }\n}\n\nexport const ThemeManagerContext = createContext<ThemeManager | null>(null)\nexport const emptyManager = new ThemeManager()\n\nconst withoutComponentName = (name: string) => name.replace(/(\\_[A-Z][a-zA-Z]+)+$/g, '')\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -38,7 +38,7 @@ __export(constants_exports, {
38
38
  module.exports = __toCommonJS(constants_exports);
39
39
  var import_platform = require("./platform");
40
40
  const THEME_NAME_SEPARATOR = "_";
41
- const THEME_CLASSNAME_PREFIX = `tui_`;
41
+ const THEME_CLASSNAME_PREFIX = `t_`;
42
42
  const stackDefaultStyles = __spreadValues({
43
43
  alignItems: "stretch",
44
44
  flexShrink: 0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/constants/constants.ts"],
4
- "sourcesContent": ["import { isWeb } from './platform'\n\nexport const THEME_NAME_SEPARATOR = '_'\nexport const THEME_CLASSNAME_PREFIX = `tui_`\n\nexport const stackDefaultStyles = {\n alignItems: 'stretch',\n flexShrink: 0,\n // more accurately match react-native defaults on web\n ...(isWeb && {\n display: 'flex',\n flexBasis: 'auto',\n boxSizing: 'border-box',\n }),\n}\n"],
4
+ "sourcesContent": ["import { isWeb } from './platform'\n\nexport const THEME_NAME_SEPARATOR = '_'\nexport const THEME_CLASSNAME_PREFIX = `t_`\n\nexport const stackDefaultStyles = {\n alignItems: 'stretch',\n flexShrink: 0,\n // more accurately match react-native defaults on web\n ...(isWeb && {\n display: 'flex',\n flexBasis: 'auto',\n boxSizing: 'border-box',\n }),\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsB;AAEf,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAE/B,MAAM,qBAAqB;AAAA,EAChC,YAAY;AAAA,EACZ,YAAY;AAAA,GAER,yBAAS;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -84,14 +84,14 @@ var import_Pressability = require("./Pressability");
84
84
  var import_Slot = require("./views/Slot");
85
85
  var import_TextAncestorContext = require("./views/TextAncestorContext");
86
86
  import_react.default["keep"];
87
- const defaultComponentState = {
87
+ const defaultComponentState = Object.freeze({
88
88
  hover: false,
89
89
  press: false,
90
90
  pressIn: false,
91
91
  focus: false,
92
92
  mounted: false,
93
93
  animation: null
94
- };
94
+ });
95
95
  const mouseUps = /* @__PURE__ */ new Set();
96
96
  if (typeof document !== "undefined") {
97
97
  document.addEventListener("mouseup", () => {
@@ -132,18 +132,6 @@ function createComponent(configIn, ParentComponent) {
132
132
  let defaultNativeStyleSheet;
133
133
  let tamaguiDefaultProps;
134
134
  let initialSplitStyles;
135
- function addPseudoToStyles(styles, name, pseudos) {
136
- const pseudoStyle = pseudos[name];
137
- const shouldNestObject = import_platform.isWeb && name !== "enterStyle" && name !== "exitStyle";
138
- const defaultPseudoStyle = initialSplitStyles.pseudos[name];
139
- if (defaultPseudoStyle) {
140
- styles.push(shouldNestObject ? { [name]: defaultPseudoStyle } : defaultPseudoStyle);
141
- }
142
- if (pseudoStyle) {
143
- styles.push(shouldNestObject ? { [name]: pseudoStyle } : pseudoStyle);
144
- }
145
- }
146
- __name(addPseudoToStyles, "addPseudoToStyles");
147
135
  const component = (0, import_react.forwardRef)((propsIn, forwardedRef) => {
148
136
  var _a, _d, _e, _f;
149
137
  let props;
@@ -169,10 +157,17 @@ function createComponent(configIn, ParentComponent) {
169
157
  }
170
158
  const forceUpdate = (0, import_use_force_update.useForceUpdate)();
171
159
  const theme = (0, import_useTheme.useTheme)(props.theme, componentName, props, forceUpdate);
172
- const [state, set_] = (0, import_react.useState)(defaultComponentState);
173
- const setStateShallow = (0, import_createShallowUpdate.createShallowUpdate)(set_);
160
+ const statesUsed = (0, import_react.useState)(defaultComponentState);
161
+ const setStateShallow = (0, import_createShallowUpdate.createShallowUpdate)(statesUsed[1]);
162
+ let state = statesUsed[0];
163
+ if (propsIn.forceStyle) {
164
+ state = __spreadProps(__spreadValues({}, state), {
165
+ [propsIn.forceStyle]: true
166
+ });
167
+ }
174
168
  const shouldAvoidClasses = !!(props.animation && avoidClasses);
175
- const splitStyleState = !shouldAvoidClasses ? __spreadProps(__spreadValues({}, state), {
169
+ const shouldForcePseudo = !!propsIn.forceStyle;
170
+ const splitStyleState = !shouldAvoidClasses && !shouldForcePseudo ? __spreadProps(__spreadValues({}, state), {
176
171
  dynamicStylesInline: true
177
172
  }) : __spreadProps(__spreadValues({}, state), {
178
173
  noClassNames: true,
@@ -216,6 +211,7 @@ function createComponent(configIn, ParentComponent) {
216
211
  onMouseLeave,
217
212
  hrefAttrs,
218
213
  separator,
214
+ forceStyle: _forceStyle,
219
215
  onClick,
220
216
  theme: _themeProp,
221
217
  defaultVariants
@@ -237,6 +233,7 @@ function createComponent(configIn, ParentComponent) {
237
233
  "onMouseLeave",
238
234
  "hrefAttrs",
239
235
  "separator",
236
+ "forceStyle",
240
237
  "onClick",
241
238
  "theme",
242
239
  "defaultVariants"
@@ -490,7 +487,7 @@ function createComponent(configIn, ParentComponent) {
490
487
  }, [hasEnterStyle, props.animation]);
491
488
  let styles;
492
489
  const animationStyles = state.animation ? state.animation.style : null;
493
- if (isStringElement && shouldAvoidClasses) {
490
+ if (isStringElement && shouldAvoidClasses && !shouldForcePseudo) {
494
491
  styles = __spreadValues(__spreadValues(__spreadValues({}, defaultNativeStyle), animationStyles ?? style), medias);
495
492
  } else {
496
493
  styles = [
@@ -499,10 +496,24 @@ function createComponent(configIn, ParentComponent) {
499
496
  medias
500
497
  ];
501
498
  if (!animationStyles) {
502
- !state.mounted && addPseudoToStyles(styles, "enterStyle", pseudos);
503
- state.hover && addPseudoToStyles(styles, "hoverStyle", pseudos);
504
- state.focus && addPseudoToStyles(styles, "focusStyle", pseudos);
505
- state.press && addPseudoToStyles(styles, "pressStyle", pseudos);
499
+ const initPseudos = initialSplitStyles.pseudos;
500
+ const force = shouldForcePseudo;
501
+ !state.mounted && addPseudoToStyles(styles, initPseudos, pseudos, "enterStyle");
502
+ state.hover && addPseudoToStyles(styles, initPseudos, pseudos, "hoverStyle", force);
503
+ state.focus && addPseudoToStyles(styles, initPseudos, pseudos, "focusStyle", force);
504
+ state.press && addPseudoToStyles(styles, initPseudos, pseudos, "pressStyle", force);
505
+ if (props["debug"]) {
506
+ console.log("wtf", state, styles);
507
+ }
508
+ }
509
+ if (shouldForcePseudo) {
510
+ const next = {};
511
+ for (const style2 of styles) {
512
+ if (style2) {
513
+ Object.assign(next, style2);
514
+ }
515
+ }
516
+ Object.assign(splitStyles.style, next);
506
517
  }
507
518
  }
508
519
  if (import_platform.isWeb) {
@@ -705,7 +716,7 @@ function createComponent(configIn, ParentComponent) {
705
716
  const shouldWrapWithHover = events && attachHover;
706
717
  if (shouldWrapWithHover || shouldWrapWithComponentTheme) {
707
718
  const themeClassName = shouldWrapWithComponentTheme ? `${theme.className}` : "";
708
- const hoverClassName = shouldWrapWithHover ? "tui_Hoverable" : "";
719
+ const hoverClassName = shouldWrapWithHover ? "t_Hoverable" : "";
709
720
  content = /* @__PURE__ */ import_react.default.createElement("span", __spreadValues({
710
721
  className: `${hoverClassName} ${themeClassName}`,
711
722
  style: {
@@ -881,11 +892,11 @@ function spacedChildren({
881
892
  }) {
882
893
  const hasSpace = !!(space || spaceFlex);
883
894
  const hasSeparator = !(separator === void 0 || separator === null);
884
- if (!hasSpace && !hasSeparator) {
895
+ if (!hasSpace && !hasSeparator && !isZStack) {
885
896
  return children;
886
897
  }
887
898
  const childrenList = import_react.Children.toArray(children);
888
- if (childrenList.length <= 1) {
899
+ if (childrenList.length <= 1 && !isZStack) {
889
900
  return childrenList;
890
901
  }
891
902
  const final = [];
@@ -898,6 +909,12 @@ function spacedChildren({
898
909
  key: index
899
910
  }, isZStack ? /* @__PURE__ */ import_react.default.createElement(AbsoluteFill, null, child) : child));
900
911
  }
912
+ if (isUnspaced(child) && index === 0) {
913
+ continue;
914
+ }
915
+ if (isZStack) {
916
+ continue;
917
+ }
901
918
  const next = childrenList[index + 1];
902
919
  if (next && !isUnspaced(next)) {
903
920
  if (separator) {
@@ -947,17 +964,10 @@ function isUnspaced(child) {
947
964
  }
948
965
  __name(isUnspaced, "isUnspaced");
949
966
  function AbsoluteFill(props) {
950
- return import_platform.isWeb ? /* @__PURE__ */ import_react.default.createElement("div", {
951
- style: {
952
- position: "absolute",
953
- top: 0,
954
- left: 0,
955
- right: 0,
956
- bottom: 0
957
- }
958
- }, props.children) : /* @__PURE__ */ import_react.default.createElement(import_react_native.View, {
967
+ return /* @__PURE__ */ import_react.default.createElement(import_react_native.View, {
968
+ pointerEvents: "box-none",
959
969
  style: import_react_native.StyleSheet.absoluteFill
960
- }, props.child);
970
+ }, props.children);
961
971
  }
962
972
  __name(AbsoluteFill, "AbsoluteFill");
963
973
  function processIDRefList(idRefList) {
@@ -1138,6 +1148,16 @@ function assignNativePropsToWeb(elementType, viewProps, nativeProps) {
1138
1148
  }
1139
1149
  }
1140
1150
  __name(assignNativePropsToWeb, "assignNativePropsToWeb");
1151
+ function addPseudoToStyles(styles, initialPseudos, pseudos, name, force = false) {
1152
+ const pseudoStyle = pseudos[name];
1153
+ const shouldNestObject = import_platform.isWeb && name !== "enterStyle" && name !== "exitStyle";
1154
+ const defaultPseudoStyle = initialPseudos[name];
1155
+ const style = defaultPseudoStyle ? __spreadValues(__spreadValues({}, defaultPseudoStyle), pseudoStyle) : pseudoStyle;
1156
+ if (style) {
1157
+ styles.push(shouldNestObject && !force ? { [name]: style } : style);
1158
+ }
1159
+ }
1160
+ __name(addPseudoToStyles, "addPseudoToStyles");
1141
1161
  // Annotate the CommonJS export names for ESM import in node:
1142
1162
  0 && (module.exports = {
1143
1163
  AbsoluteFill,