@tamagui/web 1.55.2 → 1.56.0

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 (81) hide show
  1. package/dist/cjs/config.js +1 -1
  2. package/dist/cjs/config.js.map +1 -1
  3. package/dist/cjs/createComponent.js +79 -21
  4. package/dist/cjs/createComponent.js.map +2 -2
  5. package/dist/cjs/helpers/createMediaStyle.js +47 -39
  6. package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
  7. package/dist/cjs/helpers/createShallowSetState.js +6 -4
  8. package/dist/cjs/helpers/createShallowSetState.js.map +1 -1
  9. package/dist/cjs/helpers/getGroupPropParts.js +41 -0
  10. package/dist/cjs/helpers/getGroupPropParts.js.map +6 -0
  11. package/dist/cjs/helpers/getSplitStyles.js +49 -18
  12. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  13. package/dist/cjs/helpers/insertStyleRule.js +9 -2
  14. package/dist/cjs/helpers/insertStyleRule.js.map +1 -1
  15. package/dist/cjs/helpers/matchMedia.js +1 -0
  16. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  17. package/dist/cjs/helpers/matchMedia.native.js +1 -0
  18. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  19. package/dist/cjs/hooks/useMedia.js +31 -3
  20. package/dist/cjs/hooks/useMedia.js.map +1 -1
  21. package/dist/cjs/index.js +0 -2
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/views/Slot.js +4 -11
  24. package/dist/cjs/views/Slot.js.map +1 -1
  25. package/dist/esm/config.js +1 -1
  26. package/dist/esm/config.js.map +1 -1
  27. package/dist/esm/createComponent.js +85 -24
  28. package/dist/esm/createComponent.js.map +2 -2
  29. package/dist/esm/helpers/createMediaStyle.js +47 -39
  30. package/dist/esm/helpers/createMediaStyle.js.map +1 -1
  31. package/dist/esm/helpers/createShallowSetState.js +4 -3
  32. package/dist/esm/helpers/createShallowSetState.js.map +1 -1
  33. package/dist/esm/helpers/getGroupPropParts.js +17 -0
  34. package/dist/esm/helpers/getGroupPropParts.js.map +6 -0
  35. package/dist/esm/helpers/getSplitStyles.js +50 -18
  36. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  37. package/dist/esm/helpers/insertStyleRule.js +9 -2
  38. package/dist/esm/helpers/insertStyleRule.js.map +1 -1
  39. package/dist/esm/helpers/matchMedia.js +1 -0
  40. package/dist/esm/helpers/matchMedia.js.map +1 -1
  41. package/dist/esm/helpers/matchMedia.native.js +1 -0
  42. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  43. package/dist/esm/hooks/useMedia.js +29 -3
  44. package/dist/esm/hooks/useMedia.js.map +1 -1
  45. package/dist/esm/index.js +0 -1
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/views/Slot.js +3 -9
  48. package/dist/esm/views/Slot.js.map +1 -1
  49. package/package.json +9 -10
  50. package/src/config.ts +1 -1
  51. package/src/createComponent.tsx +102 -25
  52. package/src/helpers/createMediaStyle.ts +59 -45
  53. package/src/helpers/createShallowSetState.tsx +2 -2
  54. package/src/helpers/getGroupPropParts.ts +14 -0
  55. package/src/helpers/getSplitStyles.tsx +60 -24
  56. package/src/helpers/insertStyleRule.tsx +17 -5
  57. package/src/helpers/matchMedia.native.ts +1 -0
  58. package/src/helpers/matchMedia.ts +1 -0
  59. package/src/hooks/useMedia.tsx +34 -3
  60. package/src/index.ts +0 -1
  61. package/src/types.tsx +43 -6
  62. package/src/views/Slot.tsx +2 -8
  63. package/types/createComponent.d.ts.map +1 -1
  64. package/types/helpers/createMediaStyle.d.ts +1 -1
  65. package/types/helpers/createMediaStyle.d.ts.map +1 -1
  66. package/types/helpers/createShallowSetState.d.ts +1 -0
  67. package/types/helpers/createShallowSetState.d.ts.map +1 -1
  68. package/types/helpers/getGroupPropParts.d.ts +6 -0
  69. package/types/helpers/getGroupPropParts.d.ts.map +1 -0
  70. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  71. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  72. package/types/helpers/matchMedia.d.ts.map +1 -1
  73. package/types/helpers/matchMedia.native.d.ts.map +1 -1
  74. package/types/hooks/useMedia.d.ts +6 -1
  75. package/types/hooks/useMedia.d.ts.map +1 -1
  76. package/types/index.d.ts +0 -1
  77. package/types/index.d.ts.map +1 -1
  78. package/types/types.d.ts +38 -4
  79. package/types/types.d.ts.map +1 -1
  80. package/types/views/Slot.d.ts +0 -1
  81. package/types/views/Slot.d.ts.map +1 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useComposedRefs } from "@tamagui/compose-refs";
3
3
  import { isClient, isServer, isWeb } from "@tamagui/constants";
4
- import { validStyles } from "@tamagui/helpers";
4
+ import { composeEventHandlers, validStyles } from "@tamagui/helpers";
5
5
  import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
6
6
  import React, {
7
7
  Children,
@@ -21,12 +21,15 @@ import { getConfig, onConfiguredOnce } from "./config";
21
21
  import { stackDefaultStyles } from "./constants/constants";
22
22
  import { ComponentContext } from "./contexts/ComponentContext";
23
23
  import { didGetVariableValue, setDidGetVariableValue } from "./createVariable";
24
- import { createShallowSetState } from "./helpers/createShallowSetState";
24
+ import {
25
+ createShallowSetState,
26
+ mergeIfNotShallowEqual
27
+ } from "./helpers/createShallowSetState";
25
28
  import { useSplitStyles } from "./helpers/getSplitStyles";
26
29
  import { mergeProps } from "./helpers/mergeProps";
27
30
  import { proxyThemeVariables } from "./helpers/proxyThemeVariables";
28
31
  import { themeable } from "./helpers/themeable";
29
- import { setMediaShouldUpdate, useMedia } from "./hooks/useMedia";
32
+ import { mediaKeyMatch, setMediaShouldUpdate, useMedia } from "./hooks/useMedia";
30
33
  import { useThemeWithState } from "./hooks/useTheme";
31
34
  import { hooks } from "./setupHooks";
32
35
  import { Slot } from "./views/Slot";
@@ -192,12 +195,15 @@ function createComponent(staticConfig) {
192
195
  const setState = states[1];
193
196
  let setStateShallow = createShallowSetState(setState);
194
197
  const groupName = props.group;
198
+ const groupClassName = groupName ? `t_group_${props.group}` : "";
195
199
  if (groupName) {
196
200
  const groupContextState = componentContext.groups.state;
197
201
  const og = setStateShallow;
198
202
  setStateShallow = (state2) => {
199
203
  og(state2);
200
- componentContext.groups.emit(groupName, state2);
204
+ componentContext.groups.emit(groupName, {
205
+ pseudo: state2
206
+ });
201
207
  const next = {
202
208
  ...groupContextState[groupName],
203
209
  ...state2
@@ -349,6 +355,9 @@ function createComponent(staticConfig) {
349
355
  elementType,
350
356
  debugProp
351
357
  );
358
+ if (props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured) {
359
+ splitStyles.style.opacity = 0;
360
+ }
352
361
  if (process.env.NODE_ENV === "development" && time)
353
362
  time`split-styles`;
354
363
  stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess;
@@ -436,6 +445,13 @@ function createComponent(staticConfig) {
436
445
  defaultVariants,
437
446
  ...nonTamaguiProps
438
447
  } = viewPropsIn;
448
+ if (process.env.NODE_ENV === "development" && props.untilMeasured && !props.group) {
449
+ console.warn(
450
+ `You set the untilMeasured prop without setting group. This doesn't work, be sure to set untilMeasured on the parent that sets group, not the children that use the $group- prop.
451
+
452
+ If you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`
453
+ );
454
+ }
439
455
  if (process.env.NODE_ENV === "development" && time)
440
456
  time`destructure`;
441
457
  const disabled = ((_d = props.accessibilityState) == null ? void 0 : _d.disabled) || // @ts-expect-error (comes from core)
@@ -444,6 +460,20 @@ function createComponent(staticConfig) {
444
460
  if (isHOC && _themeProp) {
445
461
  viewProps.theme = _themeProp;
446
462
  }
463
+ if (groupName) {
464
+ nonTamaguiProps.onLayout = composeEventHandlers(
465
+ nonTamaguiProps.onLayout,
466
+ (e) => {
467
+ componentContext.groups.emit(groupName, {
468
+ layout: e.nativeEvent.layout
469
+ });
470
+ if (!stateRef.current.hasMeasured && props.untilMeasured === "hide") {
471
+ setState((prev) => ({ ...prev }));
472
+ }
473
+ stateRef.current.hasMeasured = true;
474
+ }
475
+ );
476
+ }
447
477
  if (process.env.TAMAGUI_TARGET === "web" && !isReactNative && !willBeAnimated && !asChild) {
448
478
  viewProps = (_f = (_e = hooks).usePropsTransform) == null ? void 0 : _f.call(_e, elementType, nonTamaguiProps, hostRef);
449
479
  } else {
@@ -470,7 +500,7 @@ function createComponent(staticConfig) {
470
500
  });
471
501
  }, []);
472
502
  const shouldSetMounted = needsMount && state.unmounted;
473
- const { pseudoGroups } = splitStyles;
503
+ const { pseudoGroups, mediaGroups } = splitStyles;
474
504
  useEffect(() => {
475
505
  if (shouldSetMounted) {
476
506
  const unmounted = state.unmounted === true && hasEnterStyle ? "should-enter" : false;
@@ -480,21 +510,35 @@ function createComponent(staticConfig) {
480
510
  return;
481
511
  }
482
512
  let disposeGroupsListener;
483
- if (pseudoGroups) {
484
- const current = {};
485
- disposeGroupsListener = componentContext.groups.subscribe((name, next) => {
486
- if (pseudoGroups.has(name)) {
487
- Object.assign(current, next);
488
- const group = {
489
- ...state.group,
490
- [name]: current
491
- };
492
- setStateShallow({
493
- // force it to be referentially different so it always updates
494
- group
495
- });
513
+ if (pseudoGroups || mediaGroups) {
514
+ const current = {
515
+ pseudo: {},
516
+ media: {}
517
+ };
518
+ disposeGroupsListener = componentContext.groups.subscribe(
519
+ (name, { layout, pseudo }) => {
520
+ if (pseudo && (pseudoGroups == null ? void 0 : pseudoGroups.has(name))) {
521
+ Object.assign(current.pseudo, pseudo);
522
+ persist();
523
+ } else if (layout && mediaGroups) {
524
+ const mediaState2 = getMediaState(mediaGroups, layout);
525
+ const next = mergeIfNotShallowEqual(current.media, mediaState2);
526
+ if (next !== current.media) {
527
+ Object.assign(current.media, next);
528
+ persist();
529
+ }
530
+ }
531
+ function persist() {
532
+ setStateShallow({
533
+ // force it to be referentially different so it always updates
534
+ group: {
535
+ ...state.group,
536
+ [name]: current
537
+ }
538
+ });
539
+ }
496
540
  }
497
- });
541
+ );
498
542
  }
499
543
  return () => {
500
544
  disposeGroupsListener == null ? void 0 : disposeGroupsListener();
@@ -503,7 +547,8 @@ function createComponent(staticConfig) {
503
547
  }, [
504
548
  shouldSetMounted,
505
549
  state.unmounted,
506
- pseudoGroups ? Object.keys([...pseudoGroups]).join("") : 0
550
+ pseudoGroups ? Object.keys([...pseudoGroups]).join("") : 0,
551
+ mediaGroups ? Object.keys([...mediaGroups]).join("") : 0
507
552
  ]);
508
553
  const avoidAnimationStyle = keepStyleSSR && state.unmounted === true;
509
554
  let fontFamily = isText ? splitStyles.fontFamily || ((_g = staticConfig.defaultProps) == null ? void 0 : _g.fontFamily) : null;
@@ -518,7 +563,7 @@ function createComponent(staticConfig) {
518
563
  componentName ? componentClassName : "",
519
564
  fontFamilyClassName,
520
565
  classNames ? Object.values(classNames).join(" ") : "",
521
- props.group ? `t_group_${props.group}` : ""
566
+ groupClassName
522
567
  ];
523
568
  className = classList.join(" ");
524
569
  if (isAnimatedReactNativeWeb && !avoidAnimationStyle) {
@@ -655,13 +700,21 @@ function createComponent(staticConfig) {
655
700
  content = createElement(elementType, viewProps, content);
656
701
  const subGroupContext = useMemo(() => {
657
702
  if (!groupName)
658
- return null;
703
+ return;
659
704
  return {
660
705
  ...componentContext.groups,
661
706
  // change reference so as we mutate it doesn't affect siblings etc
662
707
  state: {
663
708
  ...componentContext.groups.state,
664
- [groupName]: initialState
709
+ [groupName]: {
710
+ pseudo: initialState,
711
+ // capture just initial width and height if they exist
712
+ // will have top, left, width, height (not x, y)
713
+ layout: {
714
+ width: fromPx(splitStyles.style.width),
715
+ height: fromPx(splitStyles.style.height)
716
+ }
717
+ }
665
718
  }
666
719
  };
667
720
  }, [groupName]);
@@ -677,7 +730,7 @@ function createComponent(staticConfig) {
677
730
  content = /* @__PURE__ */ jsx(
678
731
  "span",
679
732
  {
680
- className: `${isAnimatedReactNativeWeb ? className : ""} _dsp_contents`,
733
+ className: `${isAnimatedReactNativeWeb ? className : ""} _dsp_contents`,
681
734
  ...events && {
682
735
  onMouseEnter: events.onMouseEnter,
683
736
  onMouseLeave: events.onMouseLeave,
@@ -951,6 +1004,14 @@ function hasAnimatedStyleValue(style) {
951
1004
  return val && typeof val === "object" && "_animation" in val;
952
1005
  });
953
1006
  }
1007
+ function getMediaState(mediaGroups, layout) {
1008
+ return Object.fromEntries(
1009
+ [...mediaGroups].map((mediaKey) => {
1010
+ return [mediaKey, mediaKeyMatch(mediaKey, layout)];
1011
+ })
1012
+ );
1013
+ }
1014
+ const fromPx = (val) => typeof val !== "string" ? val : +val.replace("px", "");
954
1015
  export {
955
1016
  Spacer,
956
1017
  Unspaced,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createComponent.tsx"],
4
- "mappings": "AAs7BQ;AAt7BR,SAAS,uBAAuB;AAChC,SAAS,UAAU,UAAU,aAAa;AAC1C,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,OAAO;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,WAAW,wBAAwB;AAC5C,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB,8BAA8B;AAC5D,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAC3B,SAAS,2BAA2B;AACpC,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB,gBAAgB;AAC/C,SAAS,yBAAyB;AAClC,SAAS,aAAa;AAmBtB,SAAS,YAAY;AACrB,SAAS,yBAAyB;AAClC,SAAS,kBAAkB;AAG3B,QAAQ,IAAI;AAEL,MAAM,wBAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AACb;AAEA,MAAM,+BAAsD;AAAA,EAC1D,GAAG;AAAA,EACH,WAAW;AACb;AAEA,MAAM,mCAA0D;AAAA,EAC9D,GAAG;AAAA,EACH,WAAW;AACb;AAKA,IAAI;AACJ,IAAI;AACJ,IAAI;AACJ,IAAI;AAEG,MAAM,WAAW,oBAAI,IAAc;AAC1C,IAAI,OAAO,aAAa,aAAa;AACnC,QAAM,gBAAgB,MAAM;AAC1B,aAAS,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC3B,aAAS,MAAM;AAAA,EACjB;AACA,mBAAiB,WAAW,aAAa;AACzC,mBAAiB,YAAY,aAAa;AAC1C,mBAAiB,eAAe,aAAa;AAC/C;AAMA,IAAI;AACJ,IAAI;AACJ,IAAI,oBAAoB;AAEjB,SAAS,gBAId,cAA4B;AAzG9B;AA0GE,mBAAiB,CAAC,SAAS;AAEzB,QAAI,CAAC,eAAe;AAClB,sBAAgB;AAEhB,UAAI,CAAC,cAAc;AACjB,cAAM,OAAO,KAAK,OAAO,OAAO,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC;AACpD,uBAAe,oBAAoB,IAAI;AACvC,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAI,CAAC,cAAc;AAEjB,oBAAQ,IAAI,wBAAwB;AAAA,UACtC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAAA,eAAc,CAAC;AAAA,IACf,WAAW,CAAC;AAAA,EACd,IAAI;AAEJ,QAAM,4BAA4B,MAAM,aAAa,aAAa;AAClE,QAAM,eAAe,aAAa;AAElC,MAAI,QAAQ,IAAI,aAAa,mBAAiB,kBAAa,iBAAb,mBAA4B,WAAU;AAClF,QAAI,QAAQ,IAAI,cAAc,aAAa;AAEzC,cAAQ,IAAI,cAAO,aAAa,iBAAiB,WAAW,KAAK;AAAA,QAC/D;AAAA,QACA;AAAA,QACA,sBAAsB,eAAe,OAAO,KAAK,YAAY,IAAI,CAAC;AAAA,MACpE,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,YAAY,WAAoC,CAAC,SAAS,iBAAiB;AAnJnF,QAAAC,KAAA;AAoJI,QAAI,QAAQ,IAAI,mBAAmB,UAAU;AAE3C,UAAI,CAAC,mBAAmB;AACtB,4BAAoB;AACpB,cAAM,aAAY,MAAAA,MAAA,OAAM,iBAAN,wBAAAA;AAClB,YAAI,WAAW;AACb,qBAAW,UAAU;AACrB,qBAAW,UAAU;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAGA,QAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,UAAI,QAAQ,mBAAmB,GAAG;AAChC,gBAAQ,mBAAmB,EAAE,SAAS,MAAM;AAC5C,gBAAQ,mBAAmB,EAAE,SAAS,KAAK;AAAA,MAC7C;AAAA,IACF;AAEA,UAAM,mBAAmB,WAAW,gBAAgB;AAIpD,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,UAAM,EAAE,QAAQ,IAAI;AACpB,QAAI,SAAS;AACX,qBAAe,WAAW,OAAO;AACjC,YAAM,EAAE,kBAAkB,IAAI,UAAU;AACxC,iBAAW,OAAO,QAAQ,OAAO;AAC/B,cAAM;AAAA;AAAA,UAEJ,QAAQ,GAAG,KACX,QAAQ,kBAAkB,GAAG,CAAC,MAC9B,6CAAe,UACf,6CAAe,kBAAkB,GAAG;AAAA;AAEtC,YAAI,YAAY,QAAW;AACzB,cAAI,cAAc;AAChB,kBAAM,eAAe,OAAOD,gBAAe,OAAO;AAClD,gBAAI,cAAc;AAChB,qCAAuB,CAAC;AACxB,iCAAmB,GAAG,IAAI,aAAa,GAAG;AAAA,YAC5C;AAAA,UACF;AAAA,QACF,OAEK;AACH,qCAA2B,CAAC;AAC5B,iCAAuB,GAAG,IAAI;AAAA,QAChC;AAAA,MACF;AAAA,IACF;AAGA,UAAM,kBAAkB,qBACpB,EAAE,GAAG,cAAc,GAAG,mBAAmB,IACzC;AAIJ,QAAI;AACJ,QAAI,iBAAiB;AACnB,cAAQ,WAAW,iBAAiB,OAAO;AAAA,IAC7C,OAAO;AACL,cAAQ;AAAA,IACV;AAEA,UAAM,YAAY,MAAM,OAAO;AAC/B,UAAM,gBAAgB,MAAM,iBAAiB,aAAa;AAE1D,QAAI;AACJ,QACE,CAAC,QAAQ,IAAI,wBACb,QAAQ,IAAI,aAAa,iBACzB,cAAc,WACd;AACA,YAAM,QAAQ,QAAQ,gBAAgB,EAAE,MAAM;AAC9C,aAAO,MAAM,MAAM;AAAA,IACrB;AAEA,UAAM,aAAa,gBAAgB;AAInC,UAAM,WAAW;AAAA,MACf;AAAA,IAKF;AACA,aAAS,YAAY,CAAC;AAEtB,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,UAAU,OAAuB,IAAI;AAK3C,UAAM,mBAAmB,iBAAiB;AAC1C,UAAM,gBAAgB,qDAAkB;AAGxC,UAAM,mBAAmB;AAAA,MACvB,MAAM,aAAc,MAAM,SAAS,sBAAsB,MAAM,KAAK;AAAA,IACtE;AAGA,UAAM,kBAAkB,qDAAkB;AAE1C,UAAM,kBAAkB,MAAM;AAC5B,UAAI,YAAY,CAAC;AAAiB,eAAO;AACzC,YAAM,WAAW,SAAS;AAC1B,YAAM,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS;AAC9C,aAAO,QAAQ,QAAQ,SAAS,WAAW;AAAA,IAC7C,GAAG;AAEH,UAAM,cAAc,qDAAkB;AACtC,UAAM,WAAY,mBAAkB,iDAAoB;AAExD,UAAM,gBAAgB,CAAC,CAAC,MAAM;AAC9B,UAAM,aAAa,SAAS,QAAQ,WAAW,SAAS,cAAc;AAEtE,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,eAAe,iBACjB,kBACE,mCACA,wBACF;AAEJ,UAAM,SAAS,SAAgC,YAAY;AAE3D,UAAM,QAAQ,QAAQ,aAClB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,GAAG,KAAK,IAC3C,OAAO,CAAC;AACZ,UAAM,WAAW,OAAO,CAAC;AAEzB,QAAI,kBAAkB,sBAAsB,QAAQ;AAEpD,UAAM,YAAY,MAAM;AACxB,QAAI,WAAW;AAEb,YAAM,oBAAoB,iBAAiB,OAAO;AAClD,YAAM,KAAK;AACX,wBAAkB,CAACE,WAAU;AAC3B,WAAGA,MAAK;AACR,yBAAiB,OAAO,KAAK,WAAWA,MAAK;AAE7C,cAAM,OAAO;AAAA,UACX,GAAG,kBAAkB,SAAS;AAAA,UAC9B,GAAGA;AAAA,QACL;AACA,0BAAkB,SAAS,IAAI;AAAA,MACjC;AAAA,IACF;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,QAAI,aAAa;AAEjB,QAAI,kBAAkB,CAAC,iBAAiB;AACtC,UAAI,CAAC,YAAY,YAAY;AAC3B,YAAI,YAAY,MAAM,cAAc,MAAM;AACxC,uBAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAGA,QAAI,kBAAkB,CAAC,SAAS,QAAQ,aAAa;AACnD,eAAS,QAAQ,cAAc;AAAA,IACjC;AAEA,UAAM,qBAAqB,MAAM,UAC7B,KACA,MAAM,gBACN,MAAM,MAAM,aAAa,KACzB;AAEJ,UAAM,kBAAkB,CAAC,EAAE,SAAS,SAAS,iBAAiB,SAAS;AACvE,UAAM,aAAa,MAAM,cAAY,WAAM,uBAAN,mBAA0B;AAE/D,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,aAAa,CAAC,aAAa,OAAO,cAAc;AAEtD,UAAM,UAAU,QAAS,aAAa,MAAM,OAAO,YAAY,YAAa;AAE5E,UAAM,oBAAoB,YAAY,WAAW;AACjD,UAAM,oBAAoB,YAAY,YAAY,kBAAkB,SAAS;AAE7E,mBAAe,mBAAmB,iBAAiB,OAAO;AAC1D,mBAAe,mBAAmB,iBAAiB,OAAO;AAE1D,QAAI,cAAc,UACb,aAAa,eAAe,SAAS,qBACrC,aAAa,eAAe,SAAS;AAG1C,QAAI,cAAc,UAAU;AAC1B,YAAM,gBAAgB,SAAS,CAAC;AAChC,UAAI,eAAe;AACjB,cAAM,aAAa,MAAM;AACzB,cAAMC,aAAY,CAAC,cAAc;AACjC,cAAM,mBAAmB,cAAc;AACvC,cAAM,eAAe,oBAAoB,cAAc;AACvD,cAAM,cAAc,oBAAoB,cAAc;AAEtD,YAAI,cAAc,cAAc;AAC9B,cAAI,QAAQ,IAAI,aAAa,iBAAiB,cAAc,WAAW;AACrE,oBAAQ,KAAK,6BAA6B,YAAY,GAAG;AAAA,UAC3D;AAEA,gBAAM,YAAY,IAAI;AAAA,QACxB,WAAWA,cAAa,aAAa;AACnC,cAAI,QAAQ,IAAI,aAAa,iBAAiB,cAAc,WAAW;AACrE,oBAAQ,KAAK,4BAA4B,YAAY,GAAG;AAAA,UAC1D;AAEA,gBAAM,WAAW,IAAI,mBAAmB,QAAQ;AAAA,QAClD;AAAA,MACF;AAAA,IACF;AAEA,UAAM,wBAAwB,eAAc,qDAAkB;AAC9D,UAAM,gBAAgB,QAAQ,aAAa,iBAAiB,qBAAqB;AACjF,UAAM,qBAAqB;AAAA,MACzB,CAAC,SAAS,cAAc,CAAC,aAAa,oBAAoB,QAAQ;AAAA,IACpE;AAEA,UAAM,oBAAoB,CAAC,CAAC,QAAQ;AACpC,UAAM,eAAe,sBAAsB;AAG3C,UAAM,mBAAmB,MAAM,oBAAoB;AACnD,UAAM,eAAgB,oBAAoB,CAAC,kBAAmB;AAE9D,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,kBAAkB;AAAA,MACtB,MAAM,MAAM;AAAA,MACZ;AAAA;AAAA,MAEA,SAAS;AAAA,MACT,SAAS,SAAS,QAAQ;AAAA,MAC1B,cAAc,MAAM;AAElB,eAAO,SAAS,QAAQ;AAAA,MAC1B;AAAA,MACA,OAAO;AAAA,IACT;AAEA,UAAM,YAAY,QAAQ,CAAC,MAAM,cAAa,qCAAW,QAAO,KAAK;AAErE,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,YAAM,KAAK,MAAM;AAEjB,UAAI,aAAa,cAAc,WAAW;AAExC,cAAM,OAAO,GACX,kBAAiB,uCAAW,iBAAe,uCAAW,SAAQ,qBAChE;AACA,cAAM,OAAO,wBAAwB,eAAe,gBAAgB,UAAU;AAC9E,cAAM,SAAS,QAAQ,SAAS,KAAK;AACrC,cAAM,SAAS,GAAG,IAAI,GAAG,SAAS,IAAI,MAAM,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE;AACpE,gBAAQ;AAAA,UACN,MAAM,MAAM,gBAAgB,MAAM,SAAS,IACzC,WAAW,eAAe,SAAS,CAAC,CAAC,MAAM,EAC7C,IAAI,aAAa,cAAO,iBAAK;AAAA,UAC7B;AAAA,QACF;AACA,YAAI,CAAC,UAAU;AACb,kBAAQ;AAAA,YACN,qBAAqB,MAAM,SAAS,MAAM,UAAU,aAAa,EAAE,GACjE,MAAM,QAAQ,aAAa,EAC7B,GAAG,MAAM,QAAQ,YAAY,GAAG;AAAA,UAClC;AAGA,kBAAQ,IAAI;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,eAAe,EAAE,cAAc,oBAAoB,uBAAuB;AAAA,YAC1E;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,cAAc,OAAO,KAAK,OAAO;AAAA,YACjC,YAAY,OAAO,KAAK,KAAK;AAAA,UAC/B,CAAC;AACD,kBAAQ,SAAS;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,CAAC,YAAY,KAAK,IAAI,kBAAkB,eAAe;AAE7D,kBAAc,aAAa;AAC3B,UAAM,kBAAkB,OAAO,gBAAgB;AAE/C,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,aAAa;AAAA;AAAA;AAAA,MAGjB;AAAA,IACF;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,2BAAuB,KAAK;AAE5B,UAAM;AAAA;AAAA,MAEH,cAAc,CAAC,mBACf,SAAS,MAAM,aAAa,SAAS,mBAClC,UACA;AAAA;AAGN,UAAM,eAAe,mBAAkB,qDAAkB;AAEzD,UAAM,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,cAAc;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,MAAM;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,aAAS,QAAQ,qBAAqB,YAAY;AAIlD,UAAM,eAAe,YAAY,YAAY,MAAM,QAAQ,YAAY,QAAQ;AAC/E,UAAM,uBACJ,oBAAoB,KACpB,gBACC,gBAAgB,YAAY,aAAa;AAC5C,UAAM,qBAAqB,eAAgB,YAAY,WAAmB;AAE1E,yBAAqB,UAAU;AAAA,MAC7B,SAAS;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAGD,UAAM,2BAA2B,cAAc;AAE/C,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAI,CAAC,QAAQ,IAAI,gBAAgB;AAC/B,gBAAQ;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAEA,UAAI,aAAa,cAAc,WAAW;AACxC,gBAAQ,eAAe,KAAK;AAG5B,gBAAQ,IAAI,YAAY,SAAS,aAAa,OAAO,YAAY,OAAO,KAAK,KAAK,CAAC;AAEnF,gBAAQ,IAAI,eAAe,WAAW;AAEtC,gBAAQ,IAAI,SAAS,EAAE,sBAAsB,cAAc,mBAAmB,CAAC;AAE/E,gBAAQ,IAAI,aAAa,OAAO,OAAO,YAAY,UAAU,CAAC;AAC9D,YAAI,UAAU;AAEZ,kBAAQ,IAAI,OAAO,SAAS,iBAAiB;AAAA,QAC/C;AACA,gBAAQ,SAAS;AACjB,YAAI,cAAc,SAAS;AAEzB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM;AAAA,MACJ,WAAW;AAAA,MACX;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,IACF,IAAI;AAEJ,UAAM,qBAAqB;AAI3B,QAAI;AACJ,QAAI,kBAAkB,iBAAiB,CAAC,OAAO;AAC7C,YAAM,aAAa,cAAc;AAAA,QAC/B,OAAO;AAAA;AAAA,QAEP,OAAO;AAAA;AAAA,QAEP;AAAA,QACA,gBAAgB;AAAA,QAChB;AAAA,QACA,OAAO,WAAW,MAAM;AAAA,QACxB,SAAS,WAAW;AAAA,QACpB;AAAA,QACA;AAAA,MACF,CAAC;AAED,UAAI,cAAc,YAAY;AAC5B,0BAAkB,WAAW;AAAA,MAC/B;AAEA,UAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAAA,IACtD;AAEA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA,YAAY;AAAA;AAAA,MAEZ;AAAA,MACA,OAAO;AAAA;AAAA,MAEP;AAAA,MAEA,GAAG;AAAA,IACL,IAAI;AAEJ,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,aACJ,WAAM,uBAAN,mBAA0B;AAAA,IAE1B,MAAM;AAIR,QAAI,YAAY;AAEhB,QAAI,SAAS,YAAY;AACvB,gBAAU,QAAQ;AAAA,IACpB;AAGA,QACE,QAAQ,IAAI,mBAAmB,SAC/B,CAAC,iBACD,CAAC,kBACD,CAAC,SACD;AACA,mBAAY,kBAAM,sBAAN,4BAA0B,aAAa,iBAAiB;AAAA,IACtE,OAAO;AACL,kBAAY;AAAA,IACd;AAEA,cAAU,MAAM,gBAAgB,SAAgB,YAAY;AAE5D,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAI,CAAC,iBAAiB,CAAC,UAAU,SAAS,CAAC,OAAO;AAChD,iBAAS,QAAQ,MAAM,QAAQ,EAAE,QAAQ,CAAC,SAAS;AAEjD,cAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,oBAAQ;AAAA,cACN,yBAAyB,IAAI;AAAA,YAC/B;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,UAAU,YAAY,MAAM;AAChC,sBAAgB;AAAA,QACd,OAAO;AAAA,QACP,SAAS;AAAA,MACX,CAAC;AAAA,IACH,GAAG,CAAC,CAAC;AAML,UAAM,mBAAmB,cAAc,MAAM;AAC7C,UAAM,EAAE,aAAa,IAAI;AACzB,cAAU,MAAM;AACd,UAAI,kBAAkB;AACpB,cAAM,YACJ,MAAM,cAAc,QAAQ,gBAAgB,iBAAiB;AAC/D,wBAAgB;AAAA,UACd;AAAA,QACF,CAAC;AACD;AAAA,MAEF;AAGA,UAAI;AACJ,UAAI,cAAc;AAChB,cAAM,UAAU,CAAC;AACjB,gCAAwB,iBAAiB,OAAO,UAAU,CAAC,MAAM,SAAS;AACxE,cAAI,aAAa,IAAI,IAAI,GAAG;AAE1B,mBAAO,OAAO,SAAS,IAAI;AAC3B,kBAAM,QAAQ;AAAA,cACZ,GAAG,MAAM;AAAA,cACT,CAAC,IAAI,GAAG;AAAA,YACV;AACA,4BAAgB;AAAA;AAAA,cAEd;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH;AAEA,aAAO,MAAM;AACX;AACA,iBAAS,OAAO,OAAO;AAAA,MACzB;AAAA,IACF,GAAG;AAAA,MACD;AAAA,MACA,MAAM;AAAA,MACN,eAAe,OAAO,KAAK,CAAC,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI;AAAA,IAC3D,CAAC;AAED,UAAM,sBAAsB,gBAAgB,MAAM,cAAc;AAEhE,QAAI,aAAa,SACb,YAAY,gBAAc,kBAAa,iBAAb,mBAA2B,cACrD;AACJ,QAAI,cAAc,WAAW,CAAC,MAAM,KAAK;AACvC,mBAAa,WAAW,MAAM,CAAC;AAAA,IACjC;AACA,UAAM,sBAAsB,aAAa,QAAQ,UAAU,KAAK;AAEhE,UAAM,QAAQ,sBACV,YAAY,QACZ,mBAAmB,YAAY;AAEnC,QAAI;AAEJ,QAAI,QAAQ,IAAI,mBAAmB,OAAO;AACxC,YAAM,YAAY;AAAA,QAChB,gBAAgB,qBAAqB;AAAA,QACrC;AAAA,QACA,aAAa,OAAO,OAAO,UAAU,EAAE,KAAK,GAAG,IAAI;AAAA,QACnD,MAAM,QAAQ,WAAW,MAAM,KAAK,KAAK;AAAA,MAC3C;AACA,kBAAY,UAAU,KAAK,GAAG;AAE9B,UAAI,4BAA4B,CAAC,qBAAqB;AACpD,kBAAU,QAAQ;AAAA,MACpB,WAAW,eAAe;AAExB,cAAM,WAAW,EAAE,OAAO,KAAK;AAC/B,mBAAW,QAAQ,UAAU,MAAM,GAAG,GAAG;AACvC,mBAAS,IAAI,IAAI;AAAA,QACnB;AACA,kBAAU,QAAQ,CAAC,GAAI,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAI,QAAQ;AAAA,MAC1E,OAAO;AACL,kBAAU,YAAY;AACtB,kBAAU,QAAQ;AAAA,MACpB;AAGA,UAAI,eAAe;AACjB,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,iBAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,QAAQ;AACtC,gBAAI,IAAI,WAAW,OAAO,GAAG;AAC3B,wBAAU,YAAY,CAAC;AACvB,wBAAU,QAAQ,IAAI,QAAQ,SAAS,EAAE,CAAC,IAAI,UAAU,GAAG;AAC3D,qBAAO,UAAU,GAAG;AAAA,YACtB;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF,OAAO;AAEL,gBAAU,QAAQ;AAAA,IACpB;AAIA,UAAM,oBAAoB,CAAC,YAAY,iBAAgB,mCAAS;AAChE,UAAM,cAAc;AAAA,MAClB,aACE,qBACA,WACA,cACA,aACA,eACA;AAAA,IACJ;AACA,UAAM,oBAAoB,CAAC,YAAY,iBAAgB,mCAAS;AAChE,UAAM,cACJ,SACA,CAAC,EACC,aACA,qBACA,aACA,cACA,gBACA;AAGJ,UAAM,qBAAqB,EAAE,SAAS;AAItC,UAAM,eAAe;AAAA,MACnB,eACE,eACC,gBAAgB,gBAAgB,SAChC,SAAS,gBAAgB,gBAAgB;AAAA,IAC9C;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,UAAM,SACJ,gBAAgB,CAAC,cAAc,CAAC,UAC5B;AAAA,MACE,YAAY,cACR,CAAC,MAAM;AACL,gBAAQ;AACR,iDAAa;AACb,+CAAY;AAAA,MACd,IACA;AAAA,MACJ,IAAK,eAAe,gBAAgB;AAAA,QAClC,cAAc,CAAC,MAAM;AACnB,gBAAM,OAA8B,CAAC;AACrC,eAAK,QAAQ;AACb,cAAI,MAAM,SAAS;AACjB,iBAAK,QAAQ;AAAA,UACf;AACA,0BAAgB,IAAI;AACpB,iDAAY;AACZ,uDAAe;AAAA,QACjB;AAAA,QACA,cAAc,CAAC,MAAM;AACnB,gBAAM,OAA8B,CAAC;AACrC,mBAAS,IAAI,OAAO;AACpB,eAAK,QAAQ;AACb,cAAI,MAAM,SAAS;AACjB,iBAAK,QAAQ;AACb,iBAAK,UAAU;AAAA,UACjB;AACA,0BAAgB,IAAI;AACpB,mDAAa;AACb,uDAAe;AAAA,QACjB;AAAA,MACF;AAAA,MACA,WAAW,cACP,CAAC,MAAM;AACL,wBAAgB;AAAA,UACd,OAAO;AAAA,UACP,SAAS;AAAA,QACX,CAAC;AACD,+CAAY;AACZ,mDAAc;AACd,YAAI,OAAO;AACT,mBAAS,IAAI,OAAO;AAAA,QACtB;AAAA,MACF,IACA;AAAA,MACJ,SAAS,cACL,CAAC,MAAM;AACL,gBAAQ;AAER,kBAAS,mCAAU;AACnB,2CAAU;AAAA,MACZ,IACA;AAAA,MACJ,aACE,eAAe,cACX,CAAC,MAAM;AACL,gBAAQ;AACR,mDAAc;AAAA,MAChB,IACA;AAAA,IACR,IACA;AAEN,QAAI,QAAQ,IAAI,mBAAmB,YAAY,QAAQ;AAErD,aAAO,OAAO,QAAQ;AAAA,QACpB,YAAY,CAAC,UAAU;AAAA,QACvB,UAAU;AAAA,QACV,SAAS,UAAU;AAAA,QACnB,gBAAgB,UAAU;AAAA,QAC1B,cAAc,UAAU;AAAA,QACxB,eAAe,UAAU;AAAA,QACzB,WAAW,UAAU,aAAa;AAAA,QAClC,kBAAkB;AAAA,MACpB,CAAC;AAAA,IACH;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAEpD,QAAI,QAAQ,IAAI,aAAa,iBAAiB,cAAc,WAAW;AAErE,cAAQ,IAAI,UAAU,EAAE,QAAQ,aAAa,YAAY,CAAC;AAAA,IAC5D;AAGA,uBAAM,cAAN,4BAAkB,WAAW,QAAQ,aAAa;AAElD,UAAM,cAAc,CAAC,EAAE,gBAAgB,WAAW;AAClD,QAAI,aAAa;AACf,eAAS,QAAQ,eAAe;AAAA,IAClC;AAEA,UAAM,YAAY,MAAM,kBAAkB;AAE1C,QAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAM;AAKpD,QAAI,UACF,CAAC,YAAY,UACT,WACA,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACT,CAAC;AAEP,QAAI,SAAS;AACX,oBAAc;AACd,aAAO,OAAO,WAAW;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,cAAU,cAAc,aAAa,WAAW,OAAO;AAGvD,UAAM,kBAAkB,QAAQ,MAAM;AACpC,UAAI,CAAC;AAAW,eAAO;AAEvB,aAAO;AAAA,QACL,GAAG,iBAAiB;AAAA;AAAA,QAEpB,OAAO;AAAA,UACL,GAAG,iBAAiB,OAAO;AAAA,UAC3B,CAAC,SAAS,GAAG;AAAA,QACf;AAAA,MACF;AAAA,IACF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAI,aAAa,iBAAiB;AAChC,gBACE,oBAAC,iBAAiB,UAAjB,EAA0B,QAAQ,iBAChC,mBACH;AAAA,IAEJ;AAGA,cAAU,mBACN,UACA,kBAAkB,YAAY,SAAS,eAAe;AAE1D,QAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,OAAO,MAAM,aAAa;AAC5E,gBACE,oBAAC,cAAW,YAAwB,YAAY,OAC7C,mBACH;AAAA,IAEJ;AAEA,QAAI,QAAQ,IAAI,mBAAmB,OAAO;AACxC,UAAI,UAAU,0BAA0B;AACtC,kBACE;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,2BAA2B,YAAY,EAAE;AAAA,YACtD,GAAI,UAAU;AAAA,cACb,cAAc,OAAO;AAAA,cACrB,cAAc,OAAO;AAAA,cACrB,SAAS,OAAO;AAAA,cAChB,aAAa,OAAO;AAAA,cACpB,WAAW,OAAO;AAAA,cAClB,cAAc,OAAO;AAAA,cACrB,YAAY,OAAO;AAAA,YACrB;AAAA,YAEC;AAAA;AAAA,QACH;AAAA,MAEJ;AAAA,IACF;AAEA,QAAI,wBAAwB;AAC1B,YAAM,WAAW,aAAa,QAAS;AACvC,gBACE,oBAAC,YAAU,GAAG,cAAe,GAAG,wBAC7B,mBACH;AAAA,IAEJ;AAEA,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAI,aAAa,cAAc,WAAW;AACxC,cAAMC,WAAU,OAAO,gBAAgB,WAAW,cAAc;AAChE,gBAAQ,eAAe,WAAWA,QAAO,gBAAgB;AACzD,YAAI;AAEF,kBAAQ,IAAI,aAAa,SAAS;AAElC,kBAAQ,IAAI,kBAAkB,OAAO,KAAK,SAAS,CAAC;AACpD,qBAAW,OAAO,WAAW;AAE3B,oBAAQ,IAAI,OAAO,KAAK,UAAU,GAAG,CAAC;AAAA,UACxC;AAEA,kBAAQ,IAAI,YAAY,OAAO;AAC/B,cAAI,OAAO,WAAW,aAAa;AAGjC,oBAAQ,IAAI;AAAA,cACV;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,eAAc,WAAM,cAAN,mBAAiB,MAAM;AAAA,cACrC,gBAAe,eAAU,cAAV,mBAAqB,MAAM;AAAA,cAC1C;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,WAAW,MAAM;AAAA,cACjB;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF,QAAQ;AAAA,QAER;AACA,gBAAQ,SAAS;AACjB,gBAAQ,SAAS;AAAA,MACnB;AAAA,IACF;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM;AAClD;AACA,WAAK,MAAM;AAAA,IACb;AAEA,WAAO;AAAA,EACT,CAAC;AAID,MAAI,aAAa,eAAe;AAC9B,cAAU,cAAc,aAAa;AAAA,EACvC;AAIA,MAAI,MAAqB;AAEzB,MAAI,QAAQ,IAAI,oBAAoB,aAAa,MAAM;AACrD,UAAM,KAAK,GAAG;AAAA,EAChB;AAEA,MAAI,eAAe;AAEnB,WAAS,mBAAmB,UAAkC;AAC5D,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,cAAc;AAAA,MACd,OAAO;AAAA,IACT;AAAA,EACF;AAEA,WAAS,YAAYC,YAAgB,UAAkC;AACrE,IAAAA,WAAU,eAAe,mBAAmB,QAAQ;AACpD,IAAAA,WAAU,YAAY;AACtB,WAAOA;AAAA,EACT;AAEA,WAAS,UAAUA,YAAgB,UAAkC;AAtkCvE,QAAAJ;AAukCI,UAAM,0BAAwBA,MAAAI,WAAU,WAAV,gBAAAJ,IAAkB,YAAW;AAC3D,UAAM,wBAAwB,wBACzBI;AAAA;AAAA,MAED,KAAK,WAAWA,UAAgB,CAAC;AAAA;AAErC,UAAM,iBAAiB,mBAAmB,QAAQ;AAClD,UAAM,MAAM,UAAU,uBAAuB,cAAc;AAC3D,QAAI,eAAe;AACnB,QAAI,YAAY;AAChB,WAAO;AAAA,EACT;AAEA,MAAI,cAAc;AAClB,MAAI,YAAY;AAEhB,SAAO;AACT;AAGO,SAAS,SAAS,OAA2B;AAClD,SAAO,MAAM;AACf;AACA,SAAS,YAAY,IAAI;AAKlB,MAAM,SAAS,gBAA6B;AAAA,EACjD,kBAAkB;AAAA,EAClB,MAAM;AAAA,EACN,eAAe;AAAA,EACf;AAAA,EAEA,cAAc;AAAA,IACZ,GAAG;AAAA;AAAA,IAEH,KAAK;AAAA,IACL,MAAM;AAAA,IACN,eAAe;AAAA,EACjB;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,MAAM,EAAE,OAAO,MAAM;AAC/B,eAAO,SAAS,OAAO,UAAU;AACjC,cAAM,SAAS,OAAO,MAAM,IAAI,KAAK;AACrC,eAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,WAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IAEA,WAAW;AAAA,MACT,YAAY;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,MACb;AAAA,MACA,UAAU;AAAA,QACR,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA,MAAM,CAAC;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAYM,SAAS,eAAe,OAA4B;AA7pC3D;AA8pCE,QAAM,EAAE,UAAU,UAAU,OAAO,WAAW,WAAW,UAAU,IAAI;AACvE,QAAM,WAAW,CAAC,EAAE,SAAS;AAC7B,QAAM,eAAe,EAAE,cAAc,UAAa,cAAc;AAChE,MAAI,EAAE,YAAY,gBAAgB,WAAW;AAC3C,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,SAAS,QAAQ,QAAQ;AAE9C,QAAM,MAAM,aAAa;AACzB,MAAI,OAAO,KAAK,CAAC,YAAY,GAAC,wBAAa,CAAC,MAAd,mBAAkB,YAAlB,mBAA4B,wBAAuB;AAC/E,WAAO;AAAA,EACT;AAEA,QAAM,QAA2B,CAAC;AAClC,WAAS,CAAC,OAAO,KAAK,KAAK,aAAa,QAAQ,GAAG;AACjD,UAAM,UACJ,UAAU,QACV,UAAU,UACT,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW;AAG5C,QAAI,CAAC,WAAW,MAAM,eAAe,KAAK,OAAK,WAAM,SAAN,mBAAa,wBAAuB;AACjF,cAAQ,MAAM,aAAa,OAAO;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,MAAM;AAAA,MACb,CAAQ;AAAA,IACV;AAGA,QAAI,WAAW,CAAC,SAAU,MAAM,KAAK,KAAK,CAAC,UAAW;AACpD,YAAM,KAAK,KAAK;AAAA,IAClB,OAAO;AACL,YAAM;AAAA,QACJ,oBAAC,YACE,qBAAW,oBAAC,gBAAc,iBAAM,IAAkB,SADtC,KAEf;AAAA,MACF;AAAA,IACF;AAGA,QAAI,WAAW,KAAK,KAAK,UAAU;AAAG;AAEtC,QAAI;AAAU;AAEd,UAAM,OAAO,aAAa,QAAQ,CAAC;AAEnC,QAAI,QAAQ,CAAC,WAAW,IAAI,GAAG;AAC7B,UAAI,WAAW;AACb,YAAI,UAAU;AACZ,gBAAM;AAAA,YACJ,aAAa;AAAA,cACX,KAAK,IAAI,KAAK;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF;AACA,cAAM;AAAA,UACJ,MAAM,eAAe,SAAS,IAC1B,MAAM,aAAa,WAAW,EAAE,KAAK,OAAO,KAAK,GAAG,CAAC,IACrD;AAAA,QACN;AACA,YAAI,UAAU;AACZ,gBAAM;AAAA,YACJ,aAAa;AAAA,cACX,KAAK,IAAI,KAAK;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF,OAAO;AACL,cAAM;AAAA,UACJ,aAAa;AAAA,YACX,KAAK,IAAI,KAAK;AAAA,YACd;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,MAAM,OAAO;AAEf,cAAQ,IAAI,qBAAqB,OAAO,KAAK;AAAA,IAC/C;AAAA,EACF;AAEA,SAAO;AACT;AAIA,SAAS,aAAa,EAAE,KAAK,WAAW,OAAO,UAAU,GAAsB;AAC7E,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,MAAM;AAAA,MACN;AAAA,MACC,GAAI,OAAO,cAAc,eAAe;AAAA,QACvC,MAAM,cAAc,OAAO,IAAI,cAAc,QAAQ,IAAI;AAAA,MAC3D;AAAA;AAAA,IALK;AAAA,EAMP;AAEJ;AAEA,SAAS,WAAW,OAAwB;AAC1C,QAAM,IAAI,+BAAQ;AAClB,UAAO,uBAAI,yBAAuB,uBAAI;AACxC;AAEA,MAAM,eAAe,oBAAI,IAAI;AAE7B,MAAM,eAAoB,gBAAgB;AAAA,EACxC,cAAc;AAAA,IACZ,GAAG;AAAA,IACH,eAAe;AAAA,IACf,UAAU;AAAA,IACV,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,eAAe;AAAA,EACjB;AACF,CAAC;AAED,SAAS,sBAAsB,OAAe;AAC5C,SAAO,OAAO,KAAK,KAAK,EAAE,KAAK,CAAC,MAAM;AACpC,UAAM,MAAM,MAAM,CAAC;AACnB,WAAO,OAAO,OAAO,QAAQ,YAAY,gBAAgB;AAAA,EAC3D,CAAC;AACH;",
5
- "names": ["validStyles", "_a", "state", "isExiting", "element", "Component"]
4
+ "mappings": "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",
5
+ "names": ["validStyles", "_a", "state", "isExiting", "mediaState", "element", "Component"]
6
6
  }
@@ -1,78 +1,86 @@
1
1
  import { getConfig } from "../config";
2
2
  import { mediaObjectToString } from "../hooks/useMedia";
3
+ import { getGroupPropParts } from "./getGroupPropParts";
3
4
  const MEDIA_SEP = "_";
4
5
  let prefixes = null;
5
6
  let selectors = null;
6
- const parentPseudoToSelector = {
7
+ const groupPseudoToPseudoCSSMap = {
7
8
  press: "active"
8
9
  };
9
- const createMediaStyle = ({ property, identifier, rules }, mediaKey, mediaQueries, negate, priority) => {
10
+ const createMediaStyle = (styleObject, mediaKeyIn, mediaQueries, negate, priority) => {
11
+ const { property, identifier, rules } = styleObject;
10
12
  const conf = getConfig();
11
13
  const enableMediaPropOrder = conf.settings.mediaPropOrder;
12
- const isThemeMedia = mediaKey.startsWith("theme-");
13
- const isPlatformMedia = !isThemeMedia && mediaKey.startsWith("platform-");
14
- const isGroupMedia = !isThemeMedia && !isPlatformMedia && mediaKey.startsWith("group-");
15
- const isNonWindowMedia = isThemeMedia || isPlatformMedia || isGroupMedia;
14
+ const isThemeMedia = mediaKeyIn.startsWith("theme-");
15
+ const isPlatformMedia = !isThemeMedia && mediaKeyIn.startsWith("platform-");
16
+ const isGroup = !isThemeMedia && !isPlatformMedia && mediaKeyIn.startsWith("group-");
17
+ const isNonWindowMedia = isThemeMedia || isPlatformMedia || isGroup;
16
18
  const negKey = negate ? "0" : "";
17
19
  const ogPrefix = identifier.slice(0, identifier.indexOf("-") + 1);
18
- let styleRule;
19
- const id = `${ogPrefix}${MEDIA_SEP}${mediaKey.replace("-", "")}${negKey}${MEDIA_SEP}`;
20
- const nextIdentifier = identifier.replace(ogPrefix, id);
20
+ const id = `${ogPrefix}${MEDIA_SEP}${mediaKeyIn.replace("-", "")}${negKey}${MEDIA_SEP}`;
21
+ let styleRule = "";
22
+ let groupMediaKey;
23
+ let containerName;
24
+ let nextIdentifier = identifier.replace(ogPrefix, id);
25
+ let styleInner = rules.map((rule) => rule.replace(identifier, nextIdentifier)).join(";");
21
26
  if (isNonWindowMedia) {
22
- const precedencePrefix = new Array(priority).fill(":root").join("");
23
- const styleInner = rules.map((rule) => rule.replace(identifier, nextIdentifier)).join(";");
24
- if (isThemeMedia || isGroupMedia) {
25
- const [_, groupName, groupPseudo] = mediaKey.split("-");
26
- const name = (isGroupMedia ? "group_" : "") + groupName;
27
+ const precedenceImportancePrefix = new Array((priority || 0) + (isGroup ? 1 : 0)).fill(":root").join("");
28
+ if (isThemeMedia || isGroup) {
29
+ const groupInfo = getGroupPropParts(mediaKeyIn);
30
+ const mediaName = groupInfo == null ? void 0 : groupInfo.name;
31
+ groupMediaKey = groupInfo == null ? void 0 : groupInfo.media;
32
+ if (isGroup) {
33
+ containerName = mediaName;
34
+ }
35
+ const name = (isGroup ? "group_" : "") + mediaName;
27
36
  const selectorStart = styleInner.indexOf(":root");
28
37
  const selectorEnd = styleInner.lastIndexOf("{");
29
38
  const selector = styleInner.slice(selectorStart, selectorEnd);
30
39
  const precedenceSpace = conf.themeClassNameOnRoot ? "" : " ";
31
- const pseudoSelectorName = parentPseudoToSelector[groupPseudo] || groupPseudo;
40
+ const pseudoSelectorName = groupInfo.pseudo ? groupPseudoToPseudoCSSMap[groupInfo.pseudo] || groupInfo.pseudo : void 0;
32
41
  const pseudoSelector = pseudoSelectorName ? `:${pseudoSelectorName}` : "";
33
- const nextSelector = `:root${precedencePrefix}${precedenceSpace}.t_${name}${pseudoSelector} ${selector.replace(
42
+ const presedencePrefix = `:root${precedenceImportancePrefix}${precedenceSpace}`;
43
+ const mediaSelector = `.t_${name}${pseudoSelector}`;
44
+ const nextSelector = `${presedencePrefix}${mediaSelector} ${selector.replace(
34
45
  ":root",
35
46
  ""
36
47
  )}`;
37
48
  styleRule = styleInner.replace(selector, nextSelector);
38
49
  } else {
39
- styleRule = `${precedencePrefix}${styleInner}`;
50
+ styleRule = `${precedenceImportancePrefix}${styleInner}`;
40
51
  }
41
- } else {
52
+ }
53
+ if (!isNonWindowMedia || groupMediaKey) {
42
54
  if (!selectors) {
43
- if (enableMediaPropOrder) {
44
- const mediaKeys = Object.keys(mediaQueries);
45
- selectors = Object.fromEntries(
46
- mediaKeys.map((key) => [key, mediaObjectToString(mediaQueries[key])])
47
- );
48
- } else {
49
- const mediaKeys = Object.keys(mediaQueries);
55
+ const mediaKeys = Object.keys(mediaQueries);
56
+ selectors = Object.fromEntries(
57
+ mediaKeys.map((key) => [key, mediaObjectToString(mediaQueries[key])])
58
+ );
59
+ if (!enableMediaPropOrder) {
50
60
  prefixes = Object.fromEntries(
51
- mediaKeys.map((key, index) => [
52
- key,
53
- new Array(index + 1).fill(":root").join("")
54
- ])
55
- );
56
- selectors = Object.fromEntries(
57
- mediaKeys.map((key) => [key, mediaObjectToString(mediaQueries[key])])
61
+ mediaKeys.map((k, index) => [k, new Array(index + 1).fill(":root").join("")])
58
62
  );
59
63
  }
60
64
  }
61
- const precedencePrefix = enableMediaPropOrder ? (
65
+ const mediaKey = groupMediaKey || mediaKeyIn;
66
+ const mediaSelector = selectors[mediaKey];
67
+ const screenStr = negate ? "not all and" : "";
68
+ const mediaQuery = `${screenStr} ${mediaSelector}`;
69
+ const precedenceImportancePrefix = groupMediaKey ? "" : enableMediaPropOrder ? (
62
70
  // this new array should be cached
63
71
  new Array(priority).fill(":root").join("")
64
72
  ) : (
65
73
  // @ts-ignore
66
74
  prefixes[mediaKey]
67
75
  );
68
- const mediaSelector = selectors[mediaKey];
69
- const screenStr = negate ? "not all and" : "";
70
- const mediaQuery = `${screenStr} ${mediaSelector}`;
71
- const styleInner = rules.map((rule) => rule.replace(identifier, nextIdentifier)).join(";");
72
- if (styleInner.includes("@media")) {
76
+ const prefix = groupMediaKey ? `@container ${containerName}` : "@media";
77
+ if (groupMediaKey) {
78
+ styleInner = styleRule;
79
+ }
80
+ if (styleInner.includes(prefix)) {
73
81
  styleRule = styleInner.replace("{", ` and ${mediaQuery} {`);
74
82
  } else {
75
- styleRule = `@media ${mediaQuery}{${precedencePrefix}${styleInner}}`;
83
+ styleRule = `${prefix} ${mediaQuery}{${precedenceImportancePrefix}${styleInner}}`;
76
84
  }
77
85
  }
78
86
  return {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/createMediaStyle.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,7 +1,7 @@
1
1
  function createShallowSetState(setter) {
2
- return (next) => setter((prev) => shallow(prev, next));
2
+ return (next) => setter((prev) => mergeIfNotShallowEqual(prev, next));
3
3
  }
4
- function shallow(prev, next) {
4
+ function mergeIfNotShallowEqual(prev, next) {
5
5
  for (const key in next) {
6
6
  if (prev[key] !== next[key]) {
7
7
  return { ...prev, ...next };
@@ -10,6 +10,7 @@ function shallow(prev, next) {
10
10
  return prev;
11
11
  }
12
12
  export {
13
- createShallowSetState
13
+ createShallowSetState,
14
+ mergeIfNotShallowEqual
14
15
  };
15
16
  //# sourceMappingURL=createShallowSetState.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/createShallowSetState.tsx"],
4
- "mappings": "AAIO,SAAS,sBACd,QACA;AACA,SAAO,CAAC,SAAyB,OAAO,CAAC,SAAS,QAAQ,MAAM,IAAI,CAAC;AACvE;AAEA,SAAS,QAAQ,MAAM,MAAM;AAC3B,aAAW,OAAO,MAAM;AACtB,QAAI,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG;AAC3B,aAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAAA,IAC5B;AAAA,EACF;AACA,SAAO;AACT;",
4
+ "mappings": "AAIO,SAAS,sBACd,QACA;AACA,SAAO,CAAC,SAAyB,OAAO,CAAC,SAAS,uBAAuB,MAAM,IAAI,CAAC;AACtF;AAEO,SAAS,uBAAuB,MAAM,MAAM;AACjD,aAAW,OAAO,MAAM;AACtB,QAAI,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG;AAC3B,aAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAAA,IAC5B;AAAA,EACF;AACA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,17 @@
1
+ import { getMedia } from "../hooks/useMedia";
2
+ function getGroupPropParts(groupProp) {
3
+ const mediaQueries = getMedia();
4
+ const [_, name, part3, part4] = groupProp.split("-");
5
+ let pseudo;
6
+ const media = part3 in mediaQueries ? part3 : void 0;
7
+ if (!media) {
8
+ pseudo = part3;
9
+ } else {
10
+ pseudo = part4;
11
+ }
12
+ return { name, pseudo, media };
13
+ }
14
+ export {
15
+ getGroupPropParts
16
+ };
17
+ //# sourceMappingURL=getGroupPropParts.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getGroupPropParts.ts"],
4
+ "mappings": "AAAA,SAAS,gBAAgB;AAElB,SAAS,kBAAkB,WAAmB;AACnD,QAAM,eAAe,SAAS;AAC9B,QAAM,CAAC,GAAG,MAAM,OAAO,KAAK,IAAI,UAAU,MAAM,GAAG;AACnD,MAAI;AACJ,QAAM,QAAQ,SAAS,eAAe,QAAQ;AAC9C,MAAI,CAAC,OAAO;AACV,aAAS;AAAA,EACX,OAAO;AACL,aAAS;AAAA,EACX;AACA,SAAO,EAAE,MAAM,QAAQ,MAAM;AAC/B;",
5
+ "names": []
6
+ }
@@ -27,11 +27,13 @@ import {
27
27
  getMediaImportanceIfMoreImportant,
28
28
  mediaState as globalMediaState,
29
29
  isMediaKey,
30
+ mediaKeyMatch,
30
31
  mediaQueryConfig,
31
32
  mergeMediaByImportance
32
33
  } from "../hooks/useMedia";
33
34
  import { createMediaStyle } from "./createMediaStyle";
34
35
  import { fixStyles } from "./expandStyles";
36
+ import { getGroupPropParts } from "./getGroupPropParts";
35
37
  import { generateAtomicStyles, getStylesAtomic, styleToCSS } from "./getStylesAtomic";
36
38
  import {
37
39
  insertStyleRules,
@@ -66,19 +68,20 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
66
68
  } = staticConfig;
67
69
  const validStyleProps = isText ? stylePropsText : validStyles;
68
70
  const viewProps = {};
69
- let pseudos = null;
70
71
  const mediaState = styleProps.mediaState || globalMediaState;
71
72
  const usedKeys = {};
73
+ const shouldDoClasses = acceptsClassName && isWeb && !styleProps.noClassNames;
74
+ const rulesToInsert = [];
75
+ const classNames = {};
76
+ const transforms = {};
77
+ let pseudos = null;
72
78
  let space = props.space;
73
79
  let hasMedia = false;
74
80
  let dynamicThemeAccess;
75
81
  let pseudoGroups;
76
- const shouldDoClasses = acceptsClassName && isWeb && !styleProps.noClassNames;
82
+ let mediaGroups;
77
83
  let style = {};
78
- const rulesToInsert = [];
79
- const classNames = {};
80
84
  let className = "";
81
- const transforms = {};
82
85
  let mediaStylesSeen = 0;
83
86
  const styleState = {
84
87
  curProps: Object.assign({}, props),
@@ -141,8 +144,20 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
141
144
  continue;
142
145
  if (keyInit in usedKeys)
143
146
  continue;
144
- if (keyInit in skipProps && !isHOC)
147
+ if (keyInit in skipProps && !isHOC) {
148
+ if (keyInit === "group") {
149
+ const identifier = `t_group_${valInit}`;
150
+ const containerCSS = {
151
+ identifier,
152
+ property: "container",
153
+ rules: [
154
+ `.${identifier} { container-name: ${valInit}; container-type: inline-size; }`
155
+ ]
156
+ };
157
+ addStyleToInsertRules(rulesToInsert, containerCSS);
158
+ }
145
159
  continue;
160
+ }
146
161
  styleState.curProps[keyInit] = valInit;
147
162
  if (process.env.TAMAGUI_TARGET === "web") {
148
163
  if (typeof valInit === "string" && valInit[0] === "_") {
@@ -610,24 +625,39 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
610
625
  continue;
611
626
  }
612
627
  } else if (isGroupMedia) {
613
- const [_, groupName, groupPseudoKey] = mediaKeyShort.split("-");
614
- if (!(context == null ? void 0 : context.groups.state[groupName])) {
628
+ const groupInfo = getGroupPropParts(mediaKeyShort);
629
+ const groupName = groupInfo.name;
630
+ const groupContext = context == null ? void 0 : context.groups.state[groupName];
631
+ if (!groupContext) {
615
632
  if (process.env.NODE_ENV === "development" && debug) {
616
633
  console.warn(`No parent with group prop, skipping styles: ${groupName}`);
617
634
  }
618
635
  continue;
619
636
  }
620
- pseudoGroups ||= /* @__PURE__ */ new Set();
621
- pseudoGroups.add(groupName);
637
+ const groupPseudoKey = groupInfo.pseudo;
638
+ const groupMediaKey = groupInfo.media;
639
+ const componentGroupState = (_c = componentState.group) == null ? void 0 : _c[groupName];
640
+ if (groupMediaKey) {
641
+ mediaGroups ||= /* @__PURE__ */ new Set();
642
+ mediaGroups.add(groupMediaKey);
643
+ const mediaState2 = componentGroupState == null ? void 0 : componentGroupState.media;
644
+ let isActive = mediaState2 == null ? void 0 : mediaState2[groupMediaKey];
645
+ if (!mediaState2 && groupContext.layout) {
646
+ isActive = mediaKeyMatch(groupMediaKey, groupContext.layout);
647
+ }
648
+ if (!isActive)
649
+ continue;
650
+ importanceBump = 2;
651
+ }
622
652
  if (groupPseudoKey) {
623
- const groupPseudoKeyShort = groupPseudoKey;
624
- const groupState = ((_c = componentState.group) == null ? void 0 : _c[groupName]) || // fallback to context initially
625
- context.groups.state[groupName];
626
- const isActive = groupState == null ? void 0 : groupState[groupPseudoKeyShort];
627
- if (!isActive) {
653
+ pseudoGroups ||= /* @__PURE__ */ new Set();
654
+ pseudoGroups.add(groupName);
655
+ const componentGroupPseudoState = (componentGroupState || // fallback to context initially
656
+ context.groups.state[groupName]).pseudo;
657
+ const isActive = componentGroupPseudoState == null ? void 0 : componentGroupPseudoState[groupPseudoKey];
658
+ if (!isActive)
628
659
  continue;
629
- }
630
- const priority = pseudoPriorities[groupPseudoKeyShort];
660
+ const priority = pseudoPriorities[groupPseudoKey];
631
661
  importanceBump = priority;
632
662
  }
633
663
  }
@@ -811,7 +841,8 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
811
841
  classNames,
812
842
  rulesToInsert,
813
843
  dynamicThemeAccess,
814
- pseudoGroups
844
+ pseudoGroups,
845
+ mediaGroups
815
846
  };
816
847
  if (process.env.TAMAGUI_TARGET === "native") {
817
848
  if (style.fontFamily) {
@@ -984,6 +1015,7 @@ const mapTransformKeys = {
984
1015
  y: "translateY"
985
1016
  };
986
1017
  const skipProps = {
1018
+ untilMeasured: 1,
987
1019
  animation: 1,
988
1020
  space: 1,
989
1021
  animateOnly: 1,