tamagui 3.1.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/native.cjs +15 -10
  2. package/dist/test.cjs +15 -10
  3. package/package.json +67 -67
package/dist/native.cjs CHANGED
@@ -478,7 +478,7 @@ function ensureWebElement(x) {
478
478
  if (typeof HTMLElement === "undefined") return void 0;
479
479
  return x instanceof HTMLElement ? x : void 0;
480
480
  }
481
- var LayoutHandlers, LayoutDisableKey, Nodes, NodeRectCache, PrevHostNode, usePretransformDimensions, DisableLayoutContextValues, DisableLayoutContextKey, ENABLE, LayoutMeasurementController, strategy, resumeLayoutLoop, measureOnNextFrame, avoidUpdates, queuedUpdates, BoundingRects, rectFetchObserver, rectFetchResolve, rectFetchStartTime, lastCallbackDelay, rAF, userSkipVal, BASE_SKIP_FRAMES, MAX_SKIP_FRAMES, skipFrames, frameCount, frameScheduled, getElementLayoutEvent, getPreTransformDimensions, getRelativeDimensions, getBoundingClientRectAsync, measureNode, measure, createMeasure, measureInWindow, createMeasureInWindow, measureLayout$1, createMeasureLayout;
481
+ var LayoutHandlers, LayoutDisableKey, Nodes, NodeRectCache, PrevHostNode, usePretransformDimensions, DisableLayoutContextValues, DisableLayoutContextKey, ENABLE, LayoutMeasurementController, strategy, resumeLayoutLoop, measureOnNextFrame, avoidUpdates, queuedUpdates, BoundingRects, rectFetchObserver, rectFetchResolve, rectFetchStartTime, lastCallbackDelay, rAF, userSkipVal, BASE_SKIP_FRAMES, MAX_SKIP_FRAMES, FRAME_MS, skipFrames, frameScheduled, waitTimer, measureSoon, getElementLayoutEvent, getPreTransformDimensions, getRelativeDimensions, getBoundingClientRectAsync, measureNode, measure, createMeasure, measureInWindow, createMeasureInWindow, measureLayout$1, createMeasureLayout;
482
482
  var init_index_native$11 = __esmMin((() => {
483
483
  init_index_native$7();
484
484
  init_asyncToGenerator();
@@ -539,7 +539,12 @@ var init_index_native$11 = __esmMin((() => {
539
539
  }, scheduleLayoutFrame2 = function() {
540
540
  if (frameScheduled || strategy === "off" || Nodes.size === 0 || document.hidden) return;
541
541
  frameScheduled = true;
542
- rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
542
+ var delay = measureSoon ? 0 : skipFrames * FRAME_MS;
543
+ measureSoon = false;
544
+ waitTimer = setTimeout(function() {
545
+ waitTimer = void 0;
546
+ rAF ? rAF(layoutOnAnimationFrame) : layoutOnAnimationFrame();
547
+ }, delay);
543
548
  };
544
549
  BoundingRects = /* @__PURE__ */ new WeakMap();
545
550
  rectFetchObserver = null;
@@ -550,20 +555,15 @@ var init_index_native$11 = __esmMin((() => {
550
555
  userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;
551
556
  BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;
552
557
  MAX_SKIP_FRAMES = 20;
558
+ FRAME_MS = 1e3 / 60;
553
559
  skipFrames = BASE_SKIP_FRAMES;
554
- frameCount = 0;
555
560
  frameScheduled = false;
561
+ measureSoon = true;
556
562
  function layoutOnAnimationFrame() {
557
563
  return _layoutOnAnimationFrame.apply(this, arguments);
558
564
  }
559
565
  function _layoutOnAnimationFrame() {
560
566
  _layoutOnAnimationFrame = _asyncToGenerator(function* () {
561
- if (frameCount++ % skipFrames !== 0) {
562
- frameScheduled = false;
563
- scheduleLayoutFrame2();
564
- return;
565
- }
566
- if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
567
567
  if (strategy !== "off") {
568
568
  var activeNodes = [];
569
569
  var parentsToObserve = /* @__PURE__ */ new Set();
@@ -643,7 +643,12 @@ var init_index_native$11 = __esmMin((() => {
643
643
  }
644
644
  resumeLayoutLoop = scheduleLayoutFrame2;
645
645
  measureOnNextFrame = function measureOnNextFrame2() {
646
- frameCount = 0;
646
+ measureSoon = true;
647
+ if (waitTimer) {
648
+ clearTimeout(waitTimer);
649
+ waitTimer = void 0;
650
+ frameScheduled = false;
651
+ }
647
652
  scheduleLayoutFrame2();
648
653
  };
649
654
  document.addEventListener("visibilitychange", scheduleLayoutFrame2);
package/dist/test.cjs CHANGED
@@ -478,7 +478,7 @@ function ensureWebElement(x) {
478
478
  if (typeof HTMLElement === "undefined") return void 0;
479
479
  return x instanceof HTMLElement ? x : void 0;
480
480
  }
481
- var LayoutHandlers, LayoutDisableKey, Nodes, NodeRectCache, PrevHostNode, usePretransformDimensions, DisableLayoutContextValues, DisableLayoutContextKey, ENABLE, LayoutMeasurementController, strategy, resumeLayoutLoop, measureOnNextFrame, avoidUpdates, queuedUpdates, BoundingRects, rectFetchObserver, rectFetchResolve, rectFetchStartTime, lastCallbackDelay, rAF, userSkipVal, BASE_SKIP_FRAMES, MAX_SKIP_FRAMES, skipFrames, frameCount, frameScheduled, getElementLayoutEvent, getPreTransformDimensions, getRelativeDimensions, getBoundingClientRectAsync, measureNode, measure, createMeasure, measureInWindow, createMeasureInWindow, measureLayout$1, createMeasureLayout;
481
+ var LayoutHandlers, LayoutDisableKey, Nodes, NodeRectCache, PrevHostNode, usePretransformDimensions, DisableLayoutContextValues, DisableLayoutContextKey, ENABLE, LayoutMeasurementController, strategy, resumeLayoutLoop, measureOnNextFrame, avoidUpdates, queuedUpdates, BoundingRects, rectFetchObserver, rectFetchResolve, rectFetchStartTime, lastCallbackDelay, rAF, userSkipVal, BASE_SKIP_FRAMES, MAX_SKIP_FRAMES, FRAME_MS, skipFrames, frameScheduled, waitTimer, measureSoon, getElementLayoutEvent, getPreTransformDimensions, getRelativeDimensions, getBoundingClientRectAsync, measureNode, measure, createMeasure, measureInWindow, createMeasureInWindow, measureLayout$1, createMeasureLayout;
482
482
  var init_index_native$11 = __esmMin((() => {
483
483
  init_index_native$7();
484
484
  init_asyncToGenerator();
@@ -539,7 +539,12 @@ var init_index_native$11 = __esmMin((() => {
539
539
  }, scheduleLayoutFrame2 = function() {
540
540
  if (frameScheduled || strategy === "off" || Nodes.size === 0 || document.hidden) return;
541
541
  frameScheduled = true;
542
- rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
542
+ var delay = measureSoon ? 0 : skipFrames * FRAME_MS;
543
+ measureSoon = false;
544
+ waitTimer = setTimeout(function() {
545
+ waitTimer = void 0;
546
+ rAF ? rAF(layoutOnAnimationFrame) : layoutOnAnimationFrame();
547
+ }, delay);
543
548
  };
544
549
  BoundingRects = /* @__PURE__ */ new WeakMap();
545
550
  rectFetchObserver = null;
@@ -550,20 +555,15 @@ var init_index_native$11 = __esmMin((() => {
550
555
  userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;
551
556
  BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;
552
557
  MAX_SKIP_FRAMES = 20;
558
+ FRAME_MS = 1e3 / 60;
553
559
  skipFrames = BASE_SKIP_FRAMES;
554
- frameCount = 0;
555
560
  frameScheduled = false;
561
+ measureSoon = true;
556
562
  function layoutOnAnimationFrame() {
557
563
  return _layoutOnAnimationFrame.apply(this, arguments);
558
564
  }
559
565
  function _layoutOnAnimationFrame() {
560
566
  _layoutOnAnimationFrame = _asyncToGenerator(function* () {
561
- if (frameCount++ % skipFrames !== 0) {
562
- frameScheduled = false;
563
- scheduleLayoutFrame2();
564
- return;
565
- }
566
- if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
567
567
  if (strategy !== "off") {
568
568
  var activeNodes = [];
569
569
  var parentsToObserve = /* @__PURE__ */ new Set();
@@ -643,7 +643,12 @@ var init_index_native$11 = __esmMin((() => {
643
643
  }
644
644
  resumeLayoutLoop = scheduleLayoutFrame2;
645
645
  measureOnNextFrame = function measureOnNextFrame2() {
646
- frameCount = 0;
646
+ measureSoon = true;
647
+ if (waitTimer) {
648
+ clearTimeout(waitTimer);
649
+ waitTimer = void 0;
650
+ frameScheduled = false;
651
+ }
647
652
  scheduleLayoutFrame2();
648
653
  };
649
654
  document.addEventListener("visibilitychange", scheduleLayoutFrame2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tamagui",
3
- "version": "3.1.1",
3
+ "version": "3.1.2",
4
4
  "license": "MIT",
5
5
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
6
6
  "description": "Style and UI for React (web and native) meet an optimizing compiler",
@@ -315,73 +315,73 @@
315
315
  "check-circular-deps": "npx madge --circular ./src/index.ts"
316
316
  },
317
317
  "dependencies": {
318
- "@tamagui/accordion": "3.1.1",
319
- "@tamagui/adapt": "3.1.1",
320
- "@tamagui/alert-dialog": "3.1.1",
321
- "@tamagui/animate": "3.1.1",
322
- "@tamagui/animate-presence": "3.1.1",
323
- "@tamagui/avatar": "3.1.1",
324
- "@tamagui/button": "3.1.1",
325
- "@tamagui/card": "3.1.1",
326
- "@tamagui/checkbox": "3.1.1",
327
- "@tamagui/collapsible": "3.1.1",
328
- "@tamagui/compose-refs": "3.1.1",
329
- "@tamagui/constants": "3.1.1",
330
- "@tamagui/context-menu": "3.1.1",
331
- "@tamagui/core": "3.1.1",
332
- "@tamagui/create-context": "3.1.1",
333
- "@tamagui/create-menu": "3.1.1",
334
- "@tamagui/dialog": "3.1.1",
335
- "@tamagui/element": "3.1.1",
336
- "@tamagui/fake-react-native": "3.1.1",
337
- "@tamagui/field": "3.1.1",
338
- "@tamagui/focusable": "3.1.1",
339
- "@tamagui/font-size": "3.1.1",
340
- "@tamagui/form": "3.1.1",
341
- "@tamagui/get-font-sized": "3.1.1",
342
- "@tamagui/get-token": "3.1.1",
343
- "@tamagui/group": "3.1.1",
344
- "@tamagui/helpers-tamagui": "3.1.1",
345
- "@tamagui/image": "3.1.1",
346
- "@tamagui/input": "3.1.1",
347
- "@tamagui/label": "3.1.1",
348
- "@tamagui/linear-gradient": "3.1.1",
349
- "@tamagui/list-item": "3.1.1",
350
- "@tamagui/menu": "3.1.1",
351
- "@tamagui/polyfill-dev": "3.1.1",
352
- "@tamagui/popover": "3.1.1",
353
- "@tamagui/popper": "3.1.1",
354
- "@tamagui/portal": "3.1.1",
355
- "@tamagui/progress": "3.1.1",
356
- "@tamagui/radio-group": "3.1.1",
357
- "@tamagui/react-native-media-driver": "3.1.1",
358
- "@tamagui/react-native-types": "3.1.1",
359
- "@tamagui/scroll-view": "3.1.1",
360
- "@tamagui/select": "3.1.1",
361
- "@tamagui/separator": "3.1.1",
362
- "@tamagui/shapes": "3.1.1",
363
- "@tamagui/sheet": "3.1.1",
364
- "@tamagui/slider": "3.1.1",
365
- "@tamagui/spacer": "3.1.1",
366
- "@tamagui/spinner": "3.1.1",
367
- "@tamagui/stacks": "3.1.1",
368
- "@tamagui/switch": "3.1.1",
369
- "@tamagui/tabs": "3.1.1",
370
- "@tamagui/text": "3.1.1",
371
- "@tamagui/theme": "3.1.1",
372
- "@tamagui/toast": "3.1.1",
373
- "@tamagui/toggle-group": "3.1.1",
374
- "@tamagui/tooltip": "3.1.1",
375
- "@tamagui/ui": "3.1.1",
376
- "@tamagui/use-controllable-state": "3.1.1",
377
- "@tamagui/use-debounce": "3.1.1",
378
- "@tamagui/use-force-update": "3.1.1",
379
- "@tamagui/use-window-dimensions": "3.1.1",
380
- "@tamagui/visually-hidden": "3.1.1",
381
- "@tamagui/z-index-stack": "3.1.1"
318
+ "@tamagui/accordion": "3.1.2",
319
+ "@tamagui/adapt": "3.1.2",
320
+ "@tamagui/alert-dialog": "3.1.2",
321
+ "@tamagui/animate": "3.1.2",
322
+ "@tamagui/animate-presence": "3.1.2",
323
+ "@tamagui/avatar": "3.1.2",
324
+ "@tamagui/button": "3.1.2",
325
+ "@tamagui/card": "3.1.2",
326
+ "@tamagui/checkbox": "3.1.2",
327
+ "@tamagui/collapsible": "3.1.2",
328
+ "@tamagui/compose-refs": "3.1.2",
329
+ "@tamagui/constants": "3.1.2",
330
+ "@tamagui/context-menu": "3.1.2",
331
+ "@tamagui/core": "3.1.2",
332
+ "@tamagui/create-context": "3.1.2",
333
+ "@tamagui/create-menu": "3.1.2",
334
+ "@tamagui/dialog": "3.1.2",
335
+ "@tamagui/element": "3.1.2",
336
+ "@tamagui/fake-react-native": "3.1.2",
337
+ "@tamagui/field": "3.1.2",
338
+ "@tamagui/focusable": "3.1.2",
339
+ "@tamagui/font-size": "3.1.2",
340
+ "@tamagui/form": "3.1.2",
341
+ "@tamagui/get-font-sized": "3.1.2",
342
+ "@tamagui/get-token": "3.1.2",
343
+ "@tamagui/group": "3.1.2",
344
+ "@tamagui/helpers-tamagui": "3.1.2",
345
+ "@tamagui/image": "3.1.2",
346
+ "@tamagui/input": "3.1.2",
347
+ "@tamagui/label": "3.1.2",
348
+ "@tamagui/linear-gradient": "3.1.2",
349
+ "@tamagui/list-item": "3.1.2",
350
+ "@tamagui/menu": "3.1.2",
351
+ "@tamagui/polyfill-dev": "3.1.2",
352
+ "@tamagui/popover": "3.1.2",
353
+ "@tamagui/popper": "3.1.2",
354
+ "@tamagui/portal": "3.1.2",
355
+ "@tamagui/progress": "3.1.2",
356
+ "@tamagui/radio-group": "3.1.2",
357
+ "@tamagui/react-native-media-driver": "3.1.2",
358
+ "@tamagui/react-native-types": "3.1.2",
359
+ "@tamagui/scroll-view": "3.1.2",
360
+ "@tamagui/select": "3.1.2",
361
+ "@tamagui/separator": "3.1.2",
362
+ "@tamagui/shapes": "3.1.2",
363
+ "@tamagui/sheet": "3.1.2",
364
+ "@tamagui/slider": "3.1.2",
365
+ "@tamagui/spacer": "3.1.2",
366
+ "@tamagui/spinner": "3.1.2",
367
+ "@tamagui/stacks": "3.1.2",
368
+ "@tamagui/switch": "3.1.2",
369
+ "@tamagui/tabs": "3.1.2",
370
+ "@tamagui/text": "3.1.2",
371
+ "@tamagui/theme": "3.1.2",
372
+ "@tamagui/toast": "3.1.2",
373
+ "@tamagui/toggle-group": "3.1.2",
374
+ "@tamagui/tooltip": "3.1.2",
375
+ "@tamagui/ui": "3.1.2",
376
+ "@tamagui/use-controllable-state": "3.1.2",
377
+ "@tamagui/use-debounce": "3.1.2",
378
+ "@tamagui/use-force-update": "3.1.2",
379
+ "@tamagui/use-window-dimensions": "3.1.2",
380
+ "@tamagui/visually-hidden": "3.1.2",
381
+ "@tamagui/z-index-stack": "3.1.2"
382
382
  },
383
383
  "devDependencies": {
384
- "@tamagui/build": "3.1.1",
384
+ "@tamagui/build": "3.1.2",
385
385
  "react": "19.3.0",
386
386
  "react-native": "0.88.0",
387
387
  "react-native-web": "~0.21.4"
@@ -400,5 +400,5 @@
400
400
  ],
401
401
  "module:jsx": "dist/jsx",
402
402
  "removeSideEffects": true,
403
- "releaseSourceCommit": "9c48b9263440e4062a9302751b7f8b2d24a3bbed"
403
+ "releaseSourceCommit": "c06d0dfae5cf10bfe70ea4db7ceba2e16501f931"
404
404
  }