@xaui/native 0.9.1-alpha.36 → 0.9.1-alpha.38

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 (153) hide show
  1. package/dist/{chunk-B6OKVLC7.js → chunk-26OGEFQI.js} +4 -4
  2. package/dist/{chunk-V5IVMZQJ.js → chunk-2PMXMKS5.js} +13 -8
  3. package/dist/{chunk-QZO57TPX.js → chunk-346QBNUD.js} +4 -4
  4. package/dist/{chunk-PPWXLZGL.js → chunk-3GFRSZYR.js} +15 -23
  5. package/dist/{chunk-GPZSTEEI.cjs → chunk-3JXI2IHV.cjs} +17 -17
  6. package/dist/{chunk-ISPOIMGX.cjs → chunk-4KFKWBN5.cjs} +26 -5
  7. package/dist/{chunk-N2U63JUX.cjs → chunk-4KSKQD37.cjs} +10 -10
  8. package/dist/{chunk-ZU3XQZ63.cjs → chunk-54CWXA34.cjs} +66 -66
  9. package/dist/{chunk-EFPWXJAJ.cjs → chunk-66FOASTP.cjs} +16 -16
  10. package/dist/{chunk-E5ZW7MBW.js → chunk-6CO6FM67.js} +17 -17
  11. package/dist/{chunk-54FJOKAN.cjs → chunk-7GHM4GKL.cjs} +25 -25
  12. package/dist/{chunk-2L7FOIWY.cjs → chunk-7TOG4TVU.cjs} +26 -26
  13. package/dist/{chunk-6N5ZCEAB.cjs → chunk-A7YB7YWX.cjs} +10 -10
  14. package/dist/{chunk-FVKIQBHS.cjs → chunk-AAVCMCJ3.cjs} +4 -4
  15. package/dist/{chunk-HQVVQGYV.cjs → chunk-ACAPTWE3.cjs} +16 -12
  16. package/dist/{chunk-LCDHTLSG.cjs → chunk-BNFIFRQA.cjs} +7 -7
  17. package/dist/{chunk-6U5IUUAR.js → chunk-DY3SUG5P.js} +5 -5
  18. package/dist/{chunk-RSGIJ6RI.js → chunk-EYD4H4X6.js} +2 -2
  19. package/dist/{chunk-DL2PGB5G.js → chunk-FBCWNXZC.js} +59 -59
  20. package/dist/{chunk-OWE5IID7.js → chunk-FHUYHV6J.js} +28 -7
  21. package/dist/{chunk-K7GAHNMJ.js → chunk-HA6BFY3A.js} +6 -6
  22. package/dist/{chunk-MFXZHLOU.cjs → chunk-HOI5425P.cjs} +16 -16
  23. package/dist/{chunk-VWATEE5O.js → chunk-IKJVLJKT.js} +15 -15
  24. package/dist/{chunk-YXPYOOHU.js → chunk-K72UDPVN.js} +27 -27
  25. package/dist/{chunk-2LNE4PWB.cjs → chunk-KSUV74BE.cjs} +5 -5
  26. package/dist/{chunk-UCW25LL6.js → chunk-LIUO6D3D.js} +76 -76
  27. package/dist/{chunk-U3HFQHGZ.js → chunk-LTX6TB5I.js} +4 -4
  28. package/dist/{chunk-OSCW7I4H.js → chunk-M63GFNKV.js} +19 -4
  29. package/dist/chunk-MESKS6AI.js +0 -0
  30. package/dist/{chunk-SAGMDVFU.js → chunk-MXGER5PI.js} +5 -5
  31. package/dist/{chunk-GHKJ6MUH.cjs → chunk-NCCRQK3P.cjs} +14 -14
  32. package/dist/chunk-NCTOTTVW.js +13 -0
  33. package/dist/chunk-OJCCV65P.cjs +1 -0
  34. package/dist/chunk-Q3MQ7S2D.cjs +476 -0
  35. package/dist/{chunk-CVCE7TW5.js → chunk-QZ24MZRX.js} +4 -4
  36. package/dist/{chunk-5GMU7ESV.js → chunk-R7BU4CPS.js} +3 -3
  37. package/dist/chunk-RAWGK2XK.cjs +971 -0
  38. package/dist/{chunk-PGQWUASE.cjs → chunk-RKCWYUGA.cjs} +6 -6
  39. package/dist/{chunk-3YZSUDZ2.js → chunk-S2WNWMNT.js} +4 -4
  40. package/dist/{chunk-XARBUUIE.cjs → chunk-S4QUM4EE.cjs} +12 -12
  41. package/dist/{chunk-OMV5MUTM.js → chunk-SACDOFGF.js} +16 -16
  42. package/dist/{chunk-FYCDRRJ2.cjs → chunk-SIP5J7HU.cjs} +25 -25
  43. package/dist/{chunk-AQXNEV6J.cjs → chunk-SNIHUKDA.cjs} +16 -16
  44. package/dist/{chunk-2OZPOWFB.js → chunk-SZLXPF3G.js} +4 -4
  45. package/dist/{chunk-RPOKLFRB.cjs → chunk-TDTUAIFF.cjs} +12 -12
  46. package/dist/{chunk-2SCE7TFZ.cjs → chunk-TGMVEHV7.cjs} +68 -68
  47. package/dist/{chunk-K3AVOT6L.cjs → chunk-TK44VBIE.cjs} +22 -7
  48. package/dist/{chunk-KZVHC4FL.js → chunk-TRETQZEW.js} +7 -7
  49. package/dist/{chunk-AZRMOWRG.cjs → chunk-URA25DU4.cjs} +10 -10
  50. package/dist/{chunk-BAPXLO5N.js → chunk-USF6EWYR.js} +7 -7
  51. package/dist/{chunk-TE7KVFE4.cjs → chunk-VZK3NLBH.cjs} +11 -11
  52. package/dist/{chunk-5BNIIDQD.cjs → chunk-WDDXU3OH.cjs} +14 -9
  53. package/dist/chunk-WFEMJCXO.cjs +13 -0
  54. package/dist/{chunk-JB5XANQY.js → chunk-WKCQ6VGW.js} +15 -11
  55. package/dist/{chunk-DOLWSO7A.js → chunk-XNMZQSY5.js} +5 -5
  56. package/dist/{chunk-K4TWKF5U.cjs → chunk-XSQPVDFH.cjs} +15 -25
  57. package/dist/{chunk-4XFEEBPU.js → chunk-XTC2SLFT.js} +2 -2
  58. package/dist/{chunk-ADQVA2FQ.cjs → chunk-XWNG2U4K.cjs} +5 -5
  59. package/dist/chunk-ZF6KIHXH.js +591 -0
  60. package/dist/chunk-ZNZ7HVRW.js +1106 -0
  61. package/dist/components/accordion/index.cjs +34 -0
  62. package/dist/components/accordion/index.d.cts +299 -0
  63. package/dist/components/accordion/index.d.ts +299 -0
  64. package/dist/components/accordion/index.js +34 -0
  65. package/dist/components/alert/index.cjs +7 -8
  66. package/dist/components/alert/index.d.cts +2 -2
  67. package/dist/components/alert/index.d.ts +2 -2
  68. package/dist/components/alert/index.js +6 -7
  69. package/dist/components/avatar/index.cjs +5 -6
  70. package/dist/components/avatar/index.d.cts +2 -2
  71. package/dist/components/avatar/index.d.ts +2 -2
  72. package/dist/components/avatar/index.js +4 -5
  73. package/dist/components/badge/index.cjs +4 -5
  74. package/dist/components/badge/index.d.cts +1 -1
  75. package/dist/components/badge/index.d.ts +1 -1
  76. package/dist/components/badge/index.js +3 -4
  77. package/dist/components/button/index.cjs +8 -8
  78. package/dist/components/button/index.d.cts +41 -41
  79. package/dist/components/button/index.d.ts +41 -41
  80. package/dist/components/button/index.js +7 -7
  81. package/dist/components/card/index.cjs +5 -6
  82. package/dist/components/card/index.d.cts +43 -43
  83. package/dist/components/card/index.d.ts +43 -43
  84. package/dist/components/card/index.js +4 -5
  85. package/dist/components/checkbox/index.cjs +5 -6
  86. package/dist/components/checkbox/index.d.cts +82 -82
  87. package/dist/components/checkbox/index.d.ts +82 -82
  88. package/dist/components/checkbox/index.js +4 -5
  89. package/dist/components/chip/index.cjs +7 -8
  90. package/dist/components/chip/index.d.cts +42 -42
  91. package/dist/components/chip/index.d.ts +42 -42
  92. package/dist/components/chip/index.js +6 -7
  93. package/dist/components/divider/index.cjs +4 -5
  94. package/dist/components/divider/index.d.cts +3 -3
  95. package/dist/components/divider/index.d.ts +3 -3
  96. package/dist/components/divider/index.js +3 -4
  97. package/dist/components/field-group/index.cjs +6 -7
  98. package/dist/components/field-group/index.d.cts +2 -2
  99. package/dist/components/field-group/index.d.ts +2 -2
  100. package/dist/components/field-group/index.js +5 -6
  101. package/dist/components/input-otp/index.cjs +4 -5
  102. package/dist/components/input-otp/index.d.cts +2 -2
  103. package/dist/components/input-otp/index.d.ts +2 -2
  104. package/dist/components/input-otp/index.js +3 -4
  105. package/dist/components/radio/index.cjs +5 -6
  106. package/dist/components/radio/index.d.cts +82 -82
  107. package/dist/components/radio/index.d.ts +82 -82
  108. package/dist/components/radio/index.js +4 -5
  109. package/dist/components/select/index.cjs +48 -0
  110. package/dist/components/select/index.d.cts +509 -0
  111. package/dist/components/select/index.d.ts +509 -0
  112. package/dist/components/select/index.js +48 -0
  113. package/dist/components/skeleton/index.cjs +3 -4
  114. package/dist/components/skeleton/index.d.cts +1 -1
  115. package/dist/components/skeleton/index.d.ts +1 -1
  116. package/dist/components/skeleton/index.js +2 -3
  117. package/dist/components/spinner/index.cjs +5 -5
  118. package/dist/components/spinner/index.d.cts +1 -1
  119. package/dist/components/spinner/index.d.ts +1 -1
  120. package/dist/components/spinner/index.js +4 -4
  121. package/dist/components/switch/index.cjs +5 -6
  122. package/dist/components/switch/index.d.cts +81 -81
  123. package/dist/components/switch/index.d.ts +81 -81
  124. package/dist/components/switch/index.js +4 -5
  125. package/dist/components/text-area/index.cjs +5 -6
  126. package/dist/components/text-area/index.js +4 -5
  127. package/dist/components/text-field/index.cjs +4 -5
  128. package/dist/components/text-field/index.d.cts +3 -3
  129. package/dist/components/text-field/index.d.ts +3 -3
  130. package/dist/components/text-field/index.js +3 -4
  131. package/dist/components/typography/index.cjs +4 -5
  132. package/dist/components/typography/index.d.cts +5 -5
  133. package/dist/components/typography/index.d.ts +5 -5
  134. package/dist/components/typography/index.js +3 -4
  135. package/dist/components/view/index.cjs +4 -5
  136. package/dist/components/view/index.d.cts +3 -3
  137. package/dist/components/view/index.d.ts +3 -3
  138. package/dist/components/view/index.js +3 -4
  139. package/dist/index.cjs +91 -31
  140. package/dist/index.d.cts +3 -1
  141. package/dist/index.d.ts +3 -1
  142. package/dist/index.js +125 -65
  143. package/dist/system/index.cjs +13 -11
  144. package/dist/system/index.d.cts +61 -35
  145. package/dist/system/index.d.ts +61 -35
  146. package/dist/system/index.js +13 -11
  147. package/dist/theme/index.cjs +4 -3
  148. package/dist/theme/index.d.cts +21 -1
  149. package/dist/theme/index.d.ts +21 -1
  150. package/dist/theme/index.js +3 -2
  151. package/package.json +21 -1
  152. package/dist/chunk-FJ5TLRT3.js +0 -21
  153. package/dist/chunk-HT7H35GU.cjs +0 -21
@@ -1,3 +1,6 @@
1
+ import {
2
+ PortalHost
3
+ } from "./chunk-2PMXMKS5.js";
1
4
  import {
2
5
  ThemeContext,
3
6
  alpha,
@@ -5,7 +8,7 @@ import {
5
8
  } from "./chunk-A3EGFI6T.js";
6
9
  import {
7
10
  stableHash
8
- } from "./chunk-FJ5TLRT3.js";
11
+ } from "./chunk-M63GFNKV.js";
9
12
 
10
13
  // src/provider/xaui-provider.tsx
11
14
  import { useColorScheme } from "react-native";
@@ -130,10 +133,10 @@ function buildShadows(mode) {
130
133
  surface: noShadow,
131
134
  overlay: {
132
135
  shadowColor: "#000000",
133
- shadowOffset: { width: 0, height: 8 },
134
- shadowOpacity: 0.6,
135
- shadowRadius: 24,
136
- elevation: 16
136
+ shadowOffset: { width: 0, height: 4 },
137
+ shadowOpacity: 0.45,
138
+ shadowRadius: 16,
139
+ elevation: 8
137
140
  },
138
141
  field: noShadow
139
142
  };
@@ -148,10 +151,10 @@ function buildShadows(mode) {
148
151
  },
149
152
  overlay: {
150
153
  shadowColor: "#000000",
151
- shadowOffset: { width: 0, height: 8 },
152
- shadowOpacity: 0.14,
153
- shadowRadius: 24,
154
- elevation: 16
154
+ shadowOffset: { width: 0, height: 4 },
155
+ shadowOpacity: 0.1,
156
+ shadowRadius: 16,
157
+ elevation: 8
155
158
  },
156
159
  field: {
157
160
  shadowColor: "#000000",
@@ -390,11 +393,12 @@ import { jsx } from "react/jsx-runtime";
390
393
  function XAUIProvider({
391
394
  children,
392
395
  theme = defaultTheme,
393
- colorMode = "system"
396
+ colorMode = "system",
397
+ hasPortalHost = true
394
398
  }) {
395
399
  const scheme = useColorScheme();
396
400
  const resolved = colorMode === "system" ? scheme === "dark" ? "dark" : "light" : colorMode;
397
- return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: theme[resolved], children });
401
+ return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: theme[resolved], children: hasPortalHost ? /* @__PURE__ */ jsx(PortalHost, { children }) : children });
398
402
  }
399
403
 
400
404
  // src/theme/palette.ts
@@ -6,24 +6,24 @@ import {
6
6
  } from "./chunk-F6W3JQ7K.js";
7
7
  import {
8
8
  PressableFeedback
9
- } from "./chunk-UCW25LL6.js";
9
+ } from "./chunk-LIUO6D3D.js";
10
10
  import {
11
11
  usePressState
12
12
  } from "./chunk-423RQBOX.js";
13
13
  import {
14
14
  childrenToString,
15
15
  createSlotContext
16
- } from "./chunk-YXPYOOHU.js";
16
+ } from "./chunk-K72UDPVN.js";
17
17
  import {
18
18
  createRecipe,
19
19
  radiusAxis
20
20
  } from "./chunk-4GTAZM2C.js";
21
- import {
22
- useStyleProps
23
- } from "./chunk-OSCW7I4H.js";
24
21
  import {
25
22
  useXAUITheme
26
23
  } from "./chunk-A3EGFI6T.js";
24
+ import {
25
+ useStyleProps
26
+ } from "./chunk-M63GFNKV.js";
27
27
 
28
28
  // src/components/radio/radio-indicator.tsx
29
29
  import { forwardRef } from "react";
@@ -2,17 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
6
- var _chunkH4E4HDEPcjs = require('./chunk-H4E4HDEP.cjs');
7
-
8
- // src/hooks/use-merged-ref.ts
5
+ }); // src/hooks/use-previous.ts
9
6
  var _react = require('react');
10
- function useMergedRef(...refs) {
11
- return _react.useMemo.call(void 0, () => _chunkH4E4HDEPcjs.mergeRefs.call(void 0, ...refs), refs);
12
- }
13
-
14
- // src/hooks/use-previous.ts
15
-
16
7
  function usePrevious(value) {
17
8
  const previous = _react.useRef.call(void 0, void 0);
18
9
  _react.useEffect.call(void 0, () => {
@@ -25,10 +16,10 @@ function usePrevious(value) {
25
16
 
26
17
  var _reactnativereanimated = require('react-native-reanimated');
27
18
  var ROTATION_DURATION = 900;
28
- const _worklet_15362242700341_init_data = {
29
- code: "function chunkK4TWKF5UCjs1(){const{angle}=this.__closure;return{transform:[{rotate:angle.value+\"deg\"}]};}",
30
- location: "/home/runner/work/xaui/xaui/packages/native/dist/chunk-K4TWKF5U.cjs",
31
- sourceMap: "{\"version\":3,\"names\":[\"chunkK4TWKF5UCjs1\",\"angle\",\"__closure\",\"transform\",\"rotate\",\"value\"],\"sources\":[\"/home/runner/work/xaui/xaui/packages/native/dist/chunk-K4TWKF5U.cjs\"],\"mappings\":\"AAyC8D,SAAAA,iBAAMA,CAAA,QAAAC,KAAA,OAAAC,SAAA,CAEhE,MAAO,CAAEC,SAAS,CAAE,CAAC,CAAEC,MAAM,CAAKH,KAAK,CAACI,KAAK,MAAM,CAAC,CAAE,CAAC,CACzD\",\"ignoreList\":[]}"
19
+ const _worklet_15909689137170_init_data = {
20
+ code: "function chunkXSQPVDFHCjs1(){const{angle}=this.__closure;return{transform:[{rotate:angle.value+\"deg\"}]};}",
21
+ location: "/home/runner/work/xaui/xaui/packages/native/dist/chunk-XSQPVDFH.cjs",
22
+ sourceMap: "{\"version\":3,\"names\":[\"chunkXSQPVDFHCjs1\",\"angle\",\"__closure\",\"transform\",\"rotate\",\"value\"],\"sources\":[\"/home/runner/work/xaui/xaui/packages/native/dist/chunk-XSQPVDFH.cjs\"],\"mappings\":\"AA+B8D,SAAAA,iBAAMA,CAAA,QAAAC,KAAA,OAAAC,SAAA,CAEhE,MAAO,CAAEC,SAAS,CAAE,CAAC,CAAEC,MAAM,CAAKH,KAAK,CAACI,KAAK,MAAM,CAAC,CAAE,CAAC,CACzD\",\"ignoreList\":[]}"
32
23
  };
33
24
  function useRotation() {
34
25
  const angle = _reactnativereanimated.useSharedValue.call(void 0, 0);
@@ -39,32 +30,31 @@ function useRotation() {
39
30
  }), -1, false);
40
31
  return () => _reactnativereanimated.cancelAnimation.call(void 0, angle);
41
32
  }, [angle]);
42
- return _reactnativereanimated.useAnimatedStyle.call(void 0, function chunkK4TWKF5UCjs1Factory({
43
- _worklet_15362242700341_init_data,
33
+ return _reactnativereanimated.useAnimatedStyle.call(void 0, function chunkXSQPVDFHCjs1Factory({
34
+ _worklet_15909689137170_init_data,
44
35
  angle
45
36
  }) {
46
37
  const _e = [new global.Error(), -2, -27];
47
- const chunkK4TWKF5UCjs1 = function () {
38
+ const chunkXSQPVDFHCjs1 = function () {
48
39
  return {
49
40
  transform: [{
50
41
  rotate: `${angle.value}deg`
51
42
  }]
52
43
  };
53
44
  };
54
- chunkK4TWKF5UCjs1.__closure = {
45
+ chunkXSQPVDFHCjs1.__closure = {
55
46
  angle
56
47
  };
57
- chunkK4TWKF5UCjs1.__workletHash = 15362242700341;
58
- chunkK4TWKF5UCjs1.__pluginVersion = "0.7.4";
59
- chunkK4TWKF5UCjs1.__initData = _worklet_15362242700341_init_data;
60
- chunkK4TWKF5UCjs1.__stackDetails = _e;
61
- return chunkK4TWKF5UCjs1;
48
+ chunkXSQPVDFHCjs1.__workletHash = 15909689137170;
49
+ chunkXSQPVDFHCjs1.__pluginVersion = "0.7.4";
50
+ chunkXSQPVDFHCjs1.__initData = _worklet_15909689137170_init_data;
51
+ chunkXSQPVDFHCjs1.__stackDetails = _e;
52
+ return chunkXSQPVDFHCjs1;
62
53
  }({
63
- _worklet_15362242700341_init_data,
54
+ _worklet_15909689137170_init_data,
64
55
  angle
65
56
  }), [angle]);
66
57
  }
67
- exports.useMergedRef = useMergedRef;
68
58
  exports.usePrevious = usePrevious;
69
59
  exports.ROTATION_DURATION = ROTATION_DURATION;
70
60
  exports.useRotation = useRotation;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Slot
3
- } from "./chunk-YXPYOOHU.js";
3
+ } from "./chunk-K72UDPVN.js";
4
4
  import {
5
5
  useStyleProps
6
- } from "./chunk-OSCW7I4H.js";
6
+ } from "./chunk-M63GFNKV.js";
7
7
 
8
8
  // src/components/view/grid.tsx
9
9
  import { Children, forwardRef, useMemo, useState } from "react";
@@ -1,16 +1,16 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkK4TWKF5Ucjs = require('./chunk-K4TWKF5U.cjs');
3
+ var _chunkXSQPVDFHcjs = require('./chunk-XSQPVDFH.cjs');
4
4
 
5
5
 
6
6
  var _chunkFNEUOBCVcjs = require('./chunk-FNEUOBCV.cjs');
7
7
 
8
8
 
9
- var _chunkK3AVOT6Lcjs = require('./chunk-K3AVOT6L.cjs');
10
9
 
10
+ var _chunk57SJ4LJFcjs = require('./chunk-57SJ4LJF.cjs');
11
11
 
12
12
 
13
- var _chunk57SJ4LJFcjs = require('./chunk-57SJ4LJF.cjs');
13
+ var _chunkTK44VBIEcjs = require('./chunk-TK44VBIE.cjs');
14
14
 
15
15
  // src/components/spinner/spinner.tsx
16
16
  var _react = require('react');
@@ -95,7 +95,7 @@ var spinnerRecipe = _chunkFNEUOBCVcjs.createRecipe.call(void 0, {
95
95
  var _jsxruntime = require('react/jsx-runtime');
96
96
  var Spinner = _react.forwardRef.call(void 0, function Spinner2({ variant, size, color, animation = true, style, ...props }, ref) {
97
97
  const theme = _chunk57SJ4LJFcjs.useXAUITheme.call(void 0, );
98
- const [styleProps, rest] = _chunkK3AVOT6Lcjs.useStyleProps.call(void 0, props);
98
+ const [styleProps, rest] = _chunkTK44VBIEcjs.useStyleProps.call(void 0, props);
99
99
  const selection = { variant, size };
100
100
  const styles = spinnerRecipe.resolve({ theme, selection });
101
101
  const tint = color ? spinnerRecipe.tint({ theme, color, selection }) : void 0;
@@ -114,7 +114,7 @@ var Spinner = _react.forwardRef.call(void 0, function Spinner2({ variant, size,
114
114
  });
115
115
  Spinner.displayName = "XAUI.Spinner";
116
116
  function SpinningArc({ style }) {
117
- const rotation = _chunkK4TWKF5Ucjs.useRotation.call(void 0, );
117
+ const rotation = _chunkXSQPVDFHcjs.useRotation.call(void 0, );
118
118
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactnativereanimated2.default.View, { style: [style, rotation] });
119
119
  }
120
120