@pdfme/ui 1.0.17 → 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 +12 -12
  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 +3 -3
  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,179 @@
1
+ import React from 'react';
2
+ import { round } from '../../../../helper.js';
3
+ const inputSetStyle = { marginRight: '1rem', display: 'flex', alignItems: 'center' };
4
+ const inputStyle = {
5
+ width: 70,
6
+ border: '1px solid #767676',
7
+ borderRadius: 2,
8
+ color: '#333',
9
+ background: 'none',
10
+ };
11
+ const buttonStyle = {
12
+ display: 'flex',
13
+ background: 'none',
14
+ alignItems: 'center',
15
+ borderRadius: 2,
16
+ border: '1px solid rgb(118, 118, 118)',
17
+ cursor: 'pointer',
18
+ };
19
+ const svgBaseProp = {
20
+ style: { width: '100%', height: '100%' },
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ enableBackground: 'new 0 0 24 24',
23
+ height: '24px',
24
+ viewBox: '0 0 24 24',
25
+ width: '24px',
26
+ fill: '#000000',
27
+ };
28
+ const PositionAndSizeEditor = (props) => {
29
+ const { changeSchemas, schemas, activeSchema, activeElements, pageSize } = props;
30
+ const align = (type) => {
31
+ const ids = activeElements.map((ae) => ae.id);
32
+ const ass = schemas.filter((s) => ids.includes(s.id));
33
+ const isVertical = ['left', 'center', 'right'].includes(type);
34
+ const tgtPos = isVertical ? 'x' : 'y';
35
+ const tgtSize = isVertical ? 'width' : 'height';
36
+ const isSingle = ass.length === 1;
37
+ const root = pageSize[tgtSize];
38
+ const min = isSingle ? 0 : Math.min(...ass.map((as) => as.position[tgtPos]));
39
+ const max = isSingle ? root : Math.max(...ass.map((as) => as.position[tgtPos] + as[tgtSize]));
40
+ let basePos = min;
41
+ let adjust = (_) => 0;
42
+ if (['center', 'middle'].includes(type)) {
43
+ basePos = (min + max) / 2;
44
+ adjust = (num) => num / 2;
45
+ }
46
+ else if (['right', 'bottom'].includes(type)) {
47
+ basePos = max;
48
+ adjust = (num) => num;
49
+ }
50
+ changeSchemas(ass.map((as) => ({
51
+ key: `position.${tgtPos}`,
52
+ value: round(basePos - adjust(as[tgtSize]), 2),
53
+ schemaId: as.id,
54
+ })));
55
+ };
56
+ const distribute = (type) => {
57
+ const ids = activeElements.map((ae) => ae.id);
58
+ const ass = schemas.filter((s) => ids.includes(s.id));
59
+ const isVertical = type === 'vertical';
60
+ const tgtPos = isVertical ? 'y' : 'x';
61
+ const tgtSize = isVertical ? 'height' : 'width';
62
+ const min = Math.min(...ass.map((as) => as.position[tgtPos]));
63
+ const max = Math.max(...ass.map((as) => as.position[tgtPos] + as[tgtSize]));
64
+ if (ass.length < 3)
65
+ return;
66
+ const boxPos = min;
67
+ const boxSize = max - min;
68
+ const sum = ass.reduce((acc, cur) => acc + cur[tgtSize], 0);
69
+ const remain = boxSize - sum;
70
+ const unit = remain / (ass.length - 1);
71
+ let prev = 0;
72
+ changeSchemas(ass.map((as, index) => {
73
+ prev += index === 0 ? 0 : ass[index - 1][tgtSize] + unit;
74
+ const value = round(boxPos + prev, 2);
75
+ return { key: `position.${tgtPos}`, value, schemaId: as.id };
76
+ }));
77
+ };
78
+ const layoutBtns = [
79
+ {
80
+ id: 'left',
81
+ icon: (React.createElement("svg", Object.assign({}, svgBaseProp),
82
+ React.createElement("rect", { fill: "none", height: "24", width: "24" }),
83
+ React.createElement("path", { d: "M4,22H2V2h2V22z M22,7H6v3h16V7z M16,14H6v3h10V14z" }))),
84
+ action: () => align('left'),
85
+ },
86
+ {
87
+ id: 'center',
88
+ icon: (React.createElement("svg", Object.assign({}, svgBaseProp),
89
+ React.createElement("rect", { fill: "none", height: "24", width: "24" }),
90
+ React.createElement("polygon", { points: "11,2 13,2 13,7 21,7 21,10 13,10 13,14 18,14 18,17 13,17 13,22 11,22 11,17 6,17 6,14 11,14 11,10 3,10 3,7 11,7" }))),
91
+ action: () => align('center'),
92
+ },
93
+ {
94
+ id: 'right',
95
+ icon: (React.createElement("svg", Object.assign({}, svgBaseProp),
96
+ React.createElement("rect", { fill: "none", height: "24", width: "24" }),
97
+ React.createElement("path", { d: "M20,2h2v20h-2V2z M2,10h16V7H2V10z M8,17h10v-3H8V17z" }))),
98
+ action: () => align('right'),
99
+ },
100
+ {
101
+ id: 'top',
102
+ icon: (React.createElement("svg", Object.assign({}, svgBaseProp),
103
+ React.createElement("rect", { fill: "none", height: "24", width: "24" }),
104
+ React.createElement("path", { d: "M22,2v2H2V2H22z M7,22h3V6H7V22z M14,16h3V6h-3V16z" }))),
105
+ action: () => align('top'),
106
+ },
107
+ {
108
+ id: 'middle',
109
+ icon: (React.createElement("svg", Object.assign({}, svgBaseProp),
110
+ React.createElement("rect", { fill: "none", height: "24", width: "24" }),
111
+ React.createElement("polygon", { points: "22,11 17,11 17,6 14,6 14,11 10,11 10,3 7,3 7,11 1.84,11 1.84,13 7,13 7,21 10,21 10,13 14,13 14,18 17,18 17,13 22,13" }))),
112
+ action: () => align('middle'),
113
+ },
114
+ {
115
+ id: 'bottom',
116
+ icon: (React.createElement("svg", Object.assign({}, svgBaseProp),
117
+ React.createElement("rect", { fill: "none", height: "24", width: "24" }),
118
+ React.createElement("path", { d: "M22,22H2v-2h20V22z M10,2H7v16h3V2z M17,8h-3v10h3V8z" }))),
119
+ action: () => align('bottom'),
120
+ },
121
+ {
122
+ id: 'vertical',
123
+ icon: (React.createElement("svg", Object.assign({}, svgBaseProp),
124
+ React.createElement("rect", { fill: "none", height: "24", width: "24" }),
125
+ React.createElement("path", { d: "M22,2v2H2V2H22z M7,10.5v3h10v-3H7z M2,20v2h20v-2H2z" }))),
126
+ action: () => distribute('vertical'),
127
+ },
128
+ {
129
+ id: 'horizontal',
130
+ icon: (React.createElement("svg", Object.assign({}, svgBaseProp),
131
+ React.createElement("rect", { fill: "none", height: "24", width: "24" }),
132
+ React.createElement("path", { d: "M4,22H2V2h2V22z M22,2h-2v20h2V2z M13.5,7h-3v10h3V7z" }))),
133
+ action: () => distribute('horizontal'),
134
+ },
135
+ ];
136
+ return (React.createElement("div", null,
137
+ React.createElement("div", { style: { display: 'flex', alignItems: 'center', marginBottom: '0.5rem' } }, layoutBtns.map((b) => (React.createElement("button", { key: b.id, title: b.id, onClick: b.action, style: buttonStyle },
138
+ React.createElement("object", { width: 15, height: 15 }, b.icon))))),
139
+ React.createElement("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between' } },
140
+ React.createElement("div", { style: inputSetStyle },
141
+ React.createElement("label", { style: { width: 17 } }, "X"),
142
+ React.createElement("input", { style: inputStyle, type: "number", onChange: (e) => {
143
+ const value = Number(e.target.value);
144
+ if (value >= 0 && activeSchema.width + value < pageSize.width) {
145
+ changeSchemas([{ key: 'position.x', value, schemaId: activeSchema.id }]);
146
+ }
147
+ }, value: activeSchema.position.x }),
148
+ React.createElement("span", { style: { fontSize: '0.6rem' } }, "mm")),
149
+ React.createElement("div", { style: inputSetStyle },
150
+ React.createElement("label", { style: { width: 17 } }, "Y"),
151
+ React.createElement("input", { style: inputStyle, type: "number", onChange: (e) => {
152
+ const value = Number(e.target.value);
153
+ if (value >= 0 && activeSchema.height + value < pageSize.height) {
154
+ changeSchemas([{ key: 'position.y', value, schemaId: activeSchema.id }]);
155
+ }
156
+ }, value: activeSchema.position.y }),
157
+ React.createElement("span", { style: { fontSize: '0.6rem' } }, "mm"))),
158
+ React.createElement("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between' } },
159
+ React.createElement("div", { style: inputSetStyle },
160
+ React.createElement("label", { style: { width: 17 } }, "W"),
161
+ React.createElement("input", { style: inputStyle, type: "number", onChange: (e) => {
162
+ const value = Number(e.target.value);
163
+ if (value >= 0 && activeSchema.position.x + value < pageSize.width) {
164
+ changeSchemas([{ key: 'width', value, schemaId: activeSchema.id }]);
165
+ }
166
+ }, value: activeSchema.width }),
167
+ React.createElement("span", { style: { fontSize: '0.6rem' } }, "mm")),
168
+ React.createElement("div", { style: inputSetStyle },
169
+ React.createElement("label", { style: { width: 17 } }, "H"),
170
+ React.createElement("input", { style: inputStyle, type: "number", onChange: (e) => {
171
+ const value = Number(e.target.value);
172
+ if (value >= 0 && activeSchema.position.y + value < pageSize.height) {
173
+ changeSchemas([{ key: 'height', value, schemaId: activeSchema.id }]);
174
+ }
175
+ }, value: activeSchema.height }),
176
+ React.createElement("span", { style: { fontSize: '0.6rem' } }, "mm")))));
177
+ };
178
+ export default PositionAndSizeEditor;
179
+ //# sourceMappingURL=PositionAndSizeEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositionAndSizeEditor.js","sourceRoot":"","sources":["../../../../../../../src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import React, { useContext } from 'react';
2
+ import { getFallbackFontName, DEFAULT_FONT_SIZE, DEFAULT_LINE_HEIGHT, DEFAULT_CHARACTER_SPACING, DEFAULT_FONT_COLOR, } from '@pdfme/common';
3
+ import { FontContext } from '../../../../contexts.js';
4
+ import { XMarkIcon } from '@heroicons/react/24/outline';
5
+ const inputStyle = {
6
+ width: '90%',
7
+ color: '#333',
8
+ background: 'none',
9
+ borderRadius: 2,
10
+ border: '1px solid #767676',
11
+ };
12
+ const selectStyle = inputStyle;
13
+ const NumberInputSet = (props) => {
14
+ const { label, value, width, onChange } = props;
15
+ return (React.createElement("div", { style: { width } },
16
+ React.createElement("label", null, label),
17
+ React.createElement("input", { style: inputStyle, onChange: onChange, value: value, type: "number" })));
18
+ };
19
+ const ColorInputSet = (props) => {
20
+ const { label, value, onChange, onClear } = props;
21
+ return (React.createElement("div", { style: { width: '45%' } },
22
+ React.createElement("label", null, label),
23
+ React.createElement("div", { style: { display: 'flex' } },
24
+ React.createElement("input", { onChange: onChange, value: value || '#ffffff', type: "color", style: inputStyle }),
25
+ React.createElement("button", { onClick: onClear, style: {
26
+ display: 'flex',
27
+ background: 'none',
28
+ alignItems: 'center',
29
+ borderRadius: 2,
30
+ border: '1px solid #767676',
31
+ cursor: 'pointer',
32
+ } },
33
+ React.createElement(XMarkIcon, { width: 10, height: 10 })))));
34
+ };
35
+ const SelectSet = (props) => {
36
+ const { label, value, options, onChange } = props;
37
+ return (React.createElement("div", { style: { width: '45%' } },
38
+ React.createElement("label", null,
39
+ label,
40
+ ":"),
41
+ React.createElement("select", { style: selectStyle, onChange: onChange, value: value }, options.map((o) => (React.createElement("option", { key: o, value: o }, o))))));
42
+ };
43
+ const TextPropEditor = (props) => {
44
+ var _a, _b, _c, _d, _e, _f, _g;
45
+ const { changeSchemas, activeSchema } = props;
46
+ const alignments = ['left', 'center', 'right'];
47
+ const font = useContext(FontContext);
48
+ const fallbackFontName = getFallbackFontName(font);
49
+ if (activeSchema.type !== 'text')
50
+ return React.createElement(React.Fragment, null);
51
+ return (React.createElement("div", { style: { fontSize: '0.7rem' } },
52
+ React.createElement("div", { style: {
53
+ display: 'flex',
54
+ alignItems: 'center',
55
+ justifyContent: 'space-between',
56
+ marginBottom: '0.25rem',
57
+ } },
58
+ React.createElement(SelectSet, { label: 'FontName', value: (_a = activeSchema.fontName) !== null && _a !== void 0 ? _a : fallbackFontName, options: Object.keys(font), onChange: (e) => {
59
+ changeSchemas([{ key: 'fontName', value: e.target.value, schemaId: activeSchema.id }]);
60
+ } }),
61
+ React.createElement(SelectSet, { label: 'Alignment', value: (_b = activeSchema.alignment) !== null && _b !== void 0 ? _b : 'left', options: alignments, onChange: (e) => changeSchemas([{ key: 'alignment', value: e.target.value, schemaId: activeSchema.id }]) })),
62
+ React.createElement("div", { style: {
63
+ display: 'flex',
64
+ alignItems: 'center',
65
+ justifyContent: 'space-between',
66
+ marginBottom: '0.25rem',
67
+ } },
68
+ React.createElement(NumberInputSet, { width: "30%", label: 'FontSize(pt)', value: (_c = activeSchema.fontSize) !== null && _c !== void 0 ? _c : DEFAULT_FONT_SIZE, onChange: (e) => changeSchemas([
69
+ { key: 'fontSize', value: Number(e.target.value), schemaId: activeSchema.id },
70
+ ]) }),
71
+ React.createElement(NumberInputSet, { width: "30%", label: 'LineHeight(em)', value: (_d = activeSchema.lineHeight) !== null && _d !== void 0 ? _d : DEFAULT_LINE_HEIGHT, onChange: (e) => changeSchemas([
72
+ { key: 'lineHeight', value: Number(e.target.value), schemaId: activeSchema.id },
73
+ ]) }),
74
+ React.createElement(NumberInputSet, { width: "40%", label: 'CharacterSpacing(pt)', value: (_e = activeSchema.characterSpacing) !== null && _e !== void 0 ? _e : DEFAULT_CHARACTER_SPACING, onChange: (e) => changeSchemas([
75
+ { key: 'characterSpacing', value: Number(e.target.value), schemaId: activeSchema.id },
76
+ ]) })),
77
+ React.createElement("div", { style: {
78
+ marginBottom: '0.25rem',
79
+ display: 'flex',
80
+ alignItems: 'center',
81
+ justifyContent: 'space-between',
82
+ } },
83
+ React.createElement(ColorInputSet, { label: 'FontColor', value: (_f = activeSchema.fontColor) !== null && _f !== void 0 ? _f : '#000000', onChange: (e) => changeSchemas([{ key: 'fontColor', value: e.target.value, schemaId: activeSchema.id }]), onClear: () => changeSchemas([
84
+ { key: 'fontColor', value: DEFAULT_FONT_COLOR, schemaId: activeSchema.id },
85
+ ]) }),
86
+ React.createElement(ColorInputSet, { label: 'Background', value: (_g = activeSchema.backgroundColor) !== null && _g !== void 0 ? _g : '#ffffff', onChange: (e) => changeSchemas([
87
+ { key: 'backgroundColor', value: e.target.value, schemaId: activeSchema.id },
88
+ ]), onClear: () => changeSchemas([{ key: 'backgroundColor', value: '', schemaId: activeSchema.id }]) }))));
89
+ };
90
+ export default TextPropEditor;
91
+ //# sourceMappingURL=TextPropEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextPropEditor.js","sourceRoot":"","sources":["../../../../../../../src/components/Designer/Sidebar/DetailView/TextPropEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import React, { useContext, useRef, useCallback } from 'react';
2
+ import { schemaTypes } from '@pdfme/common';
3
+ import { I18nContext } from '../../../../contexts.js';
4
+ const ErrorLabel = ({ isError, msg }) => (React.createElement("span", { style: { color: isError ? '#ffa19b' : 'inherit', fontWeight: isError ? 'bold' : 'inherit' } }, msg));
5
+ const TypeAndKeyEditor = (props) => {
6
+ const { changeSchemas, activeSchema, schemas } = props;
7
+ const i18n = useContext(I18nContext);
8
+ const inputRef = useRef(null);
9
+ const getHasSameKey = useCallback(() => {
10
+ const schemaKeys = schemas.map((s) => s.key);
11
+ const index = schemaKeys.indexOf(activeSchema.key);
12
+ if (index > -1) {
13
+ schemaKeys.splice(index, 1);
14
+ }
15
+ return schemaKeys.includes(activeSchema.key);
16
+ }, [schemas, activeSchema]);
17
+ const blankKey = !activeSchema.key;
18
+ const hasSameKey = getHasSameKey();
19
+ return (React.createElement("div", { style: { display: 'flex', alignItems: 'center' } },
20
+ React.createElement("div", null,
21
+ React.createElement("label", { style: { marginBottom: 0 } }, i18n('type')),
22
+ React.createElement("select", { style: {
23
+ width: '100%',
24
+ border: '1px solid #767676',
25
+ borderRadius: 2,
26
+ color: '#333',
27
+ background: 'none',
28
+ }, onChange: (e) => changeSchemas([{ key: 'type', value: e.target.value, schemaId: activeSchema.id }]), value: activeSchema.type }, schemaTypes.map((t) => (React.createElement("option", { key: t, value: t }, t))))),
29
+ React.createElement("div", null,
30
+ React.createElement("label", { style: { marginBottom: 0 } },
31
+ i18n('fieldName'),
32
+ React.createElement("u", { style: { fontSize: '0.7rem' } },
33
+ "(",
34
+ React.createElement(ErrorLabel, { msg: i18n('require'), isError: blankKey }),
35
+ "+",
36
+ React.createElement(ErrorLabel, { msg: i18n('uniq'), isError: hasSameKey }),
37
+ ")")),
38
+ React.createElement("input", { ref: inputRef, onChange: (e) => changeSchemas([{ key: 'key', value: e.target.value, schemaId: activeSchema.id }]), style: {
39
+ width: '100%',
40
+ border: '1px solid #767676',
41
+ borderRadius: 2,
42
+ color: '#333',
43
+ background: hasSameKey || blankKey ? '#ffa19b' : 'none',
44
+ }, value: activeSchema.key }))));
45
+ };
46
+ export default TypeAndKeyEditor;
47
+ //# sourceMappingURL=TypeAndKeyEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeAndKeyEditor.js","sourceRoot":"","sources":["../../../../../../../src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import React, { useContext } from 'react';
2
+ import { I18nContext } from '../../../../contexts.js';
3
+ import Divider from '../../../Divider.js';
4
+ import TextPropEditor from './TextPropEditor.js';
5
+ import ExampleInputEditor from './ExampleInputEditor.js';
6
+ import PositionAndSizeEditor from './PositionAndSizeEditor.js';
7
+ import TypeAndKeyEditor from './TypeAndKeyEditor.js';
8
+ const DetailView = (props) => {
9
+ const { activeSchema } = props;
10
+ const i18n = useContext(I18nContext);
11
+ return (React.createElement("div", null,
12
+ React.createElement("div", { style: { height: 40, display: 'flex', alignItems: 'center' } },
13
+ React.createElement("span", { style: { textAlign: 'center', width: '100%', fontWeight: 'bold' } }, i18n('editField'))),
14
+ React.createElement(Divider, null),
15
+ React.createElement("div", { style: { fontSize: '0.9rem' } },
16
+ React.createElement(TypeAndKeyEditor, Object.assign({}, props)),
17
+ React.createElement(Divider, null),
18
+ React.createElement(PositionAndSizeEditor, Object.assign({}, props)),
19
+ React.createElement(Divider, null),
20
+ activeSchema.type === 'text' && (React.createElement(React.Fragment, null,
21
+ React.createElement(TextPropEditor, Object.assign({}, props)),
22
+ React.createElement(Divider, null))),
23
+ React.createElement(ExampleInputEditor, Object.assign({}, props)))));
24
+ };
25
+ export default DetailView;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/components/Designer/Sidebar/DetailView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,MAAM,UAAU,GAAG,CACjB,KAEC,EACD,EAAE;IACF,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,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,WAAW,CAAC,CACb,CACH;QACN,oBAAC,OAAO,OAAG;QACX,6BAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAChC,oBAAC,gBAAgB,oBAAK,KAAK,EAAI;YAC/B,oBAAC,OAAO,OAAG;YACX,oBAAC,qBAAqB,oBAAK,KAAK,EAAI;YACpC,oBAAC,OAAO,OAAG;YACV,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,CAC/B;gBACE,oBAAC,cAAc,oBAAK,KAAK,EAAI;gBAC7B,oBAAC,OAAO,OAAG,CACV,CACJ;YACD,oBAAC,kBAAkB,oBAAK,KAAK,EAAI,CAC7B,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,51 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { useEffect, useContext } from 'react';
13
+ import { I18nContext } from '../../../../contexts.js';
14
+ import { ExclamationTriangleIcon } from '@heroicons/react/24/outline';
15
+ const Item = React.memo(React.forwardRef((_a, ref) => {
16
+ var { value, status, title, style, dragOverlay, onClick, onMouseEnter, onMouseLeave, dragging, fadeIn, listeners, sorting, transition, transform } = _a, props = __rest(_a, ["value", "status", "title", "style", "dragOverlay", "onClick", "onMouseEnter", "onMouseLeave", "dragging", "fadeIn", "listeners", "sorting", "transition", "transform"]);
17
+ const i18n = useContext(I18nContext);
18
+ useEffect(() => {
19
+ if (!dragOverlay) {
20
+ return;
21
+ }
22
+ document.body.style.cursor = 'grabbing';
23
+ return () => {
24
+ document.body.style.cursor = '';
25
+ };
26
+ }, [dragOverlay]);
27
+ const { x, y, scaleX, scaleY } = transform || { x: 0, y: 0, scaleX: 1, scaleY: 1 };
28
+ return (React.createElement("li", { style: {
29
+ transition,
30
+ transform: `translate(${x}px, ${y}px) scale(${scaleX}, ${scaleY})`,
31
+ }, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: ref },
32
+ React.createElement("div", Object.assign({ style: Object.assign({ display: 'flex', alignItems: 'center' }, style) }, props),
33
+ React.createElement("button", Object.assign({}, listeners, { style: { padding: '0.5rem', background: 'none', border: 'none', display: 'flex' } }),
34
+ React.createElement("object", { style: { cursor: 'grab' }, width: 15 },
35
+ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", width: "16", height: "16" },
36
+ React.createElement("path", { d: "M10 13a1 1 0 100-2 1 1 0 000 2zm-4 0a1 1 0 100-2 1 1 0 000 2zm1-5a1 1 0 11-2 0 1 1 0 012 0zm3 1a1 1 0 100-2 1 1 0 000 2zm1-5a1 1 0 11-2 0 1 1 0 012 0zM6 5a1 1 0 100-2 1 1 0 000 2z" })))),
37
+ React.createElement("div", { style: {
38
+ width: '100%',
39
+ padding: '0.5rem',
40
+ paddingLeft: 0,
41
+ cursor: 'pointer',
42
+ overflow: 'hidden',
43
+ whiteSpace: 'nowrap',
44
+ textOverflow: 'ellipsis',
45
+ }, title: title || '', onClick: () => onClick && onClick() }, status === undefined ? (value) : (React.createElement("span", { style: { display: 'flex', alignItems: 'center' } },
46
+ React.createElement(ExclamationTriangleIcon, { width: 15, style: { marginRight: '0.5rem' } }),
47
+ status === 'is-warning' ? i18n('noKeyName') : value,
48
+ status === 'is-danger' ? i18n('notUniq') : ''))))));
49
+ }));
50
+ export default Item;
51
+ //# sourceMappingURL=Item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../../../src/components/Designer/Sidebar/ListView/Item.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAkBtE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,KAAK,CAAC,UAAU,CACd,CACE,EAgBC,EACD,GAAG,EACH,EAAE;QAlBF,EACE,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,UAAU,EACV,SAAS,OAEV,EADI,KAAK,cAfV,wKAgBC,CADS;IAIV,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;QAExC,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAEnF,OAAO,CACL,4BACE,KAAK,EAAE;YACL,UAAU;YACV,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,MAAM,KAAK,MAAM,GAAG;SACnE,EACD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,GAAG;QAER,2CAAK,KAAK,kBAAI,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,IAAK,KAAK,KAAQ,KAAK;YACxE,gDACM,SAAS,IACb,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;gBAEjF,gCAAQ,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE;oBAC1C,6BAAK,KAAK,EAAC,4BAA4B,iBAAa,MAAM,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;wBAC/E,8BAAM,CAAC,EAAC,qLAAqL,GAAQ,CACjM,CACC,CACF;YACT,6BACE,KAAK,EAAE;oBACL,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,CAAC;oBACd,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,QAAQ;oBACpB,YAAY,EAAE,UAAU;iBACzB,EACD,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,IAElC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,KAAK,CACN,CAAC,CAAC,CAAC,CACF,8BAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE;gBACpD,oBAAC,uBAAuB,IAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAI;gBACvE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;gBACnD,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CACzC,CACR,CACG,CACF,CACH,CACN,CAAC;AACJ,CAAC,CACF,CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,80 @@
1
+ import React, { useState } from 'react';
2
+ import { createPortal } from 'react-dom';
3
+ import { closestCorners, DndContext, DragOverlay, KeyboardSensor, PointerSensor, useSensors, useSensor, } from '@dnd-kit/core';
4
+ import { SortableContext, arrayMove, sortableKeyboardCoordinates, verticalListSortingStrategy, } from '@dnd-kit/sortable';
5
+ import Item from './Item.js';
6
+ import SelectableSortableItem from './SelectableSortableItem.js';
7
+ const SelectableSortableContainer = (props) => {
8
+ const { schemas, onEdit, onSortEnd, height, hoveringSchemaId, onChangeHoveringSchemaId } = props;
9
+ const [selectedSchemas, setSelectedSchemas] = useState([]);
10
+ const [dragOverlaydItems, setClonedItems] = useState(null);
11
+ const [activeId, setActiveId] = useState(null);
12
+ const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 15 } }), useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }));
13
+ const isItemSelected = (itemId) => selectedSchemas.map((i) => i.id).includes(itemId);
14
+ const onSelectionChanged = (id, isShiftSelect) => {
15
+ if (isShiftSelect) {
16
+ if (isItemSelected(id)) {
17
+ const newSelectedSchemas = selectedSchemas.filter((item) => item.id !== id);
18
+ setSelectedSchemas(newSelectedSchemas);
19
+ }
20
+ else {
21
+ const newSelectedItem = schemas.find((schema) => schema.id === id);
22
+ const newSelectedSchemas = selectedSchemas.concat(newSelectedItem);
23
+ setSelectedSchemas(newSelectedSchemas);
24
+ }
25
+ }
26
+ else {
27
+ setSelectedSchemas([]);
28
+ }
29
+ };
30
+ return (React.createElement(DndContext, { sensors: sensors, collisionDetection: closestCorners, onDragStart: ({ active }) => {
31
+ setActiveId(active.id);
32
+ setClonedItems(schemas);
33
+ if (!isItemSelected(active.id)) {
34
+ const newSelectedSchemas = [];
35
+ setSelectedSchemas(newSelectedSchemas);
36
+ }
37
+ else if (selectedSchemas.length > 0) {
38
+ onSortEnd(selectedSchemas.reduce((ret, selectedItem) => {
39
+ if (selectedItem.id === active.id) {
40
+ return ret;
41
+ }
42
+ return ret.filter((schema) => schema !== selectedItem);
43
+ }, schemas));
44
+ }
45
+ }, onDragEnd: ({ active, over }) => {
46
+ const overId = (over === null || over === void 0 ? void 0 : over.id) || '';
47
+ const activeIndex = schemas.map((i) => i.id).indexOf(active.id);
48
+ const overIndex = schemas.map((i) => i.id).indexOf(overId);
49
+ if (selectedSchemas.length) {
50
+ let newSchemas = [...schemas];
51
+ newSchemas = arrayMove(newSchemas, activeIndex, overIndex);
52
+ newSchemas.splice(overIndex + 1, 0, ...selectedSchemas.filter((item) => item.id !== activeId));
53
+ onSortEnd(newSchemas);
54
+ setSelectedSchemas([]);
55
+ }
56
+ else if (activeIndex !== overIndex) {
57
+ onSortEnd(arrayMove(schemas, activeIndex, overIndex));
58
+ }
59
+ setActiveId(null);
60
+ }, onDragCancel: () => {
61
+ if (dragOverlaydItems) {
62
+ onSortEnd(dragOverlaydItems);
63
+ }
64
+ setActiveId(null);
65
+ setClonedItems(null);
66
+ } },
67
+ React.createElement("div", { style: { height, overflowY: 'auto' } },
68
+ React.createElement(SortableContext, { items: schemas, strategy: verticalListSortingStrategy },
69
+ React.createElement("ul", { style: { margin: 0, padding: 0, listStyle: 'none', borderRadius: 5 } }, schemas.map((schema) => (React.createElement(SelectableSortableItem, { key: schema.id, style: {
70
+ border: `1px solid ${schema.id === hoveringSchemaId ? '#18a0fb' : 'transparent'}`,
71
+ }, schema: schema, schemas: schemas, isSelected: isItemSelected(schema.id) || activeId === schema.id, onEdit: onEdit, onSelect: onSelectionChanged, onMouseEnter: () => onChangeHoveringSchemaId(schema.id), onMouseLeave: () => onChangeHoveringSchemaId(null) })))))),
72
+ createPortal(React.createElement(DragOverlay, { adjustScale: true }, activeId ? (React.createElement(React.Fragment, null,
73
+ React.createElement("ul", { style: { margin: 0, padding: 0, listStyle: 'none' } },
74
+ React.createElement(Item, { value: schemas.find((schema) => schema.id === activeId).key, style: { color: '#fff', background: '#18a0fb' }, dragOverlay: true })),
75
+ React.createElement("ul", { style: { margin: 0, padding: 0, listStyle: 'none' } }, selectedSchemas
76
+ .filter((item) => item.id !== activeId)
77
+ .map((item) => (React.createElement(Item, { key: item.id, value: item.key, style: { color: '#fff', background: '#18a0fb' }, dragOverlay: true })))))) : null), document.body)));
78
+ };
79
+ export default SelectableSortableContainer;
80
+ //# sourceMappingURL=SelectableSortableContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectableSortableContainer.js","sourceRoot":"","sources":["../../../../../../../src/components/Designer/Sidebar/ListView/SelectableSortableContainer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import React, { useContext } from 'react';
2
+ import { useSortable } from '@dnd-kit/sortable';
3
+ import { I18nContext } from '../../../../contexts.js';
4
+ import Item from './Item.js';
5
+ import { useMountStatus } from '../../../../hooks.js';
6
+ const SelectableSortableItem = ({ isSelected, style, onSelect, onEdit, schema, schemas, onMouseEnter, onMouseLeave, }) => {
7
+ const i18n = useContext(I18nContext);
8
+ const { setNodeRef, listeners, isDragging, isSorting, transform, transition } = useSortable({
9
+ id: schema.id,
10
+ });
11
+ const mounted = useMountStatus();
12
+ const mountedWhileDragging = isDragging && !mounted;
13
+ const newListeners = Object.assign(Object.assign({}, listeners), { onClick: (event) => onSelect(schema.id, event.shiftKey) });
14
+ let status;
15
+ if (!schema.key) {
16
+ status = 'is-warning';
17
+ }
18
+ else if (schemas.find((s) => schema.key && s.key === schema.key && s.id !== schema.id)) {
19
+ status = 'is-danger';
20
+ }
21
+ let title = i18n('edit');
22
+ if (status === 'is-warning') {
23
+ title = i18n('plsInputName');
24
+ }
25
+ else if (status === 'is-danger') {
26
+ title = i18n('fieldMustUniq');
27
+ }
28
+ const selectedStyle = isSelected
29
+ ? { color: '#fff', background: '#18a0fb', opacity: isSorting || isDragging ? 0.5 : 1 }
30
+ : {};
31
+ return (React.createElement(Item, { ref: setNodeRef, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onClick: () => onEdit(schema.id), value: schema.key, status: status, title: title, style: Object.assign(Object.assign({}, selectedStyle), style), dragging: isDragging, sorting: isSorting, transition: transition, transform: transform, fadeIn: mountedWhileDragging, listeners: newListeners }));
32
+ };
33
+ export default SelectableSortableItem;
34
+ //# sourceMappingURL=SelectableSortableItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectableSortableItem.js","sourceRoot":"","sources":["../../../../../../../src/components/Designer/Sidebar/ListView/SelectableSortableItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD,MAAM,sBAAsB,GAAG,CAAC,EAC9B,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,EACZ,YAAY,GACN,EAAE,EAAE;IACV,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;QAC1F,EAAE,EAAE,MAAM,CAAC,EAAE;KACd,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,oBAAoB,GAAG,UAAU,IAAI,CAAC,OAAO,CAAC;IAEpD,MAAM,YAAY,mCACb,SAAS,KACZ,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,GAC7D,CAAC;IAEF,IAAI,MAA8C,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;QACf,MAAM,GAAG,YAAY,CAAC;KACvB;SAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE;QACxF,MAAM,GAAG,WAAW,CAAC;KACtB;IAED,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,MAAM,KAAK,YAAY,EAAE;QAC3B,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;KAC9B;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE;QACjC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;KAC/B;IAED,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACtF,CAAC,CAAE,EAA0B,CAAC;IAEhC,OAAO,CACL,oBAAC,IAAI,IACH,GAAG,EAAE,UAAU,EACf,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,MAAM,CAAC,GAAG,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,kCAAO,aAAa,GAAK,KAAK,GACnC,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,oBAAoB,EAC5B,SAAS,EAAE,YAAY,GACvB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}