@tamagui/web 3.0.0-beta.1604.1 → 3.0.0-beta.1670.1

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 (76) hide show
  1. package/dist/cjs/createComponent.native.cjs +1 -1
  2. package/dist/cjs/createComponent.native.js +1 -1
  3. package/dist/cjs/createComponent.native.js.map +1 -1
  4. package/dist/cjs/createTamagui.cjs +10 -8
  5. package/dist/cjs/createTamagui.native.cjs +10 -8
  6. package/dist/cjs/createTamagui.native.js +10 -8
  7. package/dist/cjs/createTamagui.native.js.map +1 -1
  8. package/dist/cjs/eventHandling.native.cjs +28 -4
  9. package/dist/cjs/eventHandling.native.js +28 -4
  10. package/dist/cjs/eventHandling.native.js.map +1 -1
  11. package/dist/cjs/helpers/getSplitStyles.cjs +5 -7
  12. package/dist/cjs/helpers/getSplitStyles.native.cjs +6 -8
  13. package/dist/cjs/helpers/getSplitStyles.native.js +6 -8
  14. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  15. package/dist/cjs/helpers/proxyThemeToParents.cjs +2 -1
  16. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +2 -1
  17. package/dist/cjs/helpers/proxyThemeToParents.native.js +2 -1
  18. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  19. package/dist/cjs/helpers/themes.cjs +19 -11
  20. package/dist/cjs/helpers/themes.native.cjs +19 -11
  21. package/dist/cjs/helpers/themes.native.js +19 -11
  22. package/dist/cjs/helpers/themes.native.js.map +1 -1
  23. package/dist/cjs/hooks/useThemeState.cjs +9 -19
  24. package/dist/cjs/hooks/useThemeState.native.cjs +16 -22
  25. package/dist/cjs/hooks/useThemeState.native.js +16 -22
  26. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  27. package/dist/cjs/internal-runtime.cjs +2 -0
  28. package/dist/cjs/internal-runtime.native.cjs +2 -0
  29. package/dist/cjs/internal-runtime.native.js +2 -0
  30. package/dist/cjs/internal-runtime.native.js.map +1 -1
  31. package/dist/esm/createComponent.native.js +1 -1
  32. package/dist/esm/createComponent.native.js.map +1 -1
  33. package/dist/esm/createTamagui.mjs +11 -9
  34. package/dist/esm/createTamagui.mjs.map +1 -1
  35. package/dist/esm/createTamagui.native.js +11 -9
  36. package/dist/esm/createTamagui.native.js.map +1 -1
  37. package/dist/esm/eventHandling.native.js +28 -4
  38. package/dist/esm/eventHandling.native.js.map +1 -1
  39. package/dist/esm/helpers/getSplitStyles.mjs +5 -7
  40. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  41. package/dist/esm/helpers/getSplitStyles.native.js +6 -8
  42. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  43. package/dist/esm/helpers/proxyThemeToParents.mjs +3 -1
  44. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  45. package/dist/esm/helpers/proxyThemeToParents.native.js +3 -1
  46. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  47. package/dist/esm/helpers/themes.mjs +15 -11
  48. package/dist/esm/helpers/themes.mjs.map +1 -1
  49. package/dist/esm/helpers/themes.native.js +15 -11
  50. package/dist/esm/helpers/themes.native.js.map +1 -1
  51. package/dist/esm/hooks/useThemeState.mjs +8 -20
  52. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  53. package/dist/esm/hooks/useThemeState.native.js +16 -22
  54. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  55. package/dist/esm/internal-runtime.mjs +3 -2
  56. package/dist/esm/internal-runtime.mjs.map +1 -1
  57. package/dist/esm/internal-runtime.native.js +3 -2
  58. package/dist/esm/internal-runtime.native.js.map +1 -1
  59. package/package.json +17 -17
  60. package/src/createComponent.tsx +1 -1
  61. package/src/createTamagui.ts +17 -21
  62. package/src/eventHandling.native.ts +24 -3
  63. package/src/helpers/getSplitStyles.tsx +13 -8
  64. package/src/helpers/proxyThemeToParents.ts +2 -1
  65. package/src/helpers/themes.ts +17 -11
  66. package/src/hooks/useThemeState.ts +15 -35
  67. package/src/internal-runtime.ts +6 -1
  68. package/types/createTamagui.d.ts.map +1 -1
  69. package/types/eventHandling.native.d.ts.map +1 -1
  70. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  71. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  72. package/types/helpers/themes.d.ts +2 -0
  73. package/types/helpers/themes.d.ts.map +1 -1
  74. package/types/hooks/useThemeState.d.ts.map +1 -1
  75. package/types/internal-runtime.d.ts +1 -0
  76. package/types/internal-runtime.d.ts.map +1 -1
@@ -6,7 +6,7 @@ import { defaultSizing } from "./helpers/resolveSizing.native.js";
6
6
  import { buildCSSRuleSets, createFontCSS, createThemeCSS, createTokenCSS, getCSS } from "./helpers/createDesignSystem.native.js";
7
7
  import { scanAllSheets } from "./helpers/insertStyleRule.native.js";
8
8
  import { proxyThemesToParents } from "./helpers/proxyThemeToParents.native.js";
9
- import { ensureThemeVariable } from "./helpers/themes.native.js";
9
+ import { copyAuthoredThemeScheme, ensureThemeVariable, getAuthoredThemeScheme } from "./helpers/themes.native.js";
10
10
  import { mergeConfigVariablesIntoTheme } from "./helpers/configVariables.native.js";
11
11
  import { configureMedia } from "./hooks/useMedia.native.js";
12
12
  import { parseFont, registerFontVariables } from "./insertFont.native.js";
@@ -141,7 +141,7 @@ function createTamagui(configIn) {
141
141
  var fontDeclarations = createFontCSS(fontsParsed, registerFontVariables);
142
142
  var cssRuleSets = buildCSSRuleSets(declarations, fontDeclarations, defaultFontToken);
143
143
  var themesIn = configIn.themes;
144
- var dedupedThemes = foundThemes !== null && foundThemes !== void 0 ? foundThemes : getThemesDeduped(themesIn, tokens.color, configIn.variables, { tokensParsed });
144
+ var dedupedThemes = foundThemes !== null && foundThemes !== void 0 ? foundThemes : getThemesDeduped(themesIn, tokensParsed, configIn.variables);
145
145
  var themes = proxyThemesToParents(dedupedThemes, Object.keys(themesIn));
146
146
  return {
147
147
  themes,
@@ -223,7 +223,7 @@ function createTamagui(configIn) {
223
223
  }
224
224
  return config;
225
225
  }
226
- function getThemesDeduped(themes, colorTokens, variables, variablesCtx) {
226
+ function getThemesDeduped(themes, tokensParsed, variables) {
227
227
  var dedupedThemes = [];
228
228
  var existing = /* @__PURE__ */ new Map();
229
229
  var sortedThemeNames = Object.keys(themes).sort(function(a, b) {
@@ -236,21 +236,23 @@ function getThemesDeduped(themes, colorTokens, variables, variablesCtx) {
236
236
  for (var _iterator = sortedThemeNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
237
237
  var themeName = _step.value;
238
238
  var rawTheme = themes[themeName];
239
- var key = JSON.stringify(rawTheme);
240
- if (existing.has(key)) {
241
- var e = existing.get(key);
239
+ var scheme = getAuthoredThemeScheme(rawTheme);
240
+ var key = JSON.stringify(rawTheme) + scheme;
241
+ var e = existing.get(key);
242
+ if (e) {
242
243
  e.names.push(themeName);
243
244
  continue;
244
245
  }
245
246
  var theme = {
246
- ...colorTokens,
247
+ ...tokensParsed.color,
247
248
  ...rawTheme
248
249
  };
249
250
  for (var key1 in theme) {
250
251
  ensureThemeVariable(theme, key1);
251
252
  }
252
- if (variables && variablesCtx && !themeName.includes("_")) {
253
- mergeConfigVariablesIntoTheme(theme, themeName, variables, variablesCtx.tokensParsed);
253
+ copyAuthoredThemeScheme(theme, rawTheme);
254
+ if (variables && !themeName.includes("_")) {
255
+ mergeConfigVariablesIntoTheme(theme, themeName, variables, tokensParsed);
254
256
  }
255
257
  var deduped = {
256
258
  names: [themeName],
@@ -1 +1 @@
1
- {"version":3,"file":"createTamagui.native.js","names":["getCSS","getCSSHelper"],"sources":["esm/createTamagui.native.js"],"sourcesContent":["import { getConfigMaybe, setConfig, setTokens } from \"./config\";\nimport { createVariables } from \"./createVariables\";\nimport { defaultAnimationDriver } from \"./helpers/defaultAnimationDriver\";\nimport { resolveAnimationDriver } from \"./helpers/resolveAnimationDriver\";\nimport { defaultSizing } from \"./helpers/resolveSizing\";\nimport { buildCSSRuleSets, createFontCSS, createThemeCSS, createTokenCSS, getCSS as getCSSHelper } from \"./helpers/createDesignSystem\";\nimport { scanAllSheets } from \"./helpers/insertStyleRule\";\nimport { proxyThemesToParents } from \"./helpers/proxyThemeToParents\";\nimport { ensureThemeVariable } from \"./helpers/themes\";\nimport { mergeConfigVariablesIntoTheme } from \"./helpers/configVariables\";\nimport { configureMedia } from \"./hooks/useMedia\";\nimport { parseFont, registerFontVariables } from \"./insertFont\";\nimport { Tamagui } from \"./Tamagui\";\nvar reservedCssIdentsLower = /* @__PURE__ */ new Set([\n \"inherit\",\n \"initial\",\n \"unset\",\n \"revert\",\n \"none\",\n \"auto\",\n \"transparent\",\n \"currentcolor\"\n]);\nvar UNIT_CATEGORIES = /* @__PURE__ */ new Set([\n \"size\",\n \"space\",\n \"radius\",\n \"width\",\n \"minWidth\",\n \"maxWidth\",\n \"inlineSize\",\n \"minInlineSize\",\n \"maxInlineSize\",\n \"flexBasis\",\n \"outlineWidth\",\n \"outlineOffset\",\n \"perspective\"\n]);\nfunction shouldTokenCategoryHaveUnits(category) {\n return UNIT_CATEGORIES.has(category);\n}\nfunction initializeTamaguiConfig(config) {\n setConfig(config);\n configureMedia(config);\n}\nfunction installTamaguiConfig(config) {\n setTokens(config.tokensParsed);\n initializeTamaguiConfig(config);\n return config;\n}\nfunction createParsedTokens(tokensIn) {\n var parsed = createVariables(tokensIn || {});\n for (var _i = 0, _iter = [\n \"color\",\n \"space\",\n \"size\",\n \"radius\",\n \"zIndex\"\n ]; _i < _iter.length; _i++) {\n var category = _iter[_i];\n var _parsed, _category;\n (_parsed = parsed)[_category = category] || (_parsed[_category] = {});\n }\n return parsed;\n}\nfunction isNamesOnlyThemeProjection(themes) {\n var names = Object.keys(themes);\n if (names.length === 0) return false;\n return names.every(function(name) {\n var theme = themes[name];\n if (!theme || typeof theme !== \"object\") return false;\n var variables = Object.keys(theme);\n return variables.length > 0 && variables.every(function(key) {\n return theme[key] === void 0;\n });\n });\n}\nfunction createTamagui(configIn) {\n var _configIn_settings, _process_env_DEBUG;\n if (process.env.TAMAGUI_RUNTIME === \"zero\") {\n throw new Error(`[tamagui zero-runtime] createTamagui ran in a zero-runtime graph. Config parsing and CSS generation happen at build time in this mode and the bundler loads the generated CSS artifact. Remove the client config reference or make this entry full-runtime.`);\n }\n var existingConfig = getConfigMaybe();\n if (existingConfig) {\n configIn = {\n ...existingConfig,\n ...configIn\n };\n }\n var tokensParsed = createParsedTokens(configIn.tokens);\n var tokens = tokensParsed;\n if (configIn.tokens) {\n for (var cat in tokens) {\n var tokenCat = tokens[cat];\n for (var key in tokenCat) {\n if (reservedCssIdentsLower.has(key.toLowerCase())) {\n throw new Error(`Token tokens.${cat}.${key} takes a reserved CSS-wide keyword name. These always resolve as literal CSS (\"${key.toLowerCase()}\"), so this token could never be referenced. Rename it.`);\n }\n }\n }\n setTokens(tokensParsed);\n }\n var foundThemes;\n if (configIn.themes) {\n var noThemes = Object.keys(configIn.themes).length === 0;\n var namesOnlyThemes = isNamesOnlyThemeProjection(configIn.themes);\n if (noThemes || namesOnlyThemes) {\n foundThemes = scanAllSheets(true, tokensParsed);\n }\n }\n var fontSizeTokens = null;\n var fontsParsed;\n if (configIn.fonts) {\n var fontTokens = Object.fromEntries(Object.entries(configIn.fonts).map(function(param) {\n var [k, v] = param;\n return [\n k,\n createVariables(v, \"f\", true)\n ];\n }));\n fontsParsed = (function() {\n var res = {};\n for (var familyName in fontTokens) {\n var font = fontTokens[familyName];\n var fontParsed = parseFont(font);\n res[familyName] = fontParsed;\n if (!fontSizeTokens && fontParsed.size) {\n fontSizeTokens = new Set(Object.keys(fontParsed.size));\n }\n }\n return res;\n })();\n }\n var { defaultSize: _removedDefaultSize, defaultTokens: _removedDefaultTokens, ...settingsIn } = configIn.settings || {};\n var defaultFontSetting = (_configIn_settings = configIn.settings) === null || _configIn_settings === void 0 ? void 0 : _configIn_settings.defaultFont;\n var defaultFont = defaultFontSetting;\n var defaultFontToken = (defaultFont ? defaultFont : (fontsParsed === null || fontsParsed === void 0 ? void 0 : fontsParsed.body) ? \"body\" : Object.keys(fontsParsed || {})[0]) || \"\";\n if (defaultFont && !(fontsParsed === null || fontsParsed === void 0 ? void 0 : fontsParsed[defaultFontToken])) {\n throw new Error(`settings.defaultFont points to missing font \"${defaultFontToken}\". Configure fonts.${defaultFont} or choose an existing default.`);\n }\n var themeConfig = (function() {\n var declarations = createTokenCSS(tokens, shouldTokenCategoryHaveUnits);\n var fontDeclarations = createFontCSS(fontsParsed, registerFontVariables);\n var cssRuleSets = buildCSSRuleSets(declarations, fontDeclarations, defaultFontToken);\n var themesIn = configIn.themes;\n var dedupedThemes = foundThemes !== null && foundThemes !== void 0 ? foundThemes : getThemesDeduped(themesIn, tokens.color, configIn.variables, {\n tokensParsed\n });\n var themes = proxyThemesToParents(dedupedThemes, Object.keys(themesIn));\n return {\n themes,\n cssRuleSets,\n getThemeRulesSets() {\n return createThemeCSS(dedupedThemes, configIn);\n }\n };\n })();\n var userShorthands = configIn.shorthands || {};\n var shorthands = {\n ...builtinShorthands,\n ...userShorthands\n };\n var cssState = {\n lastIndex: -1,\n static: null\n };\n var getCSS = function() {\n var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n return getCSSHelper(themeConfig, opts, cssState);\n };\n var getNewCSS = function(opts) {\n return getCSS({\n ...opts,\n sinceLastCall: true\n });\n };\n var inputAnimations = configIn.animations;\n var resolvedDriver = resolveAnimationDriver(inputAnimations);\n var isMultiDriver = resolvedDriver !== null && resolvedDriver !== inputAnimations;\n var animationDrivers;\n if (isMultiDriver) {\n animationDrivers = {};\n for (var name in inputAnimations) {\n animationDrivers[name] = resolveAnimationDriver(inputAnimations[name]);\n }\n }\n var config = {\n fonts: {},\n onlyAllowShorthands: false,\n fontLanguages: [],\n media: {},\n ...configIn,\n // normalized animations (resolved from multi-driver format if needed)\n animations: resolvedDriver !== null && resolvedDriver !== void 0 ? resolvedDriver : defaultAnimationDriver,\n animationDrivers,\n settings: settingsIn,\n sizing: {\n ...defaultSizing,\n ...configIn.sizing\n },\n tokens,\n // vite made this into a function if it wasn't set\n shorthands,\n userShorthands,\n inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(function(param) {\n var [k, v] = param;\n return [\n v,\n k\n ];\n })) : {},\n themes: themeConfig.themes,\n fontsParsed: fontsParsed || {},\n themeConfig,\n tokensParsed,\n parsed: true,\n getNewCSS,\n getCSS,\n defaultFont,\n fontSizeTokens: fontSizeTokens || /* @__PURE__ */ new Set(),\n defaultFontToken\n };\n initializeTamaguiConfig(config);\n if (process.env.NODE_ENV !== \"development\") {\n return config;\n }\n if ((_process_env_DEBUG = process.env.DEBUG) === null || _process_env_DEBUG === void 0 ? void 0 : _process_env_DEBUG.startsWith(\"tamagui\")) {\n console.info(\"Tamagui config:\", config);\n }\n if (!globalThis[\"Tamagui\"]) {\n globalThis[\"Tamagui\"] = Tamagui;\n }\n return config;\n}\nfunction getThemesDeduped(themes, colorTokens, variables, variablesCtx) {\n var dedupedThemes = [];\n var existing = /* @__PURE__ */ new Map();\n var sortedThemeNames = Object.keys(themes).sort(function(a, b) {\n var aIsBase = a === \"light\" || a === \"dark\";\n var bIsBase = b === \"light\" || b === \"dark\";\n return aIsBase === bIsBase ? a.localeCompare(b) : aIsBase ? -1 : 1;\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = sortedThemeNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var themeName = _step.value;\n var rawTheme = themes[themeName];\n var key = JSON.stringify(rawTheme);\n if (existing.has(key)) {\n var e = existing.get(key);\n e.names.push(themeName);\n continue;\n }\n var theme = {\n ...colorTokens,\n ...rawTheme\n };\n for (var key1 in theme) {\n ensureThemeVariable(theme, key1);\n }\n if (variables && variablesCtx && !themeName.includes(\"_\")) {\n mergeConfigVariablesIntoTheme(theme, themeName, variables, variablesCtx.tokensParsed);\n }\n var deduped = {\n names: [\n themeName\n ],\n theme\n };\n dedupedThemes.push(deduped);\n existing.set(key, deduped);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return dedupedThemes;\n}\nvar builtinShorthands = {\n bblr: \"borderBottomLeftRadius\",\n bbrr: \"borderBottomRightRadius\",\n bbs: \"borderBottomStyle\",\n bls: \"borderLeftStyle\",\n brc: \"borderRightColor\",\n brs: \"borderRightStyle\",\n brw: \"borderRightWidth\",\n bs: \"borderStyle\",\n btc: \"borderTopColor\",\n btlr: \"borderTopLeftRadius\",\n btrr: \"borderTopRightRadius\",\n bts: \"borderTopStyle\",\n btw: \"borderTopWidth\",\n bw: \"borderWidth\",\n bxs: \"boxSizing\",\n bxsh: \"boxShadow\",\n col: \"color\",\n cur: \"cursor\",\n dsp: \"display\",\n fb: \"flexBasis\",\n fd: \"flexDirection\",\n ff: \"fontFamily\",\n fs: \"fontSize\",\n fst: \"fontStyle\",\n fw: \"fontWeight\",\n fwr: \"flexWrap\",\n // height: 'h',\n lh: \"lineHeight\",\n ls: \"letterSpacing\",\n o: \"opacity\",\n ov: \"overflow\",\n ox: \"overflowX\",\n oy: \"overflowY\",\n pe: \"pointerEvents\",\n pos: \"position\",\n td: \"textDecorationLine\",\n tr: \"transform\",\n tt: \"textTransform\",\n va: \"verticalAlign\",\n wb: \"wordBreak\",\n // width: 'w',\n ws: \"whiteSpace\",\n ww: \"wordWrap\"\n};\nexport {\n createTamagui,\n installTamaguiConfig\n};\n//# sourceMappingURL=createTamagui.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"createTamagui.native.js","names":["getCSS","getCSSHelper"],"sources":["esm/createTamagui.native.js"],"sourcesContent":["import { getConfigMaybe, setConfig, setTokens } from \"./config\";\nimport { createVariables } from \"./createVariables\";\nimport { defaultAnimationDriver } from \"./helpers/defaultAnimationDriver\";\nimport { resolveAnimationDriver } from \"./helpers/resolveAnimationDriver\";\nimport { defaultSizing } from \"./helpers/resolveSizing\";\nimport { buildCSSRuleSets, createFontCSS, createThemeCSS, createTokenCSS, getCSS as getCSSHelper } from \"./helpers/createDesignSystem\";\nimport { scanAllSheets } from \"./helpers/insertStyleRule\";\nimport { proxyThemesToParents } from \"./helpers/proxyThemeToParents\";\nimport { copyAuthoredThemeScheme, ensureThemeVariable, getAuthoredThemeScheme } from \"./helpers/themes\";\nimport { mergeConfigVariablesIntoTheme } from \"./helpers/configVariables\";\nimport { configureMedia } from \"./hooks/useMedia\";\nimport { parseFont, registerFontVariables } from \"./insertFont\";\nimport { Tamagui } from \"./Tamagui\";\nvar reservedCssIdentsLower = /* @__PURE__ */ new Set([\n \"inherit\",\n \"initial\",\n \"unset\",\n \"revert\",\n \"none\",\n \"auto\",\n \"transparent\",\n \"currentcolor\"\n]);\nvar UNIT_CATEGORIES = /* @__PURE__ */ new Set([\n \"size\",\n \"space\",\n \"radius\",\n \"width\",\n \"minWidth\",\n \"maxWidth\",\n \"inlineSize\",\n \"minInlineSize\",\n \"maxInlineSize\",\n \"flexBasis\",\n \"outlineWidth\",\n \"outlineOffset\",\n \"perspective\"\n]);\nfunction shouldTokenCategoryHaveUnits(category) {\n return UNIT_CATEGORIES.has(category);\n}\nfunction initializeTamaguiConfig(config) {\n setConfig(config);\n configureMedia(config);\n}\nfunction installTamaguiConfig(config) {\n setTokens(config.tokensParsed);\n initializeTamaguiConfig(config);\n return config;\n}\nfunction createParsedTokens(tokensIn) {\n var parsed = createVariables(tokensIn || {});\n for (var _i = 0, _iter = [\n \"color\",\n \"space\",\n \"size\",\n \"radius\",\n \"zIndex\"\n ]; _i < _iter.length; _i++) {\n var category = _iter[_i];\n var _parsed, _category;\n (_parsed = parsed)[_category = category] || (_parsed[_category] = {});\n }\n return parsed;\n}\nfunction isNamesOnlyThemeProjection(themes) {\n var names = Object.keys(themes);\n if (names.length === 0) return false;\n return names.every(function(name) {\n var theme = themes[name];\n if (!theme || typeof theme !== \"object\") return false;\n var variables = Object.keys(theme);\n return variables.length > 0 && variables.every(function(key) {\n return theme[key] === void 0;\n });\n });\n}\nfunction createTamagui(configIn) {\n var _configIn_settings, _process_env_DEBUG;\n if (process.env.TAMAGUI_RUNTIME === \"zero\") {\n throw new Error(`[tamagui zero-runtime] createTamagui ran in a zero-runtime graph. Config parsing and CSS generation happen at build time in this mode and the bundler loads the generated CSS artifact. Remove the client config reference or make this entry full-runtime.`);\n }\n var existingConfig = getConfigMaybe();\n if (existingConfig) {\n configIn = {\n ...existingConfig,\n ...configIn\n };\n }\n var tokensParsed = createParsedTokens(configIn.tokens);\n var tokens = tokensParsed;\n if (configIn.tokens) {\n for (var cat in tokens) {\n var tokenCat = tokens[cat];\n for (var key in tokenCat) {\n if (reservedCssIdentsLower.has(key.toLowerCase())) {\n throw new Error(`Token tokens.${cat}.${key} takes a reserved CSS-wide keyword name. These always resolve as literal CSS (\"${key.toLowerCase()}\"), so this token could never be referenced. Rename it.`);\n }\n }\n }\n setTokens(tokensParsed);\n }\n var foundThemes;\n if (configIn.themes) {\n var noThemes = Object.keys(configIn.themes).length === 0;\n var namesOnlyThemes = isNamesOnlyThemeProjection(configIn.themes);\n if (noThemes || namesOnlyThemes) {\n foundThemes = scanAllSheets(true, tokensParsed);\n }\n }\n var fontSizeTokens = null;\n var fontsParsed;\n if (configIn.fonts) {\n var fontTokens = Object.fromEntries(Object.entries(configIn.fonts).map(function(param) {\n var [k, v] = param;\n return [\n k,\n createVariables(v, \"f\", true)\n ];\n }));\n fontsParsed = (function() {\n var res = {};\n for (var familyName in fontTokens) {\n var font = fontTokens[familyName];\n var fontParsed = parseFont(font);\n res[familyName] = fontParsed;\n if (!fontSizeTokens && fontParsed.size) {\n fontSizeTokens = new Set(Object.keys(fontParsed.size));\n }\n }\n return res;\n })();\n }\n var { defaultSize: _removedDefaultSize, defaultTokens: _removedDefaultTokens, ...settingsIn } = configIn.settings || {};\n var defaultFontSetting = (_configIn_settings = configIn.settings) === null || _configIn_settings === void 0 ? void 0 : _configIn_settings.defaultFont;\n var defaultFont = defaultFontSetting;\n var defaultFontToken = (defaultFont ? defaultFont : (fontsParsed === null || fontsParsed === void 0 ? void 0 : fontsParsed.body) ? \"body\" : Object.keys(fontsParsed || {})[0]) || \"\";\n if (defaultFont && !(fontsParsed === null || fontsParsed === void 0 ? void 0 : fontsParsed[defaultFontToken])) {\n throw new Error(`settings.defaultFont points to missing font \"${defaultFontToken}\". Configure fonts.${defaultFont} or choose an existing default.`);\n }\n var themeConfig = (function() {\n var declarations = createTokenCSS(tokens, shouldTokenCategoryHaveUnits);\n var fontDeclarations = createFontCSS(fontsParsed, registerFontVariables);\n var cssRuleSets = buildCSSRuleSets(declarations, fontDeclarations, defaultFontToken);\n var themesIn = configIn.themes;\n var dedupedThemes = foundThemes !== null && foundThemes !== void 0 ? foundThemes : getThemesDeduped(themesIn, tokensParsed, configIn.variables);\n var themes = proxyThemesToParents(dedupedThemes, Object.keys(themesIn));\n return {\n themes,\n cssRuleSets,\n getThemeRulesSets() {\n return createThemeCSS(dedupedThemes, configIn);\n }\n };\n })();\n var userShorthands = configIn.shorthands || {};\n var shorthands = {\n ...builtinShorthands,\n ...userShorthands\n };\n var cssState = {\n lastIndex: -1,\n static: null\n };\n var getCSS = function() {\n var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n return getCSSHelper(themeConfig, opts, cssState);\n };\n var getNewCSS = function(opts) {\n return getCSS({\n ...opts,\n sinceLastCall: true\n });\n };\n var inputAnimations = configIn.animations;\n var resolvedDriver = resolveAnimationDriver(inputAnimations);\n var isMultiDriver = resolvedDriver !== null && resolvedDriver !== inputAnimations;\n var animationDrivers;\n if (isMultiDriver) {\n animationDrivers = {};\n for (var name in inputAnimations) {\n animationDrivers[name] = resolveAnimationDriver(inputAnimations[name]);\n }\n }\n var config = {\n fonts: {},\n onlyAllowShorthands: false,\n fontLanguages: [],\n media: {},\n ...configIn,\n // normalized animations (resolved from multi-driver format if needed)\n animations: resolvedDriver !== null && resolvedDriver !== void 0 ? resolvedDriver : defaultAnimationDriver,\n animationDrivers,\n settings: settingsIn,\n sizing: {\n ...defaultSizing,\n ...configIn.sizing\n },\n tokens,\n // vite made this into a function if it wasn't set\n shorthands,\n userShorthands,\n inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(function(param) {\n var [k, v] = param;\n return [\n v,\n k\n ];\n })) : {},\n themes: themeConfig.themes,\n fontsParsed: fontsParsed || {},\n themeConfig,\n tokensParsed,\n parsed: true,\n getNewCSS,\n getCSS,\n defaultFont,\n fontSizeTokens: fontSizeTokens || /* @__PURE__ */ new Set(),\n defaultFontToken\n };\n initializeTamaguiConfig(config);\n if (process.env.NODE_ENV !== \"development\") {\n return config;\n }\n if ((_process_env_DEBUG = process.env.DEBUG) === null || _process_env_DEBUG === void 0 ? void 0 : _process_env_DEBUG.startsWith(\"tamagui\")) {\n console.info(\"Tamagui config:\", config);\n }\n if (!globalThis[\"Tamagui\"]) {\n globalThis[\"Tamagui\"] = Tamagui;\n }\n return config;\n}\nfunction getThemesDeduped(themes, tokensParsed, variables) {\n var dedupedThemes = [];\n var existing = /* @__PURE__ */ new Map();\n var sortedThemeNames = Object.keys(themes).sort(function(a, b) {\n var aIsBase = a === \"light\" || a === \"dark\";\n var bIsBase = b === \"light\" || b === \"dark\";\n return aIsBase === bIsBase ? a.localeCompare(b) : aIsBase ? -1 : 1;\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = sortedThemeNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var themeName = _step.value;\n var rawTheme = themes[themeName];\n var scheme = getAuthoredThemeScheme(rawTheme);\n var key = JSON.stringify(rawTheme) + scheme;\n var e = existing.get(key);\n if (e) {\n e.names.push(themeName);\n continue;\n }\n var theme = {\n ...tokensParsed.color,\n ...rawTheme\n };\n for (var key1 in theme) {\n ensureThemeVariable(theme, key1);\n }\n copyAuthoredThemeScheme(theme, rawTheme);\n if (variables && !themeName.includes(\"_\")) {\n mergeConfigVariablesIntoTheme(theme, themeName, variables, tokensParsed);\n }\n var deduped = {\n names: [\n themeName\n ],\n theme\n };\n dedupedThemes.push(deduped);\n existing.set(key, deduped);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return dedupedThemes;\n}\nvar builtinShorthands = {\n bblr: \"borderBottomLeftRadius\",\n bbrr: \"borderBottomRightRadius\",\n bbs: \"borderBottomStyle\",\n bls: \"borderLeftStyle\",\n brc: \"borderRightColor\",\n brs: \"borderRightStyle\",\n brw: \"borderRightWidth\",\n bs: \"borderStyle\",\n btc: \"borderTopColor\",\n btlr: \"borderTopLeftRadius\",\n btrr: \"borderTopRightRadius\",\n bts: \"borderTopStyle\",\n btw: \"borderTopWidth\",\n bw: \"borderWidth\",\n bxs: \"boxSizing\",\n bxsh: \"boxShadow\",\n col: \"color\",\n cur: \"cursor\",\n dsp: \"display\",\n fb: \"flexBasis\",\n fd: \"flexDirection\",\n ff: \"fontFamily\",\n fs: \"fontSize\",\n fst: \"fontStyle\",\n fw: \"fontWeight\",\n fwr: \"flexWrap\",\n // height: 'h',\n lh: \"lineHeight\",\n ls: \"letterSpacing\",\n o: \"opacity\",\n ov: \"overflow\",\n ox: \"overflowX\",\n oy: \"overflowY\",\n pe: \"pointerEvents\",\n pos: \"position\",\n td: \"textDecorationLine\",\n tr: \"transform\",\n tt: \"textTransform\",\n va: \"verticalAlign\",\n wb: \"wordBreak\",\n // width: 'w',\n ws: \"whiteSpace\",\n ww: \"wordWrap\"\n};\nexport {\n createTamagui,\n installTamaguiConfig\n};\n//# sourceMappingURL=createTamagui.js.map\n"],"mappings":"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"}
@@ -84,31 +84,55 @@ function useEvents(events, viewProps, stateRef, staticConfig, isHOC, isInsideNat
84
84
  if (isUsingRNGH) {
85
85
  var callbacksRef = useRef(isUsingRNGH ? {} : null);
86
86
  var gestureRef = useRef(null);
87
+ var longPressTimerRef = useRef(null);
88
+ var longPressedRef = useRef(false);
89
+ var clearLongPress = function() {
90
+ if (longPressTimerRef.current) clearTimeout(longPressTimerRef.current);
91
+ longPressTimerRef.current = null;
92
+ };
93
+ React.useEffect(function() {
94
+ return clearLongPress;
95
+ }, []);
87
96
  var pressActiveRef = useRef(false);
88
97
  var beginPress = function(e) {
89
98
  var _callbacksRef_current_onPressIn, _callbacksRef_current;
90
99
  if (pressActiveRef.current) return;
91
100
  pressActiveRef.current = true;
101
+ if (isInsideNativeMenu) {
102
+ clearLongPress();
103
+ longPressedRef.current = false;
104
+ if (callbacksRef.current.onLongPress) {
105
+ var _callbacksRef_current_delayLongPress;
106
+ longPressTimerRef.current = setTimeout(function() {
107
+ var _callbacksRef_current_onLongPress, _callbacksRef_current2;
108
+ longPressTimerRef.current = null;
109
+ longPressedRef.current = true;
110
+ (_callbacksRef_current_onLongPress = (_callbacksRef_current2 = callbacksRef.current).onLongPress) === null || _callbacksRef_current_onLongPress === void 0 ? void 0 : _callbacksRef_current_onLongPress.call(_callbacksRef_current2, e !== null && e !== void 0 ? e : {});
111
+ }, (_callbacksRef_current_delayLongPress = callbacksRef.current.delayLongPress) !== null && _callbacksRef_current_delayLongPress !== void 0 ? _callbacksRef_current_delayLongPress : 500);
112
+ }
113
+ }
92
114
  (_callbacksRef_current_onPressIn = (_callbacksRef_current = callbacksRef.current).onPressIn) === null || _callbacksRef_current_onPressIn === void 0 ? void 0 : _callbacksRef_current_onPressIn.call(_callbacksRef_current, e !== null && e !== void 0 ? e : {});
93
115
  };
94
116
  var endPress = function(e) {
95
117
  var firePress = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
96
118
  var _callbacksRef_current_onPress, _callbacksRef_current, _callbacksRef_current_onPressOut, _callbacksRef_current1;
119
+ clearLongPress();
97
120
  if (!pressActiveRef.current) return;
98
121
  pressActiveRef.current = false;
99
- if (firePress) (_callbacksRef_current_onPress = (_callbacksRef_current = callbacksRef.current).onPress) === null || _callbacksRef_current_onPress === void 0 ? void 0 : _callbacksRef_current_onPress.call(_callbacksRef_current, e !== null && e !== void 0 ? e : {});
122
+ if (firePress && !longPressedRef.current) (_callbacksRef_current_onPress = (_callbacksRef_current = callbacksRef.current).onPress) === null || _callbacksRef_current_onPress === void 0 ? void 0 : _callbacksRef_current_onPress.call(_callbacksRef_current, e !== null && e !== void 0 ? e : {});
100
123
  (_callbacksRef_current_onPressOut = (_callbacksRef_current1 = callbacksRef.current).onPressOut) === null || _callbacksRef_current_onPressOut === void 0 ? void 0 : _callbacksRef_current_onPressOut.call(_callbacksRef_current1, e !== null && e !== void 0 ? e : {});
101
124
  };
102
- var useResponderFallback = Boolean(hasRealPressEvents || !isInsideNativeMenu && getIsAndroid() && hasPressEvents);
125
+ var useResponderFallback = Boolean(!isInsideNativeMenu && (hasRealPressEvents || getIsAndroid() && hasPressEvents));
103
126
  useMainThreadPressEvents(events, viewProps, useResponderFallback, debugName);
104
127
  if (everEnabled) {
105
128
  callbacksRef.current = hasPressEvents ? {
106
129
  onPressIn: events.onPressIn,
107
130
  onPressOut: events.onPressOut,
108
131
  onPress: events.onPress,
109
- onLongPress: events.onLongPress
132
+ onLongPress: events.onLongPress,
133
+ delayLongPress: events.delayLongPress
110
134
  } : {};
111
- if (hasRealPressEvents) {
135
+ if (hasRealPressEvents && !isInsideNativeMenu) {
112
136
  endPress();
113
137
  gestureRef.current = null;
114
138
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"eventHandling.native.js","names":[],"sources":["esm/eventHandling.native.js"],"sourcesContent":["import { composeEventHandlers } from \"@tamagui/helpers\";\nimport { getGestureHandler } from \"@tamagui/native\";\nimport React, { useRef } from \"react\";\nimport { Platform, View } from \"react-native\";\nimport { useMainThreadPressEvents } from \"./helpers/mainThreadPressEvents\";\nvar isFabric = !!globalThis.nativeFabricUIManager;\nvar isAndroidCache;\nvar getIsAndroid = function() {\n if (isAndroidCache === void 0) {\n isAndroidCache = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"android\";\n }\n return isAndroidCache;\n};\nvar isNativeDesktopCache;\nvar getIsNativeDesktop = function() {\n if (isNativeDesktopCache === void 0) {\n isNativeDesktopCache = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"macos\" || (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"windows\";\n }\n return isNativeDesktopCache;\n};\nvar responderClaim = function() {\n return true;\n};\nvar responderWrapperStyle = {\n display: \"contents\"\n};\nfunction getWebEvents() {\n return {};\n}\nfunction useEvents(events, viewProps, stateRef, staticConfig, isHOC, isInsideNativeMenu, debugName, hasRealPressEvents) {\n if (events) {\n if (events.onFocus) {\n viewProps[\"onFocus\"] = events.onFocus;\n }\n if (events.onBlur) {\n viewProps[\"onBlur\"] = events.onBlur;\n }\n if (getIsNativeDesktop()) {\n if (events.onMouseEnter) {\n viewProps[\"onMouseEnter\"] = events.onMouseEnter;\n }\n if (events.onMouseLeave) {\n viewProps[\"onMouseLeave\"] = events.onMouseLeave;\n }\n }\n }\n var hasPressEvents = events === null || events === void 0 ? void 0 : events.onPress;\n var gh = getGestureHandler();\n if (hasPressEvents) {\n stateRef.current.hasHadEvents = true;\n }\n if (hasRealPressEvents) {\n stateRef.current.hasRealPressEvents = true;\n }\n var everEnabled = Boolean(hasPressEvents || stateRef.current.hasHadEvents);\n var isUsingRNGH = gh.isEnabled;\n if (staticConfig.isInput) {\n if (events) {\n var { onPressIn, onPressOut, onPress } = events;\n var inputEvents = {\n onPressIn,\n onPressOut: onPressOut || onPress\n };\n if (onPressOut && onPress) {\n inputEvents.onPressOut = composeEventHandlers(onPress, onPressOut);\n }\n Object.assign(viewProps, inputEvents);\n }\n return null;\n }\n var isCompositeComponent = !isHOC && staticConfig.Component && typeof staticConfig.Component !== \"string\";\n if (isHOC || isCompositeComponent) {\n if (events) {\n var { onPressIn: onPressIn1, onPressOut: onPressOut1, onPress: onPress1, onLongPress, delayLongPress } = events;\n Object.assign(viewProps, {\n onPressIn: onPressIn1,\n onPressOut: onPressOut1,\n onPress: onPress1,\n onLongPress,\n delayLongPress\n });\n }\n return null;\n }\n if (isUsingRNGH) {\n var callbacksRef = useRef(isUsingRNGH ? {} : null);\n var gestureRef = useRef(null);\n var pressActiveRef = useRef(false);\n var beginPress = function(e) {\n var _callbacksRef_current_onPressIn, _callbacksRef_current;\n if (pressActiveRef.current) return;\n pressActiveRef.current = true;\n (_callbacksRef_current_onPressIn = (_callbacksRef_current = callbacksRef.current).onPressIn) === null || _callbacksRef_current_onPressIn === void 0 ? void 0 : _callbacksRef_current_onPressIn.call(_callbacksRef_current, e !== null && e !== void 0 ? e : {});\n };\n var endPress = function(e) {\n var firePress = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var _callbacksRef_current_onPress, _callbacksRef_current, _callbacksRef_current_onPressOut, _callbacksRef_current1;\n if (!pressActiveRef.current) return;\n pressActiveRef.current = false;\n if (firePress) (_callbacksRef_current_onPress = (_callbacksRef_current = callbacksRef.current).onPress) === null || _callbacksRef_current_onPress === void 0 ? void 0 : _callbacksRef_current_onPress.call(_callbacksRef_current, e !== null && e !== void 0 ? e : {});\n (_callbacksRef_current_onPressOut = (_callbacksRef_current1 = callbacksRef.current).onPressOut) === null || _callbacksRef_current_onPressOut === void 0 ? void 0 : _callbacksRef_current_onPressOut.call(_callbacksRef_current1, e !== null && e !== void 0 ? e : {});\n };\n var useResponderFallback = Boolean(hasRealPressEvents || !isInsideNativeMenu && getIsAndroid() && hasPressEvents);\n useMainThreadPressEvents(events, viewProps, useResponderFallback, debugName);\n if (everEnabled) {\n callbacksRef.current = hasPressEvents ? {\n onPressIn: events.onPressIn,\n onPressOut: events.onPressOut,\n onPress: events.onPress,\n onLongPress: events.onLongPress\n } : {};\n if (hasRealPressEvents) {\n endPress();\n gestureRef.current = null;\n return null;\n }\n if (!gestureRef.current) {\n var { Gesture } = gh.state;\n if (isInsideNativeMenu) {\n var manual = Gesture.Manual().runOnJS(true).manualActivation(true).onTouchesDown(function() {\n beginPress();\n }).onTouchesUp(function() {\n endPress(void 0, true);\n }).onTouchesCancelled(function() {\n endPress();\n }).onFinalize(function() {\n endPress();\n });\n gestureRef.current = manual;\n } else if (!getIsAndroid()) {\n gestureRef.current = Gesture.Manual().runOnJS(true).manualActivation(true).onTouchesDown(function(e) {\n return beginPress(e);\n }).onTouchesUp(function(e) {\n endPress(e, true);\n }).onTouchesCancelled(function(e) {\n return endPress(e);\n }).onFinalize(function() {\n return endPress();\n });\n }\n }\n return gestureRef.current;\n }\n return null;\n }\n useMainThreadPressEvents(events, viewProps, hasPressEvents, debugName);\n return null;\n}\nfunction wrapWithGestureDetector(content, gesture, _stateRef, isHOC, isCompositeComponent, hasRealPressEvents) {\n if (isHOC || isCompositeComponent) {\n return content;\n }\n var gh = getGestureHandler();\n var { GestureDetector } = gh.state;\n if (!GestureDetector || !gesture) {\n return content;\n }\n if (!hasRealPressEvents) {\n return React.createElement(GestureDetector, {\n gesture\n }, content);\n }\n if (isFabric) {\n var claimed = React.cloneElement(content, {\n onStartShouldSetResponder: responderClaim\n });\n return React.createElement(GestureDetector, {\n gesture\n }, claimed);\n }\n return React.createElement(View, {\n collapsable: false,\n style: responderWrapperStyle,\n onStartShouldSetResponder: responderClaim\n }, React.createElement(GestureDetector, {\n gesture\n }, content));\n}\nexport {\n getWebEvents,\n useEvents,\n wrapWithGestureDetector\n};\n//# sourceMappingURL=eventHandling.native.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"eventHandling.native.js","names":[],"sources":["esm/eventHandling.native.js"],"sourcesContent":["import { composeEventHandlers } from \"@tamagui/helpers\";\nimport { getGestureHandler } from \"@tamagui/native\";\nimport React, { useRef } from \"react\";\nimport { Platform, View } from \"react-native\";\nimport { useMainThreadPressEvents } from \"./helpers/mainThreadPressEvents\";\nvar isFabric = !!globalThis.nativeFabricUIManager;\nvar isAndroidCache;\nvar getIsAndroid = function() {\n if (isAndroidCache === void 0) {\n isAndroidCache = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"android\";\n }\n return isAndroidCache;\n};\nvar isNativeDesktopCache;\nvar getIsNativeDesktop = function() {\n if (isNativeDesktopCache === void 0) {\n isNativeDesktopCache = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"macos\" || (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"windows\";\n }\n return isNativeDesktopCache;\n};\nvar responderClaim = function() {\n return true;\n};\nvar responderWrapperStyle = {\n display: \"contents\"\n};\nfunction getWebEvents() {\n return {};\n}\nfunction useEvents(events, viewProps, stateRef, staticConfig, isHOC, isInsideNativeMenu, debugName, hasRealPressEvents) {\n if (events) {\n if (events.onFocus) {\n viewProps[\"onFocus\"] = events.onFocus;\n }\n if (events.onBlur) {\n viewProps[\"onBlur\"] = events.onBlur;\n }\n if (getIsNativeDesktop()) {\n if (events.onMouseEnter) {\n viewProps[\"onMouseEnter\"] = events.onMouseEnter;\n }\n if (events.onMouseLeave) {\n viewProps[\"onMouseLeave\"] = events.onMouseLeave;\n }\n }\n }\n var hasPressEvents = events === null || events === void 0 ? void 0 : events.onPress;\n var gh = getGestureHandler();\n if (hasPressEvents) {\n stateRef.current.hasHadEvents = true;\n }\n if (hasRealPressEvents) {\n stateRef.current.hasRealPressEvents = true;\n }\n var everEnabled = Boolean(hasPressEvents || stateRef.current.hasHadEvents);\n var isUsingRNGH = gh.isEnabled;\n if (staticConfig.isInput) {\n if (events) {\n var { onPressIn, onPressOut, onPress } = events;\n var inputEvents = {\n onPressIn,\n onPressOut: onPressOut || onPress\n };\n if (onPressOut && onPress) {\n inputEvents.onPressOut = composeEventHandlers(onPress, onPressOut);\n }\n Object.assign(viewProps, inputEvents);\n }\n return null;\n }\n var isCompositeComponent = !isHOC && staticConfig.Component && typeof staticConfig.Component !== \"string\";\n if (isHOC || isCompositeComponent) {\n if (events) {\n var { onPressIn: onPressIn1, onPressOut: onPressOut1, onPress: onPress1, onLongPress, delayLongPress } = events;\n Object.assign(viewProps, {\n onPressIn: onPressIn1,\n onPressOut: onPressOut1,\n onPress: onPress1,\n onLongPress,\n delayLongPress\n });\n }\n return null;\n }\n if (isUsingRNGH) {\n var callbacksRef = useRef(isUsingRNGH ? {} : null);\n var gestureRef = useRef(null);\n var longPressTimerRef = useRef(null);\n var longPressedRef = useRef(false);\n var clearLongPress = function() {\n if (longPressTimerRef.current) clearTimeout(longPressTimerRef.current);\n longPressTimerRef.current = null;\n };\n React.useEffect(function() {\n return clearLongPress;\n }, []);\n var pressActiveRef = useRef(false);\n var beginPress = function(e) {\n var _callbacksRef_current_onPressIn, _callbacksRef_current;\n if (pressActiveRef.current) return;\n pressActiveRef.current = true;\n if (isInsideNativeMenu) {\n clearLongPress();\n longPressedRef.current = false;\n if (callbacksRef.current.onLongPress) {\n var _callbacksRef_current_delayLongPress;\n longPressTimerRef.current = setTimeout(function() {\n var _callbacksRef_current_onLongPress, _callbacksRef_current2;\n longPressTimerRef.current = null;\n longPressedRef.current = true;\n (_callbacksRef_current_onLongPress = (_callbacksRef_current2 = callbacksRef.current).onLongPress) === null || _callbacksRef_current_onLongPress === void 0 ? void 0 : _callbacksRef_current_onLongPress.call(_callbacksRef_current2, e !== null && e !== void 0 ? e : {});\n }, (_callbacksRef_current_delayLongPress = callbacksRef.current.delayLongPress) !== null && _callbacksRef_current_delayLongPress !== void 0 ? _callbacksRef_current_delayLongPress : 500);\n }\n }\n (_callbacksRef_current_onPressIn = (_callbacksRef_current = callbacksRef.current).onPressIn) === null || _callbacksRef_current_onPressIn === void 0 ? void 0 : _callbacksRef_current_onPressIn.call(_callbacksRef_current, e !== null && e !== void 0 ? e : {});\n };\n var endPress = function(e) {\n var firePress = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var _callbacksRef_current_onPress, _callbacksRef_current, _callbacksRef_current_onPressOut, _callbacksRef_current1;\n clearLongPress();\n if (!pressActiveRef.current) return;\n pressActiveRef.current = false;\n if (firePress && !longPressedRef.current) (_callbacksRef_current_onPress = (_callbacksRef_current = callbacksRef.current).onPress) === null || _callbacksRef_current_onPress === void 0 ? void 0 : _callbacksRef_current_onPress.call(_callbacksRef_current, e !== null && e !== void 0 ? e : {});\n (_callbacksRef_current_onPressOut = (_callbacksRef_current1 = callbacksRef.current).onPressOut) === null || _callbacksRef_current_onPressOut === void 0 ? void 0 : _callbacksRef_current_onPressOut.call(_callbacksRef_current1, e !== null && e !== void 0 ? e : {});\n };\n var useResponderFallback = Boolean(!isInsideNativeMenu && (hasRealPressEvents || getIsAndroid() && hasPressEvents));\n useMainThreadPressEvents(events, viewProps, useResponderFallback, debugName);\n if (everEnabled) {\n callbacksRef.current = hasPressEvents ? {\n onPressIn: events.onPressIn,\n onPressOut: events.onPressOut,\n onPress: events.onPress,\n onLongPress: events.onLongPress,\n delayLongPress: events.delayLongPress\n } : {};\n if (hasRealPressEvents && !isInsideNativeMenu) {\n endPress();\n gestureRef.current = null;\n return null;\n }\n if (!gestureRef.current) {\n var { Gesture } = gh.state;\n if (isInsideNativeMenu) {\n var manual = Gesture.Manual().runOnJS(true).manualActivation(true).onTouchesDown(function() {\n beginPress();\n }).onTouchesUp(function() {\n endPress(void 0, true);\n }).onTouchesCancelled(function() {\n endPress();\n }).onFinalize(function() {\n endPress();\n });\n gestureRef.current = manual;\n } else if (!getIsAndroid()) {\n gestureRef.current = Gesture.Manual().runOnJS(true).manualActivation(true).onTouchesDown(function(e) {\n return beginPress(e);\n }).onTouchesUp(function(e) {\n endPress(e, true);\n }).onTouchesCancelled(function(e) {\n return endPress(e);\n }).onFinalize(function() {\n return endPress();\n });\n }\n }\n return gestureRef.current;\n }\n return null;\n }\n useMainThreadPressEvents(events, viewProps, hasPressEvents, debugName);\n return null;\n}\nfunction wrapWithGestureDetector(content, gesture, _stateRef, isHOC, isCompositeComponent, hasRealPressEvents) {\n if (isHOC || isCompositeComponent) {\n return content;\n }\n var gh = getGestureHandler();\n var { GestureDetector } = gh.state;\n if (!GestureDetector || !gesture) {\n return content;\n }\n if (!hasRealPressEvents) {\n return React.createElement(GestureDetector, {\n gesture\n }, content);\n }\n if (isFabric) {\n var claimed = React.cloneElement(content, {\n onStartShouldSetResponder: responderClaim\n });\n return React.createElement(GestureDetector, {\n gesture\n }, claimed);\n }\n return React.createElement(View, {\n collapsable: false,\n style: responderWrapperStyle,\n onStartShouldSetResponder: responderClaim\n }, React.createElement(GestureDetector, {\n gesture\n }, content));\n}\nexport {\n getWebEvents,\n useEvents,\n wrapWithGestureDetector\n};\n//# sourceMappingURL=eventHandling.native.js.map\n"],"mappings":"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"}
@@ -256,7 +256,6 @@ function contributeProp(pass, keyOg, valOg, originalOg = valOg, disabled = false
256
256
  const shouldCheckSkipProps = !noSkip;
257
257
  const asChildExceptStyleLike = Boolean(flags & passAsChildStyleFlag);
258
258
  const isTextOrInput = isText || isInput;
259
- const hocParentVariants = isHOC ? parentVariants : void 0;
260
259
  let keyInit = keyOg;
261
260
  let valInit = valOg;
262
261
  if (keyInit === "children") {
@@ -469,9 +468,8 @@ function contributeProp(pass, keyOg, valOg, originalOg = valOg, disabled = false
469
468
  let isVariant = !isValidStyleKeyInit && variants && keyInit in variants;
470
469
  const isStyleProp = isValidStyleKeyInit || isVariant && !noExpand;
471
470
  if (isStyleProp && asChildExceptStyleLike) return;
472
- const shouldPassProp = !isStyleProp && isHOC || hocParentVariants && keyInit in hocParentVariants || inlineProps?.has(keyInit);
473
- const parentVariant = parentVariants?.[keyInit];
474
- const isHOCShouldPassThrough = Boolean(isHOC && (parentVariant || keyInit in skipProps));
471
+ const shouldPassProp = !isStyleProp && isHOC || parentVariants && keyInit in parentVariants || inlineProps?.has(keyInit);
472
+ const isHOCShouldPassThrough = isHOC && keyInit in skipProps;
475
473
  const shouldPassThrough = shouldPassProp || isHOCShouldPassThrough;
476
474
  if (process.env.NODE_ENV === "development" && debug === "verbose") {
477
475
  console.groupCollapsed(` \u{1F511} ${keyOg}${keyInit !== keyOg ? ` (shorthand for ${keyInit})` : ""} ${shouldPassThrough ? "(pass)" : ""}`);
@@ -621,7 +619,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
621
619
  let frontendContainer;
622
620
  let frontendContainerType;
623
621
  const processedProps = props;
624
- const parentVariants = parentStaticConfig ? getStyleStaticConfig(parentStaticConfig, conf).variants : void 0;
622
+ const parentVariants = isHOC ? staticConfig.Component?.staticConfig?.variants : void 0;
625
623
  const defaultProps = asChild ? styleStaticConfig.defaultProps : void 0;
626
624
  const asChildExceptStyleLike = asChild === "except-style" || asChild === "except-style-web";
627
625
  let containerValue;
@@ -645,7 +643,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
645
643
  styledContextKeys,
646
644
  (noSkip ? passNoSkipFlag : 0) | (disableExpandShorthands ? passDisableShorthandsFlag : 0) | (noExpand ? passNoExpandFlag : 0) | (noMergeStyle ? passNoMergeFlag : 0) | (isHOC ? passHocFlag : 0) | (isText ? passTextFlag : 0) | (isInput ? passInputFlag : 0) | (asChildExceptStyleLike ? passAsChildStyleFlag : 0),
647
645
  debug,
648
- parentStaticConfig,
646
+ process.env.NODE_ENV === "development" ? parentStaticConfig : void 0,
649
647
  defaultProps,
650
648
  driverAnimations,
651
649
  driverOutputStyle,
@@ -1546,7 +1544,7 @@ function emitValue(state, property, raw, cursor, originalValue, contextOnly) {
1546
1544
  }
1547
1545
  if (typeof raw === "string" && property === "background") {
1548
1546
  const parts = splitComponents(raw);
1549
- if (parts.length === 1 && !startsValueFunction(parts[0])) {
1547
+ if (parts.length === 1 && (!startsValueFunction(parts[0]) || false)) {
1550
1548
  emitResolved(state, "backgroundColor", parts[0], cursor, originalValue, contextOnly);
1551
1549
  return;
1552
1550
  }