tinybase 9.0.0-beta.0 → 9.0.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 (233) 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/@types/ui-react-dom/index.d.ts +10 -10
  8. package/@types/ui-react-dom/with-schemas/index.d.ts +10 -10
  9. package/@types/ui-react-dom-charts/index.d.ts +7 -7
  10. package/@types/ui-react-dom-charts/with-schemas/index.d.ts +7 -7
  11. package/@types/ui-react-inspector/index.d.ts +1 -1
  12. package/@types/ui-react-inspector/with-schemas/index.d.ts +1 -1
  13. package/@types/ui-solid-dom/index.d.ts +10 -10
  14. package/@types/ui-solid-dom/with-schemas/index.d.ts +10 -10
  15. package/@types/ui-solid-inspector/index.d.ts +1 -1
  16. package/@types/ui-solid-inspector/with-schemas/index.d.ts +1 -1
  17. package/@types/ui-svelte-dom/index.d.ts +10 -10
  18. package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -10
  19. package/@types/ui-svelte-inspector/index.d.ts +1 -1
  20. package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -1
  21. package/index.js +46 -6
  22. package/mergeable-store/index.js +46 -6
  23. package/mergeable-store/with-schemas/index.js +46 -6
  24. package/min/index.js +1 -1
  25. package/min/index.js.gz +0 -0
  26. package/min/mergeable-store/index.js +1 -1
  27. package/min/mergeable-store/index.js.gz +0 -0
  28. package/min/mergeable-store/with-schemas/index.js +1 -1
  29. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  30. package/min/omni/index.js +1 -1
  31. package/min/omni/index.js.gz +0 -0
  32. package/min/omni/with-schemas/index.js +1 -1
  33. package/min/omni/with-schemas/index.js.gz +0 -0
  34. package/min/persisters/index.js +1 -1
  35. package/min/persisters/index.js.gz +0 -0
  36. package/min/persisters/persister-automerge/index.js +1 -1
  37. package/min/persisters/persister-automerge/index.js.gz +0 -0
  38. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  39. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  40. package/min/persisters/persister-browser/index.js +1 -1
  41. package/min/persisters/persister-browser/index.js.gz +0 -0
  42. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  43. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  44. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  45. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  46. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  47. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  48. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  49. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  50. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  51. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  52. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  53. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  54. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  55. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  56. package/min/persisters/persister-electric-sql/index.js +1 -1
  57. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  58. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  59. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  60. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  61. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  62. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  63. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  64. package/min/persisters/persister-file/index.js +1 -1
  65. package/min/persisters/persister-file/index.js.gz +0 -0
  66. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  67. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  68. package/min/persisters/persister-indexed-db/index.js +1 -1
  69. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  70. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  71. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  72. package/min/persisters/persister-libsql/index.js +1 -1
  73. package/min/persisters/persister-libsql/index.js.gz +0 -0
  74. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  75. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  76. package/min/persisters/persister-partykit-client/index.js +1 -1
  77. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  78. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  79. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  80. package/min/persisters/persister-pglite/index.js +1 -1
  81. package/min/persisters/persister-pglite/index.js.gz +0 -0
  82. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  83. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  84. package/min/persisters/persister-postgres/index.js +1 -1
  85. package/min/persisters/persister-postgres/index.js.gz +0 -0
  86. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  87. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  88. package/min/persisters/persister-powersync/index.js +1 -1
  89. package/min/persisters/persister-powersync/index.js.gz +0 -0
  90. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  91. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  92. package/min/persisters/persister-react-native-mmkv/index.js +1 -1
  93. package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
  94. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
  95. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
  96. package/min/persisters/persister-react-native-sqlite/index.js +1 -1
  97. package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
  98. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
  99. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
  100. package/min/persisters/persister-remote/index.js +1 -1
  101. package/min/persisters/persister-remote/index.js.gz +0 -0
  102. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  103. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  104. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  105. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  106. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  107. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  108. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  109. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  110. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  111. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  112. package/min/persisters/persister-sqlite3/index.js +1 -1
  113. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  114. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  115. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  116. package/min/persisters/persister-yjs/index.js +1 -1
  117. package/min/persisters/persister-yjs/index.js.gz +0 -0
  118. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  119. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  120. package/min/persisters/with-schemas/index.js +1 -1
  121. package/min/persisters/with-schemas/index.js.gz +0 -0
  122. package/min/store/index.js +1 -1
  123. package/min/store/index.js.gz +0 -0
  124. package/min/store/with-schemas/index.js +1 -1
  125. package/min/store/with-schemas/index.js.gz +0 -0
  126. package/min/synchronizers/index.js +1 -1
  127. package/min/synchronizers/index.js.gz +0 -0
  128. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  129. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  130. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  131. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  132. package/min/synchronizers/synchronizer-local/index.js +1 -1
  133. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  134. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  135. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  136. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  137. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  138. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  139. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  140. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  141. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  142. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  143. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  144. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  145. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  146. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  147. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  148. package/min/synchronizers/with-schemas/index.js +1 -1
  149. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  150. package/min/ui-react-inspector/index.js +1 -1
  151. package/min/ui-react-inspector/index.js.gz +0 -0
  152. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  153. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  154. package/min/ui-solid-inspector/index.js +1 -1
  155. package/min/ui-solid-inspector/index.js.gz +0 -0
  156. package/min/ui-solid-inspector/with-schemas/index.js +1 -1
  157. package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
  158. package/min/ui-svelte-inspector/index.js +1 -1
  159. package/min/ui-svelte-inspector/index.js.gz +0 -0
  160. package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
  161. package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
  162. package/min/with-schemas/index.js +1 -1
  163. package/min/with-schemas/index.js.gz +0 -0
  164. package/omni/index.js +53 -14
  165. package/omni/with-schemas/index.js +53 -14
  166. package/package.json +7 -7
  167. package/persisters/index.js +4 -3
  168. package/persisters/persister-automerge/index.js +4 -3
  169. package/persisters/persister-automerge/with-schemas/index.js +4 -3
  170. package/persisters/persister-browser/index.js +4 -3
  171. package/persisters/persister-browser/with-schemas/index.js +4 -3
  172. package/persisters/persister-cr-sqlite-wasm/index.js +4 -3
  173. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +4 -3
  174. package/persisters/persister-durable-object-sql-storage/index.js +4 -3
  175. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +4 -3
  176. package/persisters/persister-durable-object-storage/index.js +4 -3
  177. package/persisters/persister-durable-object-storage/with-schemas/index.js +4 -3
  178. package/persisters/persister-electric-sql/index.js +4 -3
  179. package/persisters/persister-electric-sql/with-schemas/index.js +4 -3
  180. package/persisters/persister-expo-sqlite/index.js +4 -3
  181. package/persisters/persister-expo-sqlite/with-schemas/index.js +4 -3
  182. package/persisters/persister-file/index.js +4 -3
  183. package/persisters/persister-file/with-schemas/index.js +4 -3
  184. package/persisters/persister-indexed-db/index.js +4 -3
  185. package/persisters/persister-indexed-db/with-schemas/index.js +4 -3
  186. package/persisters/persister-libsql/index.js +4 -3
  187. package/persisters/persister-libsql/with-schemas/index.js +4 -3
  188. package/persisters/persister-partykit-client/index.js +4 -3
  189. package/persisters/persister-partykit-client/with-schemas/index.js +4 -3
  190. package/persisters/persister-pglite/index.js +4 -3
  191. package/persisters/persister-pglite/with-schemas/index.js +4 -3
  192. package/persisters/persister-postgres/index.js +4 -3
  193. package/persisters/persister-postgres/with-schemas/index.js +4 -3
  194. package/persisters/persister-powersync/index.js +4 -3
  195. package/persisters/persister-powersync/with-schemas/index.js +4 -3
  196. package/persisters/persister-react-native-mmkv/index.js +4 -3
  197. package/persisters/persister-react-native-mmkv/with-schemas/index.js +4 -3
  198. package/persisters/persister-react-native-sqlite/index.js +4 -3
  199. package/persisters/persister-react-native-sqlite/with-schemas/index.js +4 -3
  200. package/persisters/persister-remote/index.js +4 -3
  201. package/persisters/persister-remote/with-schemas/index.js +4 -3
  202. package/persisters/persister-sqlite-bun/index.js +4 -3
  203. package/persisters/persister-sqlite-bun/with-schemas/index.js +4 -3
  204. package/persisters/persister-sqlite-wasm/index.js +4 -3
  205. package/persisters/persister-sqlite-wasm/with-schemas/index.js +4 -3
  206. package/persisters/persister-sqlite3/index.js +4 -3
  207. package/persisters/persister-sqlite3/with-schemas/index.js +4 -3
  208. package/persisters/persister-yjs/index.js +4 -3
  209. package/persisters/persister-yjs/with-schemas/index.js +4 -3
  210. package/persisters/with-schemas/index.js +4 -3
  211. package/readme.md +3 -3
  212. package/releases.md +17 -1
  213. package/store/index.js +33 -2
  214. package/store/with-schemas/index.js +33 -2
  215. package/synchronizers/index.js +4 -3
  216. package/synchronizers/synchronizer-broadcast-channel/index.js +4 -3
  217. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -3
  218. package/synchronizers/synchronizer-local/index.js +4 -3
  219. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -3
  220. package/synchronizers/synchronizer-ws-client/index.js +4 -3
  221. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -3
  222. package/synchronizers/synchronizer-ws-server/index.js +7 -8
  223. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +7 -8
  224. package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -3
  225. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -3
  226. package/synchronizers/with-schemas/index.js +4 -3
  227. package/ui-react-inspector/index.js +36 -5
  228. package/ui-react-inspector/with-schemas/index.js +36 -5
  229. package/ui-solid-inspector/index.js +36 -5
  230. package/ui-solid-inspector/with-schemas/index.js +36 -5
  231. package/ui-svelte-inspector/index.js +36 -5
  232. package/ui-svelte-inspector/with-schemas/index.js +36 -5
  233. package/with-schemas/index.js +46 -6
@@ -692,7 +692,7 @@ export type SortedTablePaginatorProps = {
692
692
  *
693
693
  * See the <TableInHtmlTable /> (Solid) demo for this component in action:
694
694
  *
695
- * ![TableInHtmlTable example](https://beta.tinybase.org/shots/tableinhtmltable-solid-demo.png
695
+ * ![TableInHtmlTable example](https://tinybase.org/shots/tableinhtmltable-solid-demo.png
696
696
  * "TableInHtmlTable example")
697
697
  *
698
698
  * The component's props identify which Table to render based on Table Id, and
@@ -836,7 +836,7 @@ export function TableInHtmlTable(
836
836
  * See the <SortedTableInHtmlTable /> (Solid) demo for this component in
837
837
  * action:
838
838
  *
839
- * ![SortedTableInHtmlTable example](https://beta.tinybase.org/shots/sortedtableinhtmltable-solid-demo.png
839
+ * ![SortedTableInHtmlTable example](https://tinybase.org/shots/sortedtableinhtmltable-solid-demo.png
840
840
  * "SortedTableInHtmlTable example")
841
841
  *
842
842
  * The component's props identify which Table to render based on Table Id, and
@@ -1007,7 +1007,7 @@ export function SortedTableInHtmlTable(
1007
1007
  *
1008
1008
  * See the <ValuesInHtmlTable /> (Solid) demo for this component in action:
1009
1009
  *
1010
- * ![ValuesInHtmlTable example](https://beta.tinybase.org/shots/valuesinhtmltable-solid-demo.png
1010
+ * ![ValuesInHtmlTable example](https://tinybase.org/shots/valuesinhtmltable-solid-demo.png
1011
1011
  * "ValuesInHtmlTable example")
1012
1012
  *
1013
1013
  * The component's props identify which Row to render based on Table Id, Row Id,
@@ -1136,7 +1136,7 @@ export function ValuesInHtmlTable(
1136
1136
  *
1137
1137
  * See the <SliceInHtmlTable /> (Solid) demo for this component in action:
1138
1138
  *
1139
- * ![SliceInHtmlTable example](https://beta.tinybase.org/shots/sliceinhtmltable-solid-demo.png
1139
+ * ![SliceInHtmlTable example](https://tinybase.org/shots/sliceinhtmltable-solid-demo.png
1140
1140
  * "SliceInHtmlTable example")
1141
1141
  *
1142
1142
  * The component's props identify which Slice to render based on Index Id, Slice
@@ -1292,7 +1292,7 @@ export function SliceInHtmlTable(
1292
1292
  * See the <RelationshipInHtmlTable /> (Solid) demo for this component in
1293
1293
  * action:
1294
1294
  *
1295
- * ![RelationshipInHtmlTable example](https://beta.tinybase.org/shots/relationshipinhtmltable-solid-demo.png
1295
+ * ![RelationshipInHtmlTable example](https://tinybase.org/shots/relationshipinhtmltable-solid-demo.png
1296
1296
  * "RelationshipInHtmlTable example")
1297
1297
  *
1298
1298
  * The component's props identify which Relationship to render based on
@@ -1466,7 +1466,7 @@ export function RelationshipInHtmlTable(
1466
1466
  * See the <ResultTableInHtmlTable /> (Solid) demo for this component in
1467
1467
  * action:
1468
1468
  *
1469
- * ![ResultTableInHtmlTable example](https://beta.tinybase.org/shots/resulttableinhtmltable-solid-demo.png
1469
+ * ![ResultTableInHtmlTable example](https://tinybase.org/shots/resulttableinhtmltable-solid-demo.png
1470
1470
  * "ResultTableInHtmlTable example")
1471
1471
  *
1472
1472
  * The component's props identify which ResultTable to render based on query Id,
@@ -1617,7 +1617,7 @@ export function ResultTableInHtmlTable(
1617
1617
  * See the <ResultSortedTableInHtmlTable /> (Solid) demo for this component in
1618
1618
  * action:
1619
1619
  *
1620
- * ![ResultSortedTableInHtmlTable example](https://beta.tinybase.org/shots/resultsortedtableinhtmltable-solid-demo.png
1620
+ * ![ResultSortedTableInHtmlTable example](https://tinybase.org/shots/resultsortedtableinhtmltable-solid-demo.png
1621
1621
  * "ResultSortedTableInHtmlTable example")
1622
1622
  *
1623
1623
  * The component's props identify which ResultTable to render based on query Id,
@@ -1789,7 +1789,7 @@ export function ResultSortedTableInHtmlTable(
1789
1789
  *
1790
1790
  * See the <EditableCellView /> (Solid) demo for this component in action:
1791
1791
  *
1792
- * ![EditableCellView example](https://beta.tinybase.org/shots/editablecellview-solid-demo.png
1792
+ * ![EditableCellView example](https://tinybase.org/shots/editablecellview-solid-demo.png
1793
1793
  * "EditableCellView example")
1794
1794
  *
1795
1795
  * The component's props identify which Cell to render based on Table Id, Row
@@ -1859,7 +1859,7 @@ export function EditableCellView(
1859
1859
  *
1860
1860
  * See the <EditableValueView /> (Solid) demo for this component in action:
1861
1861
  *
1862
- * ![EditableValueView example](https://beta.tinybase.org/shots/editablevalueview-solid-demo.png
1862
+ * ![EditableValueView example](https://tinybase.org/shots/editablevalueview-solid-demo.png
1863
1863
  * "EditableValueView example")
1864
1864
  *
1865
1865
  * The component's props identify which Value to render based on Table Id, Row
@@ -1929,7 +1929,7 @@ export function EditableValueView(
1929
1929
  * See the <SortedTableInHtmlTable /> (Solid) demo for this component in
1930
1930
  * action:
1931
1931
  *
1932
- * ![SortedTablePaginator example](https://beta.tinybase.org/shots/sortedtablepaginator-solid-demo.png
1932
+ * ![SortedTablePaginator example](https://tinybase.org/shots/sortedtablepaginator-solid-demo.png
1933
1933
  * "SortedTablePaginator example")
1934
1934
  *
1935
1935
  * The component displays 'previous' and 'next' buttons for paging through the
@@ -666,7 +666,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
666
666
  *
667
667
  * See the <TableInHtmlTable /> (Solid) demo for this component in action:
668
668
  *
669
- * ![TableInHtmlTable example](https://beta.tinybase.org/shots/tableinhtmltable-solid-demo.png
669
+ * ![TableInHtmlTable example](https://tinybase.org/shots/tableinhtmltable-solid-demo.png
670
670
  * "TableInHtmlTable example")
671
671
  *
672
672
  * The component's props identify which Table to render based on Table Id, and
@@ -818,7 +818,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
818
818
  * See the <SortedTableInHtmlTable /> (Solid) demo for this component in
819
819
  * action:
820
820
  *
821
- * ![SortedTableInHtmlTable example](https://beta.tinybase.org/shots/sortedtableinhtmltable-solid-demo.png
821
+ * ![SortedTableInHtmlTable example](https://tinybase.org/shots/sortedtableinhtmltable-solid-demo.png
822
822
  * "SortedTableInHtmlTable example")
823
823
  *
824
824
  * The component's props identify which Table to render based on Table Id, and
@@ -997,7 +997,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
997
997
  *
998
998
  * See the <ValuesInHtmlTable /> (Solid) demo for this component in action:
999
999
  *
1000
- * ![ValuesInHtmlTable example](https://beta.tinybase.org/shots/valuesinhtmltable-solid-demo.png
1000
+ * ![ValuesInHtmlTable example](https://tinybase.org/shots/valuesinhtmltable-solid-demo.png
1001
1001
  * "ValuesInHtmlTable example")
1002
1002
  *
1003
1003
  * The component's props identify which Row to render based on Table Id, Row Id,
@@ -1134,7 +1134,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1134
1134
  *
1135
1135
  * See the <SliceInHtmlTable /> (Solid) demo for this component in action:
1136
1136
  *
1137
- * ![SliceInHtmlTable example](https://beta.tinybase.org/shots/sliceinhtmltable-solid-demo.png
1137
+ * ![SliceInHtmlTable example](https://tinybase.org/shots/sliceinhtmltable-solid-demo.png
1138
1138
  * "SliceInHtmlTable example")
1139
1139
  *
1140
1140
  * The component's props identify which Slice to render based on Index Id, Slice
@@ -1298,7 +1298,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1298
1298
  * See the <RelationshipInHtmlTable /> (Solid) demo for this component in
1299
1299
  * action:
1300
1300
  *
1301
- * ![RelationshipInHtmlTable example](https://beta.tinybase.org/shots/relationshipinhtmltable-solid-demo.png
1301
+ * ![RelationshipInHtmlTable example](https://tinybase.org/shots/relationshipinhtmltable-solid-demo.png
1302
1302
  * "RelationshipInHtmlTable example")
1303
1303
  *
1304
1304
  * The component's props identify which Relationship to render based on
@@ -1480,7 +1480,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1480
1480
  * See the <ResultTableInHtmlTable /> (Solid) demo for this component in
1481
1481
  * action:
1482
1482
  *
1483
- * ![ResultTableInHtmlTable example](https://beta.tinybase.org/shots/resulttableinhtmltable-solid-demo.png
1483
+ * ![ResultTableInHtmlTable example](https://tinybase.org/shots/resulttableinhtmltable-solid-demo.png
1484
1484
  * "ResultTableInHtmlTable example")
1485
1485
  *
1486
1486
  * The component's props identify which ResultTable to render based on query Id,
@@ -1639,7 +1639,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1639
1639
  * See the <ResultSortedTableInHtmlTable /> (Solid) demo for this component in
1640
1640
  * action:
1641
1641
  *
1642
- * ![ResultSortedTableInHtmlTable example](https://beta.tinybase.org/shots/resultsortedtableinhtmltable-solid-demo.png
1642
+ * ![ResultSortedTableInHtmlTable example](https://tinybase.org/shots/resultsortedtableinhtmltable-solid-demo.png
1643
1643
  * "ResultSortedTableInHtmlTable example")
1644
1644
  *
1645
1645
  * The component's props identify which ResultTable to render based on query Id,
@@ -1819,7 +1819,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1819
1819
  *
1820
1820
  * See the <EditableCellView /> (Solid) demo for this component in action:
1821
1821
  *
1822
- * ![EditableCellView example](https://beta.tinybase.org/shots/editablecellview-solid-demo.png
1822
+ * ![EditableCellView example](https://tinybase.org/shots/editablecellview-solid-demo.png
1823
1823
  * "EditableCellView example")
1824
1824
  *
1825
1825
  * The component's props identify which Cell to render based on Table Id, Row
@@ -1903,7 +1903,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1903
1903
  *
1904
1904
  * See the <EditableValueView /> (Solid) demo for this component in action:
1905
1905
  *
1906
- * ![EditableValueView example](https://beta.tinybase.org/shots/editablevalueview-solid-demo.png
1906
+ * ![EditableValueView example](https://tinybase.org/shots/editablevalueview-solid-demo.png
1907
1907
  * "EditableValueView example")
1908
1908
  *
1909
1909
  * The component's props identify which Value to render based on Table Id, Row
@@ -1973,7 +1973,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1973
1973
  * See the <SortedTableInHtmlTable /> (Solid) demo for this component in
1974
1974
  * action:
1975
1975
  *
1976
- * ![SortedTablePaginator example](https://beta.tinybase.org/shots/sortedtablepaginator-solid-demo.png
1976
+ * ![SortedTablePaginator example](https://tinybase.org/shots/sortedtablepaginator-solid-demo.png
1977
1977
  * "SortedTablePaginator example")
1978
1978
  *
1979
1979
  * The component displays 'previous' and 'next' buttons for paging through the
@@ -46,7 +46,7 @@ export type InspectorProps = {
46
46
  *
47
47
  * See the <Inspector /> (Solid) demo for this component in action:
48
48
  *
49
- * ![Inspector example](https://beta.tinybase.org/shots/inspector-solid-demo.png
49
+ * ![Inspector example](https://tinybase.org/shots/inspector-solid-demo.png
50
50
  * "Inspector example")
51
51
  *
52
52
  * The component displays a nub in the corner of the screen which you may then
@@ -46,7 +46,7 @@ export type InspectorProps = {
46
46
  *
47
47
  * See the <Inspector /> (Solid) demo for this component in action:
48
48
  *
49
- * ![Inspector example](https://beta.tinybase.org/shots/inspector-solid-demo.png
49
+ * ![Inspector example](https://tinybase.org/shots/inspector-solid-demo.png
50
50
  * "Inspector example")
51
51
  *
52
52
  * The component displays a nub in the corner of the screen which you may then
@@ -690,7 +690,7 @@ export type SortedTablePaginatorProps = {
690
690
  *
691
691
  * See the <TableInHtmlTable /> (Svelte) demo for this component in action:
692
692
  *
693
- * ![TableInHtmlTable example](https://beta.tinybase.org/shots/tableinhtmltable-svelte-demo.png
693
+ * ![TableInHtmlTable example](https://tinybase.org/shots/tableinhtmltable-svelte-demo.png
694
694
  * "TableInHtmlTable example")
695
695
  *
696
696
  * The component's props identify which Table to render based on Table Id, and
@@ -854,7 +854,7 @@ export const TableInHtmlTable: Component<
854
854
  * See the <SortedTableInHtmlTable /> (Svelte) demo for this component in
855
855
  * action:
856
856
  *
857
- * ![SortedTableInHtmlTable example](https://beta.tinybase.org/shots/sortedtableinhtmltable-svelte-demo.png
857
+ * ![SortedTableInHtmlTable example](https://tinybase.org/shots/sortedtableinhtmltable-svelte-demo.png
858
858
  * "SortedTableInHtmlTable example")
859
859
  *
860
860
  * The component's props identify which Table to render based on Table Id, and
@@ -1042,7 +1042,7 @@ export const SortedTableInHtmlTable: Component<
1042
1042
  *
1043
1043
  * See the <ValuesInHtmlTable /> (Svelte) demo for this component in action:
1044
1044
  *
1045
- * ![ValuesInHtmlTable example](https://beta.tinybase.org/shots/valuesinhtmltable-svelte-demo.png
1045
+ * ![ValuesInHtmlTable example](https://tinybase.org/shots/valuesinhtmltable-svelte-demo.png
1046
1046
  * "ValuesInHtmlTable example")
1047
1047
  *
1048
1048
  * The component's props identify which Row to render based on Table Id, Row Id,
@@ -1185,7 +1185,7 @@ export const ValuesInHtmlTable: Component<
1185
1185
  *
1186
1186
  * See the <SliceInHtmlTable /> (Svelte) demo for this component in action:
1187
1187
  *
1188
- * ![SliceInHtmlTable example](https://beta.tinybase.org/shots/sliceinhtmltable-svelte-demo.png
1188
+ * ![SliceInHtmlTable example](https://tinybase.org/shots/sliceinhtmltable-svelte-demo.png
1189
1189
  * "SliceInHtmlTable example")
1190
1190
  *
1191
1191
  * The component's props identify which Slice to render based on Index Id, Slice
@@ -1357,7 +1357,7 @@ export const SliceInHtmlTable: Component<
1357
1357
  * See the <RelationshipInHtmlTable /> (Svelte) demo for this component in
1358
1358
  * action:
1359
1359
  *
1360
- * ![RelationshipInHtmlTable example](https://beta.tinybase.org/shots/relationshipinhtmltable-svelte-demo.png
1360
+ * ![RelationshipInHtmlTable example](https://tinybase.org/shots/relationshipinhtmltable-svelte-demo.png
1361
1361
  * "RelationshipInHtmlTable example")
1362
1362
  *
1363
1363
  * The component's props identify which Relationship to render based on
@@ -1544,7 +1544,7 @@ export const RelationshipInHtmlTable: Component<
1544
1544
  * See the <ResultTableInHtmlTable /> (Svelte) demo for this component in
1545
1545
  * action:
1546
1546
  *
1547
- * ![ResultTableInHtmlTable example](https://beta.tinybase.org/shots/resulttableinhtmltable-svelte-demo.png
1547
+ * ![ResultTableInHtmlTable example](https://tinybase.org/shots/resulttableinhtmltable-svelte-demo.png
1548
1548
  * "ResultTableInHtmlTable example")
1549
1549
  *
1550
1550
  * The component's props identify which ResultTable to render based on query Id,
@@ -1713,7 +1713,7 @@ export const ResultTableInHtmlTable: Component<
1713
1713
  * See the <ResultSortedTableInHtmlTable /> (Svelte) demo for this component in
1714
1714
  * action:
1715
1715
  *
1716
- * ![ResultSortedTableInHtmlTable example](https://beta.tinybase.org/shots/resultsortedtableinhtmltable-svelte-demo.png
1716
+ * ![ResultSortedTableInHtmlTable example](https://tinybase.org/shots/resultsortedtableinhtmltable-svelte-demo.png
1717
1717
  * "ResultSortedTableInHtmlTable example")
1718
1718
  *
1719
1719
  * The component's props identify which ResultTable to render based on query Id,
@@ -1902,7 +1902,7 @@ export const ResultSortedTableInHtmlTable: Component<
1902
1902
  *
1903
1903
  * See the <EditableCellView /> (Svelte) demo for this component in action:
1904
1904
  *
1905
- * ![EditableCellView example](https://beta.tinybase.org/shots/editablecellview-svelte-demo.png
1905
+ * ![EditableCellView example](https://tinybase.org/shots/editablecellview-svelte-demo.png
1906
1906
  * "EditableCellView example")
1907
1907
  *
1908
1908
  * The component's props identify which Cell to render based on Table Id, Row
@@ -1975,7 +1975,7 @@ export const EditableCellView: Component<
1975
1975
  *
1976
1976
  * See the <EditableValueView /> (Svelte) demo for this component in action:
1977
1977
  *
1978
- * ![EditableValueView example](https://beta.tinybase.org/shots/editablevalueview-svelte-demo.png
1978
+ * ![EditableValueView example](https://tinybase.org/shots/editablevalueview-svelte-demo.png
1979
1979
  * "EditableValueView example")
1980
1980
  *
1981
1981
  * The component's props identify which Value to render based on Table Id, Row
@@ -2050,7 +2050,7 @@ export const EditableValueView: Component<
2050
2050
  * See the <SortedTableInHtmlTable /> (Svelte) demo for this component in
2051
2051
  * action:
2052
2052
  *
2053
- * ![SortedTablePaginator example](https://beta.tinybase.org/shots/sortedtablepaginator-svelte-demo.png
2053
+ * ![SortedTablePaginator example](https://tinybase.org/shots/sortedtablepaginator-svelte-demo.png
2054
2054
  * "SortedTablePaginator example")
2055
2055
  *
2056
2056
  * The component displays 'previous' and 'next' buttons for paging through the
@@ -664,7 +664,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
664
664
  *
665
665
  * See the <TableInHtmlTable /> (Svelte) demo for this component in action:
666
666
  *
667
- * ![TableInHtmlTable example](https://beta.tinybase.org/shots/tableinhtmltable-svelte-demo.png
667
+ * ![TableInHtmlTable example](https://tinybase.org/shots/tableinhtmltable-svelte-demo.png
668
668
  * "TableInHtmlTable example")
669
669
  *
670
670
  * The component's props identify which Table to render based on Table Id, and
@@ -834,7 +834,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
834
834
  * See the <SortedTableInHtmlTable /> (Svelte) demo for this component in
835
835
  * action:
836
836
  *
837
- * ![SortedTableInHtmlTable example](https://beta.tinybase.org/shots/sortedtableinhtmltable-svelte-demo.png
837
+ * ![SortedTableInHtmlTable example](https://tinybase.org/shots/sortedtableinhtmltable-svelte-demo.png
838
838
  * "SortedTableInHtmlTable example")
839
839
  *
840
840
  * The component's props identify which Table to render based on Table Id, and
@@ -1030,7 +1030,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1030
1030
  *
1031
1031
  * See the <ValuesInHtmlTable /> (Svelte) demo for this component in action:
1032
1032
  *
1033
- * ![ValuesInHtmlTable example](https://beta.tinybase.org/shots/valuesinhtmltable-svelte-demo.png
1033
+ * ![ValuesInHtmlTable example](https://tinybase.org/shots/valuesinhtmltable-svelte-demo.png
1034
1034
  * "ValuesInHtmlTable example")
1035
1035
  *
1036
1036
  * The component's props identify which Row to render based on Table Id, Row Id,
@@ -1181,7 +1181,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1181
1181
  *
1182
1182
  * See the <SliceInHtmlTable /> (Svelte) demo for this component in action:
1183
1183
  *
1184
- * ![SliceInHtmlTable example](https://beta.tinybase.org/shots/sliceinhtmltable-svelte-demo.png
1184
+ * ![SliceInHtmlTable example](https://tinybase.org/shots/sliceinhtmltable-svelte-demo.png
1185
1185
  * "SliceInHtmlTable example")
1186
1186
  *
1187
1187
  * The component's props identify which Slice to render based on Index Id, Slice
@@ -1359,7 +1359,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1359
1359
  * See the <RelationshipInHtmlTable /> (Svelte) demo for this component in
1360
1360
  * action:
1361
1361
  *
1362
- * ![RelationshipInHtmlTable example](https://beta.tinybase.org/shots/relationshipinhtmltable-svelte-demo.png
1362
+ * ![RelationshipInHtmlTable example](https://tinybase.org/shots/relationshipinhtmltable-svelte-demo.png
1363
1363
  * "RelationshipInHtmlTable example")
1364
1364
  *
1365
1365
  * The component's props identify which Relationship to render based on
@@ -1554,7 +1554,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1554
1554
  * See the <ResultTableInHtmlTable /> (Svelte) demo for this component in
1555
1555
  * action:
1556
1556
  *
1557
- * ![ResultTableInHtmlTable example](https://beta.tinybase.org/shots/resulttableinhtmltable-svelte-demo.png
1557
+ * ![ResultTableInHtmlTable example](https://tinybase.org/shots/resulttableinhtmltable-svelte-demo.png
1558
1558
  * "ResultTableInHtmlTable example")
1559
1559
  *
1560
1560
  * The component's props identify which ResultTable to render based on query Id,
@@ -1731,7 +1731,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1731
1731
  * See the <ResultSortedTableInHtmlTable /> (Svelte) demo for this component in
1732
1732
  * action:
1733
1733
  *
1734
- * ![ResultSortedTableInHtmlTable example](https://beta.tinybase.org/shots/resultsortedtableinhtmltable-svelte-demo.png
1734
+ * ![ResultSortedTableInHtmlTable example](https://tinybase.org/shots/resultsortedtableinhtmltable-svelte-demo.png
1735
1735
  * "ResultSortedTableInHtmlTable example")
1736
1736
  *
1737
1737
  * The component's props identify which ResultTable to render based on query Id,
@@ -1928,7 +1928,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1928
1928
  *
1929
1929
  * See the <EditableCellView /> (Svelte) demo for this component in action:
1930
1930
  *
1931
- * ![EditableCellView example](https://beta.tinybase.org/shots/editablecellview-svelte-demo.png
1931
+ * ![EditableCellView example](https://tinybase.org/shots/editablecellview-svelte-demo.png
1932
1932
  * "EditableCellView example")
1933
1933
  *
1934
1934
  * The component's props identify which Cell to render based on Table Id, Row
@@ -2015,7 +2015,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2015
2015
  *
2016
2016
  * See the <EditableValueView /> (Svelte) demo for this component in action:
2017
2017
  *
2018
- * ![EditableValueView example](https://beta.tinybase.org/shots/editablevalueview-svelte-demo.png
2018
+ * ![EditableValueView example](https://tinybase.org/shots/editablevalueview-svelte-demo.png
2019
2019
  * "EditableValueView example")
2020
2020
  *
2021
2021
  * The component's props identify which Value to render based on Table Id, Row
@@ -2090,7 +2090,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2090
2090
  * See the <SortedTableInHtmlTable /> (Svelte) demo for this component in
2091
2091
  * action:
2092
2092
  *
2093
- * ![SortedTablePaginator example](https://beta.tinybase.org/shots/sortedtablepaginator-svelte-demo.png
2093
+ * ![SortedTablePaginator example](https://tinybase.org/shots/sortedtablepaginator-svelte-demo.png
2094
2094
  * "SortedTablePaginator example")
2095
2095
  *
2096
2096
  * The component displays 'previous' and 'next' buttons for paging through the
@@ -46,7 +46,7 @@ export type InspectorProps = {
46
46
  *
47
47
  * See the <Inspector /> (Svelte) demo for this component in action:
48
48
  *
49
- * ![Inspector example](https://beta.tinybase.org/shots/inspector-svelte-demo.png
49
+ * ![Inspector example](https://tinybase.org/shots/inspector-svelte-demo.png
50
50
  * "Inspector example")
51
51
  *
52
52
  * The component displays a nub in the corner of the screen which you may then
@@ -46,7 +46,7 @@ export type InspectorProps = {
46
46
  *
47
47
  * See the <Inspector /> (Svelte) demo for this component in action:
48
48
  *
49
- * ![Inspector example](https://beta.tinybase.org/shots/inspector-svelte-demo.png
49
+ * ![Inspector example](https://tinybase.org/shots/inspector-svelte-demo.png
50
50
  * "Inspector example")
51
51
  *
52
52
  * The component displays a nub in the corner of the screen which you may then
package/index.js CHANGED
@@ -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
  ],
@@ -557,8 +557,10 @@ const createStore = () => {
557
557
  const changedRowIds = mapNew();
558
558
  const changedCellIds = mapNew();
559
559
  const changedCells = mapNew();
560
+ const defaultedCells = mapNew();
560
561
  const changedValueIds = mapNew();
561
562
  const changedValues = mapNew();
563
+ const defaultedValues = setNew();
562
564
  const invalidCells = mapNew();
563
565
  const invalidValues = mapNew();
564
566
  const tablesSchemaMap = mapNew();
@@ -732,6 +734,16 @@ const createStore = () => {
732
734
  collForEach(rowDefaulted, (cell, cellId) => {
733
735
  if (!objHas(row, cellId)) {
734
736
  row[cellId] = cell;
737
+ ifNotUndefined(rowId, (rowId2) =>
738
+ setAdd(
739
+ mapEnsure(
740
+ mapEnsure(defaultedCells, tableId, mapNew),
741
+ rowId2,
742
+ setNew,
743
+ ),
744
+ cellId,
745
+ ),
746
+ );
735
747
  }
736
748
  });
737
749
  collForEach(rowNonDefaulted, (cellId) => {
@@ -748,6 +760,7 @@ const createStore = () => {
748
760
  collForEach(valuesDefaulted, (value, valueId) => {
749
761
  if (!objHas(values, valueId)) {
750
762
  values[valueId] = value;
763
+ setAdd(defaultedValues, valueId);
751
764
  }
752
765
  });
753
766
  collForEach(valuesNonDefaulted, (valueId) => {
@@ -1151,18 +1164,34 @@ const createStore = () => {
1151
1164
  );
1152
1165
  };
1153
1166
  const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
1167
+ const defaulted =
1168
+ collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
1169
+ isUndefined(oldCell)
1170
+ ? 1
1171
+ : 0;
1154
1172
  mapEnsure(
1155
1173
  mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
1156
1174
  cellId,
1157
1175
  () => [oldCell, 0],
1158
1176
  )[1] = newCell;
1159
- internalListeners[3]?.(tableId, rowId, cellId, newCell, mutating);
1177
+ internalListeners[3]?.(
1178
+ tableId,
1179
+ rowId,
1180
+ cellId,
1181
+ newCell,
1182
+ mutating,
1183
+ defaulted,
1184
+ );
1185
+ collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
1160
1186
  };
1161
1187
  const valueIdsChanged = (valueId, addedOrRemoved) =>
1162
1188
  idsChanged(changedValueIds, valueId, addedOrRemoved);
1163
1189
  const valueChanged = (valueId, oldValue, newValue) => {
1190
+ const defaulted =
1191
+ collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
1164
1192
  mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
1165
- internalListeners[4]?.(valueId, newValue, mutating);
1193
+ internalListeners[4]?.(valueId, newValue, mutating, defaulted);
1194
+ collDel(defaultedValues, valueId);
1166
1195
  };
1167
1196
  const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
1168
1197
  arrayPush(
@@ -1950,9 +1979,11 @@ const createStore = () => {
1950
1979
  changedRowIds,
1951
1980
  changedCellIds,
1952
1981
  changedCells,
1982
+ defaultedCells,
1953
1983
  invalidCells,
1954
1984
  changedValueIds,
1955
1985
  changedValues,
1986
+ defaultedValues,
1956
1987
  invalidValues,
1957
1988
  ],
1958
1989
  collClear,
@@ -2457,7 +2488,14 @@ const createMergeableStore = (uniqueId, getNow) => {
2457
2488
  collClear(touchedCells);
2458
2489
  collClear(touchedValues);
2459
2490
  };
2460
- const cellChanged = (tableId, rowId, cellId, newCell, mutating) => {
2491
+ const cellChanged = (
2492
+ tableId,
2493
+ rowId,
2494
+ cellId,
2495
+ newCell,
2496
+ mutating,
2497
+ defaulted,
2498
+ ) => {
2461
2499
  setAdd(
2462
2500
  mapEnsure(mapEnsure(touchedCells, tableId, mapNew), rowId, setNew),
2463
2501
  cellId,
@@ -2475,7 +2513,9 @@ const createMergeableStore = (uniqueId, getNow) => {
2475
2513
  {
2476
2514
  [cellId]: [
2477
2515
  newCell,
2478
- defaultingContent ? EMPTY_STRING : getNextHlc(),
2516
+ defaultingContent || defaulted
2517
+ ? EMPTY_STRING
2518
+ : getNextHlc(),
2479
2519
  ],
2480
2520
  },
2481
2521
  ],
@@ -2488,7 +2528,7 @@ const createMergeableStore = (uniqueId, getNow) => {
2488
2528
  ]);
2489
2529
  }
2490
2530
  };
2491
- const valueChanged = (valueId, newValue, mutating) => {
2531
+ const valueChanged = (valueId, newValue, mutating, defaulted) => {
2492
2532
  setAdd(touchedValues, valueId);
2493
2533
  if (listeningToRawStoreChanges || mutating) {
2494
2534
  if (mutating) {
@@ -2500,7 +2540,7 @@ const createMergeableStore = (uniqueId, getNow) => {
2500
2540
  {
2501
2541
  [valueId]: [
2502
2542
  newValue,
2503
- defaultingContent ? EMPTY_STRING : getNextHlc(),
2543
+ defaultingContent || defaulted ? EMPTY_STRING : getNextHlc(),
2504
2544
  ],
2505
2545
  },
2506
2546
  ],