tamagui 1.37.0 → 1.37.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.
@@ -49,7 +49,8 @@ const textAreaSizeVariant = (val = "$true", extras) => {
49
49
  const { props } = extras;
50
50
  const buttonStyles = (0, import_get_button_sized.getButtonSized)(val, extras);
51
51
  const fontStyle = (0, import_get_font_sized.getFontSized)(val, extras);
52
- const height = props.numberOfLines ? (props.numberOfLines || 1) * (0, import_core.getVariableValue)(fontStyle.lineHeight) : "auto";
52
+ const lines = props.rows ?? props.numberOfLines;
53
+ const height = typeof lines === "number" ? lines * (0, import_core.getVariableValue)(fontStyle.lineHeight) : "auto";
53
54
  const paddingVertical = (0, import_get_token.getSpace)(val, {
54
55
  shift: -2,
55
56
  bounds: [2]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/inputHelpers.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmE;AACnE,8BAA+B;AAC/B,4BAA6B;AAC7B,uBAAyB;AAElB,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,mBAAe,wCAAe,KAAK,MAAM;AAC/C,QAAM,wBAAoB,2BAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,gBAAY,oCAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,qBAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,mBAAe,wCAAe,KAAK,MAAM;AAC/C,QAAM,gBAAY,oCAAa,KAAK,MAAM;AAC1C,QAAM,SAAS,MAAM,iBAChB,MAAM,iBAAiB,SAAK,8BAAiB,UAAU,UAAU,IAClE;AACJ,QAAM,sBAAkB,2BAAS,KAAK;AAAA,IACpC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,wBAAoB,2BAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmE;AACnE,8BAA+B;AAC/B,4BAA6B;AAC7B,uBAAyB;AAElB,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,mBAAe,wCAAe,KAAK,MAAM;AAC/C,QAAM,wBAAoB,2BAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,gBAAY,oCAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,qBAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,mBAAe,wCAAe,KAAK,MAAM;AAC/C,QAAM,gBAAY,oCAAa,KAAK,MAAM;AAC1C,QAAM,QAAQ,MAAM,QAAQ,MAAM;AAClC,QAAM,SACJ,OAAO,UAAU,WAAW,YAAQ,8BAAiB,UAAU,UAAU,IAAI;AAC/E,QAAM,sBAAkB,2BAAS,KAAK;AAAA,IACpC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,wBAAoB,2BAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -29,11 +29,13 @@ var import_Input = require("./Input");
29
29
  const TextAreaFrame = (0, import_core.styled)(import_Input.InputFrame, {
30
30
  name: "TextArea",
31
31
  multiline: true,
32
+ // this attribute fixes firefox newline issue
33
+ whiteSpace: "pre-wrap",
32
34
  variants: {
33
35
  unstyled: {
34
36
  false: {
35
- ...import_Input.defaultStyles,
36
- height: "auto"
37
+ height: "auto",
38
+ ...import_Input.defaultStyles
37
39
  }
38
40
  },
39
41
  size: {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TextArea.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCS;AAxCT,kBAA8B;AAE9B,0BAAoC;AACpC,mBAAqE;AAM9D,MAAM,oBAAgB,oBAAO,yBAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA,EAEX,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAIM,MAAM,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,YAAQ,4BAAc,SAAS,GAAG;AAExC,QAAM,YAAY;AAAA;AAAA,IAEhB,CAAC,oBAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,4CAAC,iBAAe,GAAG,WAAY,GAAG,OAAO;AAClD,CAAC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0CS;AA1CT,kBAA8B;AAE9B,0BAAoC;AACpC,mBAAqE;AAM9D,MAAM,oBAAgB,oBAAO,yBAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA;AAAA,EAEX,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAIM,MAAM,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,YAAQ,4BAAc,SAAS,GAAG;AAExC,QAAM,YAAY;AAAA;AAAA,IAEhB,CAAC,oBAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,4CAAC,iBAAe,GAAG,WAAY,GAAG,OAAO;AAClD,CAAC;",
5
5
  "names": []
6
6
  }
@@ -25,7 +25,8 @@ const textAreaSizeVariant = (val = "$true", extras) => {
25
25
  const { props } = extras;
26
26
  const buttonStyles = getButtonSized(val, extras);
27
27
  const fontStyle = getFontSized(val, extras);
28
- const height = props.numberOfLines ? (props.numberOfLines || 1) * getVariableValue(fontStyle.lineHeight) : "auto";
28
+ const lines = props.rows ?? props.numberOfLines;
29
+ const height = typeof lines === "number" ? lines * getVariableValue(fontStyle.lineHeight) : "auto";
29
30
  const paddingVertical = getSpace(val, {
30
31
  shift: -2,
31
32
  bounds: [2]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/inputHelpers.tsx"],
4
- "mappings": "AAAA,SAAoC,kBAAkB,aAAa;AACnE,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAElB,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,YAAY,aAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,SAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,YAAY,aAAa,KAAK,MAAM;AAC1C,QAAM,SAAS,MAAM,iBAChB,MAAM,iBAAiB,KAAK,iBAAiB,UAAU,UAAU,IAClE;AACJ,QAAM,kBAAkB,SAAS,KAAK;AAAA,IACpC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,SAAoC,kBAAkB,aAAa;AACnE,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAElB,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,YAAY,aAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,SAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,YAAY,aAAa,KAAK,MAAM;AAC1C,QAAM,QAAQ,MAAM,QAAQ,MAAM;AAClC,QAAM,SACJ,OAAO,UAAU,WAAW,QAAQ,iBAAiB,UAAU,UAAU,IAAI;AAC/E,QAAM,kBAAkB,SAAS,KAAK;AAAA,IACpC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -5,11 +5,13 @@ import { InputFrame, defaultStyles, useInputProps } from "./Input";
5
5
  const TextAreaFrame = styled(InputFrame, {
6
6
  name: "TextArea",
7
7
  multiline: true,
8
+ // this attribute fixes firefox newline issue
9
+ whiteSpace: "pre-wrap",
8
10
  variants: {
9
11
  unstyled: {
10
12
  false: {
11
- ...defaultStyles,
12
- height: "auto"
13
+ height: "auto",
14
+ ...defaultStyles
13
15
  }
14
16
  },
15
17
  size: {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TextArea.tsx"],
4
- "mappings": "AAwCS;AAxCT,SAAS,OAAO,cAAc;AAE9B,SAAS,2BAA2B;AACpC,SAAS,YAAwB,eAAe,qBAAqB;AAM9D,MAAM,gBAAgB,OAAO,YAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA,EAEX,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAIM,MAAM,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,QAAQ,cAAc,SAAS,GAAG;AAExC,QAAM,YAAY;AAAA;AAAA,IAEhB,CAAC,QAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,oBAAC,iBAAe,GAAG,WAAY,GAAG,OAAO;AAClD,CAAC;",
4
+ "mappings": "AA0CS;AA1CT,SAAS,OAAO,cAAc;AAE9B,SAAS,2BAA2B;AACpC,SAAS,YAAwB,eAAe,qBAAqB;AAM9D,MAAM,gBAAgB,OAAO,YAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA;AAAA,EAEX,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAIM,MAAM,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,QAAQ,cAAc,SAAS,GAAG;AAExC,QAAM,YAAY;AAAA;AAAA,IAEhB,CAAC,QAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,oBAAC,iBAAe,GAAG,WAAY,GAAG,OAAO;AAClD,CAAC;",
5
5
  "names": []
6
6
  }
@@ -25,7 +25,8 @@ const textAreaSizeVariant = (val = "$true", extras) => {
25
25
  const { props } = extras;
26
26
  const buttonStyles = getButtonSized(val, extras);
27
27
  const fontStyle = getFontSized(val, extras);
28
- const height = props.numberOfLines ? (props.numberOfLines || 1) * getVariableValue(fontStyle.lineHeight) : "auto";
28
+ const lines = props.rows ?? props.numberOfLines;
29
+ const height = typeof lines === "number" ? lines * getVariableValue(fontStyle.lineHeight) : "auto";
29
30
  const paddingVertical = getSpace(val, {
30
31
  shift: -2,
31
32
  bounds: [2]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/inputHelpers.tsx"],
4
- "mappings": "AAAA,SAAoC,kBAAkB,aAAa;AACnE,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAElB,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,YAAY,aAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,SAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,YAAY,aAAa,KAAK,MAAM;AAC1C,QAAM,SAAS,MAAM,iBAChB,MAAM,iBAAiB,KAAK,iBAAiB,UAAU,UAAU,IAClE;AACJ,QAAM,kBAAkB,SAAS,KAAK;AAAA,IACpC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,SAAoC,kBAAkB,aAAa;AACnE,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAElB,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,YAAY,aAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,SAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,YAAY,aAAa,KAAK,MAAM;AAC1C,QAAM,QAAQ,MAAM,QAAQ,MAAM;AAClC,QAAM,SACJ,OAAO,UAAU,WAAW,QAAQ,iBAAiB,UAAU,UAAU,IAAI;AAC/E,QAAM,kBAAkB,SAAS,KAAK;AAAA,IACpC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -25,7 +25,8 @@ const textAreaSizeVariant = (val = "$true", extras) => {
25
25
  const { props } = extras;
26
26
  const buttonStyles = getButtonSized(val, extras);
27
27
  const fontStyle = getFontSized(val, extras);
28
- const height = props.numberOfLines ? (props.numberOfLines || 1) * getVariableValue(fontStyle.lineHeight) : "auto";
28
+ const lines = props.rows ?? props.numberOfLines;
29
+ const height = typeof lines === "number" ? lines * getVariableValue(fontStyle.lineHeight) : "auto";
29
30
  const paddingVertical = getSpace(val, {
30
31
  shift: -2,
31
32
  bounds: [2]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/inputHelpers.tsx"],
4
- "mappings": "AAAA,SAAoC,kBAAkB,aAAa;AACnE,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAElB,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,YAAY,aAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,SAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,YAAY,aAAa,KAAK,MAAM;AAC1C,QAAM,SAAS,MAAM,iBAChB,MAAM,iBAAiB,KAAK,iBAAiB,UAAU,UAAU,IAClE;AACJ,QAAM,kBAAkB,SAAS,KAAK;AAAA,IACpC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,SAAoC,kBAAkB,aAAa;AACnE,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAElB,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,YAAY,aAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,SAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,YAAY,aAAa,KAAK,MAAM;AAC1C,QAAM,QAAQ,MAAM,QAAQ,MAAM;AAClC,QAAM,SACJ,OAAO,UAAU,WAAW,QAAQ,iBAAiB,UAAU,UAAU,IAAI;AAC/E,QAAM,kBAAkB,SAAS,KAAK;AAAA,IACpC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,QAAM,oBAAoB,SAAS,KAAK;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,CAAC,CAAC;AAAA,EACZ,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -4,11 +4,13 @@ import { InputFrame, defaultStyles, useInputProps } from "./Input";
4
4
  const TextAreaFrame = styled(InputFrame, {
5
5
  name: "TextArea",
6
6
  multiline: true,
7
+ // this attribute fixes firefox newline issue
8
+ whiteSpace: "pre-wrap",
7
9
  variants: {
8
10
  unstyled: {
9
11
  false: {
10
- ...defaultStyles,
11
- height: "auto"
12
+ height: "auto",
13
+ ...defaultStyles
12
14
  }
13
15
  },
14
16
  size: {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TextArea.tsx"],
4
- "mappings": "AAAA,SAAS,OAAO,cAAc;AAE9B,SAAS,2BAA2B;AACpC,SAAS,YAAwB,eAAe,qBAAqB;AAM9D,MAAM,gBAAgB,OAAO,YAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA,EAEX,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAIM,MAAM,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,QAAQ,cAAc,SAAS,GAAG;AAExC,QAAM,YAAY;AAAA;AAAA,IAEhB,CAAC,QAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,CAAC,kBAAkB,eAAe,OAAO;AAClD,CAAC;",
4
+ "mappings": "AAAA,SAAS,OAAO,cAAc;AAE9B,SAAS,2BAA2B;AACpC,SAAS,YAAwB,eAAe,qBAAqB;AAM9D,MAAM,gBAAgB,OAAO,YAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA;AAAA,EAEX,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAIM,MAAM,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,QAAQ,cAAc,SAAS,GAAG;AAExC,QAAM,YAAY;AAAA;AAAA,IAEhB,CAAC,QAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,CAAC,kBAAkB,eAAe,OAAO;AAClD,CAAC;",
5
5
  "names": []
6
6
  }
@@ -4,11 +4,13 @@ import { InputFrame, defaultStyles, useInputProps } from "./Input";
4
4
  const TextAreaFrame = styled(InputFrame, {
5
5
  name: "TextArea",
6
6
  multiline: true,
7
+ // this attribute fixes firefox newline issue
8
+ whiteSpace: "pre-wrap",
7
9
  variants: {
8
10
  unstyled: {
9
11
  false: {
10
- ...defaultStyles,
11
- height: "auto"
12
+ height: "auto",
13
+ ...defaultStyles
12
14
  }
13
15
  },
14
16
  size: {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TextArea.tsx"],
4
- "mappings": "AAAA,SAAS,OAAO,cAAc;AAE9B,SAAS,2BAA2B;AACpC,SAAS,YAAwB,eAAe,qBAAqB;AAM9D,MAAM,gBAAgB,OAAO,YAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA,EAEX,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAIM,MAAM,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,QAAQ,cAAc,SAAS,GAAG;AAExC,QAAM,YAAY;AAAA;AAAA,IAEhB,CAAC,QAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,CAAC,kBAAkB,eAAe,OAAO;AAClD,CAAC;",
4
+ "mappings": "AAAA,SAAS,OAAO,cAAc;AAE9B,SAAS,2BAA2B;AACpC,SAAS,YAAwB,eAAe,qBAAqB;AAM9D,MAAM,gBAAgB,OAAO,YAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA;AAAA,EAEX,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAIM,MAAM,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,QAAQ,cAAc,SAAS,GAAG;AAExC,QAAM,YAAY;AAAA;AAAA,IAEhB,CAAC,QAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,CAAC,kBAAkB,eAAe,OAAO;AAClD,CAAC;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tamagui",
3
- "version": "1.37.0",
3
+ "version": "1.37.2",
4
4
  "sideEffects": [
5
5
  "*.css",
6
6
  "setup.js"
@@ -40,55 +40,55 @@
40
40
  }
41
41
  },
42
42
  "dependencies": {
43
- "@tamagui/adapt": "1.37.0",
44
- "@tamagui/alert-dialog": "1.37.0",
45
- "@tamagui/animate-presence": "1.37.0",
46
- "@tamagui/avatar": "1.37.0",
47
- "@tamagui/button": "1.37.0",
48
- "@tamagui/card": "1.37.0",
49
- "@tamagui/checkbox": "1.37.0",
50
- "@tamagui/compose-refs": "1.37.0",
51
- "@tamagui/core": "1.37.0",
52
- "@tamagui/create-context": "1.37.0",
53
- "@tamagui/dialog": "1.37.0",
54
- "@tamagui/fake-react-native": "1.37.0",
55
- "@tamagui/focusable": "1.37.0",
56
- "@tamagui/font-size": "1.37.0",
57
- "@tamagui/form": "1.37.0",
58
- "@tamagui/get-button-sized": "1.37.0",
59
- "@tamagui/get-font-sized": "1.37.0",
60
- "@tamagui/get-token": "1.37.0",
61
- "@tamagui/helpers": "1.37.0",
62
- "@tamagui/helpers-tamagui": "1.37.0",
63
- "@tamagui/image": "1.37.0",
64
- "@tamagui/label": "1.37.0",
65
- "@tamagui/linear-gradient": "1.37.0",
66
- "@tamagui/list-item": "1.37.0",
67
- "@tamagui/popover": "1.37.0",
68
- "@tamagui/popper": "1.37.0",
69
- "@tamagui/portal": "1.37.0",
70
- "@tamagui/progress": "1.37.0",
71
- "@tamagui/radio-group": "1.37.0",
72
- "@tamagui/react-native-media-driver": "1.37.0",
73
- "@tamagui/scroll-view": "1.37.0",
74
- "@tamagui/select": "1.37.0",
75
- "@tamagui/separator": "1.37.0",
76
- "@tamagui/shapes": "1.37.0",
77
- "@tamagui/sheet": "1.37.0",
78
- "@tamagui/slider": "1.37.0",
79
- "@tamagui/stacks": "1.37.0",
80
- "@tamagui/switch": "1.37.0",
81
- "@tamagui/tabs": "1.37.0",
82
- "@tamagui/text": "1.37.0",
83
- "@tamagui/theme": "1.37.0",
84
- "@tamagui/toggle-group": "1.37.0",
85
- "@tamagui/tooltip": "1.37.0",
86
- "@tamagui/use-controllable-state": "1.37.0",
87
- "@tamagui/use-debounce": "1.37.0",
88
- "@tamagui/use-event": "1.37.0",
89
- "@tamagui/use-force-update": "1.37.0",
90
- "@tamagui/use-window-dimensions": "1.37.0",
91
- "@tamagui/visually-hidden": "1.37.0",
43
+ "@tamagui/adapt": "1.37.2",
44
+ "@tamagui/alert-dialog": "1.37.2",
45
+ "@tamagui/animate-presence": "1.37.2",
46
+ "@tamagui/avatar": "1.37.2",
47
+ "@tamagui/button": "1.37.2",
48
+ "@tamagui/card": "1.37.2",
49
+ "@tamagui/checkbox": "1.37.2",
50
+ "@tamagui/compose-refs": "1.37.2",
51
+ "@tamagui/core": "1.37.2",
52
+ "@tamagui/create-context": "1.37.2",
53
+ "@tamagui/dialog": "1.37.2",
54
+ "@tamagui/fake-react-native": "1.37.2",
55
+ "@tamagui/focusable": "1.37.2",
56
+ "@tamagui/font-size": "1.37.2",
57
+ "@tamagui/form": "1.37.2",
58
+ "@tamagui/get-button-sized": "1.37.2",
59
+ "@tamagui/get-font-sized": "1.37.2",
60
+ "@tamagui/get-token": "1.37.2",
61
+ "@tamagui/helpers": "1.37.2",
62
+ "@tamagui/helpers-tamagui": "1.37.2",
63
+ "@tamagui/image": "1.37.2",
64
+ "@tamagui/label": "1.37.2",
65
+ "@tamagui/linear-gradient": "1.37.2",
66
+ "@tamagui/list-item": "1.37.2",
67
+ "@tamagui/popover": "1.37.2",
68
+ "@tamagui/popper": "1.37.2",
69
+ "@tamagui/portal": "1.37.2",
70
+ "@tamagui/progress": "1.37.2",
71
+ "@tamagui/radio-group": "1.37.2",
72
+ "@tamagui/react-native-media-driver": "1.37.2",
73
+ "@tamagui/scroll-view": "1.37.2",
74
+ "@tamagui/select": "1.37.2",
75
+ "@tamagui/separator": "1.37.2",
76
+ "@tamagui/shapes": "1.37.2",
77
+ "@tamagui/sheet": "1.37.2",
78
+ "@tamagui/slider": "1.37.2",
79
+ "@tamagui/stacks": "1.37.2",
80
+ "@tamagui/switch": "1.37.2",
81
+ "@tamagui/tabs": "1.37.2",
82
+ "@tamagui/text": "1.37.2",
83
+ "@tamagui/theme": "1.37.2",
84
+ "@tamagui/toggle-group": "1.37.2",
85
+ "@tamagui/tooltip": "1.37.2",
86
+ "@tamagui/use-controllable-state": "1.37.2",
87
+ "@tamagui/use-debounce": "1.37.2",
88
+ "@tamagui/use-event": "1.37.2",
89
+ "@tamagui/use-force-update": "1.37.2",
90
+ "@tamagui/use-window-dimensions": "1.37.2",
91
+ "@tamagui/visually-hidden": "1.37.2",
92
92
  "reforest": "^0.12.1"
93
93
  },
94
94
  "peerDependencies": {
@@ -96,7 +96,7 @@
96
96
  "react-native-web": "*"
97
97
  },
98
98
  "devDependencies": {
99
- "@tamagui/build": "1.37.0",
99
+ "@tamagui/build": "1.37.2",
100
100
  "react": "^18.2.0",
101
101
  "react-native-web": "^0.19.4"
102
102
  },
@@ -34,9 +34,9 @@ export const textAreaSizeVariant: SizeVariantSpreadFunction<any> = (
34
34
  const { props } = extras
35
35
  const buttonStyles = getButtonSized(val, extras)
36
36
  const fontStyle = getFontSized(val, extras)!
37
- const height = props.numberOfLines
38
- ? (props.numberOfLines || 1) * getVariableValue(fontStyle.lineHeight)
39
- : 'auto'
37
+ const lines = props.rows ?? props.numberOfLines
38
+ const height =
39
+ typeof lines === 'number' ? lines * getVariableValue(fontStyle.lineHeight) : 'auto'
40
40
  const paddingVertical = getSpace(val, {
41
41
  shift: -2,
42
42
  bounds: [2],
@@ -10,12 +10,14 @@ import { InputFrame, InputProps, defaultStyles, useInputProps } from './Input'
10
10
  export const TextAreaFrame = styled(InputFrame, {
11
11
  name: 'TextArea',
12
12
  multiline: true,
13
+ // this attribute fixes firefox newline issue
14
+ whiteSpace: 'pre-wrap',
13
15
 
14
16
  variants: {
15
17
  unstyled: {
16
18
  false: {
17
- ...defaultStyles,
18
19
  height: 'auto',
20
+ ...defaultStyles,
19
21
  },
20
22
  },
21
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../src/views/TextArea.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAc,UAAU,EAAgC,MAAM,SAAS,CAAA;AAE9E;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBxB,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAA;AAEtC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQnB,CAAA"}
1
+ {"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../src/views/TextArea.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAc,UAAU,EAAgC,MAAM,SAAS,CAAA;AAE9E;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBxB,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAA;AAEtC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQnB,CAAA"}