Socket
Socket
Sign inDemoInstall

@tamagui/web

Package Overview
Dependencies
Maintainers
2
Versions
797
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tamagui/web - npm Package Compare versions

Comparing version 1.89.27-1708113113238 to 1.89.27

36

dist/cjs/helpers/insertStyleRule.js

@@ -41,3 +41,5 @@ var __defProp = Object.defineProperty;

function listenForSheetChanges() {
import_constants.isClient && new MutationObserver((entries) => {
if (!import_constants.isClient)
return;
new MutationObserver((entries) => {
for (const entry of entries)

@@ -54,20 +56,18 @@ if (entry instanceof HTMLStyleElement && entry.sheet || entry instanceof HTMLLinkElement && entry.href.endsWith(".css")) {

function scanAllSheets(collectThemes = !1, tokens) {
if (import_constants.isClient) {
if (process.env.NODE_ENV === "test")
return;
let themes;
const sheets = document.styleSheets || [], prev = lastScannedSheets, current = new Set(sheets);
if (document.styleSheets) {
for (const sheet2 of current)
if (sheet2) {
const out = updateSheetStyles(sheet2, !1, collectThemes, tokens);
out && (themes = out);
}
lastScannedSheets = current;
}
if (prev)
for (const sheet2 of prev)
sheet2 && !current.has(sheet2) && updateSheetStyles(sheet2, !0);
return themes;
if (process.env.NODE_ENV === "test" || !import_constants.isClient)
return;
let themes;
const sheets = document.styleSheets || [], prev = lastScannedSheets, current = new Set(sheets);
if (document.styleSheets) {
for (const sheet2 of current)
if (sheet2) {
const out = updateSheetStyles(sheet2, !1, collectThemes, tokens);
out && (themes = out);
}
lastScannedSheets = current;
}
if (prev)
for (const sheet2 of prev)
sheet2 && !current.has(sheet2) && updateSheetStyles(sheet2, !0);
return themes;
}

@@ -74,0 +74,0 @@ function track(id, remove = !1) {

@@ -30,3 +30,53 @@ "use strict";

var import_constants = require("@tamagui/constants"), import_createVariable = require("../createVariable");
var totalSelectorsInserted = /* @__PURE__ */ new Map(), allSelectors = {}, allRules = {}, insertedTransforms = {}, getAllSelectors = function() {
function _array_like_to_array(arr, len) {
(len == null || len > arr.length) && (len = arr.length);
for (var i = 0, arr2 = new Array(len); i < len; i++)
arr2[i] = arr[i];
return arr2;
}
function _array_with_holes(arr) {
if (Array.isArray(arr))
return arr;
}
function _instanceof(left, right) {
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
}
function _iterable_to_array_limit(arr, i) {
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
if (_i != null) {
var _arr = [], _n = !0, _d = !1, _s, _e;
try {
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
;
} catch (err) {
_d = !0, _e = err;
} finally {
try {
!_n && _i.return != null && _i.return();
} finally {
if (_d)
throw _e;
}
}
return _arr;
}
}
function _non_iterable_rest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _sliced_to_array(arr, i) {
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
}
function _unsupported_iterable_to_array(o, minLen) {
if (o) {
if (typeof o == "string")
return _array_like_to_array(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set")
return Array.from(n);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _array_like_to_array(o, minLen);
}
}
var scannedCache = /* @__PURE__ */ new WeakMap(), totalSelectorsInserted = /* @__PURE__ */ new Map(), allSelectors = {}, allRules = {}, insertedTransforms = {}, getAllSelectors = function() {
return allSelectors;

@@ -49,39 +99,206 @@ }, getAllRules = function() {

function listenForSheetChanges() {
if (0)
var mo;
if (import_constants.isClient) {
var mo = new MutationObserver(function(entries) {
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
try {
for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var entry = _step.value;
if (_instanceof(entry, HTMLStyleElement) && entry.sheet || _instanceof(entry, HTMLLinkElement) && entry.href.endsWith(".css")) {
scanAllSheets();
break;
}
}
} catch (err) {
_didIteratorError = !0, _iteratorError = err;
} finally {
try {
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
} finally {
if (_didIteratorError)
throw _iteratorError;
}
}
});
mo.observe(document.head, {
childList: !0
});
}
}
var lastScannedSheets = null;
function scanAllSheets() {
var collectThemes = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, tokens = arguments.length > 1 ? arguments[1] : void 0;
if (0) {
var themes, sheets, prev, current;
if (process.env.NODE_ENV !== "test" && import_constants.isClient) {
var themes, sheets = document.styleSheets || [], prev = lastScannedSheets, current = new Set(sheets);
if (document.styleSheets) {
var _iteratorNormalCompletion, _didIteratorError, _iteratorError;
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
try {
for (var _iterator, _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var sheet;
if (sheet)
var out;
for (var _iterator = current[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var sheet2 = _step.value;
if (sheet2) {
var out = updateSheetStyles(sheet2, !1, collectThemes, tokens);
out && (themes = out);
}
}
} catch (err) {
_didIteratorError = !0, _iteratorError = err;
} finally {
try {
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
} finally {
if (_didIteratorError)
throw _iteratorError;
}
}
lastScannedSheets = current;
}
if (prev) {
var _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1;
var _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
try {
for (var _iterator1, _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0)
var sheet1;
for (var _iterator1 = prev[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
var sheet1 = _step1.value;
sheet1 && !current.has(sheet1) && updateSheetStyles(sheet1, !0);
}
} catch (err) {
_didIteratorError1 = !0, _iteratorError1 = err;
} finally {
try {
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
} finally {
if (_didIteratorError1)
throw _iteratorError1;
}
}
}
return themes;
}
}
function track(id) {
var remove = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, next = (totalSelectorsInserted.get(id) || 0) + (remove ? -1 : 1);
return totalSelectorsInserted.set(id, next), next;
}
var bailAfterEnv = process.env.TAMAGUI_BAIL_AFTER_SCANNING_X_CSS_RULES, bailAfter = bailAfterEnv ? +bailAfterEnv : 250;
function updateSheetStyles(sheet2) {
var remove = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, collectThemes = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, tokens = arguments.length > 3 ? arguments[3] : void 0, _getTamaguiSelector, _getTamaguiSelector1, rules;
try {
if (rules = sheet2.cssRules, !rules)
return;
} catch {
return;
}
var firstSelector = (_getTamaguiSelector = getTamaguiSelector(rules[0], collectThemes)) === null || _getTamaguiSelector === void 0 ? void 0 : _getTamaguiSelector[0], lastSelector = (_getTamaguiSelector1 = getTamaguiSelector(rules[rules.length - 1], collectThemes)) === null || _getTamaguiSelector1 === void 0 ? void 0 : _getTamaguiSelector1[0], cacheKey = "".concat(rules.length).concat(firstSelector).concat(lastSelector), lastScanned = scannedCache.get(sheet2);
if (!(!remove && lastScanned === cacheKey)) {
for (var len = rules.length, fails = 0, dedupedThemes, i = 0; i < len; i++) {
var rule = rules[i];
if (_instanceof(rule, CSSStyleRule)) {
var response = getTamaguiSelector(rule, collectThemes);
if (response)
fails = 0;
else {
if (fails++, fails > bailAfter)
return;
continue;
}
var _response = _sliced_to_array(response, 3), identifier = _response[0], cssRule = _response[1], isTheme = _response[2];
if (isTheme) {
var deduped = addThemesFromCSS(cssRule, tokens);
deduped && (dedupedThemes || (dedupedThemes = []), dedupedThemes.push(deduped));
continue;
}
var total = track(identifier, remove);
if (remove)
total === 0 && delete allSelectors[identifier];
else if (!(identifier in allSelectors)) {
var isTransform = identifier.startsWith("_transform-"), shouldInsert = isTransform ? addTransform(identifier, cssRule.cssText, cssRule) : !0;
shouldInsert && (allSelectors[identifier] = cssRule.cssText);
}
}
}
return scannedCache.set(sheet2, cacheKey), dedupedThemes;
}
}
var colorVarToVal, rootComputedStyle = null;
function addThemesFromCSS(cssStyleRule, tokens) {
var selectors = cssStyleRule.selectorText.split(",");
if (selectors.length) {
if (tokens && !colorVarToVal) {
colorVarToVal = {};
for (var key in tokens.color) {
var token = tokens.color[key];
colorVarToVal[token.name] = token.val;
}
}
var rulesWithBraces = (cssStyleRule.cssText || "").slice(cssStyleRule.selectorText.length + 2, -1).trim(), rules = rulesWithBraces.split(";"), values = {}, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
try {
for (var _iterator = rules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var rule = _step.value, sepI = rule.indexOf(":");
if (sepI !== -1) {
var varIndex = rule.indexOf("--"), key1 = rule.slice(varIndex === -1 ? 0 : varIndex + 2, sepI), val = rule.slice(sepI + 2), value = void 0;
if (val.startsWith("var(")) {
var varName = val.slice(6, -1), tokenVal = colorVarToVal[varName];
tokenVal ? value = tokenVal : (rootComputedStyle || (rootComputedStyle = getComputedStyle(document.body)), value = rootComputedStyle.getPropertyValue("--" + varName));
} else
value = val;
values[key1] = (0, import_createVariable.createVariable)({
key: key1,
name: key1,
val: value
}, !0);
}
}
} catch (err) {
_didIteratorError = !0, _iteratorError = err;
} finally {
try {
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
} finally {
if (_didIteratorError)
throw _iteratorError;
}
}
var dedupedEntry = {
names: [],
theme: values
}, _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
try {
for (var _iterator1 = selectors[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
var selector = _step1.value, matches = selector.match(/(.t_(light|dark))?[\s]?(.t_([a-z0-9_]+))[\s]*$/i) || [], _matches = _sliced_to_array(matches, 5), _0 = _matches[0], _1 = _matches[1], scheme = _matches[2], _2 = _matches[3], name = _matches[4], themeName = name && scheme && scheme !== name ? "".concat(scheme, "_").concat(name) : name || scheme;
!themeName || dedupedEntry.names.includes(themeName) || themeName === "light_dark" || themeName === "dark_light" || dedupedEntry.names.push(themeName);
}
} catch (err) {
_didIteratorError1 = !0, _iteratorError1 = err;
} finally {
try {
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
} finally {
if (_didIteratorError1)
throw _iteratorError1;
}
}
return dedupedEntry;
}
}
function getTamaguiSelector(rule) {
var collectThemes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (_instanceof(rule, CSSStyleRule)) {
var text = rule.selectorText;
if (text[0] === ":" && text[1] === "r") {
if (text.startsWith(":root ._"))
return [
getIdentifierFromTamaguiSelector(text),
rule
];
if (collectThemes && (text.startsWith(":root.t_") || text.startsWith(":root .t_")))
return [
text.slice(0, 20),
rule,
!0
];
}
} else if (_instanceof(rule, CSSMediaRule))
return rule.cssRules.length > 1 ? void 0 : getTamaguiSelector(rule.cssRules[0]);
}
var getIdentifierFromTamaguiSelector = function(selector) {
var res = selector.slice(7);
return selector.includes(":") ? res.replace(/:[a-z]+$/, "") : res;
}, sheet = import_constants.isClient ? document.head.appendChild(document.createElement("style")).sheet : null;
function updateRules(identifier, rules) {

@@ -91,19 +308,35 @@ return identifier in allRules ? !1 : (allRules[identifier] = rules.join(" "), identifier.startsWith("_transform-") ? addTransform(identifier, rules[0]) : !0);

function insertStyleRules(rulesToInsert) {
if (0) {
var _iteratorNormalCompletion, _didIteratorError, _iteratorError;
if (!(!rulesToInsert.length || !sheet)) {
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
try {
for (var _iterator, _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var _step_value, identifier, rules, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1;
try {
for (var _iterator1, _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
var rule;
if (process.env.NODE_ENV !== "production")
try {
} catch (err) {
}
}
} catch (err) {
} finally {
for (var _iterator = rulesToInsert[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var _step_value = _step.value, identifier = _step_value.identifier, rules = _step_value.rules;
if (shouldInsertStyleRules(identifier)) {
allSelectors[identifier] = rules.join(`
`), track(identifier), updateRules(identifier, rules);
var _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
try {
for (var _iterator1 = rules[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
var rule = _step1.value;
if (process.env.NODE_ENV === "production")
sheet.insertRule(rule, sheet.cssRules.length);
else
try {
sheet.insertRule(rule, sheet.cssRules.length);
} catch (err) {
console.groupCollapsed("Error inserting rule into CSSStyleSheet: ".concat(String(err))), console.info({
rule,
rulesToInsert
}), console.trace(), console.groupEnd();
}
}
} catch (err) {
_didIteratorError1 = !0, _iteratorError1 = err;
} finally {
try {
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
} finally {
if (_didIteratorError1)
throw _iteratorError1;
}
}

@@ -113,5 +346,9 @@ }

} catch (err) {
_didIteratorError = !0, _iteratorError = err;
} finally {
try {
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
} finally {
if (_didIteratorError)
throw _iteratorError;
}

@@ -118,0 +355,0 @@ }

@@ -15,3 +15,5 @@ import { isClient } from "@tamagui/constants";

function listenForSheetChanges() {
isClient && new MutationObserver((entries) => {
if (!isClient)
return;
new MutationObserver((entries) => {
for (const entry of entries)

@@ -28,20 +30,18 @@ if (entry instanceof HTMLStyleElement && entry.sheet || entry instanceof HTMLLinkElement && entry.href.endsWith(".css")) {

function scanAllSheets(collectThemes = !1, tokens) {
if (isClient) {
if (process.env.NODE_ENV === "test")
return;
let themes;
const sheets = document.styleSheets || [], prev = lastScannedSheets, current = new Set(sheets);
if (document.styleSheets) {
for (const sheet2 of current)
if (sheet2) {
const out = updateSheetStyles(sheet2, !1, collectThemes, tokens);
out && (themes = out);
}
lastScannedSheets = current;
}
if (prev)
for (const sheet2 of prev)
sheet2 && !current.has(sheet2) && updateSheetStyles(sheet2, !0);
return themes;
if (process.env.NODE_ENV === "test" || !isClient)
return;
let themes;
const sheets = document.styleSheets || [], prev = lastScannedSheets, current = new Set(sheets);
if (document.styleSheets) {
for (const sheet2 of current)
if (sheet2) {
const out = updateSheetStyles(sheet2, !1, collectThemes, tokens);
out && (themes = out);
}
lastScannedSheets = current;
}
if (prev)
for (const sheet2 of prev)
sheet2 && !current.has(sheet2) && updateSheetStyles(sheet2, !0);
return themes;
}

@@ -48,0 +48,0 @@ function track(id, remove = !1) {

@@ -1,4 +0,54 @@

import "@tamagui/constants";
import { isClient } from "@tamagui/constants";
import { createVariable } from "../createVariable";
var totalSelectorsInserted = /* @__PURE__ */ new Map(), allSelectors = {}, allRules = {}, insertedTransforms = {}, getAllSelectors = function() {
function _array_like_to_array(arr, len) {
(len == null || len > arr.length) && (len = arr.length);
for (var i = 0, arr2 = new Array(len); i < len; i++)
arr2[i] = arr[i];
return arr2;
}
function _array_with_holes(arr) {
if (Array.isArray(arr))
return arr;
}
function _instanceof(left, right) {
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
}
function _iterable_to_array_limit(arr, i) {
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
if (_i != null) {
var _arr = [], _n = !0, _d = !1, _s, _e;
try {
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
;
} catch (err) {
_d = !0, _e = err;
} finally {
try {
!_n && _i.return != null && _i.return();
} finally {
if (_d)
throw _e;
}
}
return _arr;
}
}
function _non_iterable_rest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _sliced_to_array(arr, i) {
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
}
function _unsupported_iterable_to_array(o, minLen) {
if (o) {
if (typeof o == "string")
return _array_like_to_array(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set")
return Array.from(n);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _array_like_to_array(o, minLen);
}
}
var scannedCache = /* @__PURE__ */ new WeakMap(), totalSelectorsInserted = /* @__PURE__ */ new Map(), allSelectors = {}, allRules = {}, insertedTransforms = {}, getAllSelectors = function() {
return allSelectors;

@@ -21,39 +71,206 @@ }, getAllRules = function() {

function listenForSheetChanges() {
if (0)
var mo;
if (isClient) {
var mo = new MutationObserver(function(entries) {
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
try {
for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var entry = _step.value;
if (_instanceof(entry, HTMLStyleElement) && entry.sheet || _instanceof(entry, HTMLLinkElement) && entry.href.endsWith(".css")) {
scanAllSheets();
break;
}
}
} catch (err) {
_didIteratorError = !0, _iteratorError = err;
} finally {
try {
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
} finally {
if (_didIteratorError)
throw _iteratorError;
}
}
});
mo.observe(document.head, {
childList: !0
});
}
}
var lastScannedSheets = null;
function scanAllSheets() {
var collectThemes = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, tokens = arguments.length > 1 ? arguments[1] : void 0;
if (0) {
var themes, sheets, prev, current;
if (process.env.NODE_ENV !== "test" && isClient) {
var themes, sheets = document.styleSheets || [], prev = lastScannedSheets, current = new Set(sheets);
if (document.styleSheets) {
var _iteratorNormalCompletion, _didIteratorError, _iteratorError;
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
try {
for (var _iterator, _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var sheet;
if (sheet)
var out;
for (var _iterator = current[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var sheet2 = _step.value;
if (sheet2) {
var out = updateSheetStyles(sheet2, !1, collectThemes, tokens);
out && (themes = out);
}
}
} catch (err) {
_didIteratorError = !0, _iteratorError = err;
} finally {
try {
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
} finally {
if (_didIteratorError)
throw _iteratorError;
}
}
lastScannedSheets = current;
}
if (prev) {
var _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1;
var _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
try {
for (var _iterator1, _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0)
var sheet1;
for (var _iterator1 = prev[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
var sheet1 = _step1.value;
sheet1 && !current.has(sheet1) && updateSheetStyles(sheet1, !0);
}
} catch (err) {
_didIteratorError1 = !0, _iteratorError1 = err;
} finally {
try {
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
} finally {
if (_didIteratorError1)
throw _iteratorError1;
}
}
}
return themes;
}
}
function track(id) {
var remove = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, next = (totalSelectorsInserted.get(id) || 0) + (remove ? -1 : 1);
return totalSelectorsInserted.set(id, next), next;
}
var bailAfterEnv = process.env.TAMAGUI_BAIL_AFTER_SCANNING_X_CSS_RULES, bailAfter = bailAfterEnv ? +bailAfterEnv : 250;
function updateSheetStyles(sheet2) {
var remove = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, collectThemes = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, tokens = arguments.length > 3 ? arguments[3] : void 0, _getTamaguiSelector, _getTamaguiSelector1, rules;
try {
if (rules = sheet2.cssRules, !rules)
return;
} catch {
return;
}
var firstSelector = (_getTamaguiSelector = getTamaguiSelector(rules[0], collectThemes)) === null || _getTamaguiSelector === void 0 ? void 0 : _getTamaguiSelector[0], lastSelector = (_getTamaguiSelector1 = getTamaguiSelector(rules[rules.length - 1], collectThemes)) === null || _getTamaguiSelector1 === void 0 ? void 0 : _getTamaguiSelector1[0], cacheKey = "".concat(rules.length).concat(firstSelector).concat(lastSelector), lastScanned = scannedCache.get(sheet2);
if (!(!remove && lastScanned === cacheKey)) {
for (var len = rules.length, fails = 0, dedupedThemes, i = 0; i < len; i++) {
var rule = rules[i];
if (_instanceof(rule, CSSStyleRule)) {
var response = getTamaguiSelector(rule, collectThemes);
if (response)
fails = 0;
else {
if (fails++, fails > bailAfter)
return;
continue;
}
var _response = _sliced_to_array(response, 3), identifier = _response[0], cssRule = _response[1], isTheme = _response[2];
if (isTheme) {
var deduped = addThemesFromCSS(cssRule, tokens);
deduped && (dedupedThemes || (dedupedThemes = []), dedupedThemes.push(deduped));
continue;
}
var total = track(identifier, remove);
if (remove)
total === 0 && delete allSelectors[identifier];
else if (!(identifier in allSelectors)) {
var isTransform = identifier.startsWith("_transform-"), shouldInsert = isTransform ? addTransform(identifier, cssRule.cssText, cssRule) : !0;
shouldInsert && (allSelectors[identifier] = cssRule.cssText);
}
}
}
return scannedCache.set(sheet2, cacheKey), dedupedThemes;
}
}
var colorVarToVal, rootComputedStyle = null;
function addThemesFromCSS(cssStyleRule, tokens) {
var selectors = cssStyleRule.selectorText.split(",");
if (selectors.length) {
if (tokens && !colorVarToVal) {
colorVarToVal = {};
for (var key in tokens.color) {
var token = tokens.color[key];
colorVarToVal[token.name] = token.val;
}
}
var rulesWithBraces = (cssStyleRule.cssText || "").slice(cssStyleRule.selectorText.length + 2, -1).trim(), rules = rulesWithBraces.split(";"), values = {}, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
try {
for (var _iterator = rules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var rule = _step.value, sepI = rule.indexOf(":");
if (sepI !== -1) {
var varIndex = rule.indexOf("--"), key1 = rule.slice(varIndex === -1 ? 0 : varIndex + 2, sepI), val = rule.slice(sepI + 2), value = void 0;
if (val.startsWith("var(")) {
var varName = val.slice(6, -1), tokenVal = colorVarToVal[varName];
tokenVal ? value = tokenVal : (rootComputedStyle || (rootComputedStyle = getComputedStyle(document.body)), value = rootComputedStyle.getPropertyValue("--" + varName));
} else
value = val;
values[key1] = createVariable({
key: key1,
name: key1,
val: value
}, !0);
}
}
} catch (err) {
_didIteratorError = !0, _iteratorError = err;
} finally {
try {
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
} finally {
if (_didIteratorError)
throw _iteratorError;
}
}
var dedupedEntry = {
names: [],
theme: values
}, _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
try {
for (var _iterator1 = selectors[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
var selector = _step1.value, matches = selector.match(/(.t_(light|dark))?[\s]?(.t_([a-z0-9_]+))[\s]*$/i) || [], _matches = _sliced_to_array(matches, 5), _0 = _matches[0], _1 = _matches[1], scheme = _matches[2], _2 = _matches[3], name = _matches[4], themeName = name && scheme && scheme !== name ? "".concat(scheme, "_").concat(name) : name || scheme;
!themeName || dedupedEntry.names.includes(themeName) || themeName === "light_dark" || themeName === "dark_light" || dedupedEntry.names.push(themeName);
}
} catch (err) {
_didIteratorError1 = !0, _iteratorError1 = err;
} finally {
try {
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
} finally {
if (_didIteratorError1)
throw _iteratorError1;
}
}
return dedupedEntry;
}
}
function getTamaguiSelector(rule) {
var collectThemes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (_instanceof(rule, CSSStyleRule)) {
var text = rule.selectorText;
if (text[0] === ":" && text[1] === "r") {
if (text.startsWith(":root ._"))
return [
getIdentifierFromTamaguiSelector(text),
rule
];
if (collectThemes && (text.startsWith(":root.t_") || text.startsWith(":root .t_")))
return [
text.slice(0, 20),
rule,
!0
];
}
} else if (_instanceof(rule, CSSMediaRule))
return rule.cssRules.length > 1 ? void 0 : getTamaguiSelector(rule.cssRules[0]);
}
var getIdentifierFromTamaguiSelector = function(selector) {
var res = selector.slice(7);
return selector.includes(":") ? res.replace(/:[a-z]+$/, "") : res;
}, sheet = isClient ? document.head.appendChild(document.createElement("style")).sheet : null;
function updateRules(identifier, rules) {

@@ -63,19 +280,35 @@ return identifier in allRules ? !1 : (allRules[identifier] = rules.join(" "), identifier.startsWith("_transform-") ? addTransform(identifier, rules[0]) : !0);

function insertStyleRules(rulesToInsert) {
if (0) {
var _iteratorNormalCompletion, _didIteratorError, _iteratorError;
if (!(!rulesToInsert.length || !sheet)) {
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
try {
for (var _iterator, _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var _step_value, identifier, rules, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1;
try {
for (var _iterator1, _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
var rule;
if (process.env.NODE_ENV !== "production")
try {
} catch (err) {
}
}
} catch (err) {
} finally {
for (var _iterator = rulesToInsert[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
var _step_value = _step.value, identifier = _step_value.identifier, rules = _step_value.rules;
if (shouldInsertStyleRules(identifier)) {
allSelectors[identifier] = rules.join(`
`), track(identifier), updateRules(identifier, rules);
var _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
try {
for (var _iterator1 = rules[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
var rule = _step1.value;
if (process.env.NODE_ENV === "production")
sheet.insertRule(rule, sheet.cssRules.length);
else
try {
sheet.insertRule(rule, sheet.cssRules.length);
} catch (err) {
console.groupCollapsed("Error inserting rule into CSSStyleSheet: ".concat(String(err))), console.info({
rule,
rulesToInsert
}), console.trace(), console.groupEnd();
}
}
} catch (err) {
_didIteratorError1 = !0, _iteratorError1 = err;
} finally {
try {
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
} finally {
if (_didIteratorError1)
throw _iteratorError1;
}
}

@@ -85,5 +318,9 @@ }

} catch (err) {
_didIteratorError = !0, _iteratorError = err;
} finally {
try {
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
} finally {
if (_didIteratorError)
throw _iteratorError;
}

@@ -90,0 +327,0 @@ }

{
"name": "@tamagui/web",
"version": "1.89.27-1708113113238",
"version": "1.89.27",
"source": "src/index.ts",

@@ -30,11 +30,11 @@ "main": "dist/cjs",

"dependencies": {
"@tamagui/compose-refs": "1.89.27-1708113113238",
"@tamagui/constants": "1.89.27-1708113113238",
"@tamagui/helpers": "1.89.27-1708113113238",
"@tamagui/normalize-css-color": "1.89.27-1708113113238",
"@tamagui/timer": "1.89.27-1708113113238",
"@tamagui/types": "1.89.27-1708113113238",
"@tamagui/use-did-finish-ssr": "1.89.27-1708113113238",
"@tamagui/use-event": "1.89.27-1708113113238",
"@tamagui/use-force-update": "1.89.27-1708113113238",
"@tamagui/compose-refs": "1.89.27",
"@tamagui/constants": "1.89.27",
"@tamagui/helpers": "1.89.27",
"@tamagui/normalize-css-color": "1.89.27",
"@tamagui/timer": "1.89.27",
"@tamagui/types": "1.89.27",
"@tamagui/use-did-finish-ssr": "1.89.27",
"@tamagui/use-event": "1.89.27",
"@tamagui/use-force-update": "1.89.27",
"react": "^18.2.0",

@@ -44,3 +44,3 @@ "react-dom": "^18.2.0"

"devDependencies": {
"@tamagui/build": "1.89.27-1708113113238",
"@tamagui/build": "1.89.27",
"@testing-library/react": "^14.0.0",

@@ -47,0 +47,0 @@ "csstype": "^3.0.10",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc