@pdfme/ui 1.0.18 → 1.1.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 (306) hide show
  1. package/declaration.d.ts +0 -4
  2. package/dist/cjs/__tests__/assets/helper.js +79 -0
  3. package/dist/cjs/__tests__/assets/helper.js.map +1 -0
  4. package/dist/cjs/__tests__/components/Designer.test.js +39 -0
  5. package/dist/cjs/__tests__/components/Designer.test.js.map +1 -0
  6. package/dist/cjs/__tests__/components/Preview.test.js +51 -0
  7. package/dist/cjs/__tests__/components/Preview.test.js.map +1 -0
  8. package/dist/cjs/__tests__/helper.test.js +94 -0
  9. package/dist/cjs/__tests__/helper.test.js.map +1 -0
  10. package/dist/cjs/src/Designer.js +62 -0
  11. package/dist/cjs/src/Designer.js.map +1 -0
  12. package/dist/cjs/src/Form.js +36 -0
  13. package/dist/cjs/src/Form.js.map +1 -0
  14. package/dist/cjs/src/Viewer.js +26 -0
  15. package/dist/cjs/src/Viewer.js.map +1 -0
  16. package/dist/cjs/src/assets/barcodeExamples/code128.png +0 -0
  17. package/dist/cjs/src/assets/barcodeExamples/code39.png +0 -0
  18. package/dist/cjs/src/assets/barcodeExamples/ean13.png +0 -0
  19. package/dist/cjs/src/assets/barcodeExamples/ean8.png +0 -0
  20. package/dist/cjs/src/assets/barcodeExamples/itf14.png +0 -0
  21. package/dist/cjs/src/assets/barcodeExamples/japanpost.png +0 -0
  22. package/dist/cjs/src/assets/barcodeExamples/nw7.png +0 -0
  23. package/dist/cjs/src/assets/barcodeExamples/qrcode.png +0 -0
  24. package/dist/cjs/src/assets/barcodeExamples/upca.png +0 -0
  25. package/dist/cjs/src/assets/barcodeExamples/upce.png +0 -0
  26. package/dist/cjs/src/class.js +120 -0
  27. package/dist/cjs/src/class.js.map +1 -0
  28. package/dist/cjs/src/components/CtlBar/Pager.js +49 -0
  29. package/dist/cjs/src/components/CtlBar/Pager.js.map +1 -0
  30. package/dist/cjs/src/components/CtlBar/Zoom.js +31 -0
  31. package/dist/cjs/src/components/CtlBar/Zoom.js.map +1 -0
  32. package/dist/cjs/src/components/CtlBar/index.js +33 -0
  33. package/dist/cjs/src/components/CtlBar/index.js.map +1 -0
  34. package/dist/cjs/src/components/Designer/Main/Guides.js +33 -0
  35. package/dist/cjs/src/components/Designer/Main/Guides.js.map +1 -0
  36. package/dist/cjs/src/components/Designer/Main/Mask.js +18 -0
  37. package/dist/cjs/src/components/Designer/Main/Mask.js.map +1 -0
  38. package/dist/cjs/src/components/Designer/Main/Moveable.js +37 -0
  39. package/dist/cjs/src/components/Designer/Main/Moveable.js.map +1 -0
  40. package/dist/cjs/src/components/Designer/Main/Selecto.js +11 -0
  41. package/dist/cjs/src/components/Designer/Main/Selecto.js.map +1 -0
  42. package/dist/cjs/src/components/Designer/Main/index.js +224 -0
  43. package/dist/cjs/src/components/Designer/Main/index.js.map +1 -0
  44. package/dist/cjs/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.js +69 -0
  45. package/dist/cjs/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.js.map +1 -0
  46. package/dist/cjs/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.js +184 -0
  47. package/dist/cjs/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.js.map +1 -0
  48. package/dist/cjs/src/components/Designer/Sidebar/DetailView/TextPropEditor.js +116 -0
  49. package/dist/cjs/src/components/Designer/Sidebar/DetailView/TextPropEditor.js.map +1 -0
  50. package/dist/cjs/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.js +72 -0
  51. package/dist/cjs/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.js.map +1 -0
  52. package/dist/cjs/src/components/Designer/Sidebar/DetailView/index.js +54 -0
  53. package/dist/cjs/src/components/Designer/Sidebar/DetailView/index.js.map +1 -0
  54. package/dist/cjs/src/components/Designer/Sidebar/ListView/Item.js +76 -0
  55. package/dist/cjs/src/components/Designer/Sidebar/ListView/Item.js.map +1 -0
  56. package/dist/cjs/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.js +108 -0
  57. package/dist/cjs/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.js.map +1 -0
  58. package/dist/cjs/src/components/Designer/Sidebar/ListView/SelectableSortableItem.js +62 -0
  59. package/dist/cjs/src/components/Designer/Sidebar/ListView/SelectableSortableItem.js.map +1 -0
  60. package/dist/cjs/src/components/Designer/Sidebar/ListView/index.js +84 -0
  61. package/dist/cjs/src/components/Designer/Sidebar/ListView/index.js.map +1 -0
  62. package/dist/cjs/src/components/Designer/Sidebar/index.js +105 -0
  63. package/dist/cjs/src/components/Designer/Sidebar/index.js.map +1 -0
  64. package/dist/cjs/src/components/Designer/index.js +235 -0
  65. package/dist/cjs/src/components/Designer/index.js.map +1 -0
  66. package/dist/cjs/src/components/Divider.js +9 -0
  67. package/dist/cjs/src/components/Divider.js.map +1 -0
  68. package/dist/cjs/src/components/Error.js +41 -0
  69. package/dist/cjs/src/components/Error.js.map +1 -0
  70. package/dist/cjs/src/components/Paper.js +63 -0
  71. package/dist/cjs/src/components/Paper.js.map +1 -0
  72. package/dist/cjs/src/components/Preview.js +102 -0
  73. package/dist/cjs/src/components/Preview.js.map +1 -0
  74. package/dist/cjs/src/components/Root.js +52 -0
  75. package/dist/cjs/src/components/Root.js.map +1 -0
  76. package/dist/cjs/src/components/Schemas/BarcodeSchema.js +107 -0
  77. package/dist/cjs/src/components/Schemas/BarcodeSchema.js.map +1 -0
  78. package/dist/cjs/src/components/Schemas/ImageSchema.js +72 -0
  79. package/dist/cjs/src/components/Schemas/ImageSchema.js.map +1 -0
  80. package/dist/cjs/src/components/Schemas/SchemaUI.js +55 -0
  81. package/dist/cjs/src/components/Schemas/SchemaUI.js.map +1 -0
  82. package/dist/cjs/src/components/Schemas/TextSchema.js +54 -0
  83. package/dist/cjs/src/components/Schemas/TextSchema.js.map +1 -0
  84. package/dist/cjs/src/components/Spinner.js +31 -0
  85. package/dist/cjs/src/components/Spinner.js.map +1 -0
  86. package/dist/cjs/src/components/UnitPager.js +63 -0
  87. package/dist/cjs/src/components/UnitPager.js.map +1 -0
  88. package/dist/cjs/src/constants.js +10 -0
  89. package/dist/cjs/src/constants.js.map +1 -0
  90. package/dist/cjs/src/contexts.js +10 -0
  91. package/dist/cjs/src/contexts.js.map +1 -0
  92. package/dist/cjs/src/helper.js +466 -0
  93. package/dist/cjs/src/helper.js.map +1 -0
  94. package/dist/cjs/src/hooks.js +100 -0
  95. package/dist/cjs/src/hooks.js.map +1 -0
  96. package/dist/cjs/src/i18n.js +50 -0
  97. package/dist/cjs/src/i18n.js.map +1 -0
  98. package/dist/cjs/src/index.js +24 -0
  99. package/dist/cjs/src/index.js.map +1 -0
  100. package/dist/esm/__tests__/assets/helper.js +51 -0
  101. package/dist/esm/__tests__/assets/helper.js.map +1 -0
  102. package/dist/esm/__tests__/components/Designer.test.js +34 -0
  103. package/dist/esm/__tests__/components/Designer.test.js.map +1 -0
  104. package/dist/esm/__tests__/components/Preview.test.js +46 -0
  105. package/dist/esm/__tests__/components/Preview.test.js.map +1 -0
  106. package/dist/esm/__tests__/helper.test.js +92 -0
  107. package/dist/esm/__tests__/helper.test.js.map +1 -0
  108. package/dist/esm/src/Designer.js +57 -0
  109. package/dist/esm/src/Designer.js.map +1 -0
  110. package/dist/esm/src/Form.js +31 -0
  111. package/dist/esm/src/Form.js.map +1 -0
  112. package/dist/esm/src/Viewer.js +21 -0
  113. package/dist/esm/src/Viewer.js.map +1 -0
  114. package/dist/esm/src/assets/barcodeExamples/code128.png +0 -0
  115. package/dist/esm/src/assets/barcodeExamples/code39.png +0 -0
  116. package/dist/esm/src/assets/barcodeExamples/ean13.png +0 -0
  117. package/dist/esm/src/assets/barcodeExamples/ean8.png +0 -0
  118. package/dist/esm/src/assets/barcodeExamples/itf14.png +0 -0
  119. package/dist/esm/src/assets/barcodeExamples/japanpost.png +0 -0
  120. package/dist/esm/src/assets/barcodeExamples/nw7.png +0 -0
  121. package/dist/esm/src/assets/barcodeExamples/qrcode.png +0 -0
  122. package/dist/esm/src/assets/barcodeExamples/upca.png +0 -0
  123. package/dist/esm/src/assets/barcodeExamples/upce.png +0 -0
  124. package/dist/esm/src/class.js +112 -0
  125. package/dist/esm/src/class.js.map +1 -0
  126. package/dist/esm/src/components/CtlBar/Pager.js +24 -0
  127. package/dist/esm/src/components/CtlBar/Pager.js.map +1 -0
  128. package/dist/esm/src/components/CtlBar/Zoom.js +26 -0
  129. package/dist/esm/src/components/CtlBar/Zoom.js.map +1 -0
  130. package/dist/esm/src/components/CtlBar/index.js +28 -0
  131. package/dist/esm/src/components/CtlBar/index.js.map +1 -0
  132. package/dist/esm/src/components/Designer/Main/Guides.js +28 -0
  133. package/dist/esm/src/components/Designer/Main/Guides.js.map +1 -0
  134. package/dist/esm/src/components/Designer/Main/Mask.js +13 -0
  135. package/dist/esm/src/components/Designer/Main/Mask.js.map +1 -0
  136. package/dist/esm/src/components/Designer/Main/Moveable.js +9 -0
  137. package/dist/esm/src/components/Designer/Main/Moveable.js.map +1 -0
  138. package/dist/esm/src/components/Designer/Main/Selecto.js +6 -0
  139. package/dist/esm/src/components/Designer/Main/Selecto.js.map +1 -0
  140. package/dist/esm/src/components/Designer/Main/index.js +196 -0
  141. package/dist/esm/src/components/Designer/Main/index.js.map +1 -0
  142. package/dist/esm/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.js +44 -0
  143. package/dist/esm/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.js.map +1 -0
  144. package/dist/esm/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.js +179 -0
  145. package/dist/esm/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.js.map +1 -0
  146. package/dist/esm/src/components/Designer/Sidebar/DetailView/TextPropEditor.js +91 -0
  147. package/dist/esm/src/components/Designer/Sidebar/DetailView/TextPropEditor.js.map +1 -0
  148. package/dist/esm/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.js +47 -0
  149. package/dist/esm/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.js.map +1 -0
  150. package/dist/esm/src/components/Designer/Sidebar/DetailView/index.js +26 -0
  151. package/dist/esm/src/components/Designer/Sidebar/DetailView/index.js.map +1 -0
  152. package/dist/esm/src/components/Designer/Sidebar/ListView/Item.js +51 -0
  153. package/dist/esm/src/components/Designer/Sidebar/ListView/Item.js.map +1 -0
  154. package/dist/esm/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.js +80 -0
  155. package/dist/esm/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.js.map +1 -0
  156. package/dist/esm/src/components/Designer/Sidebar/ListView/SelectableSortableItem.js +34 -0
  157. package/dist/esm/src/components/Designer/Sidebar/ListView/SelectableSortableItem.js.map +1 -0
  158. package/dist/esm/src/components/Designer/Sidebar/ListView/index.js +56 -0
  159. package/dist/esm/src/components/Designer/Sidebar/ListView/index.js.map +1 -0
  160. package/dist/esm/src/components/Designer/Sidebar/index.js +77 -0
  161. package/dist/esm/src/components/Designer/Sidebar/index.js.map +1 -0
  162. package/dist/esm/src/components/Designer/index.js +207 -0
  163. package/dist/esm/src/components/Designer/index.js.map +1 -0
  164. package/dist/esm/src/components/Divider.js +4 -0
  165. package/dist/esm/src/components/Divider.js.map +1 -0
  166. package/dist/esm/src/components/Error.js +16 -0
  167. package/dist/esm/src/components/Error.js.map +1 -0
  168. package/dist/esm/src/components/Paper.js +38 -0
  169. package/dist/esm/src/components/Paper.js.map +1 -0
  170. package/dist/esm/src/components/Preview.js +74 -0
  171. package/dist/esm/src/components/Preview.js.map +1 -0
  172. package/dist/esm/src/components/Root.js +24 -0
  173. package/dist/esm/src/components/Root.js.map +1 -0
  174. package/dist/esm/src/components/Schemas/BarcodeSchema.js +79 -0
  175. package/dist/esm/src/components/Schemas/BarcodeSchema.js.map +1 -0
  176. package/dist/esm/src/components/Schemas/ImageSchema.js +47 -0
  177. package/dist/esm/src/components/Schemas/ImageSchema.js.map +1 -0
  178. package/dist/esm/src/components/Schemas/SchemaUI.js +27 -0
  179. package/dist/esm/src/components/Schemas/SchemaUI.js.map +1 -0
  180. package/dist/esm/src/components/Schemas/TextSchema.js +29 -0
  181. package/dist/esm/src/components/Schemas/TextSchema.js.map +1 -0
  182. package/dist/esm/src/components/Spinner.js +26 -0
  183. package/dist/esm/src/components/Spinner.js.map +1 -0
  184. package/dist/esm/src/components/UnitPager.js +58 -0
  185. package/dist/esm/src/components/UnitPager.js.map +1 -0
  186. package/dist/esm/src/constants.js +7 -0
  187. package/dist/esm/src/constants.js.map +1 -0
  188. package/dist/esm/src/contexts.js +7 -0
  189. package/dist/esm/src/contexts.js.map +1 -0
  190. package/dist/esm/src/helper.js +439 -0
  191. package/dist/esm/src/helper.js.map +1 -0
  192. package/dist/esm/src/hooks.js +93 -0
  193. package/dist/esm/src/hooks.js.map +1 -0
  194. package/dist/esm/src/i18n.js +46 -0
  195. package/dist/esm/src/i18n.js.map +1 -0
  196. package/dist/esm/src/index.js +6 -0
  197. package/dist/esm/src/index.js.map +1 -0
  198. package/dist/types/__tests__/assets/helper.d.ts +3 -0
  199. package/dist/types/__tests__/components/Designer.test.d.ts +1 -0
  200. package/dist/types/__tests__/components/Preview.test.d.ts +1 -0
  201. package/dist/types/__tests__/helper.test.d.ts +1 -0
  202. package/dist/types/{Designer.d.ts → src/Designer.d.ts} +1 -1
  203. package/dist/types/{Form.d.ts → src/Form.d.ts} +1 -1
  204. package/dist/types/{Viewer.d.ts → src/Viewer.d.ts} +1 -1
  205. package/dist/types/{class.d.ts → src/class.d.ts} +12 -12
  206. package/dist/types/{components → src/components}/CtlBar/Pager.d.ts +1 -0
  207. package/dist/types/{components → src/components}/CtlBar/Zoom.d.ts +1 -0
  208. package/dist/types/{components → src/components}/CtlBar/index.d.ts +1 -0
  209. package/dist/types/{components → src/components}/Designer/Main/Guides.d.ts +0 -0
  210. package/dist/types/{components → src/components}/Designer/Main/Mask.d.ts +1 -0
  211. package/dist/types/{components → src/components}/Designer/Main/Moveable.d.ts +0 -0
  212. package/dist/types/{components → src/components}/Designer/Main/Selecto.d.ts +1 -0
  213. package/dist/types/{components → src/components}/Designer/Main/index.d.ts +0 -0
  214. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/ExampleInputEditor.d.ts +1 -0
  215. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/PositionAndSizeEditor.d.ts +2 -1
  216. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/TextPropEditor.d.ts +1 -0
  217. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/TypeAndKeyEditor.d.ts +2 -1
  218. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/index.d.ts +2 -1
  219. package/dist/types/{components → src/components}/Designer/Sidebar/ListView/Item.d.ts +0 -0
  220. package/dist/types/{components → src/components}/Designer/Sidebar/ListView/SelectableSortableContainer.d.ts +2 -1
  221. package/dist/types/{components → src/components}/Designer/Sidebar/ListView/SelectableSortableItem.d.ts +0 -0
  222. package/dist/types/{components → src/components}/Designer/Sidebar/ListView/index.d.ts +2 -1
  223. package/dist/types/{components → src/components}/Designer/Sidebar/index.d.ts +1 -0
  224. package/dist/types/{components → src/components}/Designer/index.d.ts +24 -23
  225. package/dist/types/{components → src/components}/Divider.d.ts +1 -0
  226. package/dist/types/{components → src/components}/Error.d.ts +1 -0
  227. package/dist/types/{components → src/components}/Paper.d.ts +0 -0
  228. package/dist/types/{components → src/components}/Preview.d.ts +1 -0
  229. package/dist/types/{components → src/components}/Root.d.ts +0 -0
  230. package/dist/types/{components → src/components}/Schemas/BarcodeSchema.d.ts +3 -3
  231. package/dist/types/{components → src/components}/Schemas/ImageSchema.d.ts +3 -3
  232. package/dist/types/{components → src/components}/Schemas/SchemaUI.d.ts +1 -1
  233. package/dist/types/{components → src/components}/Schemas/TextSchema.d.ts +7 -7
  234. package/dist/types/{components → src/components}/Spinner.d.ts +1 -0
  235. package/dist/types/{components → src/components}/UnitPager.d.ts +1 -0
  236. package/dist/types/{constants.d.ts → src/constants.d.ts} +0 -0
  237. package/dist/types/src/contexts.d.ts +7 -0
  238. package/dist/types/{helper.d.ts → src/helper.d.ts} +19 -19
  239. package/dist/types/{hooks.d.ts → src/hooks.d.ts} +1 -1
  240. package/dist/types/{i18n.d.ts → src/i18n.d.ts} +0 -9
  241. package/dist/types/{index.d.ts → src/index.d.ts} +3 -3
  242. package/package.json +22 -9
  243. package/src/Designer.tsx +5 -5
  244. package/src/Form.tsx +4 -4
  245. package/src/Viewer.tsx +4 -4
  246. package/src/class.ts +3 -3
  247. package/src/components/CtlBar/Pager.tsx +4 -5
  248. package/src/components/CtlBar/Zoom.tsx +4 -7
  249. package/src/components/CtlBar/index.tsx +2 -2
  250. package/src/components/Designer/Main/Guides.tsx +1 -1
  251. package/src/components/Designer/Main/Mask.tsx +1 -1
  252. package/src/components/Designer/Main/Selecto.tsx +1 -1
  253. package/src/components/Designer/Main/index.tsx +9 -9
  254. package/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.tsx +4 -4
  255. package/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.tsx +95 -19
  256. package/src/components/Designer/Sidebar/DetailView/TextPropEditor.tsx +3 -3
  257. package/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.tsx +2 -2
  258. package/src/components/Designer/Sidebar/DetailView/index.tsx +7 -7
  259. package/src/components/Designer/Sidebar/ListView/Item.tsx +8 -10
  260. package/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.tsx +3 -3
  261. package/src/components/Designer/Sidebar/ListView/SelectableSortableItem.tsx +3 -3
  262. package/src/components/Designer/Sidebar/ListView/index.tsx +5 -5
  263. package/src/components/Designer/Sidebar/index.tsx +11 -7
  264. package/src/components/Designer/index.tsx +9 -9
  265. package/src/components/Error.tsx +1 -1
  266. package/src/components/Paper.tsx +2 -2
  267. package/src/components/Preview.tsx +9 -9
  268. package/src/components/Root.tsx +2 -3
  269. package/src/components/Schemas/BarcodeSchema.tsx +2 -2
  270. package/src/components/Schemas/ImageSchema.tsx +6 -6
  271. package/src/components/Schemas/SchemaUI.tsx +4 -4
  272. package/src/components/Schemas/TextSchema.tsx +2 -2
  273. package/src/components/UnitPager.tsx +11 -12
  274. package/src/contexts.ts +2 -2
  275. package/src/helper.ts +2 -2
  276. package/src/hooks.ts +2 -2
  277. package/src/i18n.ts +1 -19
  278. package/src/index.ts +3 -3
  279. package/tsconfig.cjs.json +10 -0
  280. package/tsconfig.esm.json +10 -0
  281. package/dist/index.js +0 -3
  282. package/dist/index.js.LICENSE.txt +0 -97
  283. package/dist/index.js.map +0 -1
  284. package/dist/types/contexts.d.ts +0 -7
  285. package/src/assets/icons/add.svg +0 -3
  286. package/src/assets/icons/align-horizontal-center.svg +0 -1
  287. package/src/assets/icons/align-horizontal-left.svg +0 -1
  288. package/src/assets/icons/align-horizontal-right.svg +0 -1
  289. package/src/assets/icons/align-vertical-bottom.svg +0 -1
  290. package/src/assets/icons/align-vertical-middle.svg +0 -1
  291. package/src/assets/icons/align-vertical-top.svg +0 -1
  292. package/src/assets/icons/back.svg +0 -4
  293. package/src/assets/icons/close.svg +0 -4
  294. package/src/assets/icons/double-left.svg +0 -11
  295. package/src/assets/icons/double-right.svg +0 -11
  296. package/src/assets/icons/drag.svg +0 -3
  297. package/src/assets/icons/forward.svg +0 -4
  298. package/src/assets/icons/horizontal-distribute.svg +0 -1
  299. package/src/assets/icons/left.svg +0 -4
  300. package/src/assets/icons/remove.svg +0 -3
  301. package/src/assets/icons/right.svg +0 -4
  302. package/src/assets/icons/vertical-distribute.svg +0 -1
  303. package/src/assets/icons/warning.svg +0 -4
  304. package/src/assets/imageExample.png +0 -0
  305. package/tsconfig.json +0 -22
  306. package/webpack.config.js +0 -54
@@ -0,0 +1,56 @@
1
+ import React, { useContext, useState } from 'react';
2
+ import { RULER_HEIGHT, SIDEBAR_WIDTH } from '../../../../constants.js';
3
+ import { I18nContext } from '../../../../contexts.js';
4
+ import Divider from '../../../Divider.js';
5
+ import SelectableSortableContainer from './SelectableSortableContainer.js';
6
+ const ListView = (props) => {
7
+ const { schemas, onSortEnd, onEdit, size, hoveringSchemaId, onChangeHoveringSchemaId, changeSchemas, } = props;
8
+ const i18n = useContext(I18nContext);
9
+ const [isBulkUpdateFieldNamesMode, setIsBulkUpdateFieldNamesMode] = useState(false);
10
+ const [fieldNamesValue, setFieldNamesValue] = useState('');
11
+ const height = size.height - RULER_HEIGHT - RULER_HEIGHT / 2 - 145;
12
+ return (React.createElement("div", null,
13
+ React.createElement("div", { style: { height: 40, display: 'flex', alignItems: 'center' } },
14
+ React.createElement("span", { style: { textAlign: 'center', width: '100%', fontWeight: 'bold' } }, i18n('fieldsList'))),
15
+ React.createElement(Divider, null),
16
+ isBulkUpdateFieldNamesMode ? (React.createElement("div", null,
17
+ React.createElement("textarea", { wrap: "off", value: fieldNamesValue, onChange: (e) => setFieldNamesValue(e.target.value), style: {
18
+ height: height - 5,
19
+ width: SIDEBAR_WIDTH,
20
+ fontSize: '1rem',
21
+ lineHeight: '2.5rem',
22
+ background: 'transparent',
23
+ margin: 0,
24
+ padding: '1rem',
25
+ boxSizing: 'border-box',
26
+ fontFamily: 'inherit',
27
+ } }))) : (React.createElement(SelectableSortableContainer, { height: height, schemas: schemas, hoveringSchemaId: hoveringSchemaId, onChangeHoveringSchemaId: onChangeHoveringSchemaId, onSortEnd: onSortEnd, onEdit: onEdit })),
28
+ React.createElement("div", { style: {
29
+ display: 'flex',
30
+ justifyContent: 'flex-end',
31
+ cursor: 'pointer',
32
+ fontSize: '0.75rem',
33
+ } }, isBulkUpdateFieldNamesMode ? (React.createElement(React.Fragment, null,
34
+ React.createElement("u", { onClick: () => {
35
+ const names = fieldNamesValue.split('\n');
36
+ if (names.length !== schemas.length) {
37
+ alert(i18n('errorBulkUpdateFieldName'));
38
+ }
39
+ else {
40
+ changeSchemas(names.map((value, index) => ({
41
+ key: 'key',
42
+ value,
43
+ schemaId: schemas[index].id,
44
+ })));
45
+ setIsBulkUpdateFieldNamesMode(false);
46
+ }
47
+ } }, i18n('commitBulkUpdateFieldName')),
48
+ React.createElement("span", { style: { margin: '0 1rem' } }, "/"),
49
+ React.createElement("u", { onClick: () => setIsBulkUpdateFieldNamesMode(false) }, i18n('cancel')))) : (React.createElement("u", { onClick: () => {
50
+ setFieldNamesValue(schemas.map((s) => s.key).join('\n'));
51
+ setIsBulkUpdateFieldNamesMode(true);
52
+ } }, i18n('bulkUpdateFieldName')))),
53
+ React.createElement(Divider, null)));
54
+ };
55
+ export default ListView;
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/components/Designer/Sidebar/ListView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAG3E,MAAM,QAAQ,GAAG,CACf,KASC,EACD,EAAE;IACF,MAAM,EACJ,OAAO,EACP,SAAS,EACT,MAAM,EACN,IAAI,EACJ,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,GACd,GAAG,KAAK,CAAC;IACV,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpF,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC;IACnE,OAAO,CACL;QACE,6BAAK,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE;YAC/D,8BAAM,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IACpE,IAAI,CAAC,YAAY,CAAC,CACd,CACH;QACN,oBAAC,OAAO,OAAG;QACV,0BAA0B,CAAC,CAAC,CAAC,CAC5B;YACE,kCACE,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACnD,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM,GAAG,CAAC;oBAClB,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,aAAa;oBACzB,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,SAAS;iBACtB,GACS,CACR,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,2BAA2B,IAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACd,CACH;QAED,6BACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,UAAU;gBAC1B,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,SAAS;aACpB,IAEA,0BAA0B,CAAC,CAAC,CAAC,CAC5B;YACE,2BACE,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;wBACnC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;qBACzC;yBAAM;wBACL,aAAa,CACX,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;4BAC3B,GAAG,EAAE,KAAK;4BACV,KAAK;4BACL,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;yBAC5B,CAAC,CAAC,CACJ,CAAC;wBACF,6BAA6B,CAAC,KAAK,CAAC,CAAC;qBACtC;gBACH,CAAC,IAEA,IAAI,CAAC,2BAA2B,CAAC,CAChC;YACJ,8BAAM,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAU;YAC3C,2BAAG,OAAO,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAAC,IAAG,IAAI,CAAC,QAAQ,CAAC,CAAK,CAC3E,CACJ,CAAC,CAAC,CAAC,CACF,2BACE,OAAO,EAAE,GAAG,EAAE;gBACZ,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC,IAEA,IAAI,CAAC,qBAAqB,CAAC,CAC1B,CACL,CACG;QACN,oBAAC,OAAO,OAAG,CACP,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,77 @@
1
+ import React, { useState, useContext } from 'react';
2
+ import { RULER_HEIGHT, SIDEBAR_WIDTH } from '../../../constants.js';
3
+ import { I18nContext } from '../../../contexts.js';
4
+ import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline';
5
+ import ListView from './ListView/index.js';
6
+ import DetailView from './DetailView/index.js';
7
+ const Sidebar = (props) => {
8
+ const { height, size, activeElements, schemas, addSchema } = props;
9
+ const i18n = useContext(I18nContext);
10
+ const [open, setOpen] = useState(true);
11
+ const getActiveSchemas = () => {
12
+ const ids = activeElements.map((ae) => ae.id);
13
+ return schemas.filter((s) => ids.includes(s.id));
14
+ };
15
+ const getLastActiveSchema = () => {
16
+ const activeSchemas = getActiveSchemas();
17
+ return activeSchemas[activeSchemas.length - 1];
18
+ };
19
+ return (React.createElement("div", { style: {
20
+ position: 'absolute',
21
+ right: 0,
22
+ zIndex: 1,
23
+ height: height ? height : '100%',
24
+ width: open ? SIDEBAR_WIDTH : 0,
25
+ } },
26
+ React.createElement("div", { style: { position: 'sticky', top: 0, zIndex: 1, fontSize: '1rem' } },
27
+ React.createElement("button", { style: {
28
+ position: 'absolute',
29
+ top: '1.75rem',
30
+ right: '0.5rem',
31
+ zIndex: 100,
32
+ border: 'none',
33
+ borderRadius: 2,
34
+ padding: '0.5rem',
35
+ cursor: 'pointer',
36
+ background: '#eee',
37
+ width: 30,
38
+ height: 30,
39
+ }, onClick: () => setOpen(!open) }, open ? (React.createElement(ArrowRightIcon, { width: 15, height: 15 })) : (React.createElement(ArrowLeftIcon, { width: 15, height: 15 }))),
40
+ React.createElement("div", { style: {
41
+ width: SIDEBAR_WIDTH,
42
+ height: size.height - RULER_HEIGHT - RULER_HEIGHT / 2,
43
+ display: open ? 'block' : 'none',
44
+ top: RULER_HEIGHT / 2,
45
+ right: 0,
46
+ position: 'absolute',
47
+ background: '#ffffffed',
48
+ color: '#333',
49
+ border: '1px solid #eee',
50
+ padding: '0.5rem',
51
+ overflowY: 'auto',
52
+ fontFamily: "'Open Sans', sans-serif",
53
+ fontWeight: 400,
54
+ textAlign: 'left',
55
+ boxSizing: 'content-box',
56
+ } },
57
+ getActiveSchemas().length === 0 ? (React.createElement(ListView, Object.assign({}, props))) : (React.createElement(DetailView, Object.assign({}, props, { activeSchema: getLastActiveSchema() }))),
58
+ React.createElement("div", { style: {
59
+ display: 'flex',
60
+ justifyContent: 'space-around',
61
+ position: 'absolute',
62
+ width: '100%',
63
+ left: 0,
64
+ bottom: '1rem',
65
+ paddingTop: '1rem',
66
+ } },
67
+ React.createElement("button", { style: {
68
+ padding: '0.5rem',
69
+ background: '#18a0fb',
70
+ border: 'none',
71
+ borderRadius: 2,
72
+ cursor: 'pointer',
73
+ }, onClick: addSchema },
74
+ React.createElement("strong", { style: { color: '#fff' } }, i18n('addNewField'))))))));
75
+ };
76
+ export default Sidebar;
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Designer/Sidebar/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import React, { useRef, useState, useEffect, useContext, useCallback } from 'react';
11
+ import Sidebar from './Sidebar/index.js';
12
+ import Main from './Main/index.js';
13
+ import { ZOOM, RULER_HEIGHT } from '../../constants.js';
14
+ import { I18nContext } from '../../contexts.js';
15
+ import { uuid, set, cloneDeep, initShortCuts, destroyShortCuts, templateSchemas2SchemasList, fmtTemplate, getInitialSchema, getSampleByType, getKeepRatioHeightByWidth, getUniqSchemaKey, moveCommandToChangeSchemasArg, getPagesScrollTopByIndex, } from '../../helper.js';
16
+ import { useUIPreProcessor, useScrollPageCursor } from '../../hooks.js';
17
+ import Root from '../Root.js';
18
+ import Error from '../Error.js';
19
+ import CtlBar from '../CtlBar/index.js';
20
+ const TemplateEditor = ({ template, size, onSaveTemplate, onChangeTemplate, }) => {
21
+ const copiedSchemas = useRef(null);
22
+ const past = useRef([]);
23
+ const future = useRef([]);
24
+ const mainRef = useRef(null);
25
+ const paperRefs = useRef([]);
26
+ const i18n = useContext(I18nContext);
27
+ const [hoveringSchemaId, setHoveringSchemaId] = useState(null);
28
+ const [activeElements, setActiveElements] = useState([]);
29
+ const [schemasList, setSchemasList] = useState([[]]);
30
+ const [pageCursor, setPageCursor] = useState(0);
31
+ const [zoomLevel, setZoomLevel] = useState(1);
32
+ const { backgrounds, pageSizes, scale, error } = useUIPreProcessor({ template, size, zoomLevel });
33
+ const onEdit = (targets) => {
34
+ setActiveElements(targets);
35
+ setHoveringSchemaId(null);
36
+ };
37
+ const onEditEnd = () => {
38
+ setActiveElements([]);
39
+ setHoveringSchemaId(null);
40
+ };
41
+ useScrollPageCursor({
42
+ ref: mainRef,
43
+ pageSizes,
44
+ scale,
45
+ pageCursor,
46
+ onChangePageCursor: (p) => {
47
+ setPageCursor(p);
48
+ onEditEnd();
49
+ },
50
+ });
51
+ const modifiedTemplate = fmtTemplate(template, schemasList);
52
+ const commitSchemas = useCallback((newSchemas) => {
53
+ future.current = [];
54
+ past.current.push(cloneDeep(schemasList[pageCursor]));
55
+ const _schemasList = cloneDeep(schemasList);
56
+ _schemasList[pageCursor] = newSchemas;
57
+ setSchemasList(_schemasList);
58
+ onChangeTemplate(fmtTemplate(template, _schemasList));
59
+ }, [template, schemasList, pageCursor, onChangeTemplate]);
60
+ const removeSchemas = useCallback((ids) => {
61
+ commitSchemas(schemasList[pageCursor].filter((schema) => !ids.includes(schema.id)));
62
+ onEditEnd();
63
+ }, [schemasList, pageCursor, commitSchemas]);
64
+ const changeSchemas = useCallback((objs) => {
65
+ const newSchemas = objs.reduce((acc, { key, value, schemaId }) => {
66
+ const tgt = acc.find((s) => s.id === schemaId);
67
+ // Assign to reference
68
+ set(tgt, key, value);
69
+ if (key === 'type') {
70
+ const type = String(value);
71
+ // set default value, text or barcode
72
+ set(tgt, 'data', getSampleByType(type));
73
+ // For barcodes, adjust the height to get the correct ratio.
74
+ if (value !== 'text') {
75
+ set(tgt, 'height', getKeepRatioHeightByWidth(type, tgt.width));
76
+ }
77
+ }
78
+ return acc;
79
+ }, cloneDeep(schemasList[pageCursor]));
80
+ commitSchemas(newSchemas);
81
+ }, [commitSchemas, pageCursor, schemasList]);
82
+ const initEvents = useCallback(() => {
83
+ const getActiveSchemas = () => {
84
+ const ids = activeElements.map((ae) => ae.id);
85
+ return schemasList[pageCursor].filter((s) => ids.includes(s.id));
86
+ };
87
+ const timeTravel = (mode) => {
88
+ const isUndo = mode === 'undo';
89
+ const stack = isUndo ? past : future;
90
+ if (stack.current.length <= 0)
91
+ return;
92
+ (isUndo ? future : past).current.push(cloneDeep(schemasList[pageCursor]));
93
+ const s = cloneDeep(schemasList);
94
+ s[pageCursor] = stack.current.pop();
95
+ setSchemasList(s);
96
+ };
97
+ initShortCuts({
98
+ move: (command, isShift) => {
99
+ const pageSize = pageSizes[pageCursor];
100
+ const activeSchemas = getActiveSchemas();
101
+ const arg = moveCommandToChangeSchemasArg({ command, activeSchemas, pageSize, isShift });
102
+ changeSchemas(arg);
103
+ },
104
+ copy: () => {
105
+ const activeSchemas = getActiveSchemas();
106
+ if (activeSchemas.length === 0)
107
+ return;
108
+ copiedSchemas.current = activeSchemas;
109
+ },
110
+ paste: () => {
111
+ if (!copiedSchemas.current || copiedSchemas.current.length === 0)
112
+ return;
113
+ const schema = schemasList[pageCursor];
114
+ const stackUniqSchemaKeys = [];
115
+ const pasteSchemas = copiedSchemas.current.map((cs) => {
116
+ const id = uuid();
117
+ const key = getUniqSchemaKey({ copiedSchemaKey: cs.key, schema, stackUniqSchemaKeys });
118
+ const { height, width, position: p } = cs;
119
+ const ps = pageSizes[pageCursor];
120
+ const position = {
121
+ x: p.x + 10 > ps.width - width ? ps.width - width : p.x + 10,
122
+ y: p.y + 10 > ps.height - height ? ps.height - height : p.y + 10,
123
+ };
124
+ return Object.assign(cloneDeep(cs), { id, key, position });
125
+ });
126
+ commitSchemas(schemasList[pageCursor].concat(pasteSchemas));
127
+ onEdit(pasteSchemas.map((s) => document.getElementById(s.id)));
128
+ copiedSchemas.current = pasteSchemas;
129
+ },
130
+ redo: () => timeTravel('redo'),
131
+ undo: () => timeTravel('undo'),
132
+ save: () => onSaveTemplate && onSaveTemplate(modifiedTemplate),
133
+ remove: () => removeSchemas(getActiveSchemas().map((s) => s.id)),
134
+ esc: onEditEnd,
135
+ selectAll: () => onEdit(schemasList[pageCursor].map((s) => document.getElementById(s.id))),
136
+ });
137
+ }, [
138
+ activeElements,
139
+ changeSchemas,
140
+ commitSchemas,
141
+ modifiedTemplate,
142
+ pageCursor,
143
+ pageSizes,
144
+ removeSchemas,
145
+ onSaveTemplate,
146
+ schemasList,
147
+ ]);
148
+ const destroyEvents = useCallback(() => {
149
+ destroyShortCuts();
150
+ }, []);
151
+ const updateTemplate = useCallback((newTemplate) => __awaiter(void 0, void 0, void 0, function* () {
152
+ var _a;
153
+ const sl = yield templateSchemas2SchemasList(newTemplate);
154
+ setSchemasList(sl);
155
+ onEditEnd();
156
+ setPageCursor(0);
157
+ if ((_a = mainRef.current) === null || _a === void 0 ? void 0 : _a.scroll) {
158
+ mainRef.current.scroll({ top: 0, behavior: 'smooth' });
159
+ }
160
+ }), []);
161
+ useEffect(() => {
162
+ updateTemplate(template);
163
+ }, [template, updateTemplate]);
164
+ useEffect(() => {
165
+ initEvents();
166
+ return destroyEvents;
167
+ }, [initEvents, destroyEvents]);
168
+ const addSchema = () => {
169
+ const s = getInitialSchema();
170
+ const paper = paperRefs.current[pageCursor];
171
+ const rectTop = paper ? paper.getBoundingClientRect().top : 0;
172
+ s.position.y = rectTop > 0 ? 0 : pageSizes[pageCursor].height / 2;
173
+ s.data = 'text';
174
+ s.key = `${i18n('field')}${schemasList[pageCursor].length + 1}`;
175
+ commitSchemas(schemasList[pageCursor].concat(s));
176
+ setTimeout(() => onEdit([document.getElementById(s.id)]));
177
+ };
178
+ const onSortEnd = (sortedSchemas) => {
179
+ commitSchemas(sortedSchemas);
180
+ };
181
+ const onChangeHoveringSchemaId = (id) => {
182
+ setHoveringSchemaId(id);
183
+ };
184
+ if (error) {
185
+ return React.createElement(Error, { size: size, error: error });
186
+ }
187
+ return (React.createElement(Root, { size: size, scale: scale },
188
+ React.createElement(CtlBar, { size: size, pageCursor: pageCursor, pageNum: schemasList.length, setPageCursor: (p) => {
189
+ if (!mainRef.current)
190
+ return;
191
+ mainRef.current.scrollTop = getPagesScrollTopByIndex(pageSizes, p, scale);
192
+ setPageCursor(p);
193
+ onEditEnd();
194
+ }, zoomLevel: zoomLevel, setZoomLevel: (zoom) => {
195
+ if (mainRef.current) {
196
+ mainRef.current.scrollTop = getPagesScrollTopByIndex(pageSizes, pageCursor, scale);
197
+ }
198
+ setZoomLevel(zoom);
199
+ } }),
200
+ React.createElement(Sidebar, { hoveringSchemaId: hoveringSchemaId, onChangeHoveringSchemaId: onChangeHoveringSchemaId, height: mainRef.current ? mainRef.current.clientHeight : 0, size: size, pageSize: pageSizes[pageCursor], activeElements: activeElements, schemas: schemasList[pageCursor], changeSchemas: changeSchemas, onSortEnd: onSortEnd, onEdit: (id) => {
201
+ const editingElem = document.getElementById(id);
202
+ editingElem && onEdit([editingElem]);
203
+ }, onEditEnd: onEditEnd, addSchema: addSchema }),
204
+ React.createElement(Main, { ref: mainRef, paperRefs: paperRefs, hoveringSchemaId: hoveringSchemaId, onChangeHoveringSchemaId: onChangeHoveringSchemaId, height: size.height - RULER_HEIGHT * ZOOM, pageCursor: pageCursor, scale: scale, size: size, pageSizes: pageSizes, backgrounds: backgrounds, activeElements: activeElements, schemasList: schemasList, changeSchemas: changeSchemas, removeSchemas: removeSchemas, onEdit: onEdit })));
205
+ };
206
+ export default TemplateEditor;
207
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Designer/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ const Divider = () => (React.createElement("div", { style: { marginTop: '0.5rem', marginBottom: '0.5rem', borderBottom: '1px solid #e5e5e5' } }));
3
+ export default Divider;
4
+ //# sourceMappingURL=Divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../../../src/components/Divider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CACpB,6BAAK,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAI,CACnG,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React, { useContext } from 'react';
2
+ import { I18nContext } from '../contexts.js';
3
+ const Error = ({ size, error }) => {
4
+ const i18n = useContext(I18nContext);
5
+ return (React.createElement("div", { style: Object.assign({ position: 'relative', background: 'rgb(74, 74, 74)', overflow: 'auto', display: 'flex', alignItems: 'center', justifyContent: 'center' }, size) },
6
+ React.createElement("span", { style: { color: '#fff', textAlign: 'center' } },
7
+ React.createElement("span", { style: { fontSize: 'large', fontWeight: 'bold', borderBottom: '1px solid #fff' } },
8
+ "ERROR: ",
9
+ i18n('errorOccurred')),
10
+ React.createElement("br", null),
11
+ React.createElement("span", { style: { fontSize: 'small' } },
12
+ "*",
13
+ error.message))));
14
+ };
15
+ export default Error;
16
+ //# sourceMappingURL=Error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Error.js","sourceRoot":"","sources":["../../../../src/components/Error.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgC,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,OAAO,CACL,6BACE,KAAK,kBACH,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,QAAQ,EACpB,cAAc,EAAE,QAAQ,IACrB,IAAI;QAGT,8BAAM,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;YACjD,8BAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE;;gBAC5E,IAAI,CAAC,eAAe,CAAC,CACxB;YACP,+BAAM;YACN,8BAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;;gBAAI,KAAK,CAAC,OAAO,CAAQ,CACtD,CACH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,38 @@
1
+ import React, { useContext } from 'react';
2
+ import { getFallbackFontName } from '@pdfme/common';
3
+ import { FontContext } from '../contexts.js';
4
+ import { ZOOM, RULER_HEIGHT } from '../constants.js';
5
+ const Paper = (porps) => {
6
+ const { paperRefs, scale, size, schemasList, pageSizes, backgrounds, renderPaper, renderSchema } = porps;
7
+ const font = useContext(FontContext);
8
+ if (pageSizes.length !== backgrounds.length || pageSizes.length !== schemasList.length) {
9
+ return null;
10
+ }
11
+ return (React.createElement("div", { style: Object.assign({ transform: `scale(${scale})`, transformOrigin: 'center top' }, size) }, backgrounds.map((background, paperIndex) => {
12
+ const pageSize = pageSizes[paperIndex];
13
+ const paperSize = { width: pageSize.width * ZOOM, height: pageSize.height * ZOOM };
14
+ return (React.createElement("div", { id: `@pdfme/ui-paper${paperIndex}`, key: paperIndex + JSON.stringify(paperSize), ref: (e) => {
15
+ if (e) {
16
+ paperRefs.current[paperIndex] = e;
17
+ }
18
+ }, onClick: (e) => {
19
+ if (e.currentTarget === e.target &&
20
+ document &&
21
+ document.hasFocus() &&
22
+ document.activeElement instanceof HTMLElement) {
23
+ document.activeElement.blur();
24
+ }
25
+ }, style: Object.assign({ fontFamily: `'${getFallbackFontName(font)}'`, top: `${RULER_HEIGHT}px`, left: paperSize.width > size.width ? `${(size.width - paperSize.width) / 2}px` : 0, margin: '0 auto', position: 'relative', backgroundImage: `url(${background})`, backgroundSize: `${paperSize.width}px ${paperSize.height}px` }, paperSize) },
26
+ renderPaper && renderPaper({ paperSize, index: paperIndex }),
27
+ schemasList[paperIndex].map((schema, schemaIndex) => {
28
+ return (React.createElement("div", { key: schema.id }, renderSchema({
29
+ schema,
30
+ index: paperIndex === 0
31
+ ? schemaIndex
32
+ : schemaIndex + schemasList[paperIndex - 1].length,
33
+ })));
34
+ })));
35
+ })));
36
+ };
37
+ export default Paper;
38
+ //# sourceMappingURL=Paper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paper.js","sourceRoot":"","sources":["../../../../src/components/Paper.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import React, { useCallback, useRef, useState, useEffect } from 'react';
11
+ import { ZOOM, RULER_HEIGHT } from '../constants.js';
12
+ import UnitPager from './UnitPager.js';
13
+ import Root from './Root.js';
14
+ import Error from './Error.js';
15
+ import CtlBar from './CtlBar/index.js';
16
+ import Paper from './Paper.js';
17
+ import SchemaUI from './Schemas/SchemaUI.js';
18
+ import { useUIPreProcessor, useScrollPageCursor } from '../hooks.js';
19
+ import { templateSchemas2SchemasList, getPagesScrollTopByIndex } from '../helper.js';
20
+ const Preview = ({ template, inputs, size, onChangeInput }) => {
21
+ const rootRef = useRef(null);
22
+ const paperRefs = useRef([]);
23
+ const [unitCursor, setUnitCursor] = useState(0);
24
+ const [pageCursor, setPageCursor] = useState(0);
25
+ const [zoomLevel, setZoomLevel] = useState(1);
26
+ const [schemasList, setSchemasList] = useState([[]]);
27
+ const { backgrounds, pageSizes, scale, error } = useUIPreProcessor({ template, size, zoomLevel });
28
+ const init = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
29
+ const sl = yield templateSchemas2SchemasList(template);
30
+ setSchemasList(sl);
31
+ }), [template]);
32
+ useEffect(() => {
33
+ if (unitCursor > inputs.length - 1) {
34
+ setUnitCursor(inputs.length - 1);
35
+ }
36
+ }, [inputs]);
37
+ useEffect(() => {
38
+ init();
39
+ }, [init]);
40
+ useScrollPageCursor({
41
+ ref: rootRef,
42
+ pageSizes,
43
+ scale,
44
+ pageCursor,
45
+ onChangePageCursor: (p) => setPageCursor(p),
46
+ });
47
+ const handleChangeInput = ({ key, value }) => onChangeInput && onChangeInput({ index: unitCursor, key, value });
48
+ const editable = Boolean(onChangeInput);
49
+ const input = inputs[unitCursor];
50
+ if (error) {
51
+ return React.createElement(Error, { size: size, error: error });
52
+ }
53
+ const pageSizesHeightSum = pageSizes.reduce((acc, cur) => acc + (cur.height * ZOOM + RULER_HEIGHT * scale) * scale, 0);
54
+ return (React.createElement(Root, { ref: rootRef, size: size, scale: scale },
55
+ React.createElement(CtlBar, { size: { height: Math.max(size.height, pageSizesHeightSum), width: size.width }, pageCursor: pageCursor, pageNum: schemasList.length, setPageCursor: (p) => {
56
+ if (!rootRef.current)
57
+ return;
58
+ rootRef.current.scrollTop = getPagesScrollTopByIndex(pageSizes, p, scale);
59
+ setPageCursor(p);
60
+ }, zoomLevel: zoomLevel, setZoomLevel: (zoom) => {
61
+ if (rootRef.current) {
62
+ rootRef.current.scrollTop = getPagesScrollTopByIndex(pageSizes, pageCursor, scale);
63
+ }
64
+ setZoomLevel(zoom);
65
+ } }),
66
+ React.createElement(UnitPager, { size: { height: Math.max(size.height, pageSizesHeightSum), width: size.width }, unitCursor: unitCursor, unitNum: inputs.length, setUnitCursor: setUnitCursor }),
67
+ React.createElement(Paper, { paperRefs: paperRefs, scale: scale, size: size, schemasList: schemasList, pageSizes: pageSizes, backgrounds: backgrounds, renderSchema: ({ schema, index }) => {
68
+ const { key } = schema;
69
+ const data = (input && input[key]) || '';
70
+ return (React.createElement(SchemaUI, { key: schema.id, schema: Object.assign(schema, { data }), editable: editable, placeholder: template.sampledata ? template.sampledata[0][key] : '', tabIndex: index + 100, onChange: (value) => handleChangeInput({ key, value }), border: editable ? '1px dashed #4af' : 'transparent' }));
71
+ } })));
72
+ };
73
+ export default Preview;
74
+ //# sourceMappingURL=Preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Preview.js","sourceRoot":"","sources":["../../../../src/components/Preview.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import React, { useContext, forwardRef, useEffect } from 'react';
2
+ import { FontContext } from '../contexts.js';
3
+ import Spinner from './Spinner.js';
4
+ const Root = ({ size, scale, children }, ref) => {
5
+ const font = useContext(FontContext);
6
+ useEffect(() => {
7
+ const fontFaces = Object.entries(font).map((entry) => {
8
+ const [key, value] = entry;
9
+ const fontFace = new FontFace(key, value.data);
10
+ return fontFace.load();
11
+ });
12
+ Promise.all(fontFaces).then((loadedFontFaces) => {
13
+ loadedFontFaces.forEach((loadedFontFace) => {
14
+ if (document && document.fonts && document.fonts.add) {
15
+ document.fonts.add(loadedFontFace);
16
+ }
17
+ });
18
+ });
19
+ }, [font]);
20
+ return (React.createElement("div", { ref: ref, style: Object.assign({ position: 'relative', background: 'rgb(74, 74, 74)', overflow: 'overlay' }, size) },
21
+ React.createElement("div", { style: Object.assign({ margin: '0 auto' }, size) }, scale === 0 ? React.createElement(Spinner, null) : children)));
22
+ };
23
+ export default forwardRef(Root);
24
+ //# sourceMappingURL=Root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Root.js","sourceRoot":"","sources":["../../../../src/components/Root.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAkB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,OAAO,MAAM,cAAc,CAAC;AAInC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,GAAwB,EAAE,EAAE;IAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;YAC9C,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;gBACzC,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;oBACpD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;iBACpC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,EACR,KAAK,kBAAI,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,IAAK,IAAI;QAE1F,6BAAK,KAAK,kBAAI,MAAM,EAAE,QAAQ,IAAK,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAC,OAAO,OAAG,CAAC,CAAC,CAAC,QAAQ,CAAO,CACnF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAwB,IAAI,CAAC,CAAC"}