@pdfme/ui 1.0.18 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/dist/cjs/__tests__/assets/helper.js +79 -0
  2. package/dist/cjs/__tests__/assets/helper.js.map +1 -0
  3. package/dist/cjs/__tests__/components/Designer.test.js +39 -0
  4. package/dist/cjs/__tests__/components/Designer.test.js.map +1 -0
  5. package/dist/cjs/__tests__/components/Preview.test.js +51 -0
  6. package/dist/cjs/__tests__/components/Preview.test.js.map +1 -0
  7. package/dist/cjs/__tests__/helper.test.js +94 -0
  8. package/dist/cjs/__tests__/helper.test.js.map +1 -0
  9. package/dist/cjs/src/Designer.js +62 -0
  10. package/dist/cjs/src/Designer.js.map +1 -0
  11. package/dist/cjs/src/Form.js +36 -0
  12. package/dist/cjs/src/Form.js.map +1 -0
  13. package/dist/cjs/src/Viewer.js +26 -0
  14. package/dist/cjs/src/Viewer.js.map +1 -0
  15. package/dist/cjs/src/class.js +120 -0
  16. package/dist/cjs/src/class.js.map +1 -0
  17. package/dist/cjs/src/components/CtlBar/Pager.js +49 -0
  18. package/dist/cjs/src/components/CtlBar/Pager.js.map +1 -0
  19. package/dist/cjs/src/components/CtlBar/Zoom.js +31 -0
  20. package/dist/cjs/src/components/CtlBar/Zoom.js.map +1 -0
  21. package/dist/cjs/src/components/CtlBar/index.js +33 -0
  22. package/dist/cjs/src/components/CtlBar/index.js.map +1 -0
  23. package/dist/cjs/src/components/Designer/Main/Guides.js +33 -0
  24. package/dist/cjs/src/components/Designer/Main/Guides.js.map +1 -0
  25. package/dist/cjs/src/components/Designer/Main/Mask.js +18 -0
  26. package/dist/cjs/src/components/Designer/Main/Mask.js.map +1 -0
  27. package/dist/cjs/src/components/Designer/Main/Moveable.js +37 -0
  28. package/dist/cjs/src/components/Designer/Main/Moveable.js.map +1 -0
  29. package/dist/cjs/src/components/Designer/Main/Selecto.js +11 -0
  30. package/dist/cjs/src/components/Designer/Main/Selecto.js.map +1 -0
  31. package/dist/cjs/src/components/Designer/Main/index.js +224 -0
  32. package/dist/cjs/src/components/Designer/Main/index.js.map +1 -0
  33. package/dist/cjs/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.js +69 -0
  34. package/dist/cjs/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.js.map +1 -0
  35. package/dist/cjs/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.js +184 -0
  36. package/dist/cjs/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.js.map +1 -0
  37. package/dist/cjs/src/components/Designer/Sidebar/DetailView/TextPropEditor.js +116 -0
  38. package/dist/cjs/src/components/Designer/Sidebar/DetailView/TextPropEditor.js.map +1 -0
  39. package/dist/cjs/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.js +72 -0
  40. package/dist/cjs/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.js.map +1 -0
  41. package/dist/cjs/src/components/Designer/Sidebar/DetailView/index.js +54 -0
  42. package/dist/cjs/src/components/Designer/Sidebar/DetailView/index.js.map +1 -0
  43. package/dist/cjs/src/components/Designer/Sidebar/ListView/Item.js +76 -0
  44. package/dist/cjs/src/components/Designer/Sidebar/ListView/Item.js.map +1 -0
  45. package/dist/cjs/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.js +108 -0
  46. package/dist/cjs/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.js.map +1 -0
  47. package/dist/cjs/src/components/Designer/Sidebar/ListView/SelectableSortableItem.js +62 -0
  48. package/dist/cjs/src/components/Designer/Sidebar/ListView/SelectableSortableItem.js.map +1 -0
  49. package/dist/cjs/src/components/Designer/Sidebar/ListView/index.js +84 -0
  50. package/dist/cjs/src/components/Designer/Sidebar/ListView/index.js.map +1 -0
  51. package/dist/cjs/src/components/Designer/Sidebar/index.js +105 -0
  52. package/dist/cjs/src/components/Designer/Sidebar/index.js.map +1 -0
  53. package/dist/cjs/src/components/Designer/index.js +235 -0
  54. package/dist/cjs/src/components/Designer/index.js.map +1 -0
  55. package/dist/cjs/src/components/Divider.js +9 -0
  56. package/dist/cjs/src/components/Divider.js.map +1 -0
  57. package/dist/cjs/src/components/Error.js +41 -0
  58. package/dist/cjs/src/components/Error.js.map +1 -0
  59. package/dist/cjs/src/components/Paper.js +63 -0
  60. package/dist/cjs/src/components/Paper.js.map +1 -0
  61. package/dist/cjs/src/components/Preview.js +102 -0
  62. package/dist/cjs/src/components/Preview.js.map +1 -0
  63. package/dist/cjs/src/components/Root.js +52 -0
  64. package/dist/cjs/src/components/Root.js.map +1 -0
  65. package/dist/cjs/src/components/Schemas/BarcodeSchema.js +94 -0
  66. package/dist/cjs/src/components/Schemas/BarcodeSchema.js.map +1 -0
  67. package/dist/cjs/src/components/Schemas/ImageSchema.js +72 -0
  68. package/dist/cjs/src/components/Schemas/ImageSchema.js.map +1 -0
  69. package/dist/cjs/src/components/Schemas/SchemaUI.js +55 -0
  70. package/dist/cjs/src/components/Schemas/SchemaUI.js.map +1 -0
  71. package/dist/cjs/src/components/Schemas/TextSchema.js +54 -0
  72. package/dist/cjs/src/components/Schemas/TextSchema.js.map +1 -0
  73. package/dist/cjs/src/components/Spinner.js +31 -0
  74. package/dist/cjs/src/components/Spinner.js.map +1 -0
  75. package/dist/cjs/src/components/UnitPager.js +63 -0
  76. package/dist/cjs/src/components/UnitPager.js.map +1 -0
  77. package/dist/cjs/src/constants.js +10 -0
  78. package/dist/cjs/src/constants.js.map +1 -0
  79. package/dist/cjs/src/contexts.js +10 -0
  80. package/dist/cjs/src/contexts.js.map +1 -0
  81. package/dist/cjs/src/helper.js +466 -0
  82. package/dist/cjs/src/helper.js.map +1 -0
  83. package/dist/cjs/src/hooks.js +100 -0
  84. package/dist/cjs/src/hooks.js.map +1 -0
  85. package/dist/cjs/src/i18n.js +50 -0
  86. package/dist/cjs/src/i18n.js.map +1 -0
  87. package/dist/cjs/src/index.js +24 -0
  88. package/dist/cjs/src/index.js.map +1 -0
  89. package/dist/esm/__tests__/assets/helper.js +51 -0
  90. package/dist/esm/__tests__/assets/helper.js.map +1 -0
  91. package/dist/esm/__tests__/components/Designer.test.js +34 -0
  92. package/dist/esm/__tests__/components/Designer.test.js.map +1 -0
  93. package/dist/esm/__tests__/components/Preview.test.js +46 -0
  94. package/dist/esm/__tests__/components/Preview.test.js.map +1 -0
  95. package/dist/esm/__tests__/helper.test.js +92 -0
  96. package/dist/esm/__tests__/helper.test.js.map +1 -0
  97. package/dist/esm/src/Designer.js +57 -0
  98. package/dist/esm/src/Designer.js.map +1 -0
  99. package/dist/esm/src/Form.js +31 -0
  100. package/dist/esm/src/Form.js.map +1 -0
  101. package/dist/esm/src/Viewer.js +21 -0
  102. package/dist/esm/src/Viewer.js.map +1 -0
  103. package/dist/esm/src/class.js +112 -0
  104. package/dist/esm/src/class.js.map +1 -0
  105. package/dist/esm/src/components/CtlBar/Pager.js +24 -0
  106. package/dist/esm/src/components/CtlBar/Pager.js.map +1 -0
  107. package/dist/esm/src/components/CtlBar/Zoom.js +26 -0
  108. package/dist/esm/src/components/CtlBar/Zoom.js.map +1 -0
  109. package/dist/esm/src/components/CtlBar/index.js +28 -0
  110. package/dist/esm/src/components/CtlBar/index.js.map +1 -0
  111. package/dist/esm/src/components/Designer/Main/Guides.js +28 -0
  112. package/dist/esm/src/components/Designer/Main/Guides.js.map +1 -0
  113. package/dist/esm/src/components/Designer/Main/Mask.js +13 -0
  114. package/dist/esm/src/components/Designer/Main/Mask.js.map +1 -0
  115. package/dist/esm/src/components/Designer/Main/Moveable.js +9 -0
  116. package/dist/esm/src/components/Designer/Main/Moveable.js.map +1 -0
  117. package/dist/esm/src/components/Designer/Main/Selecto.js +6 -0
  118. package/dist/esm/src/components/Designer/Main/Selecto.js.map +1 -0
  119. package/dist/esm/src/components/Designer/Main/index.js +196 -0
  120. package/dist/esm/src/components/Designer/Main/index.js.map +1 -0
  121. package/dist/esm/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.js +44 -0
  122. package/dist/esm/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.js.map +1 -0
  123. package/dist/esm/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.js +179 -0
  124. package/dist/esm/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.js.map +1 -0
  125. package/dist/esm/src/components/Designer/Sidebar/DetailView/TextPropEditor.js +91 -0
  126. package/dist/esm/src/components/Designer/Sidebar/DetailView/TextPropEditor.js.map +1 -0
  127. package/dist/esm/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.js +47 -0
  128. package/dist/esm/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.js.map +1 -0
  129. package/dist/esm/src/components/Designer/Sidebar/DetailView/index.js +26 -0
  130. package/dist/esm/src/components/Designer/Sidebar/DetailView/index.js.map +1 -0
  131. package/dist/esm/src/components/Designer/Sidebar/ListView/Item.js +51 -0
  132. package/dist/esm/src/components/Designer/Sidebar/ListView/Item.js.map +1 -0
  133. package/dist/esm/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.js +80 -0
  134. package/dist/esm/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.js.map +1 -0
  135. package/dist/esm/src/components/Designer/Sidebar/ListView/SelectableSortableItem.js +34 -0
  136. package/dist/esm/src/components/Designer/Sidebar/ListView/SelectableSortableItem.js.map +1 -0
  137. package/dist/esm/src/components/Designer/Sidebar/ListView/index.js +56 -0
  138. package/dist/esm/src/components/Designer/Sidebar/ListView/index.js.map +1 -0
  139. package/dist/esm/src/components/Designer/Sidebar/index.js +77 -0
  140. package/dist/esm/src/components/Designer/Sidebar/index.js.map +1 -0
  141. package/dist/esm/src/components/Designer/index.js +207 -0
  142. package/dist/esm/src/components/Designer/index.js.map +1 -0
  143. package/dist/esm/src/components/Divider.js +4 -0
  144. package/dist/esm/src/components/Divider.js.map +1 -0
  145. package/dist/esm/src/components/Error.js +16 -0
  146. package/dist/esm/src/components/Error.js.map +1 -0
  147. package/dist/esm/src/components/Paper.js +38 -0
  148. package/dist/esm/src/components/Paper.js.map +1 -0
  149. package/dist/esm/src/components/Preview.js +74 -0
  150. package/dist/esm/src/components/Preview.js.map +1 -0
  151. package/dist/esm/src/components/Root.js +24 -0
  152. package/dist/esm/src/components/Root.js.map +1 -0
  153. package/dist/esm/src/components/Schemas/BarcodeSchema.js +69 -0
  154. package/dist/esm/src/components/Schemas/BarcodeSchema.js.map +1 -0
  155. package/dist/esm/src/components/Schemas/ImageSchema.js +47 -0
  156. package/dist/esm/src/components/Schemas/ImageSchema.js.map +1 -0
  157. package/dist/esm/src/components/Schemas/SchemaUI.js +27 -0
  158. package/dist/esm/src/components/Schemas/SchemaUI.js.map +1 -0
  159. package/dist/esm/src/components/Schemas/TextSchema.js +29 -0
  160. package/dist/esm/src/components/Schemas/TextSchema.js.map +1 -0
  161. package/dist/esm/src/components/Spinner.js +26 -0
  162. package/dist/esm/src/components/Spinner.js.map +1 -0
  163. package/dist/esm/src/components/UnitPager.js +58 -0
  164. package/dist/esm/src/components/UnitPager.js.map +1 -0
  165. package/dist/esm/src/constants.js +7 -0
  166. package/dist/esm/src/constants.js.map +1 -0
  167. package/dist/esm/src/contexts.js +7 -0
  168. package/dist/esm/src/contexts.js.map +1 -0
  169. package/dist/esm/src/helper.js +439 -0
  170. package/dist/esm/src/helper.js.map +1 -0
  171. package/dist/esm/src/hooks.js +93 -0
  172. package/dist/esm/src/hooks.js.map +1 -0
  173. package/dist/esm/src/i18n.js +46 -0
  174. package/dist/esm/src/i18n.js.map +1 -0
  175. package/dist/esm/src/index.js +6 -0
  176. package/dist/esm/src/index.js.map +1 -0
  177. package/dist/types/__tests__/assets/helper.d.ts +3 -0
  178. package/dist/types/__tests__/components/Designer.test.d.ts +1 -0
  179. package/dist/types/__tests__/components/Preview.test.d.ts +1 -0
  180. package/dist/types/__tests__/helper.test.d.ts +1 -0
  181. package/dist/types/{Designer.d.ts → src/Designer.d.ts} +1 -1
  182. package/dist/types/{Form.d.ts → src/Form.d.ts} +1 -1
  183. package/dist/types/{Viewer.d.ts → src/Viewer.d.ts} +1 -1
  184. package/dist/types/{class.d.ts → src/class.d.ts} +12 -12
  185. package/dist/types/{components → src/components}/CtlBar/Pager.d.ts +1 -0
  186. package/dist/types/{components → src/components}/CtlBar/Zoom.d.ts +1 -0
  187. package/dist/types/{components → src/components}/CtlBar/index.d.ts +1 -0
  188. package/dist/types/{components → src/components}/Designer/Main/Guides.d.ts +0 -0
  189. package/dist/types/{components → src/components}/Designer/Main/Mask.d.ts +1 -0
  190. package/dist/types/{components → src/components}/Designer/Main/Moveable.d.ts +0 -0
  191. package/dist/types/{components → src/components}/Designer/Main/Selecto.d.ts +1 -0
  192. package/dist/types/{components → src/components}/Designer/Main/index.d.ts +0 -0
  193. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/ExampleInputEditor.d.ts +1 -0
  194. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/PositionAndSizeEditor.d.ts +2 -1
  195. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/TextPropEditor.d.ts +1 -0
  196. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/TypeAndKeyEditor.d.ts +2 -1
  197. package/dist/types/{components → src/components}/Designer/Sidebar/DetailView/index.d.ts +2 -1
  198. package/dist/types/{components → src/components}/Designer/Sidebar/ListView/Item.d.ts +0 -0
  199. package/dist/types/{components → src/components}/Designer/Sidebar/ListView/SelectableSortableContainer.d.ts +2 -1
  200. package/dist/types/{components → src/components}/Designer/Sidebar/ListView/SelectableSortableItem.d.ts +0 -0
  201. package/dist/types/{components → src/components}/Designer/Sidebar/ListView/index.d.ts +2 -1
  202. package/dist/types/{components → src/components}/Designer/Sidebar/index.d.ts +1 -0
  203. package/dist/types/{components → src/components}/Designer/index.d.ts +24 -23
  204. package/dist/types/{components → src/components}/Divider.d.ts +1 -0
  205. package/dist/types/{components → src/components}/Error.d.ts +1 -0
  206. package/dist/types/{components → src/components}/Paper.d.ts +0 -0
  207. package/dist/types/{components → src/components}/Preview.d.ts +1 -0
  208. package/dist/types/{components → src/components}/Root.d.ts +0 -0
  209. package/dist/types/{components → src/components}/Schemas/BarcodeSchema.d.ts +3 -3
  210. package/dist/types/{components → src/components}/Schemas/ImageSchema.d.ts +3 -3
  211. package/dist/types/{components → src/components}/Schemas/SchemaUI.d.ts +1 -1
  212. package/dist/types/{components → src/components}/Schemas/TextSchema.d.ts +7 -7
  213. package/dist/types/{components → src/components}/Spinner.d.ts +1 -0
  214. package/dist/types/{components → src/components}/UnitPager.d.ts +1 -0
  215. package/dist/types/{constants.d.ts → src/constants.d.ts} +0 -0
  216. package/dist/types/src/contexts.d.ts +7 -0
  217. package/dist/types/{helper.d.ts → src/helper.d.ts} +19 -19
  218. package/dist/types/{hooks.d.ts → src/hooks.d.ts} +1 -1
  219. package/dist/types/{i18n.d.ts → src/i18n.d.ts} +0 -9
  220. package/dist/types/{index.d.ts → src/index.d.ts} +3 -3
  221. package/package.json +19 -9
  222. package/src/Designer.tsx +5 -5
  223. package/src/Form.tsx +4 -4
  224. package/src/Viewer.tsx +4 -4
  225. package/src/class.ts +3 -3
  226. package/src/components/CtlBar/Pager.tsx +4 -5
  227. package/src/components/CtlBar/Zoom.tsx +4 -7
  228. package/src/components/CtlBar/index.tsx +2 -2
  229. package/src/components/Designer/Main/Guides.tsx +1 -1
  230. package/src/components/Designer/Main/Mask.tsx +1 -1
  231. package/src/components/Designer/Main/Selecto.tsx +1 -1
  232. package/src/components/Designer/Main/index.tsx +9 -9
  233. package/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.tsx +4 -4
  234. package/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.tsx +95 -19
  235. package/src/components/Designer/Sidebar/DetailView/TextPropEditor.tsx +3 -3
  236. package/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.tsx +2 -2
  237. package/src/components/Designer/Sidebar/DetailView/index.tsx +7 -7
  238. package/src/components/Designer/Sidebar/ListView/Item.tsx +8 -10
  239. package/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.tsx +3 -3
  240. package/src/components/Designer/Sidebar/ListView/SelectableSortableItem.tsx +3 -3
  241. package/src/components/Designer/Sidebar/ListView/index.tsx +5 -5
  242. package/src/components/Designer/Sidebar/index.tsx +11 -7
  243. package/src/components/Designer/index.tsx +9 -9
  244. package/src/components/Error.tsx +1 -1
  245. package/src/components/Paper.tsx +2 -2
  246. package/src/components/Preview.tsx +9 -9
  247. package/src/components/Root.tsx +2 -3
  248. package/src/components/Schemas/BarcodeSchema.tsx +18 -22
  249. package/src/components/Schemas/ImageSchema.tsx +6 -6
  250. package/src/components/Schemas/SchemaUI.tsx +4 -4
  251. package/src/components/Schemas/TextSchema.tsx +2 -2
  252. package/src/components/UnitPager.tsx +11 -12
  253. package/src/contexts.ts +2 -2
  254. package/src/helper.ts +2 -2
  255. package/src/hooks.ts +2 -2
  256. package/src/i18n.ts +1 -19
  257. package/src/index.ts +3 -3
  258. package/tsconfig.cjs.json +10 -0
  259. package/tsconfig.esm.json +10 -0
  260. package/declaration.d.ts +0 -8
  261. package/dist/index.js +0 -3
  262. package/dist/index.js.LICENSE.txt +0 -97
  263. package/dist/index.js.map +0 -1
  264. package/dist/types/contexts.d.ts +0 -7
  265. package/src/assets/barcodeExamples/code128.png +0 -0
  266. package/src/assets/barcodeExamples/code39.png +0 -0
  267. package/src/assets/barcodeExamples/ean13.png +0 -0
  268. package/src/assets/barcodeExamples/ean8.png +0 -0
  269. package/src/assets/barcodeExamples/itf14.png +0 -0
  270. package/src/assets/barcodeExamples/japanpost.png +0 -0
  271. package/src/assets/barcodeExamples/nw7.png +0 -0
  272. package/src/assets/barcodeExamples/qrcode.png +0 -0
  273. package/src/assets/barcodeExamples/upca.png +0 -0
  274. package/src/assets/barcodeExamples/upce.png +0 -0
  275. package/src/assets/icons/add.svg +0 -3
  276. package/src/assets/icons/align-horizontal-center.svg +0 -1
  277. package/src/assets/icons/align-horizontal-left.svg +0 -1
  278. package/src/assets/icons/align-horizontal-right.svg +0 -1
  279. package/src/assets/icons/align-vertical-bottom.svg +0 -1
  280. package/src/assets/icons/align-vertical-middle.svg +0 -1
  281. package/src/assets/icons/align-vertical-top.svg +0 -1
  282. package/src/assets/icons/back.svg +0 -4
  283. package/src/assets/icons/close.svg +0 -4
  284. package/src/assets/icons/double-left.svg +0 -11
  285. package/src/assets/icons/double-right.svg +0 -11
  286. package/src/assets/icons/drag.svg +0 -3
  287. package/src/assets/icons/forward.svg +0 -4
  288. package/src/assets/icons/horizontal-distribute.svg +0 -1
  289. package/src/assets/icons/left.svg +0 -4
  290. package/src/assets/icons/remove.svg +0 -3
  291. package/src/assets/icons/right.svg +0 -4
  292. package/src/assets/icons/vertical-distribute.svg +0 -1
  293. package/src/assets/icons/warning.svg +0 -4
  294. package/src/assets/imageExample.png +0 -0
  295. package/tsconfig.json +0 -22
  296. package/webpack.config.js +0 -54
@@ -1,8 +1,7 @@
1
1
  import React, { useEffect, useContext } from 'react';
2
2
  import { DraggableSyntheticListeners } from '@dnd-kit/core';
3
- import { I18nContext } from '../../../../contexts';
4
- import dragIcon from '../../../../assets/icons/drag.svg';
5
- import warningIcon from '../../../../assets/icons/warning.svg';
3
+ import { I18nContext } from '../../../../contexts.js';
4
+ import { ExclamationTriangleIcon } from '@heroicons/react/24/outline';
6
5
 
7
6
  interface Props {
8
7
  value: React.ReactNode;
@@ -73,7 +72,11 @@ const Item = React.memo(
73
72
  {...listeners}
74
73
  style={{ padding: '0.5rem', background: 'none', border: 'none', display: 'flex' }}
75
74
  >
76
- <img style={{ cursor: 'grab' }} src={dragIcon} width={15} alt="Drag icon" />
75
+ <object style={{ cursor: 'grab' }} width={15}>
76
+ <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="16" height="16">
77
+ <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"></path>
78
+ </svg>
79
+ </object>
77
80
  </button>
78
81
  <div
79
82
  style={{
@@ -92,12 +95,7 @@ const Item = React.memo(
92
95
  value
93
96
  ) : (
94
97
  <span style={{ display: 'flex', alignItems: 'center' }}>
95
- <img
96
- alt="Warning icon"
97
- src={warningIcon}
98
- width={15}
99
- style={{ marginRight: '0.5rem' }}
100
- />
98
+ <ExclamationTriangleIcon width={15} style={{ marginRight: '0.5rem' }} />
101
99
  {status === 'is-warning' ? i18n('noKeyName') : value}
102
100
  {status === 'is-danger' ? i18n('notUniq') : ''}
103
101
  </span>
@@ -16,9 +16,9 @@ import {
16
16
  verticalListSortingStrategy,
17
17
  } from '@dnd-kit/sortable';
18
18
  import { SchemaForUI } from '@pdfme/common';
19
- import Item from './Item';
20
- import SelectableSortableItem from './SelectableSortableItem';
21
- import { SidebarProps } from '../';
19
+ import Item from './Item.js';
20
+ import SelectableSortableItem from './SelectableSortableItem.js';
21
+ import { SidebarProps } from '../index.js';
22
22
 
23
23
  const SelectableSortableContainer = (
24
24
  props: Pick<
@@ -1,9 +1,9 @@
1
1
  import React, { useContext } from 'react';
2
2
  import { useSortable } from '@dnd-kit/sortable';
3
3
  import { SchemaForUI } from '@pdfme/common';
4
- import { I18nContext } from '../../../../contexts';
5
- import Item from './Item';
6
- import { useMountStatus } from '../../../../hooks';
4
+ import { I18nContext } from '../../../../contexts.js';
5
+ import Item from './Item.js';
6
+ import { useMountStatus } from '../../../../hooks.js';
7
7
 
8
8
  interface Props {
9
9
  isSelected: boolean;
@@ -1,9 +1,9 @@
1
1
  import React, { useContext, useState } from 'react';
2
- import { ZOOM, RULER_HEIGHT, SIDEBAR_WIDTH } from '../../../../constants';
3
- import { I18nContext } from '../../../../contexts';
4
- import Divider from '../../../Divider';
5
- import SelectableSortableContainer from './SelectableSortableContainer';
6
- import { SidebarProps } from '..';
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
+ import { SidebarProps } from '../index.js';
7
7
 
8
8
  const ListView = (
9
9
  props: Pick<
@@ -1,11 +1,10 @@
1
1
  import React, { useState, useContext } from 'react';
2
2
  import { SchemaForUI, Size } from '@pdfme/common';
3
- import { ZOOM, RULER_HEIGHT, SIDEBAR_WIDTH } from '../../../constants';
4
- import { I18nContext } from '../../../contexts';
5
- import backIcon from '../../../assets/icons/back.svg';
6
- import forwardIcon from '../../../assets/icons/forward.svg';
7
- import ListView from './ListView';
8
- import DetailView from './DetailView';
3
+ import { RULER_HEIGHT, SIDEBAR_WIDTH } from '../../../constants.js';
4
+ import { I18nContext } from '../../../contexts.js';
5
+ import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline';
6
+ import ListView from './ListView/index.js';
7
+ import DetailView from './DetailView/index.js';
9
8
 
10
9
  export type SidebarProps = {
11
10
  height: number;
@@ -61,10 +60,15 @@ const Sidebar = (props: SidebarProps) => {
61
60
  cursor: 'pointer',
62
61
  background: '#eee',
63
62
  width: 30,
63
+ height: 30,
64
64
  }}
65
65
  onClick={() => setOpen(!open)}
66
66
  >
67
- <img src={open ? forwardIcon : backIcon} width={15} alt="Toggle icon" />
67
+ {open ? (
68
+ <ArrowRightIcon width={15} height={15} />
69
+ ) : (
70
+ <ArrowLeftIcon width={15} height={15} />
71
+ )}
68
72
  </button>
69
73
  <div
70
74
  style={{
@@ -1,9 +1,9 @@
1
1
  import React, { useRef, useState, useEffect, useContext, useCallback } from 'react';
2
2
  import { DesignerReactProps, Template, SchemaForUI } from '@pdfme/common';
3
- import Sidebar from './Sidebar';
4
- import Main from './Main';
5
- import { ZOOM, RULER_HEIGHT } from '../../constants';
6
- import { I18nContext } from '../../contexts';
3
+ import Sidebar from './Sidebar/index.js';
4
+ import Main from './Main/index.js';
5
+ import { ZOOM, RULER_HEIGHT } from '../../constants.js';
6
+ import { I18nContext } from '../../contexts.js';
7
7
  import {
8
8
  uuid,
9
9
  set,
@@ -18,11 +18,11 @@ import {
18
18
  getUniqSchemaKey,
19
19
  moveCommandToChangeSchemasArg,
20
20
  getPagesScrollTopByIndex,
21
- } from '../../helper';
22
- import { useUIPreProcessor, useScrollPageCursor } from '../../hooks';
23
- import Root from '../Root';
24
- import Error from '../Error';
25
- import CtlBar from '../CtlBar';
21
+ } from '../../helper.js';
22
+ import { useUIPreProcessor, useScrollPageCursor } from '../../hooks.js';
23
+ import Root from '../Root.js';
24
+ import Error from '../Error.js';
25
+ import CtlBar from '../CtlBar/index.js';
26
26
 
27
27
  const TemplateEditor = ({
28
28
  template,
@@ -1,6 +1,6 @@
1
1
  import React, { useContext } from 'react';
2
2
  import { Size } from '@pdfme/common';
3
- import { I18nContext } from '../contexts';
3
+ import { I18nContext } from '../contexts.js';
4
4
 
5
5
  const Error = ({ size, error }: { size: Size; error: Error }) => {
6
6
  const i18n = useContext(I18nContext);
@@ -1,7 +1,7 @@
1
1
  import React, { MutableRefObject, ReactNode, useContext } from 'react';
2
2
  import { SchemaForUI, Size, getFallbackFontName } from '@pdfme/common';
3
- import { FontContext } from '../contexts';
4
- import { ZOOM, RULER_HEIGHT } from '../constants';
3
+ import { FontContext } from '../contexts.js';
4
+ import { ZOOM, RULER_HEIGHT } from '../constants.js';
5
5
 
6
6
  const Paper = (porps: {
7
7
  paperRefs: MutableRefObject<HTMLDivElement[]>;
@@ -1,14 +1,14 @@
1
1
  import React, { useCallback, useRef, useState, useEffect } from 'react';
2
2
  import { PreviewReactProps, SchemaForUI } from '@pdfme/common';
3
- import { ZOOM, RULER_HEIGHT } from '../constants';
4
- import UnitPager from './UnitPager';
5
- import Root from './Root';
6
- import Error from './Error';
7
- import CtlBar from './CtlBar';
8
- import Paper from './Paper';
9
- import SchemaUI from './Schemas/SchemaUI';
10
- import { useUIPreProcessor, useScrollPageCursor } from '../hooks';
11
- import { templateSchemas2SchemasList, getPagesScrollTopByIndex } from '../helper';
3
+ import { ZOOM, RULER_HEIGHT } from '../constants.js';
4
+ import UnitPager from './UnitPager.js';
5
+ import Root from './Root.js';
6
+ import Error from './Error.js';
7
+ import CtlBar from './CtlBar/index.js';
8
+ import Paper from './Paper.js';
9
+ import SchemaUI from './Schemas/SchemaUI.js';
10
+ import { useUIPreProcessor, useScrollPageCursor } from '../hooks.js';
11
+ import { templateSchemas2SchemasList, getPagesScrollTopByIndex } from '../helper.js';
12
12
 
13
13
  const Preview = ({ template, inputs, size, onChangeInput }: PreviewReactProps) => {
14
14
  const rootRef = useRef<HTMLDivElement>(null);
@@ -1,9 +1,8 @@
1
1
  import type {} from 'css-font-loading-module';
2
2
  import React, { useContext, forwardRef, ReactNode, Ref, useEffect } from 'react';
3
3
  import { Size } from '@pdfme/common';
4
- import { RULER_HEIGHT } from '../constants';
5
- import { FontContext } from '../contexts';
6
- import Spinner from './Spinner';
4
+ import { FontContext } from '../contexts.js';
5
+ import Spinner from './Spinner.js';
7
6
 
8
7
  type Props = { size: Size; scale: number; children: ReactNode };
9
8
 
@@ -1,29 +1,25 @@
1
1
  import React, { forwardRef, Ref } from 'react';
2
2
  import { validateBarcodeInput, BarCodeType, BarcodeSchema } from '@pdfme/common';
3
- import { ZOOM } from '../../constants';
4
- import { SchemaUIProps } from './SchemaUI';
5
- import ean8 from '../../assets/barcodeExamples/ean8.png';
6
- import ean13 from '../../assets/barcodeExamples/ean13.png';
7
- import code39 from '../../assets/barcodeExamples/code39.png';
8
- import code128 from '../../assets/barcodeExamples/code128.png';
9
- import nw7 from '../../assets/barcodeExamples/nw7.png';
10
- import itf14 from '../../assets/barcodeExamples/itf14.png';
11
- import japanpost from '../../assets/barcodeExamples/japanpost.png';
12
- import qrcode from '../../assets/barcodeExamples/qrcode.png';
13
- import upca from '../../assets/barcodeExamples/upca.png';
14
- import upce from '../../assets/barcodeExamples/upce.png';
3
+ import { ZOOM } from '../../constants.js';
4
+ import { SchemaUIProps } from './SchemaUI.js';
15
5
 
16
6
  const barcodeExampleImageObj: { [key: string]: string } = {
17
- qrcode,
18
- japanpost,
19
- ean13,
20
- ean8,
21
- code39,
22
- code128,
23
- nw7,
24
- itf14,
25
- upca,
26
- upce,
7
+ qrcode:
8
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AQMAAACyIsh+AAAABlBMVEVHcEwAAACfKoRRAAAAAXRSTlMAQObYZgAAAUBJREFUaN7t2UEOxCAIBVASD9Aj9eoeqQdowqiAYhsbTGb5u2gm9s2GIFBLrNdNnI+biI72y5YzAURBJpJlOstCuXVaLoAdUMOaLcCiWrwl/AD7QKJclwH+AUYNANgFtv0lyudFq/oA8A3mljQKwaJnAazAdKW6kpiWF8Aa2H7XRmSpmrQvZYAwGJteM7fV1drmr8QAO6A8c7Mms85KvSUBxIDkaw2r2/Ityu2fBBAHdavrwK75KkmrhQAgDFojv/qs1Da9gMQAcdCe+VlTIt8neYAoGNv/8Yr+rg8An0A6j9ykOWlfstETIAjcjO4z198AQsC/TlpsNXMB9sA4Cpbz4Es7Vc9qgCjox27a5pM73ZjP5QDCQFPVzt74FWqACJDYajVNGvQMEAfTJzOhbDVgrg8An+DxGXd8o9A2DxADPwiEPe8Jo46KAAAAAElFTkSuQmCC',
9
+ japanpost:
10
+ 'data:image/png;base64,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',
11
+ ean13:
12
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg0AAAGBBAMAAAAXrJ+ZAAAAG1BMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABp4cHsAAAACHRSTlMAgeljyj4bqDBh0ogAAAqiSURBVHja7drPd9PGFsBxK45llqHwgpctDUHLUErxElJKvHQTQr00lD6yDDTN85I4NtGf/SR5ZnTvzEj5ddrzzjtfL3ISZ3Rn9NGdn3anc5XXnbx4fTG/Ve+Ub9jfvsgi5h+2XF3ElOvIIkGUhitkvDtBvbKRqnLzRl2urcqml2zKP+QQ+/E3OwQV4YADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjj8Xzv8Q6//ySpxwAEHHHDAAYd4lb8/2N36tHNJo9L7e2Nd5N2rv+SfOkp68sq+ZKn0gaznV1tkp8Hhnbu2V8d7der+/+Sz1/De8929Z1NZ4ZOTrU8/ee3cuzeN3OVv1SJrPm532M/zbVWil+VzUaMXZS2vX6JUP1+KEJktcRZ3SLPcxjsS8Vy1P5R/LQREt4r4vYgwqy7YrN/5WIX4bhrc5Y8m+sW0zaFblDhXDsPinboJfpShaPdGfdEkvxCSrsQi7vChvnYg4tlq983F9ROcrd557d4wl81dQxMT4nv/Ltdd9O02h5l9avWTlXcYRJHP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',
13
+ ean8: 'data:image/png;base64,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',
14
+ code39:
15
+ 'data:image/png;base64,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',
16
+ code128:
17
+ 'data:image/png;base64,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',
18
+ nw7: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAt8AAAGUBAMAAAAfU1PFAAAAGFBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAABoAtTLAAAAB3RSTlMAJebEnUtzc/SoGAAACbRJREFUeNrt28FT20YYxmHLtszVgRBfCYT4SoDUVwgkvpo0DFfapPWVyIb99ytZkk2C3neNM53pTH86pJnKK+0+2v1295PSCuGu1Qrlkf9tcfz0t5/+qE7UJR7/8fQqT4rd/VjWlXjyY3mVu+Y6P7no8y/lWrlGUxvuATjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444IADDjjggAMOOOCAAw444P8HcA4ODg4ODg4ODo7nHLt9e/rFZmWTF+VhLq5PJdGysaKmsG9vrEWR23f3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',
19
+ itf14:
20
+ 'data:image/png;base64,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',
21
+ upca: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiEAAAGBBAMAAABCzXzHAAAAG1BMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABp4cHsAAAACHRSTlMAZYI/6MobpgcQHGEAAAl4SURBVHja7drLcxrHFsBhEGLkJY7vTVgqVYnFEpfihKXvjR8sVRXHZsl1UKyl49gxSyMhMX925tHd031ODwNjaZP7a1dZEhw4Pd/0Gzqd/cq9NCufzW/Vf6Z8NlHFH+bZ4GVbQjruTTsuJHiFSOnHpebP6k39xz53vqzE0gYOty9Se6W3JuLXWbwVIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggiiCCCCCKIIIIIIogggggi/y8id1L2qV67gggiiCCCCCKI/NNEku9fj8WrkhP/keSrj8/ef+0//7+Tl6+/ndeE+NmSj7/a8mf57Fv3QJg1TKlr5ae8a5Ef0vS5eNUivfLqtszj1w+rR94Wa8j/zuMhfrbDtCpl+LR64KY2pa5VkPKORbrZHyvRRGbpZfXXqKz/emAfODBX9J94iJ9t6Ikc22y2XNamVLUKU96xyFLULSv91Lth7hrcQ+4yx9EQP9uFB/CuuHLvgU1dSl2rMOXdipynWmRpql+USX7zX+b/GYBe/opneev/ORriZ+u9fDot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',
22
+ upce: 'data:image/png;base64,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',
27
23
  };
28
24
 
29
25
  const SampleBarcode = ({ schema }: { schema: BarcodeSchema }) => (
@@ -1,9 +1,9 @@
1
- import React, { useState, forwardRef, ChangeEvent, useContext, Ref } from 'react';
1
+ import React, { useState, forwardRef, ChangeEvent, Ref } from 'react';
2
2
  import { ImageSchema } from '@pdfme/common';
3
- import { SchemaUIProps } from './SchemaUI';
4
- import { readFiles } from '../../helper';
5
- import { ZOOM } from '../../constants';
6
- import closeIcon from '../../assets/icons/close.svg';
3
+ import { SchemaUIProps } from './SchemaUI.js';
4
+ import { readFiles } from '../../helper.js';
5
+ import { ZOOM } from '../../constants.js';
6
+ import { XMarkIcon } from '@heroicons/react/24/outline';
7
7
 
8
8
  type Props = SchemaUIProps & { schema: ImageSchema };
9
9
 
@@ -55,7 +55,7 @@ const ImageSchemaUI = (props: Props, ref: Ref<HTMLInputElement>) => {
55
55
  onChange('');
56
56
  }}
57
57
  >
58
- <img src={closeIcon} alt="Close icon" width={10} />
58
+ <XMarkIcon width={10} height={10} />
59
59
  </button>
60
60
  )}
61
61
  </div>
@@ -1,9 +1,9 @@
1
1
  import React, { forwardRef, RefObject, Ref, ReactNode } from 'react';
2
2
  import { SchemaForUI, isTextSchema, isImageSchema, isBarcodeSchema } from '@pdfme/common';
3
- import { ZOOM, SELECTABLE_CLASSNAME } from '../../constants';
4
- import TextSchema from './TextSchema';
5
- import ImageSchema from './ImageSchema';
6
- import BarcodeSchema from './BarcodeSchema';
3
+ import { ZOOM, SELECTABLE_CLASSNAME } from '../../constants.js';
4
+ import TextSchema from './TextSchema.js';
5
+ import ImageSchema from './ImageSchema.js';
6
+ import BarcodeSchema from './BarcodeSchema.js';
7
7
 
8
8
  export interface SchemaUIProps {
9
9
  schema: SchemaForUI;
@@ -7,8 +7,8 @@ import {
7
7
  DEFAULT_FONT_COLOR,
8
8
  TextSchema,
9
9
  } from '@pdfme/common';
10
- import { SchemaUIProps } from './SchemaUI';
11
- import { ZOOM } from '../../constants';
10
+ import { SchemaUIProps } from './SchemaUI.js';
11
+ import { ZOOM } from '../../constants.js';
12
12
 
13
13
  type Props = SchemaUIProps & { schema: TextSchema };
14
14
 
@@ -1,9 +1,10 @@
1
- import React, { useContext } from 'react';
2
- import left from '../assets/icons/left.svg';
3
- import right from '../assets/icons/right.svg';
4
- import doubleLeft from '../assets/icons/double-left.svg';
5
- import doubleRight from '../assets/icons/double-right.svg';
6
- import { I18nContext } from '../contexts';
1
+ import React from 'react';
2
+ import {
3
+ ChevronLeftIcon,
4
+ ChevronDoubleLeftIcon,
5
+ ChevronRightIcon,
6
+ ChevronDoubleRightIcon,
7
+ } from '@heroicons/react/24/outline';
7
8
  import { Size } from '@pdfme/common';
8
9
 
9
10
  const buttonHeight = 38;
@@ -38,8 +39,6 @@ type Props = {
38
39
  };
39
40
 
40
41
  const UnitPager = ({ size, unitCursor, unitNum, setUnitCursor }: Props) => {
41
- const i18n = useContext(I18nContext);
42
-
43
42
  if (unitNum <= 1) return <></>;
44
43
 
45
44
  return (
@@ -62,14 +61,14 @@ const UnitPager = ({ size, unitCursor, unitNum, setUnitCursor }: Props) => {
62
61
  disabled={unitCursor <= 0}
63
62
  onClick={() => setUnitCursor(0)}
64
63
  >
65
- <img src={doubleLeft} alt={i18n('goToFirst')} style={{ width: 20 }} />
64
+ <ChevronDoubleLeftIcon width={20} height={20} color={'#fff'} />
66
65
  </button>
67
66
  <button
68
67
  style={{ paddingLeft: '0.5rem', ...btnStyle }}
69
68
  disabled={unitCursor <= 0}
70
69
  onClick={() => setUnitCursor(unitCursor - 1)}
71
70
  >
72
- <img src={left} alt={i18n('goToPrevious')} style={{ width: 20 }} />
71
+ <ChevronLeftIcon width={20} height={20} color={'#fff'} />
73
72
  </button>
74
73
  <strong style={{ color: 'white', fontSize: '0.9rem' }}>
75
74
  {unitCursor + 1}/{unitNum}
@@ -88,14 +87,14 @@ const UnitPager = ({ size, unitCursor, unitNum, setUnitCursor }: Props) => {
88
87
  disabled={unitCursor + 1 >= unitNum}
89
88
  onClick={() => setUnitCursor(unitCursor + 1)}
90
89
  >
91
- <img src={right} alt={i18n('goToNext')} style={{ width: 20 }} />
90
+ <ChevronRightIcon width={20} height={20} color={'#fff'} />
92
91
  </button>
93
92
  <button
94
93
  style={{ paddingRight: '0.5rem', ...btnStyle }}
95
94
  disabled={unitCursor + 1 >= unitNum}
96
95
  onClick={() => setUnitCursor(unitNum - 1)}
97
96
  >
98
- <img src={doubleRight} alt={i18n('goToFirst')} style={{ width: 20 }} />
97
+ <ChevronDoubleRightIcon width={20} height={20} color={'#fff'} />
99
98
  </button>
100
99
  </div>
101
100
  )}
package/src/contexts.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createContext } from 'react';
2
- import { curriedI18n } from './i18n';
3
- import { DEFAULT_LANG } from './constants';
2
+ import { curriedI18n } from './i18n.js';
3
+ import { DEFAULT_LANG } from './constants.js';
4
4
  import { getDefaultFont } from '@pdfme/common';
5
5
 
6
6
  export const I18nContext = createContext(curriedI18n(DEFAULT_LANG));
package/src/helper.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  // @ts-ignore
2
- import PDFJSWorker from 'pdfjs-dist/build/pdf.worker.entry';
2
+ import PDFJSWorker from 'pdfjs-dist/build/pdf.worker.entry.js';
3
3
  import { getDocument, GlobalWorkerOptions } from 'pdfjs-dist/legacy/build/pdf.js';
4
4
  GlobalWorkerOptions.workerSrc = PDFJSWorker;
5
5
  import hotkeys from 'hotkeys-js';
@@ -15,7 +15,7 @@ import {
15
15
  DEFAULT_CHARACTER_SPACING,
16
16
  DEFAULT_LINE_HEIGHT,
17
17
  } from '@pdfme/common';
18
- import { ZOOM, RULER_HEIGHT } from './constants';
18
+ import { ZOOM, RULER_HEIGHT } from './constants.js';
19
19
 
20
20
  export const uuid = () =>
21
21
  'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
package/src/hooks.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { RefObject, useRef, useState, useCallback, useEffect } from 'react';
2
2
  import { Template, Size, getB64BasePdf } from '@pdfme/common';
3
- import { pdf2Pngs, getPdfPageSizes, b64toBlob } from './helper';
4
- import { ZOOM, RULER_HEIGHT } from './constants';
3
+ import { pdf2Pngs, getPdfPageSizes, b64toBlob } from './helper.js';
4
+ import { ZOOM, RULER_HEIGHT } from './constants.js';
5
5
 
6
6
  export const usePrevious = <T>(value: T) => {
7
7
  const ref = useRef<T | null>(null);
package/src/i18n.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Lang } from '@pdfme/common';
2
- import { DEFAULT_LANG } from './constants';
2
+ import { DEFAULT_LANG } from './constants.js';
3
3
 
4
4
  type DictEn = typeof dictEn;
5
5
 
@@ -11,9 +11,7 @@ const dictEn = {
11
11
  uniq: 'Unique',
12
12
  inputExample: 'Input Example',
13
13
  edit: 'Edit',
14
- plsSelect: 'Please select',
15
14
  plsInputName: 'Please input name',
16
- plsAddNewField: 'Please add new field',
17
15
  fieldMustUniq: 'Name of field is not unique',
18
16
  notUniq: '(Not unique name)',
19
17
  noKeyName: 'No name',
@@ -21,13 +19,6 @@ const dictEn = {
21
19
  addNewField: 'Add new field',
22
20
  editField: 'Edit Field',
23
21
  type: 'Type',
24
- goToFirst: 'Go to first',
25
- goToPrevious: 'Back',
26
- goToNext: 'Next',
27
- goToEnd: 'Go to end',
28
- select: 'Select',
29
- zoomIn: 'Zoom in',
30
- zoomOut: 'Zoom out',
31
22
  errorOccurred: 'An error occurred',
32
23
  errorBulkUpdateFieldName:
33
24
  'Cannot commit the change because the number of items has been changed.',
@@ -43,9 +34,7 @@ const dictJa: { [key in keyof DictEn]: string } = {
43
34
  uniq: '他の項目名と同一不可',
44
35
  inputExample: '記入例',
45
36
  edit: '編集する',
46
- plsSelect: '選択してください',
47
37
  plsInputName: '項目名を入力してください',
48
- plsAddNewField: '入力項目を追加してください',
49
38
  fieldMustUniq: '他の入力項目名と被っています',
50
39
  notUniq: '(他の項目名と重複しています)',
51
40
  noKeyName: '項目名なし',
@@ -53,13 +42,6 @@ const dictJa: { [key in keyof DictEn]: string } = {
53
42
  addNewField: '入力項目を追加',
54
43
  editField: '入力項目を編集',
55
44
  type: 'タイプ',
56
- goToFirst: '最初に戻る',
57
- goToPrevious: '1つ戻る',
58
- goToNext: '1つ進む',
59
- goToEnd: '最後に進む',
60
- select: '選択',
61
- zoomIn: '拡大',
62
- zoomOut: '縮小',
63
45
  errorOccurred: 'エラーが発生しました',
64
46
  errorBulkUpdateFieldName: '項目数が変更されているため変更をコミットできません。',
65
47
  commitBulkUpdateFieldName: '変更を反映',
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
- import Designer from './Designer';
2
- import Form from './Form';
3
- import Viewer from './Viewer';
1
+ import Designer from './Designer.js';
2
+ import Form from './Form.js';
3
+ import Viewer from './Viewer.js';
4
4
 
5
5
  export { Designer, Viewer, Form };
6
6
 
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../../tsconfig.base",
3
+ "compilerOptions": {
4
+ "jsx": "react",
5
+ "module": "commonjs",
6
+ "outDir": "./dist/cjs",
7
+ "declaration": true,
8
+ "declarationDir": "dist/types"
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../../tsconfig.base",
3
+ "compilerOptions": {
4
+ "jsx": "react",
5
+ "module": "ESNext",
6
+ "outDir": "./dist/esm",
7
+ "declaration": true,
8
+ "declarationDir": "dist/types"
9
+ }
10
+ }
package/declaration.d.ts DELETED
@@ -1,8 +0,0 @@
1
- declare module '*.css';
2
- declare module '*.svg';
3
- declare module '*.ttf';
4
-
5
- declare module '*.png' {
6
- const value: any;
7
- export = value;
8
- }