@multiplatform.one/forms 7.41.0 → 7.43.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 (188) hide show
  1. package/dist/cjs/Chip/index.cjs +5 -2
  2. package/dist/cjs/Chip/index.native.js +2 -1
  3. package/dist/cjs/Chip/index.native.js.map +1 -1
  4. package/dist/cjs/Form/index.cjs +25 -22
  5. package/dist/cjs/Form/index.native.js +27 -24
  6. package/dist/cjs/Form/index.native.js.map +1 -1
  7. package/dist/cjs/InputParts/index.cjs +18 -7
  8. package/dist/cjs/InputParts/index.native.js +18 -7
  9. package/dist/cjs/InputParts/index.native.js.map +1 -1
  10. package/dist/cjs/fields/Input/index.cjs +40 -23
  11. package/dist/cjs/fields/Input/index.native.js +42 -25
  12. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  13. package/dist/cjs/fields/SearchInput/index.cjs +5 -2
  14. package/dist/cjs/fields/SearchInput/index.native.js +2 -1
  15. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  16. package/dist/cjs/index.cjs +7 -0
  17. package/dist/cjs/index.native.js +7 -0
  18. package/dist/cjs/index.native.js.map +1 -1
  19. package/dist/cjs/keyboard/KeyboardDoneBar.cjs +30 -0
  20. package/dist/cjs/keyboard/KeyboardDoneBar.native.js +65 -0
  21. package/dist/cjs/keyboard/KeyboardDoneBar.native.js.map +1 -0
  22. package/dist/cjs/keyboard/chain.cjs +106 -0
  23. package/dist/cjs/keyboard/chain.native.js +203 -0
  24. package/dist/cjs/keyboard/chain.native.js.map +1 -0
  25. package/dist/cjs/keyboard/index.cjs +35 -0
  26. package/dist/cjs/keyboard/index.native.js +38 -0
  27. package/dist/cjs/keyboard/index.native.js.map +1 -0
  28. package/dist/cjs/keyboard/types.cjs +18 -0
  29. package/dist/cjs/keyboard/types.native.js +21 -0
  30. package/dist/cjs/keyboard/types.native.js.map +1 -0
  31. package/dist/cjs/keyboard/useKeyboardChain.cjs +33 -0
  32. package/dist/cjs/keyboard/useKeyboardChain.native.js +114 -0
  33. package/dist/cjs/keyboard/useKeyboardChain.native.js.map +1 -0
  34. package/dist/cjs/shared/nativeAutoFocus.cjs +37 -0
  35. package/dist/cjs/shared/nativeAutoFocus.native.js +41 -0
  36. package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -0
  37. package/dist/cjs/themedPrimitives.cjs +2 -0
  38. package/dist/cjs/themedPrimitives.native.js +2 -0
  39. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  40. package/dist/esm/Chip/index.mjs +5 -2
  41. package/dist/esm/Chip/index.mjs.map +1 -1
  42. package/dist/esm/Chip/index.native.js +2 -1
  43. package/dist/esm/Chip/index.native.js.map +1 -1
  44. package/dist/esm/Form/index.mjs +25 -22
  45. package/dist/esm/Form/index.mjs.map +1 -1
  46. package/dist/esm/Form/index.native.js +27 -24
  47. package/dist/esm/Form/index.native.js.map +1 -1
  48. package/dist/esm/InputParts/index.mjs +18 -7
  49. package/dist/esm/InputParts/index.mjs.map +1 -1
  50. package/dist/esm/InputParts/index.native.js +18 -7
  51. package/dist/esm/InputParts/index.native.js.map +1 -1
  52. package/dist/esm/fields/Input/index.mjs +41 -24
  53. package/dist/esm/fields/Input/index.mjs.map +1 -1
  54. package/dist/esm/fields/Input/index.native.js +43 -26
  55. package/dist/esm/fields/Input/index.native.js.map +1 -1
  56. package/dist/esm/fields/SearchInput/index.mjs +5 -2
  57. package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
  58. package/dist/esm/fields/SearchInput/index.native.js +2 -1
  59. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  60. package/dist/esm/index.mjs +2 -1
  61. package/dist/esm/index.mjs.map +1 -1
  62. package/dist/esm/index.native.js +2 -1
  63. package/dist/esm/index.native.js.map +1 -1
  64. package/dist/esm/keyboard/KeyboardDoneBar.mjs +5 -0
  65. package/dist/esm/keyboard/KeyboardDoneBar.mjs.map +1 -0
  66. package/dist/esm/keyboard/KeyboardDoneBar.native.js +37 -0
  67. package/dist/esm/keyboard/KeyboardDoneBar.native.js.map +1 -0
  68. package/dist/esm/keyboard/chain.mjs +78 -0
  69. package/dist/esm/keyboard/chain.mjs.map +1 -0
  70. package/dist/esm/keyboard/chain.native.js +172 -0
  71. package/dist/esm/keyboard/chain.native.js.map +1 -0
  72. package/dist/esm/keyboard/index.mjs +5 -0
  73. package/dist/esm/keyboard/index.mjs.map +1 -0
  74. package/dist/esm/keyboard/index.native.js +5 -0
  75. package/dist/esm/keyboard/index.native.js.map +1 -0
  76. package/dist/esm/keyboard/types.mjs +2 -0
  77. package/dist/esm/keyboard/types.mjs.map +1 -0
  78. package/dist/esm/keyboard/types.native.js +2 -0
  79. package/dist/esm/keyboard/types.native.js.map +1 -0
  80. package/dist/esm/keyboard/useKeyboardChain.mjs +8 -0
  81. package/dist/esm/keyboard/useKeyboardChain.mjs.map +1 -0
  82. package/dist/esm/keyboard/useKeyboardChain.native.js +86 -0
  83. package/dist/esm/keyboard/useKeyboardChain.native.js.map +1 -0
  84. package/dist/esm/shared/nativeAutoFocus.mjs +12 -0
  85. package/dist/esm/shared/nativeAutoFocus.mjs.map +1 -0
  86. package/dist/esm/shared/nativeAutoFocus.native.js +13 -0
  87. package/dist/esm/shared/nativeAutoFocus.native.js.map +1 -0
  88. package/dist/esm/themedPrimitives.mjs +2 -0
  89. package/dist/esm/themedPrimitives.mjs.map +1 -1
  90. package/dist/esm/themedPrimitives.native.js +2 -0
  91. package/dist/esm/themedPrimitives.native.js.map +1 -1
  92. package/dist/jsx/Chip/index.mjs +5 -2
  93. package/dist/jsx/Chip/index.mjs.map +1 -1
  94. package/dist/jsx/Chip/index.native.js +2 -1
  95. package/dist/jsx/Chip/index.native.js.map +1 -1
  96. package/dist/jsx/Form/index.mjs +25 -22
  97. package/dist/jsx/Form/index.mjs.map +1 -1
  98. package/dist/jsx/Form/index.native.js +27 -24
  99. package/dist/jsx/Form/index.native.js.map +1 -1
  100. package/dist/jsx/InputParts/index.mjs +18 -7
  101. package/dist/jsx/InputParts/index.mjs.map +1 -1
  102. package/dist/jsx/InputParts/index.native.js +18 -7
  103. package/dist/jsx/InputParts/index.native.js.map +1 -1
  104. package/dist/jsx/fields/Input/index.mjs +41 -24
  105. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  106. package/dist/jsx/fields/Input/index.native.js +42 -25
  107. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  108. package/dist/jsx/fields/SearchInput/index.mjs +5 -2
  109. package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
  110. package/dist/jsx/fields/SearchInput/index.native.js +2 -1
  111. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  112. package/dist/jsx/index.js +2 -1
  113. package/dist/jsx/index.js.map +1 -1
  114. package/dist/jsx/index.mjs +2 -1
  115. package/dist/jsx/index.mjs.map +1 -1
  116. package/dist/jsx/index.native.js +7 -0
  117. package/dist/jsx/index.native.js.map +1 -1
  118. package/dist/jsx/keyboard/KeyboardDoneBar.mjs +5 -0
  119. package/dist/jsx/keyboard/KeyboardDoneBar.mjs.map +1 -0
  120. package/dist/jsx/keyboard/KeyboardDoneBar.native.js +65 -0
  121. package/dist/jsx/keyboard/KeyboardDoneBar.native.js.map +1 -0
  122. package/dist/jsx/keyboard/chain.mjs +78 -0
  123. package/dist/jsx/keyboard/chain.mjs.map +1 -0
  124. package/dist/jsx/keyboard/chain.native.js +203 -0
  125. package/dist/jsx/keyboard/chain.native.js.map +1 -0
  126. package/dist/jsx/keyboard/index.mjs +5 -0
  127. package/dist/jsx/keyboard/index.mjs.map +1 -0
  128. package/dist/jsx/keyboard/index.native.js +38 -0
  129. package/dist/jsx/keyboard/index.native.js.map +1 -0
  130. package/dist/jsx/keyboard/types.mjs +2 -0
  131. package/dist/jsx/keyboard/types.mjs.map +1 -0
  132. package/dist/jsx/keyboard/types.native.js +21 -0
  133. package/dist/jsx/keyboard/types.native.js.map +1 -0
  134. package/dist/jsx/keyboard/useKeyboardChain.mjs +8 -0
  135. package/dist/jsx/keyboard/useKeyboardChain.mjs.map +1 -0
  136. package/dist/jsx/keyboard/useKeyboardChain.native.js +114 -0
  137. package/dist/jsx/keyboard/useKeyboardChain.native.js.map +1 -0
  138. package/dist/jsx/shared/nativeAutoFocus.mjs +12 -0
  139. package/dist/jsx/shared/nativeAutoFocus.mjs.map +1 -0
  140. package/dist/jsx/shared/nativeAutoFocus.native.js +41 -0
  141. package/dist/jsx/shared/nativeAutoFocus.native.js.map +1 -0
  142. package/dist/jsx/themedPrimitives.mjs +2 -0
  143. package/dist/jsx/themedPrimitives.mjs.map +1 -1
  144. package/dist/jsx/themedPrimitives.native.js +2 -0
  145. package/dist/jsx/themedPrimitives.native.js.map +1 -1
  146. package/package.json +8 -8
  147. package/src/Button/Button.disabledReasonInk.spec.tsx +7 -1
  148. package/src/Chip/index.tsx +2 -1
  149. package/src/Form/index.tsx +31 -26
  150. package/src/InputParts/index.tsx +22 -12
  151. package/src/fields/Input/index.tsx +53 -31
  152. package/src/fields/SearchInput/SearchInput.focusHold.native.spec.tsx +81 -0
  153. package/src/fields/SearchInput/index.tsx +2 -1
  154. package/src/index.ts +17 -0
  155. package/src/keyboard/KeyboardDoneBar.native.tsx +38 -0
  156. package/src/keyboard/KeyboardDoneBar.tsx +6 -0
  157. package/src/keyboard/chain.spec.ts +98 -0
  158. package/src/keyboard/chain.tsx +115 -0
  159. package/src/keyboard/index.ts +5 -0
  160. package/src/keyboard/types.ts +21 -0
  161. package/src/keyboard/useKeyboardChain.native.tsx +79 -0
  162. package/src/keyboard/useKeyboardChain.ts +6 -0
  163. package/src/shared/nativeAutoFocus.ts +20 -0
  164. package/src/themedPrimitives.tsx +9 -1
  165. package/types/Chip/index.d.ts.map +1 -1
  166. package/types/Form/index.d.ts.map +1 -1
  167. package/types/InputParts/index.d.ts.map +1 -1
  168. package/types/fields/Input/index.d.ts.map +1 -1
  169. package/types/fields/SearchInput/index.d.ts.map +1 -1
  170. package/types/index.d.ts +2 -0
  171. package/types/index.d.ts.map +1 -1
  172. package/types/keyboard/KeyboardDoneBar.d.ts +4 -0
  173. package/types/keyboard/KeyboardDoneBar.d.ts.map +1 -0
  174. package/types/keyboard/KeyboardDoneBar.native.d.ts +8 -0
  175. package/types/keyboard/KeyboardDoneBar.native.d.ts.map +1 -0
  176. package/types/keyboard/chain.d.ts +48 -0
  177. package/types/keyboard/chain.d.ts.map +1 -0
  178. package/types/keyboard/index.d.ts +6 -0
  179. package/types/keyboard/index.d.ts.map +1 -0
  180. package/types/keyboard/types.d.ts +19 -0
  181. package/types/keyboard/types.d.ts.map +1 -0
  182. package/types/keyboard/useKeyboardChain.d.ts +4 -0
  183. package/types/keyboard/useKeyboardChain.d.ts.map +1 -0
  184. package/types/keyboard/useKeyboardChain.native.d.ts +3 -0
  185. package/types/keyboard/useKeyboardChain.native.d.ts.map +1 -0
  186. package/types/shared/nativeAutoFocus.d.ts +13 -0
  187. package/types/shared/nativeAutoFocus.d.ts.map +1 -0
  188. package/types/themedPrimitives.d.ts.map +1 -1
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var chain_exports = {};
26
+ __export(chain_exports, {
27
+ KeyboardChain: () => KeyboardChain,
28
+ KeyboardChainContext: () => KeyboardChainContext,
29
+ KeyboardChainScope: () => KeyboardChainScope,
30
+ readingOrder: () => readingOrder
31
+ });
32
+ module.exports = __toCommonJS(chain_exports);
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var import_react = require("react");
35
+ function _class_call_check(instance, Constructor) {
36
+ if (!(instance instanceof Constructor)) {
37
+ throw new TypeError("Cannot call a class as a function");
38
+ }
39
+ }
40
+ function _defineProperties(target, props) {
41
+ for (var i = 0; i < props.length; i++) {
42
+ var descriptor = props[i];
43
+ descriptor.enumerable = descriptor.enumerable || false;
44
+ descriptor.configurable = true;
45
+ if ("value" in descriptor) descriptor.writable = true;
46
+ Object.defineProperty(target, descriptor.key, descriptor);
47
+ }
48
+ }
49
+ function _create_class(Constructor, protoProps, staticProps) {
50
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
51
+ if (staticProps) _defineProperties(Constructor, staticProps);
52
+ return Constructor;
53
+ }
54
+ function _define_property(obj, key, value) {
55
+ if (key in obj) {
56
+ Object.defineProperty(obj, key, {
57
+ value,
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true
61
+ });
62
+ } else {
63
+ obj[key] = value;
64
+ }
65
+ return obj;
66
+ }
67
+ function readingOrder(boxes) {
68
+ return boxes.filter(function (box) {
69
+ return box.width > 0 || box.height > 0;
70
+ }).sort(function (a, b) {
71
+ var sameRow = Math.abs(a.y - b.y) < Math.min(a.height, b.height) / 2;
72
+ return sameRow ? a.x - b.x : a.y - b.y;
73
+ }).map(function (box) {
74
+ return box.id;
75
+ });
76
+ }
77
+ var KeyboardChain = /* @__PURE__ */function () {
78
+ "use strict";
79
+
80
+ function KeyboardChain2() {
81
+ var _this = this;
82
+ _class_call_check(this, KeyboardChain2);
83
+ _define_property(this, "entries", /* @__PURE__ */new Map());
84
+ _define_property(this, "order", []);
85
+ _define_property(this, "listeners", /* @__PURE__ */new Set());
86
+ _define_property(this, "pending", false);
87
+ _define_property(this, "subscribe", function (listener) {
88
+ _this.listeners.add(listener);
89
+ return function () {
90
+ _this.listeners.delete(listener);
91
+ };
92
+ });
93
+ }
94
+ _create_class(KeyboardChain2, [{
95
+ key: "register",
96
+ value: function register(entry) {
97
+ var _this = this;
98
+ this.entries.set(entry.id, entry);
99
+ this.invalidate();
100
+ return function () {
101
+ _this.entries.delete(entry.id);
102
+ _this.invalidate();
103
+ };
104
+ }
105
+ }, {
106
+ /** A field that has not been measured yet reads as last, so it never claims "next" falsely. */
107
+ key: "isLast",
108
+ value: function isLast(id) {
109
+ var at = this.order.indexOf(id);
110
+ return at === -1 || at === this.order.length - 1;
111
+ }
112
+ }, {
113
+ key: "invalidate",
114
+ value: function invalidate() {
115
+ var _this = this;
116
+ if (this.pending) return;
117
+ this.pending = true;
118
+ void Promise.resolve().then(async function () {
119
+ _this.pending = false;
120
+ await _this.refresh();
121
+ });
122
+ }
123
+ }, {
124
+ /**
125
+ * Focus the field after `id`, or run onLast from the last one. Uses the
126
+ * order measured at layout, and measures first only for a field it has not
127
+ * placed yet.
128
+ */
129
+ key: "advance",
130
+ value: function advance(id, onLast) {
131
+ var _this = this;
132
+ if (!this.order.includes(id)) {
133
+ void this.refresh().then(function (order) {
134
+ return _this.step(order, id, onLast);
135
+ });
136
+ return;
137
+ }
138
+ this.step(this.order, id, onLast);
139
+ }
140
+ }, {
141
+ key: "step",
142
+ value: function step(order, id, onLast) {
143
+ var next = order[order.indexOf(id) + 1];
144
+ var entry = order.includes(id) && next ? this.entries.get(next) : void 0;
145
+ if (entry) entry.focus();else onLast();
146
+ }
147
+ }, {
148
+ key: "refresh",
149
+ value: async function refresh() {
150
+ var _this = this;
151
+ var boxes = await Promise.all([...this.entries.values()].map(function (entry) {
152
+ return new Promise(function (resolve) {
153
+ return entry.measure(resolve);
154
+ });
155
+ }));
156
+ var order = readingOrder(boxes.filter(function (box) {
157
+ return Boolean(box);
158
+ }));
159
+ var changed = order.length !== this.order.length || order.some(function (id, i) {
160
+ return id !== _this.order[i];
161
+ });
162
+ this.order = order;
163
+ var _iteratorNormalCompletion = true,
164
+ _didIteratorError = false,
165
+ _iteratorError = void 0;
166
+ if (changed) try {
167
+ for (var _iterator = this.listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
168
+ var listener = _step.value;
169
+ listener();
170
+ }
171
+ } catch (err) {
172
+ _didIteratorError = true;
173
+ _iteratorError = err;
174
+ } finally {
175
+ try {
176
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
177
+ _iterator.return();
178
+ }
179
+ } finally {
180
+ if (_didIteratorError) {
181
+ throw _iteratorError;
182
+ }
183
+ }
184
+ }
185
+ return order;
186
+ }
187
+ }]);
188
+ return KeyboardChain2;
189
+ }();
190
+ var KeyboardChainContext = /* @__PURE__ */(0, import_react.createContext)(new KeyboardChain());
191
+ function KeyboardChainScope(param) {
192
+ var {
193
+ children
194
+ } = param;
195
+ var [chain] = (0, import_react.useState)(function () {
196
+ return new KeyboardChain();
197
+ });
198
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(KeyboardChainContext.Provider, {
199
+ value: chain,
200
+ children
201
+ });
202
+ }
203
+ //# sourceMappingURL=chain.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","chain_exports","KeyboardChain","KeyboardChainContext","KeyboardChainScope","readingOrder","module","exports","import_jsx_runtime","require","import_react","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_define_property","obj","boxes","filter","box","width","height","sort","a","b","sameRow","Math","abs","y","min","x","map","id","KeyboardChain2","_this","Map"],"sources":["../../../src/keyboard/chain.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import { KeyboardChain, KeyboardChainContext, KeyboardChainScope, readingOrder } from "./chain.mjs";
2
+ import { KeyboardDoneBar } from "./KeyboardDoneBar.mjs";
3
+ import { useKeyboardChain } from "./useKeyboardChain.mjs";
4
+ export { KeyboardChain, KeyboardChainContext, KeyboardChainScope, KeyboardDoneBar, readingOrder, useKeyboardChain };
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KeyboardChain","KeyboardChainContext","KeyboardChainScope","readingOrder","KeyboardDoneBar","useKeyboardChain"],"sources":["../../../src/keyboard/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,aAAA,EAAeC,oBAAA,EAAsBC,kBAAA,EAAoBC,YAAA,QAAoB;AAEtF,SAASC,eAAA,QAAuB;AAChC,SAASC,gBAAA,QAAwB","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var keyboard_exports = {};
26
+ __export(keyboard_exports, {
27
+ KeyboardChain: () => import_chain.KeyboardChain,
28
+ KeyboardChainContext: () => import_chain.KeyboardChainContext,
29
+ KeyboardChainScope: () => import_chain.KeyboardChainScope,
30
+ KeyboardDoneBar: () => import_KeyboardDoneBar.KeyboardDoneBar,
31
+ readingOrder: () => import_chain.readingOrder,
32
+ useKeyboardChain: () => import_useKeyboardChain.useKeyboardChain
33
+ });
34
+ module.exports = __toCommonJS(keyboard_exports);
35
+ var import_chain = require("./chain.native.js");
36
+ var import_KeyboardDoneBar = require("./KeyboardDoneBar.native.js");
37
+ var import_useKeyboardChain = require("./useKeyboardChain.native.js");
38
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor"],"sources":["../../../src/keyboard/index.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAET,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAuB;AAChC,IAAAC,gBAAS,GAAAF,MAAA,CAAAG,wBAAwB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
14
+ return to;
15
+ };
16
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
17
+ value: true
18
+ }), mod);
19
+ var types_exports = {};
20
+ module.exports = __toCommonJS(types_exports);
21
+ //# sourceMappingURL=types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ function useKeyboardChain(_options) {
2
+ return {
3
+ inputProps: {},
4
+ accessory: null
5
+ };
6
+ }
7
+ export { useKeyboardChain };
8
+ //# sourceMappingURL=useKeyboardChain.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useKeyboardChain","_options","inputProps","accessory"],"sources":["../../../src/keyboard/useKeyboardChain.ts"],"sourcesContent":[null],"mappings":"AAGO,SAASA,iBAAiBC,QAAA,EAAsD;EACrF,OAAO;IAAEC,UAAA,EAAY,CAAC;IAAGC,SAAA,EAAW;EAAK;AAC3C","ignoreList":[]}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useKeyboardChain_native_exports = {};
26
+ __export(useKeyboardChain_native_exports, {
27
+ useKeyboardChain: () => useKeyboardChain
28
+ });
29
+ module.exports = __toCommonJS(useKeyboardChain_native_exports);
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var import_react = require("react");
32
+ var import_react_native = require("react-native");
33
+ var import_chain = require("./chain.native.js");
34
+ var import_KeyboardDoneBar = require("./KeyboardDoneBar.native.js");
35
+ function useKeyboardChain(param) {
36
+ var {
37
+ inputRef,
38
+ enabled = true,
39
+ multiline,
40
+ onSubmitLast,
41
+ onSubmitEditing
42
+ } = param;
43
+ var chain = (0, import_react.useContext)(import_chain.KeyboardChainContext);
44
+ var id = (0, import_react.useId)();
45
+ var accessoryId = `mpo-keyboard-done${id}`;
46
+ var chained = enabled && !multiline;
47
+ var entry = (0, import_react.useMemo)(function () {
48
+ return {
49
+ id,
50
+ focus: function focus() {
51
+ var _inputRef_current_focus, _inputRef_current;
52
+ return (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : (_inputRef_current_focus = _inputRef_current.focus) === null || _inputRef_current_focus === void 0 ? void 0 : _inputRef_current_focus.call(_inputRef_current);
53
+ },
54
+ measure: function measure(done) {
55
+ var input = inputRef.current;
56
+ if (!(input === null || input === void 0 ? void 0 : input.measureInWindow)) return done(void 0);
57
+ input.measureInWindow(function (x, y, width, height) {
58
+ return done({
59
+ id,
60
+ x,
61
+ y,
62
+ width,
63
+ height
64
+ });
65
+ });
66
+ }
67
+ };
68
+ }, [id, inputRef]);
69
+ (0, import_react.useEffect)(function () {
70
+ return chained ? chain.register(entry) : void 0;
71
+ }, [chain, chained, entry]);
72
+ var isLast = (0, import_react.useSyncExternalStore)(chain.subscribe, function () {
73
+ return chain.isLast(id);
74
+ }, function () {
75
+ return true;
76
+ });
77
+ var handleSubmitEditing = (0, import_react.useCallback)(function () {
78
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
79
+ args[_key] = arguments[_key];
80
+ }
81
+ onSubmitEditing === null || onSubmitEditing === void 0 ? void 0 : onSubmitEditing(...args);
82
+ chain.advance(id, function () {
83
+ import_react_native.Keyboard.dismiss();
84
+ onSubmitLast === null || onSubmitLast === void 0 ? void 0 : onSubmitLast();
85
+ });
86
+ }, [chain, id, onSubmitEditing, onSubmitLast]);
87
+ var relayout = (0, import_react.useCallback)(function () {
88
+ return chain.invalidate();
89
+ }, [chain]);
90
+ if (!enabled) return {
91
+ inputProps: {},
92
+ accessory: null
93
+ };
94
+ var ios = import_react_native.Platform.OS === "ios";
95
+ return {
96
+ inputProps: {
97
+ ...(ios ? {
98
+ inputAccessoryViewID: accessoryId
99
+ } : void 0),
100
+ ...(chained ? {
101
+ returnKeyType: isLast ? "done" : "next",
102
+ // "submit" keeps the keyboard up while focus moves on, so it does
103
+ // not drop and rise again between fields.
104
+ submitBehavior: isLast ? "blurAndSubmit" : "submit",
105
+ onSubmitEditing: handleSubmitEditing,
106
+ onLayout: relayout
107
+ } : void 0)
108
+ },
109
+ accessory: ios ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_KeyboardDoneBar.KeyboardDoneBar, {
110
+ nativeID: accessoryId
111
+ }) : null
112
+ };
113
+ }
114
+ //# sourceMappingURL=useKeyboardChain.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useKeyboardChain_native_exports","__export","useKeyboardChain","module","exports","__toCommonJS","import_jsx_runtime","require","import_react","import_react_native","import_chain","import_KeyboardDoneBar","param","inputRef","enabled","multiline","onSubmitLast","onSubmitEditing","chain","useContext","KeyboardChainContext","id","useId","accessoryId","chained","entry","useMemo","focus","_inputRef_current_focus","_inputRef_current","current","call","measure","done","input","measureInWindow","x","y","width","height","useEffect","register","isLast","useSyncExternalStore","subscribe","handleSubmitEditing","useCallback","_len","arguments","length","args","Array","_key","advance","Keyboard","dismiss","relayout","invalidate","inputProps","accessory","ios","Platform","OS","inputAccessoryViewID","returnKeyType","submitBehavior","onLayout","jsx","KeyboardDoneBar","nativeID"],"sources":["../../../src/keyboard/useKeyboardChain.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { isWeb } from "tamagui";
2
+ function nativeAutoFocus({
3
+ autoFocus,
4
+ autoFocusNative
5
+ }) {
6
+ if (isWeb || autoFocusNative !== void 0 || autoFocus === void 0) return void 0;
7
+ return {
8
+ autoFocusNative: autoFocus
9
+ };
10
+ }
11
+ export { nativeAutoFocus };
12
+ //# sourceMappingURL=nativeAutoFocus.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isWeb","nativeAutoFocus","autoFocus","autoFocusNative"],"sources":["../../../src/shared/nativeAutoFocus.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAaf,SAASC,gBAAgB;EAC9BC,SAAA;EACAC;AACF,GAA+C;EAC7C,IAAIH,KAAA,IAASG,eAAA,KAAoB,UAAaD,SAAA,KAAc,QAAW,OAAO;EAC9E,OAAO;IAAEC,eAAA,EAAiBD;EAAU;AACtC","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var nativeAutoFocus_exports = {};
26
+ __export(nativeAutoFocus_exports, {
27
+ nativeAutoFocus: () => nativeAutoFocus
28
+ });
29
+ module.exports = __toCommonJS(nativeAutoFocus_exports);
30
+ var import_tamagui = require("tamagui");
31
+ function nativeAutoFocus(param) {
32
+ var {
33
+ autoFocus,
34
+ autoFocusNative
35
+ } = param;
36
+ if (import_tamagui.isWeb || autoFocusNative !== void 0 || autoFocus === void 0) return void 0;
37
+ return {
38
+ autoFocusNative: autoFocus
39
+ };
40
+ }
41
+ //# sourceMappingURL=nativeAutoFocus.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable"],"sources":["../../../src/shared/nativeAutoFocus.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAaF,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAgB;AAAA,IAC9BC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AACF,IAA+CC,YAAA,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAC7C,IAAAC,QAAI,GAASA,CAAAC,MAAA,EAAAC,GAAA;EACb,SAASC,IAAA,IAAAD,GAAA,EACXZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { useTouchSurface, isTouchSurface, sizeRecipeForToken, textFieldInset } from "@multiplatform.one/theme";
2
2
  import { TextArea as TamaguiTextArea, isWeb, styled } from "tamagui";
3
+ import { nativeAutoFocus } from "./shared/nativeAutoFocus.mjs";
3
4
  import { jsx } from "react/jsx-runtime";
4
5
  const textAreaSizeWithoutRadius = (val, extras) => {
5
6
  const {
@@ -44,6 +45,7 @@ const ThemedTextArea = ThemedTextAreaFrame.styleable((props, ref) => {
44
45
  const touch = useTouchSurface();
45
46
  return /* @__PURE__ */jsx(ThemedTextAreaFrame, {
46
47
  ...props,
48
+ ...nativeAutoFocus(props),
47
49
  touch,
48
50
  ref
49
51
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useTouchSurface","isTouchSurface","sizeRecipeForToken","textFieldInset","TextArea","TamaguiTextArea","isWeb","styled","jsx","textAreaSizeWithoutRadius","val","extras","props","recipe","String","touch","inset","lineHeight","Math","round","fontSize","lines","rows","numberOfLines","height","gap","fontWeight","paddingVertical","paddingHorizontal","ThemedTextAreaFrame","name","variants","true","false","size","ThemedTextArea","styleable","ref"],"sources":["../../src/themedPrimitives.tsx"],"sourcesContent":[null],"mappings":"AACA,SACEA,eAAA,EACAC,cAAA,EACAC,kBAAA,EACAC,cAAA,QACK;AACP,SAASC,QAAA,IAAYC,eAAA,EAAiBC,KAAA,EAAOC,MAAA,QAAc;AAuDlD,SAAAC,GAAA;AAlCT,MAAMC,yBAAA,GAA4DA,CAACC,GAAA,EAAKC,MAAA,KAAW;EACjF,MAAM;IAAEC;EAAM,IAAID,MAAA;EAClB,MAAME,MAAA,GAASX,kBAAA,CAAmBY,MAAA,CAAOJ,GAAA,IAAO,OAAO,GAAG;IACxDK,KAAA,EAAOH,KAAA,CAAMG,KAAA,KAAU,CAACT,KAAA,IAASL,cAAA,CAAe;EAClD,CAAC;EACD,MAAMe,KAAA,GAAQb,cAAA,CAAeU,MAAM;EACnC,MAAMI,UAAA,GAAaC,IAAA,CAAKC,KAAA,CAAMN,MAAA,CAAOO,QAAA,GAAW,IAAI;EACpD,MAAMC,KAAA,GAAQT,KAAA,CAAMU,IAAA,IAAQV,KAAA,CAAMW,aAAA;EAClC,MAAMC,MAAA,GAAS,OAAOH,KAAA,KAAU,WAAWA,KAAA,GAAQJ,UAAA,GAAaJ,MAAA,CAAOY,GAAA,GAAM,IAAI;EACjF,OAAO;IACLL,QAAA,EAAUP,MAAA,CAAOO,QAAA;IACjB,IAAId,KAAA,GAAQ;MAAEW;IAAW,IAAI;IAAA;IAAA;IAG7B,IAAIL,KAAA,CAAMc,UAAA,IAAc,OAAO;MAAEA,UAAA,EAAYd,KAAA,CAAMc;IAAW,IAAI;IAAA;IAElEC,eAAA,EAAiBX,KAAA;IACjBY,iBAAA,EAAmBZ,KAAA;IACnBQ;EACF;AACF;AAEA,MAAMK,mBAAA,GAAsBtB,MAAA,CAAOF,eAAA,EAAiB;EAClDyB,IAAA,EAAM;EACNC,QAAA,EAAU;IACRhB,KAAA,EAAO;MAAEiB,IAAA,EAAM,CAAC;MAAGC,KAAA,EAAO,CAAC;IAAE;IAC7BC,IAAA,EAAM;MACJ,WAAWzB;IACb;EACF;AACF,CAAC;AAEM,MAAM0B,cAAA,GAAiBN,mBAAA,CAAoBO,SAAA,CAAU,CAACxB,KAAA,EAAOyB,GAAA,KAAQ;EAC1E,MAAMtB,KAAA,GAAQf,eAAA,CAAgB;EAC9B,OAAO,eAAAQ,GAAA,CAACqB,mBAAA;IAAqB,GAAGjB,KAAA;IAAOG,KAAA;IAAcsB;EAAA,CAAU;AACjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useTouchSurface","isTouchSurface","sizeRecipeForToken","textFieldInset","TextArea","TamaguiTextArea","isWeb","styled","nativeAutoFocus","jsx","textAreaSizeWithoutRadius","val","extras","props","recipe","String","touch","inset","lineHeight","Math","round","fontSize","lines","rows","numberOfLines","height","gap","fontWeight","paddingVertical","paddingHorizontal","ThemedTextAreaFrame","name","variants","true","false","size","ThemedTextArea","styleable","ref"],"sources":["../../src/themedPrimitives.tsx"],"sourcesContent":[null],"mappings":"AACA,SACEA,eAAA,EACAC,cAAA,EACAC,kBAAA,EACAC,cAAA,QACK;AACP,SAASC,QAAA,IAAYC,eAAA,EAAiBC,KAAA,EAAOC,MAAA,QAAc;AAC3D,SAASC,eAAA,QAAuB;AAwD5B,SAAAC,GAAA;AAnCJ,MAAMC,yBAAA,GAA4DA,CAACC,GAAA,EAAKC,MAAA,KAAW;EACjF,MAAM;IAAEC;EAAM,IAAID,MAAA;EAClB,MAAME,MAAA,GAASZ,kBAAA,CAAmBa,MAAA,CAAOJ,GAAA,IAAO,OAAO,GAAG;IACxDK,KAAA,EAAOH,KAAA,CAAMG,KAAA,KAAU,CAACV,KAAA,IAASL,cAAA,CAAe;EAClD,CAAC;EACD,MAAMgB,KAAA,GAAQd,cAAA,CAAeW,MAAM;EACnC,MAAMI,UAAA,GAAaC,IAAA,CAAKC,KAAA,CAAMN,MAAA,CAAOO,QAAA,GAAW,IAAI;EACpD,MAAMC,KAAA,GAAQT,KAAA,CAAMU,IAAA,IAAQV,KAAA,CAAMW,aAAA;EAClC,MAAMC,MAAA,GAAS,OAAOH,KAAA,KAAU,WAAWA,KAAA,GAAQJ,UAAA,GAAaJ,MAAA,CAAOY,GAAA,GAAM,IAAI;EACjF,OAAO;IACLL,QAAA,EAAUP,MAAA,CAAOO,QAAA;IACjB,IAAIf,KAAA,GAAQ;MAAEY;IAAW,IAAI;IAAA;IAAA;IAG7B,IAAIL,KAAA,CAAMc,UAAA,IAAc,OAAO;MAAEA,UAAA,EAAYd,KAAA,CAAMc;IAAW,IAAI;IAAA;IAElEC,eAAA,EAAiBX,KAAA;IACjBY,iBAAA,EAAmBZ,KAAA;IACnBQ;EACF;AACF;AAEA,MAAMK,mBAAA,GAAsBvB,MAAA,CAAOF,eAAA,EAAiB;EAClD0B,IAAA,EAAM;EACNC,QAAA,EAAU;IACRhB,KAAA,EAAO;MAAEiB,IAAA,EAAM,CAAC;MAAGC,KAAA,EAAO,CAAC;IAAE;IAC7BC,IAAA,EAAM;MACJ,WAAWzB;IACb;EACF;AACF,CAAC;AAEM,MAAM0B,cAAA,GAAiBN,mBAAA,CAAoBO,SAAA,CAAU,CAACxB,KAAA,EAAOyB,GAAA,KAAQ;EAC1E,MAAMtB,KAAA,GAAQhB,eAAA,CAAgB;EAC9B,OACE,eAAAS,GAAA,CAACqB,mBAAA;IACE,GAAGjB,KAAA;IACH,GAAGL,eAAA,CAAgBK,KAA2D;IAC/EG,KAAA;IACAsB;EAAA,CACF;AAEJ,CAAC","ignoreList":[]}
@@ -30,6 +30,7 @@ module.exports = __toCommonJS(themedPrimitives_exports);
30
30
  var import_jsx_runtime = require("react/jsx-runtime");
31
31
  var import_theme = require("@multiplatform.one/theme");
32
32
  var import_tamagui = require("tamagui");
33
+ var import_nativeAutoFocus = require("./shared/nativeAutoFocus.native.js");
33
34
  var textAreaSizeWithoutRadius = function textAreaSizeWithoutRadius2(val, extras) {
34
35
  var _props_touch, _props_rows;
35
36
  var {
@@ -74,6 +75,7 @@ var ThemedTextArea = ThemedTextAreaFrame.styleable(function (props, ref) {
74
75
  var touch = (0, import_theme.useTouchSurface)();
75
76
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ThemedTextAreaFrame, {
76
77
  ...props,
78
+ ...(0, import_nativeAutoFocus.nativeAutoFocus)(props),
77
79
  touch,
78
80
  ref
79
81
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","themedPrimitives_exports","ThemedTextArea","module","exports","import_jsx_runtime","require","import_theme","import_tamagui","textAreaSizeWithoutRadius","textAreaSizeWithoutRadius2","val","extras","_props_touch","_props_rows","props","recipe","sizeRecipeForToken","String","touch","isWeb","isTouchSurface","inset","textFieldInset","lineHeight","Math","round","fontSize","lines","rows","numberOfLines","height","gap"],"sources":["../../src/themedPrimitives.tsx"],"sourcesContent":[null],"mappings":"AACA;;AAAA,IACEA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACAC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACAC,YAAA,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IAAAC,QACK,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACP,SAASC,IAAA,IAAAD,GAAY,EAuDZZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAlCT;AACE,IAAAC,WAAQ,GAAMA,CAAAC,EAAI,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EAClB,IAAAF,IAAM,WAASA,IAAA,aAAmB,WAAOA,IAAO,KAAO,UAAG;IACxD,SAAOG,GAAA,IAAMhB,iBAAoB,CAAAa,IAAA,GAClC,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACKnB,SAAQ,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAe,EAAAA,CAAA,KAAMI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACnC;EACA,OAAME,EAAA;AACN;AACA,IAAAM,YAAO,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IACLE,wBAAiB;AAAAhB,QACb,CAAAgB,wBAAyB;EAAAC,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAG7B,CAAIC,OAAM,GAAAN,YAAc,CAAAG,wBAA2B;AAAe,IAAAI,kBAAA,GAAAC,OAAA;AAAA,IAElEC,YAAA,GAAAD,OAAiB;AAAA,IACjBE,cAAA,GAAAF,OAAmB;AAAA,IACnBG,yBAAA,YAAAC,2BAAAC,GAAA,EAAAC,MAAA;EACF,IAAAC,YAAA,EAAAC,WAAA;EACF;IAAAC;EAAA,IAAAH,MAAA;EAEA,IAAMI,MAAA,OAAAT,YAAsB,CAAAU,kBAAO,EAAiBC,MAAA,CAAAP,GAAA;IAClDQ,KAAM,GAAAN,YAAA,GAAAE,KAAA,CAAAI,KAAA,cAAAN,YAAA,cAAAA,YAAA,IAAAL,cAAA,CAAAY,KAAA,QAAAb,YAAA,CAAAc,cAAA;EACN;EAAU,IACRC,KAAO,GAAE,IAAAf,YAAiB,CAACgB,cAAE,EAAAP,MAAA;EAAA,IAC7BQ,UAAM,GAAAC,IAAA,CAAAC,KAAA,CAAAV,MAAA,CAAAW,QAAA;EAAA,IACJC,KAAA,IAAAd,WAAW,GAAAC,KAAA,CAAAc,IAAA,cAAAf,WAAA,cAAAA,WAAA,GAAAC,KAAA,CAAAe,aAAA;EAAA,IACbC,MAAA,UAAAH,KAAA,gBAAAA,KAAA,GAAAJ,UAAA,GAAAR,MAAA,CAAAgB,GAAA;EACF;IACDL,QAAA,EAAAX,MAAA,CAAAW,QAAA;IAEM,IAAMnB,cAAA,CAAAY,KAAiB;MAC5BI;IACA,SAAO;IACR","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","themedPrimitives_exports","ThemedTextArea","module","exports","import_jsx_runtime","require","import_theme","import_tamagui","import_nativeAutoFocus","textAreaSizeWithoutRadius","textAreaSizeWithoutRadius2","val","extras","_props_touch","_props_rows","props","recipe","sizeRecipeForToken","String","touch","isWeb","isTouchSurface","inset","textFieldInset","lineHeight","Math","round","fontSize","lines","rows","numberOfLines","height","gap","fontWeight","paddingVertical","paddingHorizontal"],"sources":["../../src/themedPrimitives.tsx"],"sourcesContent":[null],"mappings":"AACA;;AAAA,IACEA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACAC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACAC,YAAA,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IAAAC,QACK,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACP,SAASC,IAAA,IAAAD,GAAY,EACrBZ,SAAS,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAuB,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAwD5B;AAnCJ,IAAAC,WAAM,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAA6D,EAAAC,IAAK;EACtE,IAAAF,IAAQ,WAAUA,IAAA,wBAAAA,IAAA;IAClB,KAAM,IAAAG,GAAA,IAAShB,iBAAmB,CAAAa,IAAA,CAAO,EACvC,KAAOX,YAAM,CAAAe,IAAW,CAAAL,EAAA,EAAAI,GAAA,CAAS,IAAAA,GAAA,KAAAF,MAAe,EACjDnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACD;EACA,OAAME,EAAA;AACN;AACA,IAAAM,YAAM,GAASC,GAAA,IAAOR,WAAU,CAAAhB,SAAW,KAAQ,YAAa;EAAAyB,KAAO;AAAM,CAAI,GAAAD,GAAA;AACjF,IAAAE,wBAAO;AAAAhB,QACL,CAAAgB,wBAAiB;EAAAC,cACL,EAAEA,CAAA,KAAAA;AAAe;AAAAC,MAAA,CAAAC,OAAA,GAAAN,YAAA,CAAAG,wBAAA;AAAA,IAG7BI,kBAAU,GAAAC,OAAc,oBAAqB;AAAqB,IAAAC,YAAA,GAAAD,OAAA;AAAA,IAElEE,cAAA,GAAiBF,OAAA;AAAA,IACjBG,sBAAmB,GAAAH,OAAA;AAAA,IACnBI,yBAAA,YAAAC,2BAAAC,GAAA,EAAAC,MAAA;EACF,IAAAC,YAAA,EAAAC,WAAA;EACF;IAAAC;EAAA,IAAAH,MAAA;EAEA,IAAMI,MAAA,OAAAV,YAAsB,CAAAW,kBAAO,EAAiBC,MAAA,CAAAP,GAAA;IAClDQ,KAAM,GAAAN,YAAA,GAAAE,KAAA,CAAAI,KAAA,cAAAN,YAAA,cAAAA,YAAA,IAAAN,cAAA,CAAAa,KAAA,QAAAd,YAAA,CAAAe,cAAA;EACN;EAAU,IACRC,KAAO,GAAE,IAAAhB,YAAiB,CAACiB,cAAE,EAAAP,MAAA;EAAA,IAC7BQ,UAAM,GAAAC,IAAA,CAAAC,KAAA,CAAAV,MAAA,CAAAW,QAAA;EAAA,IACJC,KAAA,IAAAd,WAAW,GAAAC,KAAA,CAAAc,IAAA,cAAAf,WAAA,cAAAA,WAAA,GAAAC,KAAA,CAAAe,aAAA;EAAA,IACbC,MAAA,UAAAH,KAAA,gBAAAA,KAAA,GAAAJ,UAAA,GAAAR,MAAA,CAAAgB,GAAA;EACF;IACDL,QAAA,EAAAX,MAAA,CAAAW,QAAA;IAEM,IAAMpB,cAAA,CAAAa,KAAiB;MAC5BI;IACA,SACE;IAAC;IAAA;IAAA,IACET,KAAG,CAAAkB,UAAA;MACHA,UAAG,EAAAlB,KAAA,CAAAkB;IAA2E,IAC/E;IAAA;IACAC,eAAA,EAAAZ,KAAA;IACFa,iBAAA,EAAAb,KAAA;IAEHS","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/forms",
3
- "version": "7.41.0",
3
+ "version": "7.43.0",
4
4
  "description": "Cross-platform form components with URL state management",
5
5
  "keywords": [
6
6
  "cross-platform",
@@ -57,10 +57,10 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@floating-ui/react": "^0.27.20",
60
- "@multiplatform.one/platform": "^7.41.0",
61
- "@multiplatform.one/router": "^7.41.0",
62
- "@multiplatform.one/table-primitives": "^7.41.0",
63
- "@multiplatform.one/theme": "^7.41.0",
60
+ "@multiplatform.one/platform": "^7.43.0",
61
+ "@multiplatform.one/router": "^7.43.0",
62
+ "@multiplatform.one/table-primitives": "^7.43.0",
63
+ "@multiplatform.one/theme": "^7.43.0",
64
64
  "@phosphor-icons/react": "^2.1.10",
65
65
  "@tamagui/get-font-sized": "2.7.6",
66
66
  "@tamagui/get-token": "2.7.6",
@@ -79,9 +79,9 @@
79
79
  "tamagui": "2.7.6"
80
80
  },
81
81
  "devDependencies": {
82
- "@multiplatform.one/config": "7.41.0",
83
- "@multiplatform.one/storybook": "7.41.0",
84
- "@multiplatform.one/test-utils": "7.41.0",
82
+ "@multiplatform.one/config": "7.43.0",
83
+ "@multiplatform.one/storybook": "7.43.0",
84
+ "@multiplatform.one/test-utils": "7.43.0",
85
85
  "@tamagui/build": "2.7.6",
86
86
  "@tamagui/config": "2.7.6",
87
87
  "@tamagui/vite-plugin": "2.7.6",
@@ -185,7 +185,13 @@ describe("FZ-7624 disabled reasons across registered presets", () => {
185
185
  }
186
186
  const button = screen.getByRole("button");
187
187
  expect(button.getAttribute("aria-describedby")).toBe(reason.id);
188
- if (themeName) expect(button.closest(`.t_${themeName}`)).toBeTruthy();
188
+ if (themeName) {
189
+ const scope = themeName === "accent" && hostTheme ? `${hostTheme}_accent` : themeName;
190
+ expect(
191
+ button.closest(`.t_${scope}`),
192
+ `LC-123: under a picked colour the accent is that colour's (${scope})`,
193
+ ).toBeTruthy();
194
+ }
189
195
  });
190
196
  }
191
197
  }
@@ -562,6 +562,7 @@ export function Chip({
562
562
  )}
563
563
  {onDismiss && !disabled && (
564
564
  <DismissButton
565
+ group={"chipDismiss" as unknown as undefined}
565
566
  role="button"
566
567
  aria-label={dismissLabel}
567
568
  tabIndex={0}
@@ -603,7 +604,7 @@ export function Chip({
603
604
  className="mp-chip-dismiss-ring"
604
605
  borderRadius={dismissRadius}
605
606
  hoverStyle={{ backgroundColor: colors.dismissHover }}
606
- pressStyle={{ backgroundColor: colors.dismissPress }}
607
+ {...{ "$group-chipDismiss-press": { backgroundColor: colors.dismissPress } }}
607
608
  >
608
609
  <XIcon size={iconSize} color={glyphInk} />
609
610
  </DismissRing>