tinybase 9.0.0-beta.0 → 9.0.0-beta.1

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 (219) hide show
  1. package/@types/mergeable-store/index.d.ts +4 -4
  2. package/@types/mergeable-store/with-schemas/index.d.ts +41 -17
  3. package/@types/persisters/index.d.ts +2 -1
  4. package/@types/persisters/with-schemas/index.d.ts +16 -10
  5. package/@types/queries/index.d.ts +4 -0
  6. package/@types/queries/with-schemas/index.d.ts +4 -0
  7. package/index.js +46 -6
  8. package/mergeable-store/index.js +46 -6
  9. package/mergeable-store/with-schemas/index.js +46 -6
  10. package/min/index.js +1 -1
  11. package/min/index.js.gz +0 -0
  12. package/min/mergeable-store/index.js +1 -1
  13. package/min/mergeable-store/index.js.gz +0 -0
  14. package/min/mergeable-store/with-schemas/index.js +1 -1
  15. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  16. package/min/omni/index.js +1 -1
  17. package/min/omni/index.js.gz +0 -0
  18. package/min/omni/with-schemas/index.js +1 -1
  19. package/min/omni/with-schemas/index.js.gz +0 -0
  20. package/min/persisters/index.js +1 -1
  21. package/min/persisters/index.js.gz +0 -0
  22. package/min/persisters/persister-automerge/index.js +1 -1
  23. package/min/persisters/persister-automerge/index.js.gz +0 -0
  24. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  25. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  26. package/min/persisters/persister-browser/index.js +1 -1
  27. package/min/persisters/persister-browser/index.js.gz +0 -0
  28. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  29. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  30. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  31. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  32. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  33. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  34. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  35. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  36. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  37. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  38. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  39. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  40. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  41. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  42. package/min/persisters/persister-electric-sql/index.js +1 -1
  43. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  44. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  45. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  46. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  47. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  48. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  49. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  50. package/min/persisters/persister-file/index.js +1 -1
  51. package/min/persisters/persister-file/index.js.gz +0 -0
  52. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  53. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  54. package/min/persisters/persister-indexed-db/index.js +1 -1
  55. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  56. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  57. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  58. package/min/persisters/persister-libsql/index.js +1 -1
  59. package/min/persisters/persister-libsql/index.js.gz +0 -0
  60. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  61. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  62. package/min/persisters/persister-partykit-client/index.js +1 -1
  63. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  64. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  65. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  66. package/min/persisters/persister-pglite/index.js +1 -1
  67. package/min/persisters/persister-pglite/index.js.gz +0 -0
  68. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  69. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  70. package/min/persisters/persister-postgres/index.js +1 -1
  71. package/min/persisters/persister-postgres/index.js.gz +0 -0
  72. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  73. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  74. package/min/persisters/persister-powersync/index.js +1 -1
  75. package/min/persisters/persister-powersync/index.js.gz +0 -0
  76. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  77. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  78. package/min/persisters/persister-react-native-mmkv/index.js +1 -1
  79. package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
  80. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
  81. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
  82. package/min/persisters/persister-react-native-sqlite/index.js +1 -1
  83. package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
  84. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
  85. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
  86. package/min/persisters/persister-remote/index.js +1 -1
  87. package/min/persisters/persister-remote/index.js.gz +0 -0
  88. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  89. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  90. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  91. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  92. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  93. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  94. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  95. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  96. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  97. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  98. package/min/persisters/persister-sqlite3/index.js +1 -1
  99. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  100. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  101. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  102. package/min/persisters/persister-yjs/index.js +1 -1
  103. package/min/persisters/persister-yjs/index.js.gz +0 -0
  104. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  105. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  106. package/min/persisters/with-schemas/index.js +1 -1
  107. package/min/persisters/with-schemas/index.js.gz +0 -0
  108. package/min/store/index.js +1 -1
  109. package/min/store/index.js.gz +0 -0
  110. package/min/store/with-schemas/index.js +1 -1
  111. package/min/store/with-schemas/index.js.gz +0 -0
  112. package/min/synchronizers/index.js +1 -1
  113. package/min/synchronizers/index.js.gz +0 -0
  114. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  115. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  116. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  117. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  118. package/min/synchronizers/synchronizer-local/index.js +1 -1
  119. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  120. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  121. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  122. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  123. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  124. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  125. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  126. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  127. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  128. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  129. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  130. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  131. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  132. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  133. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  134. package/min/synchronizers/with-schemas/index.js +1 -1
  135. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  136. package/min/ui-react-inspector/index.js +1 -1
  137. package/min/ui-react-inspector/index.js.gz +0 -0
  138. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  139. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  140. package/min/ui-solid-inspector/index.js +1 -1
  141. package/min/ui-solid-inspector/index.js.gz +0 -0
  142. package/min/ui-solid-inspector/with-schemas/index.js +1 -1
  143. package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
  144. package/min/ui-svelte-inspector/index.js +1 -1
  145. package/min/ui-svelte-inspector/index.js.gz +0 -0
  146. package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
  147. package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
  148. package/min/with-schemas/index.js +1 -1
  149. package/min/with-schemas/index.js.gz +0 -0
  150. package/omni/index.js +53 -14
  151. package/omni/with-schemas/index.js +53 -14
  152. package/package.json +3 -3
  153. package/persisters/index.js +4 -3
  154. package/persisters/persister-automerge/index.js +4 -3
  155. package/persisters/persister-automerge/with-schemas/index.js +4 -3
  156. package/persisters/persister-browser/index.js +4 -3
  157. package/persisters/persister-browser/with-schemas/index.js +4 -3
  158. package/persisters/persister-cr-sqlite-wasm/index.js +4 -3
  159. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +4 -3
  160. package/persisters/persister-durable-object-sql-storage/index.js +4 -3
  161. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +4 -3
  162. package/persisters/persister-durable-object-storage/index.js +4 -3
  163. package/persisters/persister-durable-object-storage/with-schemas/index.js +4 -3
  164. package/persisters/persister-electric-sql/index.js +4 -3
  165. package/persisters/persister-electric-sql/with-schemas/index.js +4 -3
  166. package/persisters/persister-expo-sqlite/index.js +4 -3
  167. package/persisters/persister-expo-sqlite/with-schemas/index.js +4 -3
  168. package/persisters/persister-file/index.js +4 -3
  169. package/persisters/persister-file/with-schemas/index.js +4 -3
  170. package/persisters/persister-indexed-db/index.js +4 -3
  171. package/persisters/persister-indexed-db/with-schemas/index.js +4 -3
  172. package/persisters/persister-libsql/index.js +4 -3
  173. package/persisters/persister-libsql/with-schemas/index.js +4 -3
  174. package/persisters/persister-partykit-client/index.js +4 -3
  175. package/persisters/persister-partykit-client/with-schemas/index.js +4 -3
  176. package/persisters/persister-pglite/index.js +4 -3
  177. package/persisters/persister-pglite/with-schemas/index.js +4 -3
  178. package/persisters/persister-postgres/index.js +4 -3
  179. package/persisters/persister-postgres/with-schemas/index.js +4 -3
  180. package/persisters/persister-powersync/index.js +4 -3
  181. package/persisters/persister-powersync/with-schemas/index.js +4 -3
  182. package/persisters/persister-react-native-mmkv/index.js +4 -3
  183. package/persisters/persister-react-native-mmkv/with-schemas/index.js +4 -3
  184. package/persisters/persister-react-native-sqlite/index.js +4 -3
  185. package/persisters/persister-react-native-sqlite/with-schemas/index.js +4 -3
  186. package/persisters/persister-remote/index.js +4 -3
  187. package/persisters/persister-remote/with-schemas/index.js +4 -3
  188. package/persisters/persister-sqlite-bun/index.js +4 -3
  189. package/persisters/persister-sqlite-bun/with-schemas/index.js +4 -3
  190. package/persisters/persister-sqlite-wasm/index.js +4 -3
  191. package/persisters/persister-sqlite-wasm/with-schemas/index.js +4 -3
  192. package/persisters/persister-sqlite3/index.js +4 -3
  193. package/persisters/persister-sqlite3/with-schemas/index.js +4 -3
  194. package/persisters/persister-yjs/index.js +4 -3
  195. package/persisters/persister-yjs/with-schemas/index.js +4 -3
  196. package/persisters/with-schemas/index.js +4 -3
  197. package/readme.md +3 -3
  198. package/releases.md +16 -1
  199. package/store/index.js +33 -2
  200. package/store/with-schemas/index.js +33 -2
  201. package/synchronizers/index.js +4 -3
  202. package/synchronizers/synchronizer-broadcast-channel/index.js +4 -3
  203. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -3
  204. package/synchronizers/synchronizer-local/index.js +4 -3
  205. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -3
  206. package/synchronizers/synchronizer-ws-client/index.js +4 -3
  207. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -3
  208. package/synchronizers/synchronizer-ws-server/index.js +7 -8
  209. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +7 -8
  210. package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -3
  211. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -3
  212. package/synchronizers/with-schemas/index.js +4 -3
  213. package/ui-react-inspector/index.js +36 -5
  214. package/ui-react-inspector/with-schemas/index.js +36 -5
  215. package/ui-solid-inspector/index.js +36 -5
  216. package/ui-solid-inspector/with-schemas/index.js +36 -5
  217. package/ui-svelte-inspector/index.js +36 -5
  218. package/ui-svelte-inspector/with-schemas/index.js +36 -5
  219. package/with-schemas/index.js +46 -6
@@ -907,13 +907,13 @@ const createCustomPersister = (
907
907
  const content = await getPersisted();
908
908
  if (isArray(content)) {
909
909
  setContentOrChanges(content);
910
- } else if (initialContent) {
910
+ } else if (isUndefined(content) && initialContent) {
911
911
  setDefaultContent(initialContent);
912
- } else {
912
+ } else if (!isUndefined(content)) {
913
913
  errorNew(`Content is not an array: ${content}`);
914
914
  }
915
915
  },
916
- () => {
916
+ (error) => {
917
917
  if (initialContent) {
918
918
  setDefaultContent(initialContent);
919
919
  }
@@ -1166,8 +1166,10 @@ const createStore = () => {
1166
1166
  const changedRowIds = mapNew();
1167
1167
  const changedCellIds = mapNew();
1168
1168
  const changedCells = mapNew();
1169
+ const defaultedCells = mapNew();
1169
1170
  const changedValueIds = mapNew();
1170
1171
  const changedValues = mapNew();
1172
+ const defaultedValues = setNew();
1171
1173
  const invalidCells = mapNew();
1172
1174
  const invalidValues = mapNew();
1173
1175
  const tablesSchemaMap = mapNew();
@@ -1341,6 +1343,16 @@ const createStore = () => {
1341
1343
  collForEach(rowDefaulted, (cell, cellId) => {
1342
1344
  if (!objHas(row, cellId)) {
1343
1345
  row[cellId] = cell;
1346
+ ifNotUndefined(rowId, (rowId2) =>
1347
+ setAdd(
1348
+ mapEnsure(
1349
+ mapEnsure(defaultedCells, tableId, mapNew),
1350
+ rowId2,
1351
+ setNew,
1352
+ ),
1353
+ cellId,
1354
+ ),
1355
+ );
1344
1356
  }
1345
1357
  });
1346
1358
  collForEach(rowNonDefaulted, (cellId) => {
@@ -1357,6 +1369,7 @@ const createStore = () => {
1357
1369
  collForEach(valuesDefaulted, (value, valueId) => {
1358
1370
  if (!objHas(values, valueId)) {
1359
1371
  values[valueId] = value;
1372
+ setAdd(defaultedValues, valueId);
1360
1373
  }
1361
1374
  });
1362
1375
  collForEach(valuesNonDefaulted, (valueId) => {
@@ -1760,18 +1773,34 @@ const createStore = () => {
1760
1773
  );
1761
1774
  };
1762
1775
  const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
1776
+ const defaulted =
1777
+ collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
1778
+ isUndefined(oldCell)
1779
+ ? 1
1780
+ : 0;
1763
1781
  mapEnsure(
1764
1782
  mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
1765
1783
  cellId,
1766
1784
  () => [oldCell, 0],
1767
1785
  )[1] = newCell;
1768
- internalListeners[3]?.(tableId, rowId, cellId, newCell, mutating);
1786
+ internalListeners[3]?.(
1787
+ tableId,
1788
+ rowId,
1789
+ cellId,
1790
+ newCell,
1791
+ mutating,
1792
+ defaulted,
1793
+ );
1794
+ collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
1769
1795
  };
1770
1796
  const valueIdsChanged = (valueId, addedOrRemoved) =>
1771
1797
  idsChanged(changedValueIds, valueId, addedOrRemoved);
1772
1798
  const valueChanged = (valueId, oldValue, newValue) => {
1799
+ const defaulted =
1800
+ collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
1773
1801
  mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
1774
- internalListeners[4]?.(valueId, newValue, mutating);
1802
+ internalListeners[4]?.(valueId, newValue, mutating, defaulted);
1803
+ collDel(defaultedValues, valueId);
1775
1804
  };
1776
1805
  const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
1777
1806
  arrayPush(
@@ -2559,9 +2588,11 @@ const createStore = () => {
2559
2588
  changedRowIds,
2560
2589
  changedCellIds,
2561
2590
  changedCells,
2591
+ defaultedCells,
2562
2592
  invalidCells,
2563
2593
  changedValueIds,
2564
2594
  changedValues,
2595
+ defaultedValues,
2565
2596
  invalidValues,
2566
2597
  ],
2567
2598
  collClear,
@@ -1225,8 +1225,10 @@ const createStore = () => {
1225
1225
  const changedRowIds = mapNew();
1226
1226
  const changedCellIds = mapNew();
1227
1227
  const changedCells = mapNew();
1228
+ const defaultedCells = mapNew();
1228
1229
  const changedValueIds = mapNew();
1229
1230
  const changedValues = mapNew();
1231
+ const defaultedValues = setNew();
1230
1232
  const invalidCells = mapNew();
1231
1233
  const invalidValues = mapNew();
1232
1234
  const tablesSchemaMap = mapNew();
@@ -1400,6 +1402,16 @@ const createStore = () => {
1400
1402
  collForEach(rowDefaulted, (cell, cellId) => {
1401
1403
  if (!objHas(row, cellId)) {
1402
1404
  row[cellId] = cell;
1405
+ ifNotUndefined(rowId, (rowId2) =>
1406
+ setAdd(
1407
+ mapEnsure(
1408
+ mapEnsure(defaultedCells, tableId, mapNew),
1409
+ rowId2,
1410
+ setNew,
1411
+ ),
1412
+ cellId,
1413
+ ),
1414
+ );
1403
1415
  }
1404
1416
  });
1405
1417
  collForEach(rowNonDefaulted, (cellId) => {
@@ -1416,6 +1428,7 @@ const createStore = () => {
1416
1428
  collForEach(valuesDefaulted, (value, valueId) => {
1417
1429
  if (!objHas(values, valueId)) {
1418
1430
  values[valueId] = value;
1431
+ setAdd(defaultedValues, valueId);
1419
1432
  }
1420
1433
  });
1421
1434
  collForEach(valuesNonDefaulted, (valueId) => {
@@ -1819,18 +1832,34 @@ const createStore = () => {
1819
1832
  );
1820
1833
  };
1821
1834
  const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
1835
+ const defaulted =
1836
+ collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
1837
+ isUndefined(oldCell)
1838
+ ? 1
1839
+ : 0;
1822
1840
  mapEnsure(
1823
1841
  mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
1824
1842
  cellId,
1825
1843
  () => [oldCell, 0],
1826
1844
  )[1] = newCell;
1827
- internalListeners[3]?.(tableId, rowId, cellId, newCell, mutating);
1845
+ internalListeners[3]?.(
1846
+ tableId,
1847
+ rowId,
1848
+ cellId,
1849
+ newCell,
1850
+ mutating,
1851
+ defaulted,
1852
+ );
1853
+ collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
1828
1854
  };
1829
1855
  const valueIdsChanged = (valueId, addedOrRemoved) =>
1830
1856
  idsChanged(changedValueIds, valueId, addedOrRemoved);
1831
1857
  const valueChanged = (valueId, oldValue, newValue) => {
1858
+ const defaulted =
1859
+ collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
1832
1860
  mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
1833
- internalListeners[4]?.(valueId, newValue, mutating);
1861
+ internalListeners[4]?.(valueId, newValue, mutating, defaulted);
1862
+ collDel(defaultedValues, valueId);
1834
1863
  };
1835
1864
  const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
1836
1865
  arrayPush(
@@ -2618,9 +2647,11 @@ const createStore = () => {
2618
2647
  changedRowIds,
2619
2648
  changedCellIds,
2620
2649
  changedCells,
2650
+ defaultedCells,
2621
2651
  invalidCells,
2622
2652
  changedValueIds,
2623
2653
  changedValues,
2654
+ defaultedValues,
2624
2655
  invalidValues,
2625
2656
  ],
2626
2657
  collClear,
@@ -3125,7 +3156,14 @@ const createMergeableStore = (uniqueId, getNow) => {
3125
3156
  collClear(touchedCells);
3126
3157
  collClear(touchedValues);
3127
3158
  };
3128
- const cellChanged = (tableId, rowId, cellId, newCell, mutating) => {
3159
+ const cellChanged = (
3160
+ tableId,
3161
+ rowId,
3162
+ cellId,
3163
+ newCell,
3164
+ mutating,
3165
+ defaulted,
3166
+ ) => {
3129
3167
  setAdd(
3130
3168
  mapEnsure(mapEnsure(touchedCells, tableId, mapNew), rowId, setNew),
3131
3169
  cellId,
@@ -3143,7 +3181,9 @@ const createMergeableStore = (uniqueId, getNow) => {
3143
3181
  {
3144
3182
  [cellId]: [
3145
3183
  newCell,
3146
- defaultingContent ? EMPTY_STRING : getNextHlc(),
3184
+ defaultingContent || defaulted
3185
+ ? EMPTY_STRING
3186
+ : getNextHlc(),
3147
3187
  ],
3148
3188
  },
3149
3189
  ],
@@ -3156,7 +3196,7 @@ const createMergeableStore = (uniqueId, getNow) => {
3156
3196
  ]);
3157
3197
  }
3158
3198
  };
3159
- const valueChanged = (valueId, newValue, mutating) => {
3199
+ const valueChanged = (valueId, newValue, mutating, defaulted) => {
3160
3200
  setAdd(touchedValues, valueId);
3161
3201
  if (listeningToRawStoreChanges || mutating) {
3162
3202
  if (mutating) {
@@ -3168,7 +3208,7 @@ const createMergeableStore = (uniqueId, getNow) => {
3168
3208
  {
3169
3209
  [valueId]: [
3170
3210
  newValue,
3171
- defaultingContent ? EMPTY_STRING : getNextHlc(),
3211
+ defaultingContent || defaulted ? EMPTY_STRING : getNextHlc(),
3172
3212
  ],
3173
3213
  },
3174
3214
  ],