ducjs 2.4.0 → 3.0.3

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 (526) hide show
  1. package/README.md +4 -5
  2. package/dist/enums.d.ts +135 -0
  3. package/dist/enums.js +155 -0
  4. package/dist/index.d.ts +4 -1
  5. package/dist/index.js +4 -1
  6. package/dist/lazy-files.d.ts +31 -71
  7. package/dist/lazy-files.js +91 -163
  8. package/dist/parse.d.ts +16 -82
  9. package/dist/parse.js +56 -1646
  10. package/dist/restore/index.d.ts +0 -1
  11. package/dist/restore/index.js +0 -1
  12. package/dist/restore/restoreDataState.d.ts +6 -10
  13. package/dist/restore/restoreDataState.js +126 -128
  14. package/dist/restore/restoreElements.d.ts +1 -1
  15. package/dist/restore/restoreElements.js +31 -499
  16. package/dist/serialize.d.ts +11 -4
  17. package/dist/serialize.js +58 -2546
  18. package/dist/technical/index.d.ts +0 -1
  19. package/dist/technical/index.js +0 -1
  20. package/dist/technical/scopes.d.ts +2 -2
  21. package/dist/technical/scopes.js +29 -14
  22. package/dist/transform.d.ts +12 -0
  23. package/dist/transform.js +442 -0
  24. package/dist/types/elements/index.d.ts +116 -689
  25. package/dist/types/elements/typeChecks.d.ts +3 -3
  26. package/dist/types/elements/typeChecks.js +3 -8
  27. package/dist/types/geometryTypes.d.ts +1 -1
  28. package/dist/types/index.d.ts +38 -305
  29. package/dist/utils/constants.d.ts +3 -86
  30. package/dist/utils/constants.js +1 -197
  31. package/dist/utils/elements/index.d.ts +3 -14
  32. package/dist/utils/elements/index.js +7 -99
  33. package/dist/utils/elements/linearElement.d.ts +2 -2
  34. package/dist/utils/elements/newElement.d.ts +2 -12
  35. package/dist/utils/elements/newElement.js +22 -51
  36. package/dist/utils/elements/textElement.js +1 -1
  37. package/dist/utils/math/index.d.ts +5 -4
  38. package/dist/utils/math/index.js +3 -3
  39. package/dist/utils/shape.js +2 -2
  40. package/dist/utils/state/index.d.ts +0 -1
  41. package/dist/utils/state/index.js +4 -70
  42. package/dist/utils/traverse.d.ts +8 -0
  43. package/dist/utils/traverse.js +37 -0
  44. package/dist/version-control.d.ts +61 -0
  45. package/dist/version-control.js +84 -0
  46. package/dist/wasm.d.ts +20 -0
  47. package/dist/wasm.js +52 -0
  48. package/package.json +3 -2
  49. package/dist/flatbuffers/duc/alternate-units.d.ts +0 -21
  50. package/dist/flatbuffers/duc/alternate-units.js +0 -66
  51. package/dist/flatbuffers/duc/angular-unit-system.d.ts +0 -17
  52. package/dist/flatbuffers/duc/angular-unit-system.js +0 -50
  53. package/dist/flatbuffers/duc/angular-units-format.d.ts +0 -7
  54. package/dist/flatbuffers/duc/angular-units-format.js +0 -10
  55. package/dist/flatbuffers/duc/axis.d.ts +0 -5
  56. package/dist/flatbuffers/duc/axis.js +0 -8
  57. package/dist/flatbuffers/duc/bezier-mirroring.d.ts +0 -5
  58. package/dist/flatbuffers/duc/bezier-mirroring.js +0 -8
  59. package/dist/flatbuffers/duc/blending.d.ts +0 -9
  60. package/dist/flatbuffers/duc/blending.js +0 -12
  61. package/dist/flatbuffers/duc/block-attachment.d.ts +0 -4
  62. package/dist/flatbuffers/duc/block-attachment.js +0 -7
  63. package/dist/flatbuffers/duc/boolean-operation.d.ts +0 -6
  64. package/dist/flatbuffers/duc/boolean-operation.js +0 -9
  65. package/dist/flatbuffers/duc/bound-element.d.ts +0 -17
  66. package/dist/flatbuffers/duc/bound-element.js +0 -48
  67. package/dist/flatbuffers/duc/checkpoint.d.ts +0 -22
  68. package/dist/flatbuffers/duc/checkpoint.js +0 -75
  69. package/dist/flatbuffers/duc/column-layout.d.ts +0 -22
  70. package/dist/flatbuffers/duc/column-layout.js +0 -72
  71. package/dist/flatbuffers/duc/column-type.d.ts +0 -5
  72. package/dist/flatbuffers/duc/column-type.js +0 -8
  73. package/dist/flatbuffers/duc/custom-hatch-pattern.d.ts +0 -23
  74. package/dist/flatbuffers/duc/custom-hatch-pattern.js +0 -71
  75. package/dist/flatbuffers/duc/datum-bracket-style.d.ts +0 -5
  76. package/dist/flatbuffers/duc/datum-bracket-style.js +0 -8
  77. package/dist/flatbuffers/duc/datum-reference.d.ts +0 -17
  78. package/dist/flatbuffers/duc/datum-reference.js +0 -49
  79. package/dist/flatbuffers/duc/datum-target-type.d.ts +0 -6
  80. package/dist/flatbuffers/duc/datum-target-type.js +0 -9
  81. package/dist/flatbuffers/duc/decimal-separator.d.ts +0 -4
  82. package/dist/flatbuffers/duc/decimal-separator.js +0 -7
  83. package/dist/flatbuffers/duc/delta.d.ts +0 -22
  84. package/dist/flatbuffers/duc/delta.js +0 -75
  85. package/dist/flatbuffers/duc/dictionary-entry.d.ts +0 -17
  86. package/dist/flatbuffers/duc/dictionary-entry.js +0 -49
  87. package/dist/flatbuffers/duc/dimension-baseline-data.d.ts +0 -14
  88. package/dist/flatbuffers/duc/dimension-baseline-data.js +0 -40
  89. package/dist/flatbuffers/duc/dimension-bindings.d.ts +0 -17
  90. package/dist/flatbuffers/duc/dimension-bindings.js +0 -50
  91. package/dist/flatbuffers/duc/dimension-continue-data.d.ts +0 -14
  92. package/dist/flatbuffers/duc/dimension-continue-data.js +0 -40
  93. package/dist/flatbuffers/duc/dimension-definition-points.d.ts +0 -21
  94. package/dist/flatbuffers/duc/dimension-definition-points.js +0 -64
  95. package/dist/flatbuffers/duc/dimension-ext-line-style.d.ts +0 -18
  96. package/dist/flatbuffers/duc/dimension-ext-line-style.js +0 -57
  97. package/dist/flatbuffers/duc/dimension-fit-rule.d.ts +0 -6
  98. package/dist/flatbuffers/duc/dimension-fit-rule.js +0 -9
  99. package/dist/flatbuffers/duc/dimension-fit-style.d.ts +0 -19
  100. package/dist/flatbuffers/duc/dimension-fit-style.js +0 -58
  101. package/dist/flatbuffers/duc/dimension-line-style.d.ts +0 -16
  102. package/dist/flatbuffers/duc/dimension-line-style.js +0 -49
  103. package/dist/flatbuffers/duc/dimension-symbol-style.d.ts +0 -22
  104. package/dist/flatbuffers/duc/dimension-symbol-style.js +0 -72
  105. package/dist/flatbuffers/duc/dimension-text-placement.d.ts +0 -5
  106. package/dist/flatbuffers/duc/dimension-text-placement.js +0 -8
  107. package/dist/flatbuffers/duc/dimension-tolerance-style.d.ts +0 -24
  108. package/dist/flatbuffers/duc/dimension-tolerance-style.js +0 -71
  109. package/dist/flatbuffers/duc/dimension-type.d.ts +0 -15
  110. package/dist/flatbuffers/duc/dimension-type.js +0 -18
  111. package/dist/flatbuffers/duc/dimension-units-format.d.ts +0 -7
  112. package/dist/flatbuffers/duc/dimension-units-format.js +0 -10
  113. package/dist/flatbuffers/duc/dimension-validation-rules.d.ts +0 -25
  114. package/dist/flatbuffers/duc/dimension-validation-rules.js +0 -74
  115. package/dist/flatbuffers/duc/document-grid-align-items.d.ts +0 -5
  116. package/dist/flatbuffers/duc/document-grid-align-items.js +0 -8
  117. package/dist/flatbuffers/duc/document-grid-config.d.ts +0 -24
  118. package/dist/flatbuffers/duc/document-grid-config.js +0 -81
  119. package/dist/flatbuffers/duc/duc-arrow-element.d.ts +0 -16
  120. package/dist/flatbuffers/duc/duc-arrow-element.js +0 -49
  121. package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.d.ts +0 -16
  122. package/dist/flatbuffers/duc/duc-block-attribute-definition-entry.js +0 -44
  123. package/dist/flatbuffers/duc/duc-block-attribute-definition.d.ts +0 -22
  124. package/dist/flatbuffers/duc/duc-block-attribute-definition.js +0 -64
  125. package/dist/flatbuffers/duc/duc-block-collection-entry.d.ts +0 -16
  126. package/dist/flatbuffers/duc/duc-block-collection-entry.js +0 -48
  127. package/dist/flatbuffers/duc/duc-block-collection.d.ts +0 -31
  128. package/dist/flatbuffers/duc/duc-block-collection.js +0 -97
  129. package/dist/flatbuffers/duc/duc-block-duplication-array.d.ts +0 -19
  130. package/dist/flatbuffers/duc/duc-block-duplication-array.js +0 -64
  131. package/dist/flatbuffers/duc/duc-block-instance-element.d.ts +0 -10
  132. package/dist/flatbuffers/duc/duc-block-instance-element.js +0 -28
  133. package/dist/flatbuffers/duc/duc-block-instance.d.ts +0 -32
  134. package/dist/flatbuffers/duc/duc-block-instance.js +0 -100
  135. package/dist/flatbuffers/duc/duc-block-metadata.d.ts +0 -26
  136. package/dist/flatbuffers/duc/duc-block-metadata.js +0 -90
  137. package/dist/flatbuffers/duc/duc-block.d.ts +0 -36
  138. package/dist/flatbuffers/duc/duc-block.js +0 -112
  139. package/dist/flatbuffers/duc/duc-common-style.d.ts +0 -16
  140. package/dist/flatbuffers/duc/duc-common-style.js +0 -44
  141. package/dist/flatbuffers/duc/duc-dimension-element.d.ts +0 -45
  142. package/dist/flatbuffers/duc/duc-dimension-element.js +0 -120
  143. package/dist/flatbuffers/duc/duc-dimension-style.d.ts +0 -28
  144. package/dist/flatbuffers/duc/duc-dimension-style.js +0 -76
  145. package/dist/flatbuffers/duc/duc-doc-element.d.ts +0 -39
  146. package/dist/flatbuffers/duc/duc-doc-element.js +0 -110
  147. package/dist/flatbuffers/duc/duc-doc-style.d.ts +0 -19
  148. package/dist/flatbuffers/duc/duc-doc-style.js +0 -52
  149. package/dist/flatbuffers/duc/duc-element-base.d.ts +0 -100
  150. package/dist/flatbuffers/duc/duc-element-base.js +0 -315
  151. package/dist/flatbuffers/duc/duc-element-styles-base.d.ts +0 -30
  152. package/dist/flatbuffers/duc/duc-element-styles-base.js +0 -103
  153. package/dist/flatbuffers/duc/duc-ellipse-element.d.ts +0 -22
  154. package/dist/flatbuffers/duc/duc-ellipse-element.js +0 -73
  155. package/dist/flatbuffers/duc/duc-embeddable-element.d.ts +0 -14
  156. package/dist/flatbuffers/duc/duc-embeddable-element.js +0 -41
  157. package/dist/flatbuffers/duc/duc-external-file-data.d.ts +0 -27
  158. package/dist/flatbuffers/duc/duc-external-file-data.js +0 -92
  159. package/dist/flatbuffers/duc/duc-external-file-entry.d.ts +0 -16
  160. package/dist/flatbuffers/duc/duc-external-file-entry.js +0 -44
  161. package/dist/flatbuffers/duc/duc-feature-control-frame-element.d.ts +0 -31
  162. package/dist/flatbuffers/duc/duc-feature-control-frame-element.js +0 -89
  163. package/dist/flatbuffers/duc/duc-feature-control-frame-style.d.ts +0 -22
  164. package/dist/flatbuffers/duc/duc-feature-control-frame-style.js +0 -60
  165. package/dist/flatbuffers/duc/duc-frame-element.d.ts +0 -14
  166. package/dist/flatbuffers/duc/duc-frame-element.js +0 -41
  167. package/dist/flatbuffers/duc/duc-free-draw-element.d.ts +0 -52
  168. package/dist/flatbuffers/duc/duc-free-draw-element.js +0 -154
  169. package/dist/flatbuffers/duc/duc-free-draw-ends.d.ts +0 -18
  170. package/dist/flatbuffers/duc/duc-free-draw-ends.js +0 -56
  171. package/dist/flatbuffers/duc/duc-global-state.d.ts +0 -37
  172. package/dist/flatbuffers/duc/duc-global-state.js +0 -121
  173. package/dist/flatbuffers/duc/duc-group.d.ts +0 -16
  174. package/dist/flatbuffers/duc/duc-group.js +0 -44
  175. package/dist/flatbuffers/duc/duc-hatch-style.d.ts +0 -28
  176. package/dist/flatbuffers/duc/duc-hatch-style.js +0 -79
  177. package/dist/flatbuffers/duc/duc-head.d.ts +0 -19
  178. package/dist/flatbuffers/duc/duc-head.js +0 -57
  179. package/dist/flatbuffers/duc/duc-image-element.d.ts +0 -35
  180. package/dist/flatbuffers/duc/duc-image-element.js +0 -91
  181. package/dist/flatbuffers/duc/duc-image-filter.d.ts +0 -15
  182. package/dist/flatbuffers/duc/duc-image-filter.js +0 -48
  183. package/dist/flatbuffers/duc/duc-layer-overrides.d.ts +0 -16
  184. package/dist/flatbuffers/duc/duc-layer-overrides.js +0 -44
  185. package/dist/flatbuffers/duc/duc-layer.d.ts +0 -21
  186. package/dist/flatbuffers/duc/duc-layer.js +0 -59
  187. package/dist/flatbuffers/duc/duc-leader-element.d.ts +0 -22
  188. package/dist/flatbuffers/duc/duc-leader-element.js +0 -60
  189. package/dist/flatbuffers/duc/duc-leader-style.d.ts +0 -27
  190. package/dist/flatbuffers/duc/duc-leader-style.js +0 -79
  191. package/dist/flatbuffers/duc/duc-line-reference.d.ts +0 -15
  192. package/dist/flatbuffers/duc/duc-line-reference.js +0 -43
  193. package/dist/flatbuffers/duc/duc-line.d.ts +0 -15
  194. package/dist/flatbuffers/duc/duc-line.js +0 -43
  195. package/dist/flatbuffers/duc/duc-linear-element-base.d.ts +0 -38
  196. package/dist/flatbuffers/duc/duc-linear-element-base.js +0 -124
  197. package/dist/flatbuffers/duc/duc-linear-element.d.ts +0 -16
  198. package/dist/flatbuffers/duc/duc-linear-element.js +0 -49
  199. package/dist/flatbuffers/duc/duc-local-state.d.ts +0 -68
  200. package/dist/flatbuffers/duc/duc-local-state.js +0 -206
  201. package/dist/flatbuffers/duc/duc-mermaid-element.d.ts +0 -23
  202. package/dist/flatbuffers/duc/duc-mermaid-element.js +0 -65
  203. package/dist/flatbuffers/duc/duc-model-element.d.ts +0 -26
  204. package/dist/flatbuffers/duc/duc-model-element.js +0 -79
  205. package/dist/flatbuffers/duc/duc-parametric-element.d.ts +0 -16
  206. package/dist/flatbuffers/duc/duc-parametric-element.js +0 -44
  207. package/dist/flatbuffers/duc/duc-path.d.ts +0 -26
  208. package/dist/flatbuffers/duc/duc-path.js +0 -69
  209. package/dist/flatbuffers/duc/duc-pdf-element.d.ts +0 -19
  210. package/dist/flatbuffers/duc/duc-pdf-element.js +0 -51
  211. package/dist/flatbuffers/duc/duc-plot-element.d.ts +0 -19
  212. package/dist/flatbuffers/duc/duc-plot-element.js +0 -52
  213. package/dist/flatbuffers/duc/duc-plot-style.d.ts +0 -11
  214. package/dist/flatbuffers/duc/duc-plot-style.js +0 -32
  215. package/dist/flatbuffers/duc/duc-point-binding.d.ts +0 -26
  216. package/dist/flatbuffers/duc/duc-point-binding.js +0 -73
  217. package/dist/flatbuffers/duc/duc-point.d.ts +0 -18
  218. package/dist/flatbuffers/duc/duc-point.js +0 -57
  219. package/dist/flatbuffers/duc/duc-polygon-element.d.ts +0 -16
  220. package/dist/flatbuffers/duc/duc-polygon-element.js +0 -49
  221. package/dist/flatbuffers/duc/duc-rectangle-element.d.ts +0 -14
  222. package/dist/flatbuffers/duc/duc-rectangle-element.js +0 -41
  223. package/dist/flatbuffers/duc/duc-region.d.ts +0 -19
  224. package/dist/flatbuffers/duc/duc-region.js +0 -51
  225. package/dist/flatbuffers/duc/duc-stack-base.d.ts +0 -27
  226. package/dist/flatbuffers/duc/duc-stack-base.js +0 -78
  227. package/dist/flatbuffers/duc/duc-stack-element-base.d.ts +0 -23
  228. package/dist/flatbuffers/duc/duc-stack-element-base.js +0 -65
  229. package/dist/flatbuffers/duc/duc-stack-like-styles.d.ts +0 -16
  230. package/dist/flatbuffers/duc/duc-stack-like-styles.js +0 -48
  231. package/dist/flatbuffers/duc/duc-table-auto-size.d.ts +0 -15
  232. package/dist/flatbuffers/duc/duc-table-auto-size.js +0 -48
  233. package/dist/flatbuffers/duc/duc-table-cell-entry.d.ts +0 -16
  234. package/dist/flatbuffers/duc/duc-table-cell-entry.js +0 -44
  235. package/dist/flatbuffers/duc/duc-table-cell-span.d.ts +0 -15
  236. package/dist/flatbuffers/duc/duc-table-cell-span.js +0 -48
  237. package/dist/flatbuffers/duc/duc-table-cell-style.d.ts +0 -22
  238. package/dist/flatbuffers/duc/duc-table-cell-style.js +0 -59
  239. package/dist/flatbuffers/duc/duc-table-cell.d.ts +0 -27
  240. package/dist/flatbuffers/duc/duc-table-cell.js +0 -72
  241. package/dist/flatbuffers/duc/duc-table-column-entry.d.ts +0 -16
  242. package/dist/flatbuffers/duc/duc-table-column-entry.js +0 -44
  243. package/dist/flatbuffers/duc/duc-table-column.d.ts +0 -18
  244. package/dist/flatbuffers/duc/duc-table-column.js +0 -51
  245. package/dist/flatbuffers/duc/duc-table-element.d.ts +0 -51
  246. package/dist/flatbuffers/duc/duc-table-element.js +0 -167
  247. package/dist/flatbuffers/duc/duc-table-row-entry.d.ts +0 -16
  248. package/dist/flatbuffers/duc/duc-table-row-entry.js +0 -44
  249. package/dist/flatbuffers/duc/duc-table-row.d.ts +0 -18
  250. package/dist/flatbuffers/duc/duc-table-row.js +0 -51
  251. package/dist/flatbuffers/duc/duc-table-style.d.ts +0 -20
  252. package/dist/flatbuffers/duc/duc-table-style.js +0 -57
  253. package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.d.ts +0 -14
  254. package/dist/flatbuffers/duc/duc-text-dynamic-dictionary-source.js +0 -40
  255. package/dist/flatbuffers/duc/duc-text-dynamic-element-source.d.ts +0 -17
  256. package/dist/flatbuffers/duc/duc-text-dynamic-element-source.js +0 -49
  257. package/dist/flatbuffers/duc/duc-text-dynamic-part.d.ts +0 -22
  258. package/dist/flatbuffers/duc/duc-text-dynamic-part.js +0 -58
  259. package/dist/flatbuffers/duc/duc-text-dynamic-source-data.d.ts +0 -9
  260. package/dist/flatbuffers/duc/duc-text-dynamic-source-data.js +0 -26
  261. package/dist/flatbuffers/duc/duc-text-dynamic-source.d.ts +0 -19
  262. package/dist/flatbuffers/duc/duc-text-dynamic-source.js +0 -58
  263. package/dist/flatbuffers/duc/duc-text-element.d.ts +0 -33
  264. package/dist/flatbuffers/duc/duc-text-element.js +0 -94
  265. package/dist/flatbuffers/duc/duc-text-style.d.ts +0 -41
  266. package/dist/flatbuffers/duc/duc-text-style.js +0 -120
  267. package/dist/flatbuffers/duc/duc-ucs.d.ts +0 -16
  268. package/dist/flatbuffers/duc/duc-ucs.js +0 -49
  269. package/dist/flatbuffers/duc/duc-view.d.ts +0 -24
  270. package/dist/flatbuffers/duc/duc-view.js +0 -71
  271. package/dist/flatbuffers/duc/duc-viewport-element.d.ts +0 -36
  272. package/dist/flatbuffers/duc/duc-viewport-element.js +0 -102
  273. package/dist/flatbuffers/duc/duc-viewport-style.d.ts +0 -13
  274. package/dist/flatbuffers/duc/duc-viewport-style.js +0 -40
  275. package/dist/flatbuffers/duc/duc-xray-element.d.ts +0 -23
  276. package/dist/flatbuffers/duc/duc-xray-element.js +0 -66
  277. package/dist/flatbuffers/duc/duc-xray-style.d.ts +0 -14
  278. package/dist/flatbuffers/duc/duc-xray-style.js +0 -40
  279. package/dist/flatbuffers/duc/dynamic-snap-settings.d.ts +0 -17
  280. package/dist/flatbuffers/duc/dynamic-snap-settings.js +0 -56
  281. package/dist/flatbuffers/duc/element-background.d.ts +0 -14
  282. package/dist/flatbuffers/duc/element-background.js +0 -41
  283. package/dist/flatbuffers/duc/element-content-base.d.ts +0 -29
  284. package/dist/flatbuffers/duc/element-content-base.js +0 -80
  285. package/dist/flatbuffers/duc/element-content-preference.d.ts +0 -8
  286. package/dist/flatbuffers/duc/element-content-preference.js +0 -11
  287. package/dist/flatbuffers/duc/element-stroke.d.ts +0 -24
  288. package/dist/flatbuffers/duc/element-stroke.js +0 -66
  289. package/dist/flatbuffers/duc/element-wrapper.d.ts +0 -16
  290. package/dist/flatbuffers/duc/element-wrapper.js +0 -49
  291. package/dist/flatbuffers/duc/element.d.ts +0 -51
  292. package/dist/flatbuffers/duc/element.js +0 -110
  293. package/dist/flatbuffers/duc/exported-data-state.d.ts +0 -102
  294. package/dist/flatbuffers/duc/exported-data-state.js +0 -341
  295. package/dist/flatbuffers/duc/fcfbetween-modifier.d.ts +0 -17
  296. package/dist/flatbuffers/duc/fcfbetween-modifier.js +0 -48
  297. package/dist/flatbuffers/duc/fcfdatum-definition.d.ts +0 -16
  298. package/dist/flatbuffers/duc/fcfdatum-definition.js +0 -43
  299. package/dist/flatbuffers/duc/fcfdatum-style.d.ts +0 -14
  300. package/dist/flatbuffers/duc/fcfdatum-style.js +0 -41
  301. package/dist/flatbuffers/duc/fcfframe-modifiers.d.ts +0 -22
  302. package/dist/flatbuffers/duc/fcfframe-modifiers.js +0 -65
  303. package/dist/flatbuffers/duc/fcflayout-style.d.ts +0 -17
  304. package/dist/flatbuffers/duc/fcflayout-style.js +0 -56
  305. package/dist/flatbuffers/duc/fcfprojected-zone-modifier.d.ts +0 -13
  306. package/dist/flatbuffers/duc/fcfprojected-zone-modifier.js +0 -40
  307. package/dist/flatbuffers/duc/fcfsegment-row.d.ts +0 -17
  308. package/dist/flatbuffers/duc/fcfsegment-row.js +0 -55
  309. package/dist/flatbuffers/duc/fcfsymbol-style.d.ts +0 -13
  310. package/dist/flatbuffers/duc/fcfsymbol-style.js +0 -40
  311. package/dist/flatbuffers/duc/feature-control-frame-segment.d.ts +0 -22
  312. package/dist/flatbuffers/duc/feature-control-frame-segment.js +0 -65
  313. package/dist/flatbuffers/duc/feature-modifier.d.ts +0 -18
  314. package/dist/flatbuffers/duc/feature-modifier.js +0 -21
  315. package/dist/flatbuffers/duc/gdt-symbol.d.ts +0 -22
  316. package/dist/flatbuffers/duc/gdt-symbol.js +0 -25
  317. package/dist/flatbuffers/duc/geometric-point.d.ts +0 -10
  318. package/dist/flatbuffers/duc/geometric-point.js +0 -27
  319. package/dist/flatbuffers/duc/grid-display-type.d.ts +0 -6
  320. package/dist/flatbuffers/duc/grid-display-type.js +0 -9
  321. package/dist/flatbuffers/duc/grid-settings.d.ts +0 -54
  322. package/dist/flatbuffers/duc/grid-settings.js +0 -165
  323. package/dist/flatbuffers/duc/grid-style.d.ts +0 -26
  324. package/dist/flatbuffers/duc/grid-style.js +0 -74
  325. package/dist/flatbuffers/duc/grid-type.d.ts +0 -7
  326. package/dist/flatbuffers/duc/grid-type.js +0 -10
  327. package/dist/flatbuffers/duc/handle-type.d.ts +0 -4
  328. package/dist/flatbuffers/duc/handle-type.js +0 -7
  329. package/dist/flatbuffers/duc/hatch-pattern-line.d.ts +0 -35
  330. package/dist/flatbuffers/duc/hatch-pattern-line.js +0 -93
  331. package/dist/flatbuffers/duc/hatch-style.d.ts +0 -5
  332. package/dist/flatbuffers/duc/hatch-style.js +0 -8
  333. package/dist/flatbuffers/duc/identified-common-style.d.ts +0 -16
  334. package/dist/flatbuffers/duc/identified-common-style.js +0 -44
  335. package/dist/flatbuffers/duc/identified-dimension-style.d.ts +0 -16
  336. package/dist/flatbuffers/duc/identified-dimension-style.js +0 -44
  337. package/dist/flatbuffers/duc/identified-doc-style.d.ts +0 -16
  338. package/dist/flatbuffers/duc/identified-doc-style.js +0 -44
  339. package/dist/flatbuffers/duc/identified-fcfstyle.d.ts +0 -16
  340. package/dist/flatbuffers/duc/identified-fcfstyle.js +0 -44
  341. package/dist/flatbuffers/duc/identified-grid-settings.d.ts +0 -16
  342. package/dist/flatbuffers/duc/identified-grid-settings.js +0 -44
  343. package/dist/flatbuffers/duc/identified-hatch-style.d.ts +0 -16
  344. package/dist/flatbuffers/duc/identified-hatch-style.js +0 -44
  345. package/dist/flatbuffers/duc/identified-leader-style.d.ts +0 -16
  346. package/dist/flatbuffers/duc/identified-leader-style.js +0 -44
  347. package/dist/flatbuffers/duc/identified-snap-settings.d.ts +0 -16
  348. package/dist/flatbuffers/duc/identified-snap-settings.js +0 -44
  349. package/dist/flatbuffers/duc/identified-stack-like-style.d.ts +0 -16
  350. package/dist/flatbuffers/duc/identified-stack-like-style.js +0 -44
  351. package/dist/flatbuffers/duc/identified-table-style.d.ts +0 -16
  352. package/dist/flatbuffers/duc/identified-table-style.js +0 -44
  353. package/dist/flatbuffers/duc/identified-text-style.d.ts +0 -16
  354. package/dist/flatbuffers/duc/identified-text-style.js +0 -44
  355. package/dist/flatbuffers/duc/identified-ucs.d.ts +0 -16
  356. package/dist/flatbuffers/duc/identified-ucs.js +0 -44
  357. package/dist/flatbuffers/duc/identified-view.d.ts +0 -16
  358. package/dist/flatbuffers/duc/identified-view.js +0 -44
  359. package/dist/flatbuffers/duc/identified-viewport-style.d.ts +0 -16
  360. package/dist/flatbuffers/duc/identified-viewport-style.js +0 -44
  361. package/dist/flatbuffers/duc/identified-xray-style.d.ts +0 -16
  362. package/dist/flatbuffers/duc/identified-xray-style.js +0 -44
  363. package/dist/flatbuffers/duc/identifier.d.ts +0 -20
  364. package/dist/flatbuffers/duc/identifier.js +0 -57
  365. package/dist/flatbuffers/duc/image-crop.d.ts +0 -23
  366. package/dist/flatbuffers/duc/image-crop.js +0 -80
  367. package/dist/flatbuffers/duc/image-status.d.ts +0 -5
  368. package/dist/flatbuffers/duc/image-status.js +0 -8
  369. package/dist/flatbuffers/duc/isometric-grid-settings.d.ts +0 -15
  370. package/dist/flatbuffers/duc/isometric-grid-settings.js +0 -48
  371. package/dist/flatbuffers/duc/jsonpatch-operation.d.ts +0 -23
  372. package/dist/flatbuffers/duc/jsonpatch-operation.js +0 -64
  373. package/dist/flatbuffers/duc/layer-snap-filters.d.ts +0 -23
  374. package/dist/flatbuffers/duc/layer-snap-filters.js +0 -76
  375. package/dist/flatbuffers/duc/layer-validation-rules.d.ts +0 -17
  376. package/dist/flatbuffers/duc/layer-validation-rules.js +0 -54
  377. package/dist/flatbuffers/duc/leader-block-content.d.ts +0 -25
  378. package/dist/flatbuffers/duc/leader-block-content.js +0 -85
  379. package/dist/flatbuffers/duc/leader-content-data.d.ts +0 -9
  380. package/dist/flatbuffers/duc/leader-content-data.js +0 -26
  381. package/dist/flatbuffers/duc/leader-content-type.d.ts +0 -4
  382. package/dist/flatbuffers/duc/leader-content-type.js +0 -7
  383. package/dist/flatbuffers/duc/leader-content.d.ts +0 -19
  384. package/dist/flatbuffers/duc/leader-content.js +0 -58
  385. package/dist/flatbuffers/duc/leader-text-block-content.d.ts +0 -14
  386. package/dist/flatbuffers/duc/leader-text-block-content.js +0 -40
  387. package/dist/flatbuffers/duc/line-head.d.ts +0 -17
  388. package/dist/flatbuffers/duc/line-head.js +0 -20
  389. package/dist/flatbuffers/duc/line-spacing-type.d.ts +0 -5
  390. package/dist/flatbuffers/duc/line-spacing-type.js +0 -8
  391. package/dist/flatbuffers/duc/line-spacing.d.ts +0 -16
  392. package/dist/flatbuffers/duc/line-spacing.js +0 -49
  393. package/dist/flatbuffers/duc/linear-unit-system.d.ts +0 -24
  394. package/dist/flatbuffers/duc/linear-unit-system.js +0 -75
  395. package/dist/flatbuffers/duc/margins.d.ts +0 -19
  396. package/dist/flatbuffers/duc/margins.js +0 -64
  397. package/dist/flatbuffers/duc/mark-ellipse-center.d.ts +0 -4
  398. package/dist/flatbuffers/duc/mark-ellipse-center.js +0 -7
  399. package/dist/flatbuffers/duc/material-condition.d.ts +0 -5
  400. package/dist/flatbuffers/duc/material-condition.js +0 -8
  401. package/dist/flatbuffers/duc/object-snap-mode.d.ts +0 -22
  402. package/dist/flatbuffers/duc/object-snap-mode.js +0 -25
  403. package/dist/flatbuffers/duc/paragraph-formatting.d.ts +0 -33
  404. package/dist/flatbuffers/duc/paragraph-formatting.js +0 -106
  405. package/dist/flatbuffers/duc/parametric-source-type.d.ts +0 -4
  406. package/dist/flatbuffers/duc/parametric-source-type.js +0 -7
  407. package/dist/flatbuffers/duc/parametric-source.d.ts +0 -20
  408. package/dist/flatbuffers/duc/parametric-source.js +0 -57
  409. package/dist/flatbuffers/duc/plot-layout.d.ts +0 -14
  410. package/dist/flatbuffers/duc/plot-layout.js +0 -41
  411. package/dist/flatbuffers/duc/point-binding-point.d.ts +0 -15
  412. package/dist/flatbuffers/duc/point-binding-point.js +0 -48
  413. package/dist/flatbuffers/duc/polar-grid-settings.d.ts +0 -17
  414. package/dist/flatbuffers/duc/polar-grid-settings.js +0 -56
  415. package/dist/flatbuffers/duc/polar-tracking-settings.d.ts +0 -29
  416. package/dist/flatbuffers/duc/polar-tracking-settings.js +0 -90
  417. package/dist/flatbuffers/duc/primary-units.d.ts +0 -16
  418. package/dist/flatbuffers/duc/primary-units.js +0 -44
  419. package/dist/flatbuffers/duc/pruning-level.d.ts +0 -5
  420. package/dist/flatbuffers/duc/pruning-level.js +0 -8
  421. package/dist/flatbuffers/duc/snap-marker-settings.d.ts +0 -23
  422. package/dist/flatbuffers/duc/snap-marker-settings.js +0 -79
  423. package/dist/flatbuffers/duc/snap-marker-shape.d.ts +0 -6
  424. package/dist/flatbuffers/duc/snap-marker-shape.js +0 -9
  425. package/dist/flatbuffers/duc/snap-marker-style-entry.d.ts +0 -16
  426. package/dist/flatbuffers/duc/snap-marker-style-entry.js +0 -43
  427. package/dist/flatbuffers/duc/snap-marker-style.d.ts +0 -17
  428. package/dist/flatbuffers/duc/snap-marker-style.js +0 -49
  429. package/dist/flatbuffers/duc/snap-mode.d.ts +0 -4
  430. package/dist/flatbuffers/duc/snap-mode.js +0 -7
  431. package/dist/flatbuffers/duc/snap-override-behavior.d.ts +0 -5
  432. package/dist/flatbuffers/duc/snap-override-behavior.js +0 -8
  433. package/dist/flatbuffers/duc/snap-override.d.ts +0 -17
  434. package/dist/flatbuffers/duc/snap-override.js +0 -49
  435. package/dist/flatbuffers/duc/snap-settings.d.ts +0 -75
  436. package/dist/flatbuffers/duc/snap-settings.js +0 -245
  437. package/dist/flatbuffers/duc/stack-format-properties.d.ts +0 -18
  438. package/dist/flatbuffers/duc/stack-format-properties.js +0 -57
  439. package/dist/flatbuffers/duc/stack-format.d.ts +0 -21
  440. package/dist/flatbuffers/duc/stack-format.js +0 -64
  441. package/dist/flatbuffers/duc/stacked-text-align.d.ts +0 -5
  442. package/dist/flatbuffers/duc/stacked-text-align.js +0 -8
  443. package/dist/flatbuffers/duc/standard-overrides.d.ts +0 -63
  444. package/dist/flatbuffers/duc/standard-overrides.js +0 -162
  445. package/dist/flatbuffers/duc/standard-styles.d.ts +0 -77
  446. package/dist/flatbuffers/duc/standard-styles.js +0 -285
  447. package/dist/flatbuffers/duc/standard-units.d.ts +0 -16
  448. package/dist/flatbuffers/duc/standard-units.js +0 -44
  449. package/dist/flatbuffers/duc/standard-validation.d.ts +0 -16
  450. package/dist/flatbuffers/duc/standard-validation.js +0 -44
  451. package/dist/flatbuffers/duc/standard-view-settings.d.ts +0 -35
  452. package/dist/flatbuffers/duc/standard-view-settings.js +0 -124
  453. package/dist/flatbuffers/duc/standard.d.ts +0 -33
  454. package/dist/flatbuffers/duc/standard.js +0 -90
  455. package/dist/flatbuffers/duc/string-value-entry.d.ts +0 -17
  456. package/dist/flatbuffers/duc/string-value-entry.js +0 -49
  457. package/dist/flatbuffers/duc/stroke-cap.d.ts +0 -5
  458. package/dist/flatbuffers/duc/stroke-cap.js +0 -8
  459. package/dist/flatbuffers/duc/stroke-join.d.ts +0 -5
  460. package/dist/flatbuffers/duc/stroke-join.js +0 -8
  461. package/dist/flatbuffers/duc/stroke-placement.d.ts +0 -5
  462. package/dist/flatbuffers/duc/stroke-placement.js +0 -8
  463. package/dist/flatbuffers/duc/stroke-preference.d.ts +0 -6
  464. package/dist/flatbuffers/duc/stroke-preference.js +0 -9
  465. package/dist/flatbuffers/duc/stroke-side-preference.d.ts +0 -8
  466. package/dist/flatbuffers/duc/stroke-side-preference.js +0 -11
  467. package/dist/flatbuffers/duc/stroke-sides.d.ts +0 -24
  468. package/dist/flatbuffers/duc/stroke-sides.js +0 -67
  469. package/dist/flatbuffers/duc/stroke-style.d.ts +0 -37
  470. package/dist/flatbuffers/duc/stroke-style.js +0 -111
  471. package/dist/flatbuffers/duc/stroke-width.d.ts +0 -5
  472. package/dist/flatbuffers/duc/stroke-width.js +0 -8
  473. package/dist/flatbuffers/duc/table-cell-alignment.d.ts +0 -11
  474. package/dist/flatbuffers/duc/table-cell-alignment.js +0 -14
  475. package/dist/flatbuffers/duc/table-flow-direction.d.ts +0 -4
  476. package/dist/flatbuffers/duc/table-flow-direction.js +0 -7
  477. package/dist/flatbuffers/duc/text-align.d.ts +0 -5
  478. package/dist/flatbuffers/duc/text-align.js +0 -8
  479. package/dist/flatbuffers/duc/text-column.d.ts +0 -15
  480. package/dist/flatbuffers/duc/text-column.js +0 -48
  481. package/dist/flatbuffers/duc/text-field-source-property.d.ts +0 -13
  482. package/dist/flatbuffers/duc/text-field-source-property.js +0 -16
  483. package/dist/flatbuffers/duc/text-field-source-type.d.ts +0 -4
  484. package/dist/flatbuffers/duc/text-field-source-type.js +0 -7
  485. package/dist/flatbuffers/duc/text-flow-direction.d.ts +0 -6
  486. package/dist/flatbuffers/duc/text-flow-direction.js +0 -9
  487. package/dist/flatbuffers/duc/tiling-properties.d.ts +0 -21
  488. package/dist/flatbuffers/duc/tiling-properties.js +0 -75
  489. package/dist/flatbuffers/duc/tolerance-clause.d.ts +0 -27
  490. package/dist/flatbuffers/duc/tolerance-clause.js +0 -84
  491. package/dist/flatbuffers/duc/tolerance-display.d.ts +0 -7
  492. package/dist/flatbuffers/duc/tolerance-display.js +0 -10
  493. package/dist/flatbuffers/duc/tolerance-type.d.ts +0 -5
  494. package/dist/flatbuffers/duc/tolerance-type.js +0 -8
  495. package/dist/flatbuffers/duc/tolerance-zone-type.d.ts +0 -7
  496. package/dist/flatbuffers/duc/tolerance-zone-type.js +0 -10
  497. package/dist/flatbuffers/duc/tracking-line-style.d.ts +0 -26
  498. package/dist/flatbuffers/duc/tracking-line-style.js +0 -74
  499. package/dist/flatbuffers/duc/unit-precision.d.ts +0 -19
  500. package/dist/flatbuffers/duc/unit-precision.js +0 -64
  501. package/dist/flatbuffers/duc/unit-system-base.d.ts +0 -20
  502. package/dist/flatbuffers/duc/unit-system-base.js +0 -65
  503. package/dist/flatbuffers/duc/unit-system.d.ts +0 -4
  504. package/dist/flatbuffers/duc/unit-system.js +0 -7
  505. package/dist/flatbuffers/duc/version-base.d.ts +0 -27
  506. package/dist/flatbuffers/duc/version-base.js +0 -80
  507. package/dist/flatbuffers/duc/version-graph-metadata.d.ts +0 -15
  508. package/dist/flatbuffers/duc/version-graph-metadata.js +0 -48
  509. package/dist/flatbuffers/duc/version-graph.d.ts +0 -31
  510. package/dist/flatbuffers/duc/version-graph.js +0 -94
  511. package/dist/flatbuffers/duc/vertical-align.d.ts +0 -5
  512. package/dist/flatbuffers/duc/vertical-align.js +0 -8
  513. package/dist/flatbuffers/duc/viewport-shade-plot.d.ts +0 -6
  514. package/dist/flatbuffers/duc/viewport-shade-plot.js +0 -9
  515. package/dist/flatbuffers/duc/youtube-states.d.ts +0 -8
  516. package/dist/flatbuffers/duc/youtube-states.js +0 -11
  517. package/dist/flatbuffers/duc.d.ts +0 -234
  518. package/dist/flatbuffers/duc.js +0 -236
  519. package/dist/restore/restoreStandards.d.ts +0 -8
  520. package/dist/restore/restoreStandards.js +0 -224
  521. package/dist/technical/standards.d.ts +0 -124
  522. package/dist/technical/standards.js +0 -10
  523. package/dist/utils/elements/viewportElement.d.ts +0 -6
  524. package/dist/utils/elements/viewportElement.js +0 -9
  525. package/dist/utils/state/grid.d.ts +0 -7
  526. package/dist/utils/state/grid.js +0 -25
@@ -1,3 +1,2 @@
1
1
  export * from "./restoreDataState";
2
2
  export * from "./restoreElements";
3
- export * from "./restoreStandards";
@@ -1,3 +1,2 @@
1
1
  export * from "./restoreDataState";
2
2
  export * from "./restoreElements";
3
- export * from "./restoreStandards";
@@ -1,6 +1,5 @@
1
- import { BLENDING } from "../flatbuffers/duc";
2
- import { Standard } from "../technical/standards";
3
- import type { Dictionary, DucExternalFiles, DucGlobalState, ImportedDataState, LibraryItems, PrecisionValue, Scope, VersionGraph } from "../types";
1
+ import { BLENDING } from "../enums";
2
+ import type { Checkpoint, Delta, Dictionary, DucExternalFiles, DucGlobalState, ImportedDataState, LibraryItems, PrecisionValue, Scope, VersionGraph } from "../types";
4
3
  import { DucLocalState } from "../types";
5
4
  import type { _DucStackBase, BezierMirroring, DucBlock, DucBlockCollection, DucBlockInstance, DucElement, DucGroup, DucHead, DucLayer, DucRegion, ElementBackground, ElementContentBase, ElementStroke, ExternalFileId, FillStyle, ImageStatus, LineHead, OrderedDucElement, StrokeCap, StrokeJoin, StrokePreference, StrokeSidePreference, StrokeStyle, TextAlign, VerticalAlign } from "../types/elements";
6
5
  import { Percentage, Radian } from "../types/geometryTypes";
@@ -20,7 +19,6 @@ export type RestoredDataState = {
20
19
  groups: DucGroup[];
21
20
  regions: DucRegion[];
22
21
  layers: DucLayer[];
23
- standards: Standard[];
24
22
  versionGraph: VersionGraph | undefined;
25
23
  id: string;
26
24
  };
@@ -115,8 +113,10 @@ export declare const restoreGlobalState: (importedState?: Partial<DucGlobalState
115
113
  * @param restoredGlobalState - The complete and valid global state for the document.
116
114
  * @returns A complete and valid DucLocalState object.
117
115
  */
118
- export declare const restoreLocalState: (importedState: Partial<DucLocalState> | undefined, restoredGlobalState: RestoredDataState["globalState"], restoredStandards: RestoredDataState["standards"], forceScope?: Scope) => DucLocalState;
116
+ export declare const restoreLocalState: (importedState: Partial<DucLocalState> | undefined, restoredGlobalState: RestoredDataState["globalState"], forceScope?: Scope) => DucLocalState;
119
117
  export declare const restoreVersionGraph: (importedGraph: any) => RestoredDataState["versionGraph"];
118
+ export declare const restoreCheckpoint: (importedCheckpoint: unknown) => Checkpoint | undefined;
119
+ export declare const restoreDelta: (importedDelta: unknown) => Delta | undefined;
120
120
  /**
121
121
  * Restores common properties for elements leveraging _DucStackBase.
122
122
  */
@@ -135,6 +135,7 @@ export declare const isValidFillStyleValue: (value: FillStyle | undefined) => Fi
135
135
  export declare const isValidStrokePreferenceValue: (value: StrokePreference | undefined) => StrokePreference;
136
136
  export declare const isValidVerticalAlignValue: (value: VerticalAlign | undefined) => VerticalAlign;
137
137
  export declare const isValidTextAlignValue: (value: TextAlign | undefined) => TextAlign;
138
+ export declare const isValidDecimalPlacesValue: (value: number | undefined, fallback: number) => number;
138
139
  export declare const isValidScopeValue: (value: string | undefined, localState?: Readonly<Partial<DucLocalState>> | null, mainScope?: Scope) => Scope;
139
140
  export declare const isValidImageStatusValue: (value: ImageStatus | undefined) => ImageStatus;
140
141
  export declare const isValidDucHead: (value: DucHead | null | undefined, blocks: RestoredDataState["blocks"], elementScope: Scope, currentScope: Scope) => DucHead | null;
@@ -193,11 +194,6 @@ export declare const isValidExternalFileId: (value: any, defaultValue?: External
193
194
  * @returns A valid, non-empty `Uint8Array` if the conversion is successful, otherwise `undefined`.
194
195
  */
195
196
  export declare const isValidUint8Array: (value: unknown) => Uint8Array | undefined;
196
- /**
197
- * Validates a Standard id.
198
- * Returns the id if valid and present in standards, otherwise returns the default DUC standard id.
199
- */
200
- export declare const isValidStandardId: (id: any, standards: Standard[], defaultId?: string) => string;
201
197
  /**
202
198
  * Validates a block id.
203
199
  * Returns the id if present in restored blocks, otherwise returns null.
@@ -1,19 +1,16 @@
1
1
  import { nanoid } from "nanoid";
2
2
  import tinycolor from "tinycolor2";
3
- import { BEZIER_MIRRORING, BLENDING, BOOLEAN_OPERATION, ELEMENT_CONTENT_PREFERENCE, IMAGE_STATUS, LINE_HEAD, PRUNING_LEVEL, STROKE_CAP, STROKE_JOIN, STROKE_PLACEMENT, STROKE_PREFERENCE, STROKE_SIDE_PREFERENCE, TEXT_ALIGN, VERTICAL_ALIGN, } from "../flatbuffers/duc";
3
+ import { BEZIER_MIRRORING, BLENDING, BOOLEAN_OPERATION, ELEMENT_CONTENT_PREFERENCE, IMAGE_STATUS, LINE_HEAD, PRUNING_LEVEL, STROKE_CAP, STROKE_JOIN, STROKE_PLACEMENT, STROKE_PREFERENCE, STROKE_SIDE_PREFERENCE, TEXT_ALIGN, VERTICAL_ALIGN, } from "../enums";
4
4
  import { getPrecisionScope } from "../technical/measurements";
5
5
  import { getPrecisionValueFromRaw, getPrecisionValueFromScoped, NEUTRAL_SCOPE, ScaleFactors } from "../technical/scopes";
6
- import { PREDEFINED_STANDARDS } from "../technical/standards";
7
6
  import { base64ToUint8Array, getDefaultGlobalState, getDefaultLocalState, getZoom, isEncodedFunctionString, isFiniteNumber, reviveEncodedFunction, } from "../utils";
8
7
  import { DEFAULT_ELEMENT_PROPS, DEFAULT_POLYGON_SIDES, DEFAULT_TEXT_ALIGN, DEFAULT_VERTICAL_ALIGN, DEFAULT_ZOOM_STEP, MAX_ZOOM_STEP, MIN_ZOOM_STEP, } from "../utils/constants";
9
8
  import { getDefaultStackProperties } from "../utils/elements";
10
9
  import { restoreElements } from "./restoreElements";
11
- import { isStandardIdPresent, restoreStandards, } from "./restoreStandards";
12
10
  export const restore = (data, elementsConfig, restoreConfig = {}) => {
13
- const restoredStandards = restoreStandards(data === null || data === void 0 ? void 0 : data.standards);
14
11
  const restoredDictionary = restoreDictionary(data === null || data === void 0 ? void 0 : data.dictionary);
15
12
  const restoredGlobalState = restoreGlobalState(data === null || data === void 0 ? void 0 : data.globalState);
16
- const restoredLocalState = restoreLocalState(data === null || data === void 0 ? void 0 : data.localState, restoredGlobalState, restoredStandards, restoreConfig.forceScope);
13
+ const restoredLocalState = restoreLocalState(data === null || data === void 0 ? void 0 : data.localState, restoredGlobalState, restoreConfig.forceScope);
17
14
  const restoredElementsConfig = Object.assign(Object.assign({}, elementsConfig), { localState: restoredLocalState });
18
15
  const restoredBlocks = restoreBlocks(data === null || data === void 0 ? void 0 : data.blocks, restoredLocalState.scope, restoredElementsConfig);
19
16
  const restoredBlockCollections = restoreBlockCollections(data === null || data === void 0 ? void 0 : data.blockCollections);
@@ -36,7 +33,6 @@ export const restore = (data, elementsConfig, restoreConfig = {}) => {
36
33
  groups: restoredGroups,
37
34
  regions: restoredRegions,
38
35
  layers: restoredLayers,
39
- standards: restoredStandards,
40
36
  versionGraph: restoredVersionGraph,
41
37
  localState: restoredLocalState,
42
38
  globalState: restoredGlobalState,
@@ -53,10 +49,15 @@ export const restoreFiles = (importedFiles) => {
53
49
  const files = importedFiles;
54
50
  for (const key in files) {
55
51
  if (Object.prototype.hasOwnProperty.call(files, key)) {
56
- const fileData = files[key];
52
+ let fileData = files[key];
57
53
  if (!fileData || typeof fileData !== "object") {
58
54
  continue;
59
55
  }
56
+ // Handle the nested DucExternalFileEntry structure { key, value: { ... } }
57
+ // produced by Rust serde or legacy exports.
58
+ if (fileData.value && typeof fileData.value === "object") {
59
+ fileData = fileData.value;
60
+ }
60
61
  const id = isValidExternalFileId(fileData.id);
61
62
  const mimeType = isValidString(fileData.mimeType);
62
63
  const created = isFiniteNumber(fileData.created)
@@ -144,10 +145,11 @@ export const restoreLayers = (layers, currentScope) => {
144
145
  return typeof g.id === "string";
145
146
  })
146
147
  .map((l) => {
147
- return Object.assign(Object.assign({ id: l.id }, restoreDucStackProperties(l)), { readonly: isValidBoolean(l.readonly, false), overrides: {
148
- stroke: validateStroke(l.overrides.stroke, currentScope, currentScope),
149
- background: validateBackground(l.overrides.background),
150
- } });
148
+ const overridesSource = l.overrides && typeof l.overrides === "object" ? l.overrides : null;
149
+ return Object.assign(Object.assign({ id: l.id }, restoreDucStackProperties(l)), { readonly: isValidBoolean(l.readonly, false), overrides: overridesSource ? {
150
+ stroke: validateStroke(overridesSource.stroke, currentScope, currentScope),
151
+ background: validateBackground(overridesSource.background),
152
+ } : null });
151
153
  });
152
154
  };
153
155
  /**
@@ -198,10 +200,6 @@ export const restoreBlocks = (blocks, currentScope, elementsConfig) => {
198
200
  label: typeof obj.label === "string" ? obj.label : "",
199
201
  description: typeof obj.description === "string" ? obj.description : undefined,
200
202
  version: typeof obj.version === "number" ? obj.version : 1,
201
- attributes: obj.attributes || undefined,
202
- attributeDefinitions: obj.attributeDefinitions && typeof obj.attributeDefinitions === "object"
203
- ? obj.attributeDefinitions
204
- : {},
205
203
  metadata,
206
204
  thumbnail: isValidUint8Array(obj.thumbnail),
207
205
  };
@@ -276,27 +274,11 @@ export const restoreBlockInstances = (blockInstances, currentScope) => {
276
274
  elementOverrides = obj.elementOverrides;
277
275
  }
278
276
  }
279
- // Handle attributeValues - same logic
280
- let attributeValues;
281
- if (obj.attributeValues && typeof obj.attributeValues === "object") {
282
- if (Array.isArray(obj.attributeValues)) {
283
- // Legacy format: array of {key, value} entries
284
- attributeValues = Object.fromEntries(obj.attributeValues.map((entry) => [
285
- typeof entry.key === "string" ? entry.key : "",
286
- typeof entry.value === "string" ? entry.value : "",
287
- ]));
288
- }
289
- else {
290
- // Current format: already a Record<string, string>
291
- attributeValues = obj.attributeValues;
292
- }
293
- }
294
277
  return {
295
278
  id: isValidString(obj.id),
296
279
  blockId: isValidString(obj.blockId),
297
280
  version: isValidNumber(obj.version, 1),
298
281
  elementOverrides,
299
- attributeValues,
300
282
  duplicationArray: dupArray && typeof dupArray === "object"
301
283
  ? {
302
284
  rows: typeof dupArray.rows === "number" ? dupArray.rows : 1,
@@ -345,13 +327,9 @@ const restoreBlockMetadata = (metadata) => {
345
327
  * @returns A complete and valid DucGlobalState object.
346
328
  */
347
329
  export const restoreGlobalState = (importedState = {}) => {
348
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
330
+ var _a, _b, _c;
349
331
  const defaults = getDefaultGlobalState();
350
- const linearPrecision = isValidFinitePositiveByteValue((_a = importedState === null || importedState === void 0 ? void 0 : importedState.displayPrecision) === null || _a === void 0 ? void 0 : _a.linear, defaults.displayPrecision.linear);
351
- return Object.assign(Object.assign({}, defaults), { name: (_b = importedState === null || importedState === void 0 ? void 0 : importedState.name) !== null && _b !== void 0 ? _b : defaults.name, viewBackgroundColor: (_c = importedState === null || importedState === void 0 ? void 0 : importedState.viewBackgroundColor) !== null && _c !== void 0 ? _c : defaults.viewBackgroundColor, mainScope: (_d = isValidAppStateScopeValue(importedState === null || importedState === void 0 ? void 0 : importedState.mainScope)) !== null && _d !== void 0 ? _d : defaults.mainScope, scopeExponentThreshold: isValidAppStateScopeExponentThresholdValue(importedState === null || importedState === void 0 ? void 0 : importedState.scopeExponentThreshold, defaults.scopeExponentThreshold), dashSpacingScale: (_e = importedState === null || importedState === void 0 ? void 0 : importedState.dashSpacingScale) !== null && _e !== void 0 ? _e : defaults.dashSpacingScale, isDashSpacingAffectedByViewportScale: (_f = importedState === null || importedState === void 0 ? void 0 : importedState.isDashSpacingAffectedByViewportScale) !== null && _f !== void 0 ? _f : defaults.isDashSpacingAffectedByViewportScale, dimensionsAssociativeByDefault: (_g = importedState === null || importedState === void 0 ? void 0 : importedState.dimensionsAssociativeByDefault) !== null && _g !== void 0 ? _g : defaults.dimensionsAssociativeByDefault, useAnnotativeScaling: (_h = importedState === null || importedState === void 0 ? void 0 : importedState.useAnnotativeScaling) !== null && _h !== void 0 ? _h : defaults.useAnnotativeScaling, displayPrecision: {
352
- linear: linearPrecision,
353
- angular: (_k = (_j = importedState === null || importedState === void 0 ? void 0 : importedState.displayPrecision) === null || _j === void 0 ? void 0 : _j.angular) !== null && _k !== void 0 ? _k : defaults.displayPrecision.angular,
354
- }, pruningLevel: (importedState === null || importedState === void 0 ? void 0 : importedState.pruningLevel) &&
332
+ return Object.assign(Object.assign({}, defaults), { name: (_a = importedState === null || importedState === void 0 ? void 0 : importedState.name) !== null && _a !== void 0 ? _a : defaults.name, viewBackgroundColor: (_b = importedState === null || importedState === void 0 ? void 0 : importedState.viewBackgroundColor) !== null && _b !== void 0 ? _b : defaults.viewBackgroundColor, mainScope: (_c = isValidAppStateScopeValue(importedState === null || importedState === void 0 ? void 0 : importedState.mainScope)) !== null && _c !== void 0 ? _c : defaults.mainScope, scopeExponentThreshold: isValidAppStateScopeExponentThresholdValue(importedState === null || importedState === void 0 ? void 0 : importedState.scopeExponentThreshold, defaults.scopeExponentThreshold), pruningLevel: (importedState === null || importedState === void 0 ? void 0 : importedState.pruningLevel) &&
355
333
  Object.values(PRUNING_LEVEL).includes(importedState.pruningLevel)
356
334
  ? importedState.pruningLevel
357
335
  : PRUNING_LEVEL.BALANCED });
@@ -365,18 +343,25 @@ export const restoreGlobalState = (importedState = {}) => {
365
343
  * @param restoredGlobalState - The complete and valid global state for the document.
366
344
  * @returns A complete and valid DucLocalState object.
367
345
  */
368
- export const restoreLocalState = (importedState = {}, restoredGlobalState, restoredStandards, forceScope) => {
369
- var _a, _b, _c, _d, _e, _f, _g, _h;
346
+ export const restoreLocalState = (importedState = {}, restoredGlobalState, forceScope) => {
347
+ var _a, _b, _c, _d, _e;
370
348
  const defaults = getDefaultLocalState();
371
- const zoom = getZoom((_b = (_a = importedState === null || importedState === void 0 ? void 0 : importedState.zoom) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : defaults.zoom.value, restoredGlobalState.mainScope, restoredGlobalState.scopeExponentThreshold);
349
+ // Rust sends zoom as a plain f64, TS stores it as { value, scoped, scaled }.
350
+ // Handle both formats.
351
+ const rawZoom = typeof (importedState === null || importedState === void 0 ? void 0 : importedState.zoom) === "number"
352
+ ? importedState.zoom
353
+ : (_a = importedState === null || importedState === void 0 ? void 0 : importedState.zoom) === null || _a === void 0 ? void 0 : _a.value;
354
+ const zoom = getZoom(rawZoom !== null && rawZoom !== void 0 ? rawZoom : defaults.zoom.value, restoredGlobalState.mainScope, restoredGlobalState.scopeExponentThreshold);
372
355
  const scope = forceScope
373
356
  ? isValidScopeValue(forceScope)
374
357
  : isValidPrecisionScopeValue(zoom.value, restoredGlobalState.mainScope, restoredGlobalState.scopeExponentThreshold);
375
- return Object.assign(Object.assign(Object.assign({}, defaults), importedState), { scope, activeStandardId: isValidStandardId(importedState === null || importedState === void 0 ? void 0 : importedState.activeStandardId, restoredStandards, defaults.activeStandardId), isBindingEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.isBindingEnabled, defaults.isBindingEnabled), penMode: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.penMode, defaults.penMode), scrollX: (importedState === null || importedState === void 0 ? void 0 : importedState.scrollX)
358
+ return Object.assign(Object.assign(Object.assign({}, defaults), importedState), { scope, isBindingEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.isBindingEnabled, defaults.isBindingEnabled), penMode: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.penMode, defaults.penMode), scrollX: (importedState === null || importedState === void 0 ? void 0 : importedState.scrollX) != null
376
359
  ? restorePrecisionValue(importedState.scrollX, NEUTRAL_SCOPE, scope)
377
- : getPrecisionValueFromRaw(defaults.scrollX.value, NEUTRAL_SCOPE, scope), scrollY: (importedState === null || importedState === void 0 ? void 0 : importedState.scrollY)
360
+ : getPrecisionValueFromRaw(defaults.scrollX.value, NEUTRAL_SCOPE, scope), scrollY: (importedState === null || importedState === void 0 ? void 0 : importedState.scrollY) != null
378
361
  ? restorePrecisionValue(importedState.scrollY, NEUTRAL_SCOPE, scope)
379
- : getPrecisionValueFromRaw(defaults.scrollY.value, NEUTRAL_SCOPE, scope), zoom, activeGridSettings: (_c = importedState === null || importedState === void 0 ? void 0 : importedState.activeGridSettings) !== null && _c !== void 0 ? _c : defaults.activeGridSettings, activeSnapSettings: (_d = importedState === null || importedState === void 0 ? void 0 : importedState.activeSnapSettings) !== null && _d !== void 0 ? _d : defaults.activeSnapSettings, currentItemStroke: (_e = validateStroke(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemStroke, scope, scope)) !== null && _e !== void 0 ? _e : defaults.currentItemStroke, currentItemBackground: (_f = validateBackground(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemBackground)) !== null && _f !== void 0 ? _f : defaults.currentItemBackground, currentItemOpacity: isValidPercentageValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemOpacity, defaults.currentItemOpacity), currentItemStartLineHead: (_g = isValidLineHeadValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemStartLineHead)) !== null && _g !== void 0 ? _g : defaults.currentItemStartLineHead, currentItemEndLineHead: (_h = isValidLineHeadValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemEndLineHead)) !== null && _h !== void 0 ? _h : defaults.currentItemEndLineHead });
362
+ : getPrecisionValueFromRaw(defaults.scrollY.value, NEUTRAL_SCOPE, scope), zoom, currentItemStroke: (_b = validateStroke(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemStroke, scope, scope)) !== null && _b !== void 0 ? _b : defaults.currentItemStroke, currentItemBackground: (_c = validateBackground(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemBackground)) !== null && _c !== void 0 ? _c : defaults.currentItemBackground, currentItemFontFamily: typeof (importedState === null || importedState === void 0 ? void 0 : importedState.currentItemFontFamily) === "string"
363
+ ? importedState.currentItemFontFamily
364
+ : defaults.currentItemFontFamily, currentItemFontSize: restorePrecisionValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemFontSize, scope, scope, defaults.currentItemFontSize.value), currentItemTextAlign: isValidTextAlignValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemTextAlign), currentItemOpacity: isValidPercentageValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemOpacity, defaults.currentItemOpacity), currentItemRoundness: restorePrecisionValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemRoundness, scope, scope, defaults.currentItemRoundness.value), currentItemStartLineHead: (_d = isValidLineHeadValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemStartLineHead)) !== null && _d !== void 0 ? _d : defaults.currentItemStartLineHead, currentItemEndLineHead: (_e = isValidLineHeadValue(importedState === null || importedState === void 0 ? void 0 : importedState.currentItemEndLineHead)) !== null && _e !== void 0 ? _e : defaults.currentItemEndLineHead, viewModeEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.viewModeEnabled, defaults.viewModeEnabled), objectsSnapModeEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.objectsSnapModeEnabled, defaults.objectsSnapModeEnabled), gridModeEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.gridModeEnabled, defaults.gridModeEnabled), outlineModeEnabled: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.outlineModeEnabled, defaults.outlineModeEnabled), manualSaveMode: isValidBoolean(importedState === null || importedState === void 0 ? void 0 : importedState.manualSaveMode, defaults.manualSaveMode), decimalPlaces: isValidDecimalPlacesValue(importedState === null || importedState === void 0 ? void 0 : importedState.decimalPlaces, defaults.decimalPlaces) });
380
365
  };
381
366
  export const restoreVersionGraph = (importedGraph) => {
382
367
  if (!importedGraph || typeof importedGraph !== "object") {
@@ -387,82 +372,27 @@ export const restoreVersionGraph = (importedGraph) => {
387
372
  if (!userCheckpointVersionId || !latestVersionId) {
388
373
  return undefined;
389
374
  }
390
- const checkpoints = [];
391
- if (Array.isArray(importedGraph.checkpoints)) {
392
- for (const c of importedGraph.checkpoints) {
393
- if (!c || typeof c !== "object" || c.type !== "checkpoint") {
394
- continue;
395
- }
396
- const id = isValidString(c.id);
397
- if (!id) {
398
- continue;
399
- }
400
- const parentId = typeof c.parentId === "string" ? c.parentId : null;
401
- const timestamp = isFiniteNumber(c.timestamp) ? c.timestamp : 0;
402
- const isManualSave = isValidBoolean(c.isManualSave, false);
403
- const sizeBytes = isFiniteNumber(c.sizeBytes) && c.sizeBytes >= 0 ? c.sizeBytes : 0;
404
- const data = isValidUint8Array(c.data);
405
- if (!data) {
406
- continue;
407
- }
408
- checkpoints.push({
409
- type: "checkpoint",
410
- id,
411
- parentId,
412
- timestamp,
413
- isManualSave,
414
- sizeBytes,
415
- data,
416
- description: isValidString(c.description) || undefined,
417
- userId: isValidString(c.userId) || undefined,
418
- });
419
- }
420
- }
421
- const deltas = [];
422
- if (Array.isArray(importedGraph.deltas)) {
423
- for (const d of importedGraph.deltas) {
424
- if (!d || typeof d !== "object" || d.type !== "delta") {
425
- continue;
426
- }
427
- const id = isValidString(d.id);
428
- if (!id) {
429
- continue;
430
- }
431
- const parentId = typeof d.parentId === "string" ? d.parentId : null;
432
- const timestamp = isFiniteNumber(d.timestamp) ? d.timestamp : 0;
433
- const isManualSave = isValidBoolean(d.isManualSave, false);
434
- if (!Array.isArray(d.patch)) {
435
- continue;
436
- }
437
- const patch = [];
438
- let isPatchValid = true;
439
- for (const op of d.patch) {
440
- if (!op ||
441
- typeof op !== "object" ||
442
- !isValidString(op.op) ||
443
- !isValidString(op.path)) {
444
- isPatchValid = false;
445
- break;
446
- }
447
- patch.push({ op: op.op, path: op.path, value: op.value });
448
- }
449
- if (!isPatchValid) {
450
- continue;
451
- }
452
- deltas.push({
453
- type: "delta",
454
- id,
455
- parentId,
456
- timestamp,
457
- isManualSave,
458
- patch,
459
- description: isValidString(d.description) || undefined,
460
- userId: isValidString(d.userId) || undefined,
461
- });
462
- }
463
- }
375
+ const checkpoints = Array.isArray(importedGraph.checkpoints)
376
+ ? importedGraph.checkpoints
377
+ .map((checkpoint) => restoreCheckpoint(checkpoint))
378
+ .filter((checkpoint) => Boolean(checkpoint))
379
+ : [];
380
+ const deltas = Array.isArray(importedGraph.deltas)
381
+ ? importedGraph.deltas
382
+ .map((delta) => restoreDelta(delta))
383
+ .filter((delta) => Boolean(delta))
384
+ : [];
464
385
  const importedMetadata = importedGraph.metadata;
465
386
  const metadata = {
387
+ currentVersion: isFiniteNumber(importedMetadata === null || importedMetadata === void 0 ? void 0 : importedMetadata.currentVersion) && importedMetadata.currentVersion >= 0
388
+ ? importedMetadata.currentVersion
389
+ : 0,
390
+ currentSchemaVersion: isFiniteNumber(importedMetadata === null || importedMetadata === void 0 ? void 0 : importedMetadata.currentSchemaVersion) && importedMetadata.currentSchemaVersion >= 1
391
+ ? importedMetadata.currentSchemaVersion
392
+ : 1,
393
+ chainCount: isFiniteNumber(importedMetadata === null || importedMetadata === void 0 ? void 0 : importedMetadata.chainCount) && importedMetadata.chainCount >= 1
394
+ ? importedMetadata.chainCount
395
+ : 1,
466
396
  lastPruned: isFiniteNumber(importedMetadata === null || importedMetadata === void 0 ? void 0 : importedMetadata.lastPruned)
467
397
  ? importedMetadata.lastPruned
468
398
  : 0,
@@ -474,11 +404,77 @@ export const restoreVersionGraph = (importedGraph) => {
474
404
  return {
475
405
  userCheckpointVersionId,
476
406
  latestVersionId,
407
+ chains: Array.isArray(importedGraph.chains) ? importedGraph.chains : [],
477
408
  checkpoints,
478
409
  deltas,
479
410
  metadata,
480
411
  };
481
412
  };
413
+ export const restoreCheckpoint = (importedCheckpoint) => {
414
+ if (!importedCheckpoint || typeof importedCheckpoint !== "object") {
415
+ return undefined;
416
+ }
417
+ const checkpoint = importedCheckpoint;
418
+ if (checkpoint.type !== "checkpoint") {
419
+ return undefined;
420
+ }
421
+ const id = isValidString(checkpoint.id);
422
+ const data = isValidUint8Array(checkpoint.data);
423
+ if (!id || !data) {
424
+ return undefined;
425
+ }
426
+ return {
427
+ type: "checkpoint",
428
+ id,
429
+ parentId: typeof checkpoint.parentId === "string" ? checkpoint.parentId : null,
430
+ timestamp: isFiniteNumber(checkpoint.timestamp) ? checkpoint.timestamp : 0,
431
+ isManualSave: isValidBoolean(checkpoint.isManualSave, false),
432
+ versionNumber: isFiniteNumber(checkpoint.versionNumber) ? checkpoint.versionNumber : 0,
433
+ schemaVersion: isFiniteNumber(checkpoint.schemaVersion) && checkpoint.schemaVersion >= 1
434
+ ? checkpoint.schemaVersion
435
+ : 1,
436
+ isSchemaBoundary: isValidBoolean(checkpoint.isSchemaBoundary, false),
437
+ data,
438
+ sizeBytes: isFiniteNumber(checkpoint.sizeBytes) && checkpoint.sizeBytes >= 0
439
+ ? checkpoint.sizeBytes
440
+ : data.byteLength,
441
+ description: isValidString(checkpoint.description) || undefined,
442
+ userId: isValidString(checkpoint.userId) || undefined,
443
+ };
444
+ };
445
+ export const restoreDelta = (importedDelta) => {
446
+ if (!importedDelta || typeof importedDelta !== "object") {
447
+ return undefined;
448
+ }
449
+ const delta = importedDelta;
450
+ if (delta.type !== "delta") {
451
+ return undefined;
452
+ }
453
+ const id = isValidString(delta.id);
454
+ const payload = isValidUint8Array(delta.payload);
455
+ const baseCheckpointId = isValidString(delta.baseCheckpointId);
456
+ if (!id || !payload || !baseCheckpointId) {
457
+ return undefined;
458
+ }
459
+ return {
460
+ type: "delta",
461
+ id,
462
+ parentId: typeof delta.parentId === "string" ? delta.parentId : null,
463
+ timestamp: isFiniteNumber(delta.timestamp) ? delta.timestamp : 0,
464
+ isManualSave: isValidBoolean(delta.isManualSave, false),
465
+ versionNumber: isFiniteNumber(delta.versionNumber) ? delta.versionNumber : 0,
466
+ schemaVersion: isFiniteNumber(delta.schemaVersion) && delta.schemaVersion >= 1
467
+ ? delta.schemaVersion
468
+ : 1,
469
+ baseCheckpointId,
470
+ payload,
471
+ sizeBytes: isFiniteNumber(delta.sizeBytes) && delta.sizeBytes >= 0
472
+ ? delta.sizeBytes
473
+ : payload.byteLength,
474
+ description: isValidString(delta.description) || undefined,
475
+ userId: isValidString(delta.userId) || undefined,
476
+ };
477
+ };
482
478
  /**
483
479
  * Restores common properties for elements leveraging _DucStackBase.
484
480
  */
@@ -492,7 +488,6 @@ export const restoreDucStackProperties = (stack) => {
492
488
  isVisible: isValidBoolean(stack.isVisible, defaultStackProperties.isVisible),
493
489
  isPlot: isValidBoolean(stack.isPlot, defaultStackProperties.isPlot),
494
490
  opacity: isValidPercentageValue(stack.opacity, defaultStackProperties.opacity),
495
- labelingColor: isValidColor(stack.labelingColor, defaultStackProperties.labelingColor),
496
491
  };
497
492
  };
498
493
  export const isValidAppStateScopeValue = (value) => {
@@ -553,6 +548,16 @@ export const isValidTextAlignValue = (value) => {
553
548
  return DEFAULT_TEXT_ALIGN;
554
549
  return value;
555
550
  };
551
+ export const isValidDecimalPlacesValue = (value, fallback) => {
552
+ if (typeof value !== "number" || !Number.isFinite(value)) {
553
+ return fallback;
554
+ }
555
+ const truncated = Math.trunc(value);
556
+ if (truncated < 0 || truncated > 20) {
557
+ return fallback;
558
+ }
559
+ return truncated;
560
+ };
556
561
  export const isValidScopeValue = (value, localState, mainScope) => {
557
562
  if (value !== undefined && Object.keys(ScaleFactors).includes(value)) {
558
563
  return value;
@@ -805,6 +810,9 @@ export const isValidUint8Array = (value) => {
805
810
  if (value instanceof Uint8Array) {
806
811
  return value.byteLength > 0 ? value : undefined;
807
812
  }
813
+ if (value instanceof ArrayBuffer) {
814
+ return value.byteLength > 0 ? new Uint8Array(value) : undefined;
815
+ }
808
816
  if (typeof value === "string") {
809
817
  let base64String = value;
810
818
  if (value.startsWith("data:")) {
@@ -836,16 +844,6 @@ export const isValidUint8Array = (value) => {
836
844
  }
837
845
  return undefined;
838
846
  };
839
- /**
840
- * Validates a Standard id.
841
- * Returns the id if valid and present in standards, otherwise returns the default DUC standard id.
842
- */
843
- export const isValidStandardId = (id, standards, defaultId = PREDEFINED_STANDARDS.DUC) => {
844
- const validId = isValidString(id);
845
- if (isStandardIdPresent(validId, standards))
846
- return validId;
847
- return defaultId;
848
- };
849
847
  /**
850
848
  * Validates a block id.
851
849
  * Returns the id if present in restored blocks, otherwise returns null.
@@ -1,5 +1,5 @@
1
- import { ElementsConfig, RestoredDataState } from "./restoreDataState";
2
1
  import { BezierMirroring, DucElement, DucFreeDrawEasing, DucLocalState, DucPoint, ImportedDataState, OrderedDucElement, PrecisionValue, Scope } from "../types";
2
+ import { ElementsConfig, RestoredDataState } from "./restoreDataState";
3
3
  /**
4
4
  * Restores a point that might have legacy format (x,y as numbers)
5
5
  * @param point - The point to restore