@spaceinvoices/react-ui 0.4.11 → 0.4.31

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 (738) hide show
  1. package/cli/dist/index.js +1 -1
  2. package/package.json +3 -2
  3. package/registry.json +30 -31
  4. package/src/common/autocomplete.tsx +48 -26
  5. package/src/components/activities/locales/bg.ts +21 -0
  6. package/src/components/activities/locales/cs.ts +21 -0
  7. package/src/components/activities/locales/en.ts +21 -0
  8. package/src/components/activities/locales/et.ts +21 -0
  9. package/src/components/activities/locales/fi.ts +21 -0
  10. package/src/components/activities/locales/is.ts +21 -0
  11. package/src/components/activities/locales/nb.ts +21 -0
  12. package/src/components/activities/locales/sk.ts +21 -0
  13. package/src/components/activities/locales/sv.ts +21 -0
  14. package/src/components/advance-invoices/advance-invoices.hooks.ts +36 -46
  15. package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +452 -115
  16. package/src/components/advance-invoices/create/locales/bg.ts +56 -0
  17. package/src/components/advance-invoices/create/locales/cs.ts +56 -0
  18. package/src/components/advance-invoices/create/locales/de.ts +15 -7
  19. package/src/components/advance-invoices/create/locales/en.ts +56 -0
  20. package/src/components/advance-invoices/create/locales/es.ts +15 -7
  21. package/src/components/advance-invoices/create/locales/et.ts +56 -0
  22. package/src/components/advance-invoices/create/locales/fi.ts +56 -0
  23. package/src/components/advance-invoices/create/locales/fr.ts +16 -8
  24. package/src/components/advance-invoices/create/locales/hr.ts +29 -21
  25. package/src/components/advance-invoices/create/locales/is.ts +56 -0
  26. package/src/components/advance-invoices/create/locales/it.ts +15 -7
  27. package/src/components/advance-invoices/create/locales/nb.ts +56 -0
  28. package/src/components/advance-invoices/create/locales/nl.ts +15 -7
  29. package/src/components/advance-invoices/create/locales/pl.ts +17 -9
  30. package/src/components/advance-invoices/create/locales/pt.ts +16 -8
  31. package/src/components/advance-invoices/create/locales/sk.ts +56 -0
  32. package/src/components/advance-invoices/create/locales/sl.ts +23 -12
  33. package/src/components/advance-invoices/create/locales/sv.ts +56 -0
  34. package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +62 -2
  35. package/src/components/advance-invoices/list/list-row-actions.tsx +48 -16
  36. package/src/components/advance-invoices/list/list-table.tsx +35 -9
  37. package/src/components/advance-invoices/list/locales/bg.ts +51 -0
  38. package/src/components/advance-invoices/list/locales/cs.ts +51 -0
  39. package/src/components/advance-invoices/list/locales/en.ts +33 -2
  40. package/src/components/advance-invoices/list/locales/et.ts +51 -0
  41. package/src/components/advance-invoices/list/locales/fi.ts +51 -0
  42. package/src/components/advance-invoices/list/locales/hr.ts +15 -15
  43. package/src/components/advance-invoices/list/locales/is.ts +51 -0
  44. package/src/components/advance-invoices/list/locales/nb.ts +51 -0
  45. package/src/components/advance-invoices/list/locales/sk.ts +51 -0
  46. package/src/components/advance-invoices/list/locales/sv.ts +51 -0
  47. package/src/components/advance-invoices/list/use-advance-invoice-download.ts +3 -5
  48. package/src/components/common/autocomplete-locales.ts +101 -0
  49. package/src/components/company-registry/company-registry.hooks.ts +3 -7
  50. package/src/components/credit-notes/create/create-credit-note-form.tsx +437 -80
  51. package/src/components/credit-notes/create/locales/bg.ts +101 -0
  52. package/src/components/credit-notes/create/locales/cs.ts +101 -0
  53. package/src/components/credit-notes/create/locales/de.ts +20 -7
  54. package/src/components/credit-notes/create/locales/en.ts +101 -0
  55. package/src/components/credit-notes/create/locales/es.ts +20 -7
  56. package/src/components/credit-notes/create/locales/et.ts +101 -0
  57. package/src/components/credit-notes/create/locales/fi.ts +101 -0
  58. package/src/components/credit-notes/create/locales/fr.ts +21 -8
  59. package/src/components/credit-notes/create/locales/hr.ts +41 -28
  60. package/src/components/credit-notes/create/locales/is.ts +101 -0
  61. package/src/components/credit-notes/create/locales/it.ts +20 -7
  62. package/src/components/credit-notes/create/locales/nb.ts +101 -0
  63. package/src/components/credit-notes/create/locales/nl.ts +20 -7
  64. package/src/components/credit-notes/create/locales/pl.ts +22 -9
  65. package/src/components/credit-notes/create/locales/pt.ts +21 -8
  66. package/src/components/credit-notes/create/locales/sk.ts +101 -0
  67. package/src/components/credit-notes/create/locales/sl.ts +28 -14
  68. package/src/components/credit-notes/create/locales/sv.ts +101 -0
  69. package/src/components/credit-notes/create/prepare-credit-note-submission.ts +66 -0
  70. package/src/components/credit-notes/credit-notes.hooks.ts +34 -3
  71. package/src/components/credit-notes/list/list-row-actions.tsx +19 -7
  72. package/src/components/credit-notes/list/list-table.tsx +60 -8
  73. package/src/components/credit-notes/list/locales/bg.ts +48 -0
  74. package/src/components/credit-notes/list/locales/cs.ts +48 -0
  75. package/src/components/credit-notes/list/locales/en.ts +31 -2
  76. package/src/components/credit-notes/list/locales/et.ts +48 -0
  77. package/src/components/credit-notes/list/locales/fi.ts +48 -0
  78. package/src/components/credit-notes/list/locales/hr.ts +12 -12
  79. package/src/components/credit-notes/list/locales/is.ts +48 -0
  80. package/src/components/credit-notes/list/locales/nb.ts +48 -0
  81. package/src/components/credit-notes/list/locales/sk.ts +48 -0
  82. package/src/components/credit-notes/list/locales/sv.ts +48 -0
  83. package/src/components/credit-notes/list/use-credit-note-download.ts +3 -5
  84. package/src/components/customers/create-customer-form/locales/bg.ts +21 -0
  85. package/src/components/customers/create-customer-form/locales/cs.ts +21 -0
  86. package/src/components/customers/create-customer-form/locales/en.ts +21 -0
  87. package/src/components/customers/create-customer-form/locales/et.ts +21 -0
  88. package/src/components/customers/create-customer-form/locales/fi.ts +21 -0
  89. package/src/components/customers/create-customer-form/locales/hr.ts +11 -11
  90. package/src/components/customers/create-customer-form/locales/is.ts +21 -0
  91. package/src/components/customers/create-customer-form/locales/nb.ts +21 -0
  92. package/src/components/customers/create-customer-form/locales/sk.ts +21 -0
  93. package/src/components/customers/create-customer-form/locales/sv.ts +21 -0
  94. package/src/components/customers/customer-autocomplete.tsx +32 -4
  95. package/src/components/customers/customer-list-table/customer-list-table.tsx +8 -6
  96. package/src/components/customers/customer-list-table/locales/bg.ts +25 -0
  97. package/src/components/customers/customer-list-table/locales/cs.ts +25 -0
  98. package/src/components/customers/customer-list-table/locales/en.ts +17 -2
  99. package/src/components/customers/customer-list-table/locales/et.ts +25 -0
  100. package/src/components/customers/customer-list-table/locales/fi.ts +25 -0
  101. package/src/components/customers/customer-list-table/locales/hr.ts +11 -11
  102. package/src/components/customers/customer-list-table/locales/is.ts +25 -0
  103. package/src/components/customers/customer-list-table/locales/nb.ts +25 -0
  104. package/src/components/customers/customer-list-table/locales/sk.ts +25 -0
  105. package/src/components/customers/customer-list-table/locales/sv.ts +25 -0
  106. package/src/components/customers/customers.hooks.ts +14 -17
  107. package/src/components/customers/edit-customer-form/locales/bg.ts +13 -0
  108. package/src/components/customers/edit-customer-form/locales/cs.ts +13 -0
  109. package/src/components/customers/edit-customer-form/locales/en.ts +13 -0
  110. package/src/components/customers/edit-customer-form/locales/et.ts +13 -0
  111. package/src/components/customers/edit-customer-form/locales/fi.ts +13 -0
  112. package/src/components/customers/edit-customer-form/locales/hr.ts +5 -5
  113. package/src/components/customers/edit-customer-form/locales/is.ts +13 -0
  114. package/src/components/customers/edit-customer-form/locales/nb.ts +13 -0
  115. package/src/components/customers/edit-customer-form/locales/sk.ts +13 -0
  116. package/src/components/customers/edit-customer-form/locales/sv.ts +13 -0
  117. package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +7 -6
  118. package/src/components/dashboard/collection-rate-card/locales/en.ts +3 -0
  119. package/src/components/dashboard/collection-rate-card/use-collection-rate.ts +8 -7
  120. package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +7 -4
  121. package/src/components/dashboard/invoice-status-chart/locales/bg.ts +5 -5
  122. package/src/components/dashboard/invoice-status-chart/locales/cs.ts +5 -5
  123. package/src/components/dashboard/invoice-status-chart/locales/de.ts +1 -1
  124. package/src/components/dashboard/invoice-status-chart/locales/en.ts +10 -0
  125. package/src/components/dashboard/invoice-status-chart/locales/es.ts +1 -1
  126. package/src/components/dashboard/invoice-status-chart/locales/et.ts +5 -5
  127. package/src/components/dashboard/invoice-status-chart/locales/fi.ts +5 -5
  128. package/src/components/dashboard/invoice-status-chart/locales/fr.ts +1 -1
  129. package/src/components/dashboard/invoice-status-chart/locales/hr.ts +5 -5
  130. package/src/components/dashboard/invoice-status-chart/locales/is.ts +5 -5
  131. package/src/components/dashboard/invoice-status-chart/locales/it.ts +1 -1
  132. package/src/components/dashboard/invoice-status-chart/locales/nb.ts +5 -5
  133. package/src/components/dashboard/invoice-status-chart/locales/nl.ts +1 -1
  134. package/src/components/dashboard/invoice-status-chart/locales/pl.ts +1 -1
  135. package/src/components/dashboard/invoice-status-chart/locales/pt.ts +1 -1
  136. package/src/components/dashboard/invoice-status-chart/locales/sk.ts +5 -5
  137. package/src/components/dashboard/invoice-status-chart/locales/sl.ts +1 -1
  138. package/src/components/dashboard/invoice-status-chart/locales/sv.ts +5 -5
  139. package/src/components/dashboard/payment-methods-chart/locales/bg.ts +5 -5
  140. package/src/components/dashboard/payment-methods-chart/locales/cs.ts +5 -5
  141. package/src/components/dashboard/payment-methods-chart/locales/en.ts +12 -0
  142. package/src/components/dashboard/payment-methods-chart/locales/et.ts +5 -5
  143. package/src/components/dashboard/payment-methods-chart/locales/fi.ts +6 -6
  144. package/src/components/dashboard/payment-methods-chart/locales/hr.ts +3 -3
  145. package/src/components/dashboard/payment-methods-chart/locales/is.ts +5 -5
  146. package/src/components/dashboard/payment-methods-chart/locales/nb.ts +5 -5
  147. package/src/components/dashboard/payment-methods-chart/locales/sk.ts +5 -5
  148. package/src/components/dashboard/payment-methods-chart/locales/sv.ts +5 -5
  149. package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +4 -3
  150. package/src/components/dashboard/payment-trend-chart/locales/bg.ts +1 -1
  151. package/src/components/dashboard/payment-trend-chart/locales/cs.ts +1 -1
  152. package/src/components/dashboard/payment-trend-chart/locales/en.ts +6 -0
  153. package/src/components/dashboard/payment-trend-chart/locales/et.ts +1 -1
  154. package/src/components/dashboard/payment-trend-chart/locales/fi.ts +1 -1
  155. package/src/components/dashboard/payment-trend-chart/locales/is.ts +1 -1
  156. package/src/components/dashboard/payment-trend-chart/locales/nb.ts +1 -1
  157. package/src/components/dashboard/payment-trend-chart/locales/sk.ts +1 -1
  158. package/src/components/dashboard/payment-trend-chart/locales/sv.ts +1 -1
  159. package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +4 -3
  160. package/src/components/dashboard/payment-trend-chart/use-payment-trend.ts +12 -9
  161. package/src/components/dashboard/revenue-card.tsx +3 -3
  162. package/src/components/dashboard/revenue-trend-chart/locales/bg.ts +1 -1
  163. package/src/components/dashboard/revenue-trend-chart/locales/cs.ts +1 -1
  164. package/src/components/dashboard/revenue-trend-chart/locales/en.ts +6 -0
  165. package/src/components/dashboard/revenue-trend-chart/locales/et.ts +1 -1
  166. package/src/components/dashboard/revenue-trend-chart/locales/fi.ts +1 -1
  167. package/src/components/dashboard/revenue-trend-chart/locales/is.ts +1 -1
  168. package/src/components/dashboard/revenue-trend-chart/locales/nb.ts +1 -1
  169. package/src/components/dashboard/revenue-trend-chart/locales/sk.ts +1 -1
  170. package/src/components/dashboard/revenue-trend-chart/locales/sv.ts +1 -1
  171. package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +4 -3
  172. package/src/components/dashboard/revenue-trend-chart/use-revenue-trend.ts +4 -3
  173. package/src/components/dashboard/shared/local-date.ts +11 -0
  174. package/src/components/dashboard/shared/use-revenue-data.ts +6 -5
  175. package/src/components/dashboard/shared/use-stats-query.ts +7 -11
  176. package/src/components/dashboard/stat-card.tsx +3 -3
  177. package/src/components/dashboard/tax-collected-card/tax-collected-card.tsx +11 -9
  178. package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +3 -2
  179. package/src/components/dashboard/top-customers-chart/locales/bg.ts +2 -2
  180. package/src/components/dashboard/top-customers-chart/locales/cs.ts +2 -2
  181. package/src/components/dashboard/top-customers-chart/locales/en.ts +7 -0
  182. package/src/components/dashboard/top-customers-chart/locales/et.ts +2 -2
  183. package/src/components/dashboard/top-customers-chart/locales/fi.ts +2 -2
  184. package/src/components/dashboard/top-customers-chart/locales/is.ts +2 -2
  185. package/src/components/dashboard/top-customers-chart/locales/nb.ts +2 -2
  186. package/src/components/dashboard/top-customers-chart/locales/sk.ts +2 -2
  187. package/src/components/dashboard/top-customers-chart/locales/sv.ts +2 -2
  188. package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +4 -3
  189. package/src/components/dashboard/top-customers-chart/use-top-customers.ts +7 -20
  190. package/src/components/delivery-notes/create/create-delivery-note-form.tsx +179 -47
  191. package/src/components/delivery-notes/create/locales/bg.ts +69 -0
  192. package/src/components/delivery-notes/create/locales/cs.ts +69 -0
  193. package/src/components/delivery-notes/create/locales/de.ts +1 -0
  194. package/src/components/delivery-notes/create/locales/en.ts +69 -0
  195. package/src/components/delivery-notes/create/locales/es.ts +1 -0
  196. package/src/components/delivery-notes/create/locales/et.ts +69 -0
  197. package/src/components/delivery-notes/create/locales/fi.ts +69 -0
  198. package/src/components/delivery-notes/create/locales/fr.ts +1 -0
  199. package/src/components/delivery-notes/create/locales/hr.ts +7 -6
  200. package/src/components/delivery-notes/create/locales/is.ts +69 -0
  201. package/src/components/delivery-notes/create/locales/it.ts +1 -0
  202. package/src/components/delivery-notes/create/locales/nb.ts +69 -0
  203. package/src/components/delivery-notes/create/locales/nl.ts +1 -0
  204. package/src/components/delivery-notes/create/locales/pl.ts +1 -0
  205. package/src/components/delivery-notes/create/locales/pt.ts +1 -0
  206. package/src/components/delivery-notes/create/locales/sk.ts +69 -0
  207. package/src/components/delivery-notes/create/locales/sl.ts +6 -5
  208. package/src/components/delivery-notes/create/locales/sv.ts +69 -0
  209. package/src/components/delivery-notes/create/prepare-delivery-note-submission.ts +34 -1
  210. package/src/components/delivery-notes/delivery-notes.hooks.ts +34 -3
  211. package/src/components/delivery-notes/list/list-row-actions.tsx +62 -16
  212. package/src/components/delivery-notes/list/list-table.tsx +44 -10
  213. package/src/components/delivery-notes/list/locales/bg.ts +40 -0
  214. package/src/components/delivery-notes/list/locales/cs.ts +40 -0
  215. package/src/components/delivery-notes/list/locales/et.ts +40 -0
  216. package/src/components/delivery-notes/list/locales/fi.ts +40 -0
  217. package/src/components/delivery-notes/list/locales/is.ts +40 -0
  218. package/src/components/delivery-notes/list/locales/nb.ts +40 -0
  219. package/src/components/delivery-notes/list/locales/sk.ts +40 -0
  220. package/src/components/delivery-notes/list/locales/sv.ts +40 -0
  221. package/src/components/delivery-notes/list/use-delivery-note-download.ts +3 -5
  222. package/src/components/documents/create/custom-create-template.ts +114 -0
  223. package/src/components/documents/create/document-add-item-form.tsx +266 -153
  224. package/src/components/documents/create/document-add-item-tax-rate-field.tsx +3 -3
  225. package/src/components/documents/create/document-date-validation.ts +111 -0
  226. package/src/components/documents/create/document-details-section.tsx +117 -54
  227. package/src/components/documents/create/document-form-item.ts +67 -0
  228. package/src/components/documents/create/document-item-validation.ts +54 -0
  229. package/src/components/documents/create/document-items-section.tsx +44 -6
  230. package/src/components/documents/create/document-recipient-section.tsx +10 -2
  231. package/src/components/documents/create/form-types.ts +2 -2
  232. package/src/components/documents/create/linked-documents-info.tsx +6 -14
  233. package/src/components/documents/create/live-preview.tsx +22 -18
  234. package/src/components/documents/create/mark-as-paid-section.tsx +80 -20
  235. package/src/components/documents/create/payment-rows.ts +321 -0
  236. package/src/components/documents/create/prepare-document-submission.ts +160 -109
  237. package/src/components/documents/create/prepare-preview-data.ts +12 -0
  238. package/src/components/documents/create/preserved-expected-total.ts +90 -0
  239. package/src/components/documents/create/scroll-to-first-invalid-field.ts +27 -0
  240. package/src/components/documents/create/smart-code-insert-button.tsx +5 -53
  241. package/src/components/documents/create/use-document-customer-form.ts +74 -25
  242. package/src/components/documents/documents.hooks.ts +3 -5
  243. package/src/components/documents/index.ts +1 -0
  244. package/src/components/documents/public/index.ts +1 -0
  245. package/src/components/documents/public/public-document-summary.tsx +336 -0
  246. package/src/components/documents/shared/document-preview-display.tsx +65 -39
  247. package/src/components/documents/shared/index.ts +6 -1
  248. package/src/components/documents/shared/scaled-document-preview.tsx +33 -19
  249. package/src/components/documents/types.ts +24 -0
  250. package/src/components/documents/view/document-actions-bar.tsx +251 -63
  251. package/src/components/documents/view/document-activities-list.tsx +23 -11
  252. package/src/components/documents/view/document-details-card.tsx +11 -39
  253. package/src/components/documents/view/document-payments-list.tsx +114 -57
  254. package/src/components/documents/view/document-relations-list.tsx +26 -6
  255. package/src/components/documents/view/document-sidebar.tsx +25 -3
  256. package/src/components/documents/view/document-version-history.tsx +137 -0
  257. package/src/components/documents/view/index.ts +1 -0
  258. package/src/components/documents/view/locales/bg.ts +143 -0
  259. package/src/components/documents/view/locales/cs.ts +143 -0
  260. package/src/components/documents/view/locales/de.ts +13 -0
  261. package/src/components/documents/view/locales/en.ts +143 -0
  262. package/src/components/documents/view/locales/es.ts +13 -0
  263. package/src/components/documents/view/locales/et.ts +143 -0
  264. package/src/components/documents/view/locales/fi.ts +143 -0
  265. package/src/components/documents/view/locales/fr.ts +13 -0
  266. package/src/components/documents/view/locales/hr.ts +18 -5
  267. package/src/components/documents/view/locales/is.ts +143 -0
  268. package/src/components/documents/view/locales/it.ts +13 -0
  269. package/src/components/documents/view/locales/nb.ts +143 -0
  270. package/src/components/documents/view/locales/nl.ts +13 -0
  271. package/src/components/documents/view/locales/pl.ts +13 -0
  272. package/src/components/documents/view/locales/pt.ts +13 -0
  273. package/src/components/documents/view/locales/sk.ts +143 -0
  274. package/src/components/documents/view/locales/sl.ts +21 -8
  275. package/src/components/documents/view/locales/sv.ts +143 -0
  276. package/src/components/documents/view/use-document-download.ts +18 -17
  277. package/src/components/entities/create-entity-form.tsx +200 -12
  278. package/src/components/entities/entities.hooks.ts +15 -7
  279. package/src/components/entities/entity-settings-form/entity-settings-form.tsx +121 -65
  280. package/src/components/entities/entity-settings-form/input-with-preview.tsx +28 -4
  281. package/src/components/entities/entity-settings-form/locales/bg.ts +206 -0
  282. package/src/components/entities/entity-settings-form/locales/cs.ts +206 -0
  283. package/src/components/entities/entity-settings-form/locales/de.ts +17 -3
  284. package/src/components/entities/entity-settings-form/locales/en.ts +206 -0
  285. package/src/components/entities/entity-settings-form/locales/es.ts +15 -3
  286. package/src/components/entities/entity-settings-form/locales/et.ts +205 -0
  287. package/src/components/entities/entity-settings-form/locales/fi.ts +206 -0
  288. package/src/components/entities/entity-settings-form/locales/fr.ts +15 -3
  289. package/src/components/entities/entity-settings-form/locales/hr.ts +23 -11
  290. package/src/components/entities/entity-settings-form/locales/is.ts +206 -0
  291. package/src/components/entities/entity-settings-form/locales/it.ts +15 -3
  292. package/src/components/entities/entity-settings-form/locales/nb.ts +206 -0
  293. package/src/components/entities/entity-settings-form/locales/nl.ts +15 -3
  294. package/src/components/entities/entity-settings-form/locales/pl.ts +15 -3
  295. package/src/components/entities/entity-settings-form/locales/pt.ts +15 -3
  296. package/src/components/entities/entity-settings-form/locales/sk.ts +206 -0
  297. package/src/components/entities/entity-settings-form/locales/sl.ts +31 -18
  298. package/src/components/entities/entity-settings-form/locales/sv.ts +212 -0
  299. package/src/components/entities/fina-settings-form/fina-operator-required-dialog.tsx +34 -9
  300. package/src/components/entities/fina-settings-form/fina-settings-form.tsx +2 -0
  301. package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +14 -45
  302. package/src/components/entities/fina-settings-form/locales/bg.ts +163 -0
  303. package/src/components/entities/fina-settings-form/locales/cs.ts +163 -0
  304. package/src/components/entities/fina-settings-form/locales/et.ts +163 -0
  305. package/src/components/entities/fina-settings-form/locales/fi.ts +163 -0
  306. package/src/components/entities/fina-settings-form/locales/hr.ts +11 -10
  307. package/src/components/entities/fina-settings-form/locales/is.ts +164 -0
  308. package/src/components/entities/fina-settings-form/locales/nb.ts +163 -0
  309. package/src/components/entities/fina-settings-form/locales/sk.ts +163 -0
  310. package/src/components/entities/fina-settings-form/locales/sl.ts +8 -7
  311. package/src/components/entities/fina-settings-form/locales/sv.ts +165 -0
  312. package/src/components/entities/furs-settings-form/furs-operator-required-dialog.tsx +34 -9
  313. package/src/components/entities/furs-settings-form/furs-settings-form.tsx +13 -1
  314. package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +141 -42
  315. package/src/components/entities/furs-settings-form/locales/bg.ts +242 -0
  316. package/src/components/entities/furs-settings-form/locales/cs.ts +241 -0
  317. package/src/components/entities/furs-settings-form/locales/de.ts +42 -15
  318. package/src/components/entities/furs-settings-form/locales/en.ts +24 -0
  319. package/src/components/entities/furs-settings-form/locales/es.ts +42 -15
  320. package/src/components/entities/furs-settings-form/locales/et.ts +242 -0
  321. package/src/components/entities/furs-settings-form/locales/fi.ts +243 -0
  322. package/src/components/entities/furs-settings-form/locales/fr.ts +43 -15
  323. package/src/components/entities/furs-settings-form/locales/hr.ts +44 -19
  324. package/src/components/entities/furs-settings-form/locales/is.ts +242 -0
  325. package/src/components/entities/furs-settings-form/locales/it.ts +42 -15
  326. package/src/components/entities/furs-settings-form/locales/nb.ts +242 -0
  327. package/src/components/entities/furs-settings-form/locales/nl.ts +42 -15
  328. package/src/components/entities/furs-settings-form/locales/pl.ts +40 -15
  329. package/src/components/entities/furs-settings-form/locales/pt.ts +42 -15
  330. package/src/components/entities/furs-settings-form/locales/sk.ts +243 -0
  331. package/src/components/entities/furs-settings-form/locales/sl.ts +34 -10
  332. package/src/components/entities/furs-settings-form/locales/sv.ts +242 -0
  333. package/src/components/entities/furs-settings-form/sections/enable-fiscalization-section.tsx +11 -0
  334. package/src/components/entities/furs-settings-form/sections/furs-internal-act-download-card.tsx +111 -0
  335. package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +27 -0
  336. package/src/components/entities/furs-settings-form/sections/premises-management-section.tsx +23 -16
  337. package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +89 -31
  338. package/src/components/entities/settings/branding-settings-form.tsx +11 -30
  339. package/src/components/entities/settings/company-settings-form.tsx +2 -1
  340. package/src/components/entities/settings/defaults-settings-form.tsx +106 -3
  341. package/src/components/entities/settings/email-settings-form.tsx +245 -3
  342. package/src/components/entities/settings/eslog-settings-form.tsx +2 -1
  343. package/src/components/entities/settings/number-format-settings-form.tsx +2 -1
  344. package/src/components/entities/settings/pdf-template-selector/locales/bg.ts +20 -0
  345. package/src/components/entities/settings/pdf-template-selector/locales/cs.ts +20 -0
  346. package/src/components/entities/settings/pdf-template-selector/locales/en.ts +20 -0
  347. package/src/components/entities/settings/pdf-template-selector/locales/et.ts +19 -0
  348. package/src/components/entities/settings/pdf-template-selector/locales/fi.ts +20 -0
  349. package/src/components/entities/settings/pdf-template-selector/locales/is.ts +19 -0
  350. package/src/components/entities/settings/pdf-template-selector/locales/nb.ts +19 -0
  351. package/src/components/entities/settings/pdf-template-selector/locales/sk.ts +20 -0
  352. package/src/components/entities/settings/pdf-template-selector/locales/sv.ts +19 -0
  353. package/src/components/entities/settings/tax-rules-settings-form.tsx +57 -6
  354. package/src/components/estimates/create/create-estimate-form.tsx +250 -66
  355. package/src/components/estimates/create/locales/bg.ts +77 -0
  356. package/src/components/estimates/create/locales/cs.ts +77 -0
  357. package/src/components/estimates/create/locales/de.ts +4 -3
  358. package/src/components/estimates/create/locales/en.ts +77 -0
  359. package/src/components/estimates/create/locales/es.ts +4 -3
  360. package/src/components/estimates/create/locales/et.ts +77 -0
  361. package/src/components/estimates/create/locales/fi.ts +77 -0
  362. package/src/components/estimates/create/locales/fr.ts +4 -3
  363. package/src/components/estimates/create/locales/hr.ts +13 -12
  364. package/src/components/estimates/create/locales/is.ts +77 -0
  365. package/src/components/estimates/create/locales/it.ts +4 -3
  366. package/src/components/estimates/create/locales/nb.ts +77 -0
  367. package/src/components/estimates/create/locales/nl.ts +4 -3
  368. package/src/components/estimates/create/locales/pl.ts +4 -3
  369. package/src/components/estimates/create/locales/pt.ts +4 -3
  370. package/src/components/estimates/create/locales/sk.ts +77 -0
  371. package/src/components/estimates/create/locales/sl.ts +13 -12
  372. package/src/components/estimates/create/locales/sv.ts +77 -0
  373. package/src/components/estimates/create/prepare-estimate-submission.ts +41 -4
  374. package/src/components/estimates/estimates.hooks.ts +24 -3
  375. package/src/components/estimates/list/list-row-actions.tsx +34 -7
  376. package/src/components/estimates/list/list-table.tsx +89 -11
  377. package/src/components/estimates/list/locales/bg.ts +40 -0
  378. package/src/components/estimates/list/locales/cs.ts +40 -0
  379. package/src/components/estimates/list/locales/de.ts +2 -0
  380. package/src/components/estimates/list/locales/en.ts +29 -2
  381. package/src/components/estimates/list/locales/es.ts +2 -0
  382. package/src/components/estimates/list/locales/et.ts +40 -0
  383. package/src/components/estimates/list/locales/fi.ts +40 -0
  384. package/src/components/estimates/list/locales/fr.ts +2 -0
  385. package/src/components/estimates/list/locales/hr.ts +9 -7
  386. package/src/components/estimates/list/locales/is.ts +40 -0
  387. package/src/components/estimates/list/locales/it.ts +2 -0
  388. package/src/components/estimates/list/locales/nb.ts +40 -0
  389. package/src/components/estimates/list/locales/nl.ts +2 -0
  390. package/src/components/estimates/list/locales/pl.ts +2 -0
  391. package/src/components/estimates/list/locales/pt.ts +2 -0
  392. package/src/components/estimates/list/locales/sk.ts +40 -0
  393. package/src/components/estimates/list/locales/sl.ts +9 -7
  394. package/src/components/estimates/list/locales/sv.ts +40 -0
  395. package/src/components/estimates/list/use-estimate-download.ts +3 -5
  396. package/src/components/export/document-export-form.tsx +72 -15
  397. package/src/components/export/sales-per-item-export-form.tsx +3 -2
  398. package/src/components/invoices/create/create-invoice-form.tsx +500 -112
  399. package/src/components/invoices/create/eslog-validation.ts +97 -8
  400. package/src/components/invoices/create/locales/bg.ts +173 -0
  401. package/src/components/invoices/create/locales/cs.ts +173 -0
  402. package/src/components/invoices/create/locales/de.ts +41 -9
  403. package/src/components/invoices/create/locales/en.ts +173 -0
  404. package/src/components/invoices/create/locales/es.ts +42 -9
  405. package/src/components/invoices/create/locales/et.ts +173 -0
  406. package/src/components/invoices/create/locales/fi.ts +173 -0
  407. package/src/components/invoices/create/locales/fr.ts +42 -11
  408. package/src/components/invoices/create/locales/hr.ts +50 -18
  409. package/src/components/invoices/create/locales/is.ts +173 -0
  410. package/src/components/invoices/create/locales/it.ts +43 -11
  411. package/src/components/invoices/create/locales/nb.ts +173 -0
  412. package/src/components/invoices/create/locales/nl.ts +42 -10
  413. package/src/components/invoices/create/locales/pl.ts +42 -11
  414. package/src/components/invoices/create/locales/pt.ts +43 -10
  415. package/src/components/invoices/create/locales/sk.ts +173 -0
  416. package/src/components/invoices/create/locales/sl.ts +49 -18
  417. package/src/components/invoices/create/locales/sv.ts +175 -0
  418. package/src/components/invoices/create/prepare-invoice-submission.ts +73 -2
  419. package/src/components/invoices/invoices-furs.hooks.ts +11 -8
  420. package/src/components/invoices/invoices.hooks.ts +36 -10
  421. package/src/components/invoices/list/list-row-actions.tsx +54 -21
  422. package/src/components/invoices/list/list-table.tsx +94 -12
  423. package/src/components/invoices/list/locales/bg.ts +49 -0
  424. package/src/components/invoices/list/locales/cs.ts +49 -0
  425. package/src/components/invoices/list/locales/en.ts +34 -2
  426. package/src/components/invoices/list/locales/et.ts +49 -0
  427. package/src/components/invoices/list/locales/fi.ts +49 -0
  428. package/src/components/invoices/list/locales/is.ts +49 -0
  429. package/src/components/invoices/list/locales/nb.ts +49 -0
  430. package/src/components/invoices/list/locales/sk.ts +49 -0
  431. package/src/components/invoices/list/locales/sv.ts +49 -0
  432. package/src/components/invoices/list/use-invoice-download.ts +3 -5
  433. package/src/components/invoices/send-email-dialog/locales/bg.ts +63 -0
  434. package/src/components/invoices/send-email-dialog/locales/cs.ts +63 -0
  435. package/src/components/invoices/send-email-dialog/locales/de.ts +26 -0
  436. package/src/components/invoices/send-email-dialog/locales/en.ts +63 -0
  437. package/src/components/invoices/send-email-dialog/locales/es.ts +26 -0
  438. package/src/components/invoices/send-email-dialog/locales/et.ts +63 -0
  439. package/src/components/invoices/send-email-dialog/locales/fi.ts +63 -0
  440. package/src/components/invoices/send-email-dialog/locales/fr.ts +26 -0
  441. package/src/components/invoices/send-email-dialog/locales/hr.ts +26 -0
  442. package/src/components/invoices/send-email-dialog/locales/is.ts +63 -0
  443. package/src/components/invoices/send-email-dialog/locales/it.ts +26 -0
  444. package/src/components/invoices/send-email-dialog/locales/nb.ts +63 -0
  445. package/src/components/invoices/send-email-dialog/locales/nl.ts +26 -0
  446. package/src/components/invoices/send-email-dialog/locales/pl.ts +26 -0
  447. package/src/components/invoices/send-email-dialog/locales/pt.ts +26 -0
  448. package/src/components/invoices/send-email-dialog/locales/sk.ts +63 -0
  449. package/src/components/invoices/send-email-dialog/locales/sl.ts +26 -0
  450. package/src/components/invoices/send-email-dialog/locales/sv.ts +63 -0
  451. package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +189 -93
  452. package/src/components/invoices/view/eslog-info-display.tsx +2 -0
  453. package/src/components/invoices/view/fiscalization-status-card.tsx +2 -0
  454. package/src/components/items/create-item-form/create-item-form.tsx +29 -0
  455. package/src/components/items/create-item-form/locales/bg.ts +13 -0
  456. package/src/components/items/create-item-form/locales/cs.ts +13 -0
  457. package/src/components/items/create-item-form/locales/et.ts +13 -0
  458. package/src/components/items/create-item-form/locales/fi.ts +13 -0
  459. package/src/components/items/create-item-form/locales/is.ts +13 -0
  460. package/src/components/items/create-item-form/locales/nb.ts +13 -0
  461. package/src/components/items/create-item-form/locales/sk.ts +13 -0
  462. package/src/components/items/create-item-form/locales/sv.ts +13 -0
  463. package/src/components/items/edit-item-form/edit-item-form.tsx +39 -1
  464. package/src/components/items/edit-item-form/locales/bg.ts +12 -0
  465. package/src/components/items/edit-item-form/locales/cs.ts +12 -0
  466. package/src/components/items/edit-item-form/locales/en.ts +12 -0
  467. package/src/components/items/edit-item-form/locales/et.ts +12 -0
  468. package/src/components/items/edit-item-form/locales/fi.ts +12 -0
  469. package/src/components/items/edit-item-form/locales/is.ts +12 -0
  470. package/src/components/items/edit-item-form/locales/nb.ts +12 -0
  471. package/src/components/items/edit-item-form/locales/sk.ts +12 -0
  472. package/src/components/items/edit-item-form/locales/sv.ts +12 -0
  473. package/src/components/items/item-combobox.tsx +55 -22
  474. package/src/components/items/item-list-table/item-list-table.tsx +47 -23
  475. package/src/components/items/item-list-table/locales/bg.ts +16 -0
  476. package/src/components/items/item-list-table/locales/cs.ts +16 -0
  477. package/src/components/items/item-list-table/locales/en.ts +4 -3
  478. package/src/components/items/item-list-table/locales/et.ts +16 -0
  479. package/src/components/items/item-list-table/locales/fi.ts +16 -0
  480. package/src/components/items/item-list-table/locales/is.ts +16 -0
  481. package/src/components/items/item-list-table/locales/nb.ts +16 -0
  482. package/src/components/items/item-list-table/locales/sk.ts +16 -0
  483. package/src/components/items/item-list-table/locales/sv.ts +16 -0
  484. package/src/components/items/items.hooks.ts +15 -15
  485. package/src/components/payments/create-payment-form/create-payment-form.tsx +16 -9
  486. package/src/components/payments/create-payment-form/locales/bg.ts +20 -0
  487. package/src/components/payments/create-payment-form/locales/cs.ts +20 -0
  488. package/src/components/payments/create-payment-form/locales/en.ts +20 -0
  489. package/src/components/payments/create-payment-form/locales/et.ts +20 -0
  490. package/src/components/payments/create-payment-form/locales/fi.ts +20 -0
  491. package/src/components/payments/create-payment-form/locales/hr.ts +2 -2
  492. package/src/components/payments/create-payment-form/locales/is.ts +20 -0
  493. package/src/components/payments/create-payment-form/locales/nb.ts +20 -0
  494. package/src/components/payments/create-payment-form/locales/sk.ts +20 -0
  495. package/src/components/payments/create-payment-form/locales/sl.ts +4 -4
  496. package/src/components/payments/create-payment-form/locales/sv.ts +20 -0
  497. package/src/components/payments/edit-payment-form/edit-payment-form.tsx +10 -2
  498. package/src/components/payments/edit-payment-form/locales/bg.ts +20 -0
  499. package/src/components/payments/edit-payment-form/locales/cs.ts +20 -0
  500. package/src/components/payments/edit-payment-form/locales/en.ts +20 -0
  501. package/src/components/payments/edit-payment-form/locales/et.ts +20 -0
  502. package/src/components/payments/edit-payment-form/locales/fi.ts +20 -0
  503. package/src/components/payments/edit-payment-form/locales/hr.ts +2 -2
  504. package/src/components/payments/edit-payment-form/locales/is.ts +20 -0
  505. package/src/components/payments/edit-payment-form/locales/nb.ts +20 -0
  506. package/src/components/payments/edit-payment-form/locales/sk.ts +20 -0
  507. package/src/components/payments/edit-payment-form/locales/sl.ts +4 -4
  508. package/src/components/payments/edit-payment-form/locales/sv.ts +20 -0
  509. package/src/components/payments/list/list-row-actions.tsx +10 -2
  510. package/src/components/payments/list/list-table.tsx +51 -45
  511. package/src/components/payments/list/locales/bg.ts +42 -0
  512. package/src/components/payments/list/locales/cs.ts +42 -0
  513. package/src/components/payments/list/locales/de.ts +18 -0
  514. package/src/components/payments/list/locales/en.ts +37 -2
  515. package/src/components/payments/list/locales/es.ts +18 -0
  516. package/src/components/payments/list/locales/et.ts +42 -0
  517. package/src/components/payments/list/locales/fi.ts +42 -0
  518. package/src/components/payments/list/locales/fr.ts +18 -0
  519. package/src/components/payments/list/locales/hr.ts +18 -0
  520. package/src/components/payments/list/locales/is.ts +42 -0
  521. package/src/components/payments/list/locales/it.ts +18 -0
  522. package/src/components/payments/list/locales/nb.ts +42 -0
  523. package/src/components/payments/list/locales/nl.ts +18 -0
  524. package/src/components/payments/list/locales/pl.ts +18 -0
  525. package/src/components/payments/list/locales/pt.ts +18 -0
  526. package/src/components/payments/list/locales/sk.ts +42 -0
  527. package/src/components/payments/list/locales/sl.ts +18 -1
  528. package/src/components/payments/list/locales/sv.ts +42 -0
  529. package/src/components/payments/payments.hooks.ts +13 -6
  530. package/src/components/recurring-invoices/create-recurring-invoice-form/create-recurring-invoice-form.tsx +121 -39
  531. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/bg.ts +44 -0
  532. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/cs.ts +44 -0
  533. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/en.ts +44 -0
  534. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/et.ts +44 -0
  535. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/fi.ts +44 -0
  536. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/hr.ts +6 -6
  537. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/is.ts +44 -0
  538. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/nb.ts +44 -0
  539. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sk.ts +44 -0
  540. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sl.ts +4 -4
  541. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sv.ts +44 -0
  542. package/src/components/recurring-invoices/list/list-row-actions.tsx +12 -6
  543. package/src/components/recurring-invoices/list/list-table.tsx +63 -12
  544. package/src/components/recurring-invoices/list/locales/bg.ts +32 -0
  545. package/src/components/recurring-invoices/list/locales/cs.ts +32 -0
  546. package/src/components/recurring-invoices/list/locales/de.ts +4 -0
  547. package/src/components/recurring-invoices/list/locales/en.ts +27 -0
  548. package/src/components/recurring-invoices/list/locales/es.ts +4 -0
  549. package/src/components/recurring-invoices/list/locales/et.ts +32 -0
  550. package/src/components/recurring-invoices/list/locales/fi.ts +32 -0
  551. package/src/components/recurring-invoices/list/locales/fr.ts +4 -0
  552. package/src/components/recurring-invoices/list/locales/hr.ts +4 -0
  553. package/src/components/recurring-invoices/list/locales/is.ts +32 -0
  554. package/src/components/recurring-invoices/list/locales/it.ts +4 -0
  555. package/src/components/recurring-invoices/list/locales/nb.ts +32 -0
  556. package/src/components/recurring-invoices/list/locales/nl.ts +4 -0
  557. package/src/components/recurring-invoices/list/locales/pl.ts +4 -0
  558. package/src/components/recurring-invoices/list/locales/pt.ts +4 -0
  559. package/src/components/recurring-invoices/list/locales/sk.ts +32 -0
  560. package/src/components/recurring-invoices/list/locales/sl.ts +4 -0
  561. package/src/components/recurring-invoices/list/locales/sv.ts +32 -0
  562. package/src/components/recurring-invoices/recurring-invoices.hooks.ts +11 -8
  563. package/src/components/request-logs/request-log-detail.tsx +30 -23
  564. package/src/components/request-logs/request-log-list-table.tsx +88 -45
  565. package/src/components/table/README.md +47 -9
  566. package/src/components/table/data-table.tsx +232 -92
  567. package/src/components/table/filter-bar.tsx +1 -1
  568. package/src/components/table/filter-panel.tsx +51 -22
  569. package/src/components/table/hooks/use-table-state.ts +64 -11
  570. package/src/components/table/index.ts +3 -0
  571. package/src/components/table/locales.ts +119 -4
  572. package/src/components/table/selection-toolbar.tsx +65 -9
  573. package/src/components/table/sorting.ts +80 -0
  574. package/src/components/table/table-skeleton.tsx +15 -9
  575. package/src/components/table/types.ts +17 -0
  576. package/src/components/tax-reports/index.ts +8 -0
  577. package/src/components/tax-reports/kir-export-form.tsx +4 -5
  578. package/src/components/tax-reports/slovenia-accounting-mappings-fields.tsx +271 -0
  579. package/src/components/tax-reports/slovenia-tax-profile-step.tsx +25 -11
  580. package/src/components/tax-reports/slovenia-vod-export-form.tsx +452 -0
  581. package/src/components/tax-reports/slovenia-yearly-export-form.tsx +20 -16
  582. package/src/components/tax-reports/slovenia-yearly-review-step.tsx +42 -19
  583. package/src/components/taxes/create-tax-form/create-tax-form.tsx +48 -2
  584. package/src/components/taxes/create-tax-form/locales/bg.ts +8 -0
  585. package/src/components/taxes/create-tax-form/locales/cs.ts +8 -0
  586. package/src/components/taxes/create-tax-form/locales/et.ts +8 -0
  587. package/src/components/taxes/create-tax-form/locales/fi.ts +8 -0
  588. package/src/components/taxes/create-tax-form/locales/is.ts +8 -0
  589. package/src/components/taxes/create-tax-form/locales/nb.ts +8 -0
  590. package/src/components/taxes/create-tax-form/locales/sk.ts +8 -0
  591. package/src/components/taxes/create-tax-form/locales/sv.ts +8 -0
  592. package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +80 -11
  593. package/src/components/taxes/edit-tax-form/locales/bg.ts +6 -0
  594. package/src/components/taxes/edit-tax-form/locales/cs.ts +6 -0
  595. package/src/components/taxes/edit-tax-form/locales/en.ts +6 -0
  596. package/src/components/taxes/edit-tax-form/locales/et.ts +6 -0
  597. package/src/components/taxes/edit-tax-form/locales/fi.ts +6 -0
  598. package/src/components/taxes/edit-tax-form/locales/is.ts +6 -0
  599. package/src/components/taxes/edit-tax-form/locales/nb.ts +6 -0
  600. package/src/components/taxes/edit-tax-form/locales/sk.ts +6 -0
  601. package/src/components/taxes/edit-tax-form/locales/sv.ts +6 -0
  602. package/src/components/taxes/tax-list-table/locales/bg.ts +17 -0
  603. package/src/components/taxes/tax-list-table/locales/cs.ts +17 -0
  604. package/src/components/taxes/tax-list-table/locales/en.ts +4 -3
  605. package/src/components/taxes/tax-list-table/locales/et.ts +17 -0
  606. package/src/components/taxes/tax-list-table/locales/fi.ts +17 -0
  607. package/src/components/taxes/tax-list-table/locales/is.ts +17 -0
  608. package/src/components/taxes/tax-list-table/locales/nb.ts +17 -0
  609. package/src/components/taxes/tax-list-table/locales/sk.ts +17 -0
  610. package/src/components/taxes/tax-list-table/locales/sv.ts +17 -0
  611. package/src/components/taxes/tax-list-table/tax-list-table.tsx +53 -19
  612. package/src/components/taxes/taxes.hooks.ts +53 -12
  613. package/src/components/ui/badge.tsx +1 -1
  614. package/src/components/ui/button.tsx +1 -1
  615. package/src/components/ui/drawer.tsx +2 -2
  616. package/src/components/ui/form.tsx +118 -10
  617. package/src/components/ui/progress.tsx +6 -4
  618. package/src/components/ui/select.tsx +118 -2
  619. package/src/components/ui/sidebar.tsx +2 -2
  620. package/src/components/ui/sonner.tsx +17 -36
  621. package/src/components/ui/sticky-form-footer.tsx +6 -1
  622. package/src/components/ui/tooltip.tsx +15 -2
  623. package/src/components/webhook-logs/webhook-delivery-detail.tsx +22 -22
  624. package/src/components/webhook-logs/webhook-delivery-list-table.tsx +92 -17
  625. package/src/components/wl-subscription/locked-feature.tsx +11 -10
  626. package/src/components/wl-subscription/paywall.tsx +184 -72
  627. package/src/components/wl-subscription/upgrade-modal.tsx +28 -31
  628. package/src/generate-schemas.ts +146 -103
  629. package/src/generated/schemas/acceptentityinvitation_body.ts +4 -3
  630. package/src/generated/schemas/accountwebhook.ts +63 -0
  631. package/src/generated/schemas/addentityuser_body.ts +4 -3
  632. package/src/generated/schemas/advanceinvoice.ts +167 -168
  633. package/src/generated/schemas/authorizeshopify_body.ts +4 -3
  634. package/src/generated/schemas/calculatedocumentpreview.ts +120 -0
  635. package/src/generated/schemas/checktransactiontype.ts +35 -0
  636. package/src/generated/schemas/creditnote.ts +203 -76
  637. package/src/generated/schemas/customadvanceinvoice.ts +172 -165
  638. package/src/generated/schemas/customcreditnote.ts +183 -155
  639. package/src/generated/schemas/customdeliverynote.ts +166 -0
  640. package/src/generated/schemas/customer.ts +4 -8
  641. package/src/generated/schemas/customestimate.ts +123 -97
  642. package/src/generated/schemas/customincomingpurchasedocument.ts +142 -0
  643. package/src/generated/schemas/custominvoice.ts +183 -154
  644. package/src/generated/schemas/deliverynote.ts +124 -79
  645. package/src/generated/schemas/einvoice.ts +19 -0
  646. package/src/generated/schemas/einvoicingsettings.ts +21 -0
  647. package/src/generated/schemas/einvoicingsupplier.ts +45 -0
  648. package/src/generated/schemas/entity.ts +267 -24
  649. package/src/generated/schemas/entityapikey.ts +1 -3
  650. package/src/generated/schemas/entityuserrole.ts +1 -3
  651. package/src/generated/schemas/estimate.ts +120 -127
  652. package/src/generated/schemas/exportsloveniavodxml_body.ts +17 -0
  653. package/src/generated/schemas/exportsloveniayearlynormiranireport_body.ts +4 -3
  654. package/src/generated/schemas/finadevice.ts +15 -0
  655. package/src/generated/schemas/finalizedocument.ts +52 -0
  656. package/src/generated/schemas/finapremise.ts +15 -0
  657. package/src/generated/schemas/finasettings.ts +1 -3
  658. package/src/generated/schemas/furselectronicdevice.ts +15 -0
  659. package/src/generated/schemas/furssettings.ts +2 -3
  660. package/src/generated/schemas/image.ts +15 -0
  661. package/src/generated/schemas/incomingpurchasedocument.ts +178 -0
  662. package/src/generated/schemas/incomingpurchasedocumentattachment.ts +15 -0
  663. package/src/generated/schemas/incomingpurchasedocumentpayment.ts +36 -0
  664. package/src/generated/schemas/index.ts +30 -5
  665. package/src/generated/schemas/invoice.ts +182 -183
  666. package/src/generated/schemas/item.ts +35 -3
  667. package/src/generated/schemas/legacymigrationauth.ts +18 -0
  668. package/src/generated/schemas/me.ts +4 -22
  669. package/src/generated/schemas/migrationjob.ts +20 -0
  670. package/src/generated/schemas/order.ts +6 -8
  671. package/src/generated/schemas/orderintegration.ts +12 -12
  672. package/src/generated/schemas/payment.ts +9 -8
  673. package/src/generated/schemas/ptatcudseries.ts +28 -0
  674. package/src/generated/schemas/queryentitystats.ts +15 -0
  675. package/src/generated/schemas/recurringinvoice.ts +4 -8
  676. package/src/generated/schemas/registerfursmovablepremise_body.ts +1 -3
  677. package/src/generated/schemas/registerfursrealestatepremise_body.ts +1 -3
  678. package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +42 -16
  679. package/src/generated/schemas/rendercreditnotepreview_body.ts +42 -16
  680. package/src/generated/schemas/renderdeliverynotepreview_body.ts +19 -8
  681. package/src/generated/schemas/renderestimatepreview_body.ts +45 -8
  682. package/src/generated/schemas/renderinvoicepreview_body.ts +46 -18
  683. package/src/generated/schemas/reviewsloveniayearlynormiranireport.ts +15 -0
  684. package/src/generated/schemas/searcheinvoicingcustomer.ts +18 -0
  685. package/src/generated/schemas/senddocument_body.ts +2 -3
  686. package/src/generated/schemas/sendemail_body.ts +48 -42
  687. package/src/generated/schemas/sloveniataxprofile.ts +98 -24
  688. package/src/generated/schemas/starteslogexport_body.ts +34 -0
  689. package/src/generated/schemas/startpdfexport_body.ts +18 -81
  690. package/src/generated/schemas/stripeappconnect_body.ts +4 -3
  691. package/src/generated/schemas/stripeappcreateinvoice_body.ts +4 -6
  692. package/src/generated/schemas/stripeappmarketplaceauthorize.ts +15 -0
  693. package/src/generated/schemas/stripeappupdatesettings_body.ts +6 -6
  694. package/src/generated/schemas/supplier.ts +55 -0
  695. package/src/generated/schemas/syncshopifyorders_body.ts +21 -0
  696. package/src/generated/schemas/tax.ts +8 -8
  697. package/src/generated/schemas/uploadfile_body.ts +2 -3
  698. package/src/generated/schemas/uploadfurscertificate_body.ts +6 -6
  699. package/src/generated/schemas/userfinasettings.ts +1 -3
  700. package/src/generated/schemas/userfurssettings.ts +1 -3
  701. package/src/generated/schemas/userptsettings.ts +24 -0
  702. package/src/generated/schemas/voidinvoice_body.ts +25 -0
  703. package/src/generated/schemas/webhook.ts +6 -8
  704. package/src/generated/schemas/wlsubscriptionbillingemail.ts +17 -0
  705. package/src/hooks/create-resource-hooks.ts +22 -19
  706. package/src/hooks/use-duplicate-document.ts +71 -38
  707. package/src/hooks/use-eslog-validation.ts +5 -1
  708. package/src/hooks/use-next-document-number.ts +13 -6
  709. package/src/hooks/use-resolved-entity-id.ts +14 -0
  710. package/src/hooks/use-resource-mutation.ts +11 -30
  711. package/src/hooks/use-transaction-type-check.ts +3 -8
  712. package/src/lib/browser-cookies.ts +1 -1
  713. package/src/lib/country-capabilities.ts +114 -0
  714. package/src/lib/date-fns-locale.ts +1 -20
  715. package/src/lib/date-only.ts +58 -0
  716. package/src/lib/document-display.ts +18 -0
  717. package/src/lib/eslog-export.ts +32 -0
  718. package/src/lib/fiscalization-options.ts +21 -1
  719. package/src/lib/formatting.ts +27 -0
  720. package/src/lib/furs-error-utils.ts +29 -0
  721. package/src/lib/locale.ts +4 -0
  722. package/src/lib/payment-display.ts +97 -0
  723. package/src/lib/pt-document-input.ts +67 -0
  724. package/src/lib/schemas/shared.ts +12 -0
  725. package/src/lib/template-variables.tsx +102 -4
  726. package/src/lib/translation.ts +51 -33
  727. package/src/lib/white-label-capabilities.ts +626 -0
  728. package/src/lib/zod-validation-message.ts +291 -0
  729. package/src/providers/entities-provider.tsx +32 -14
  730. package/src/providers/sdk-provider.tsx +112 -12
  731. package/src/providers/space-invoices-provider.tsx +129 -0
  732. package/src/providers/white-label-provider.tsx +96 -4
  733. package/src/providers/wl-subscription-provider.tsx +149 -10
  734. package/src/generated/schemas/previewadvanceinvoice_body.ts +0 -354
  735. package/src/generated/schemas/previewestimate_body.ts +0 -309
  736. package/src/generated/schemas/registerfinamovablepremise_body.ts +0 -26
  737. package/src/generated/schemas/registerfinarealestatepremise_body.ts +0 -37
  738. package/src/generated/schemas/renderdocument_body.ts +0 -594
@@ -1,5 +1,6 @@
1
1
  import { zodResolver } from "@hookform/resolvers/zod";
2
2
  import type { Entity } from "@spaceinvoices/js-sdk";
3
+ import { files, upload } from "@spaceinvoices/js-sdk";
3
4
  import { CreditCard, FileText, Globe, Mail, Palette, QrCode, Sparkles } from "lucide-react";
4
5
  import { useEffect, useRef, useState } from "react";
5
6
  import { useForm } from "react-hook-form";
@@ -25,7 +26,6 @@ import { patchEntitySchema } from "@/ui/generated/schemas/entity";
25
26
  import { CURRENCY_CODES } from "@/ui/lib/constants";
26
27
  import type { ComponentTranslationProps } from "@/ui/lib/translation";
27
28
  import { createTranslation } from "@/ui/lib/translation";
28
- import { useSDK } from "@/ui/providers/sdk-provider";
29
29
  import ButtonLoader from "../../button-loader";
30
30
  import { useUpdateEntity } from "../entities.hooks";
31
31
  import { EmailTemplateVariablesInfo } from "./email-template-variables-info";
@@ -116,6 +116,7 @@ const entitySettingsFormSchema = patchEntitySchema
116
116
  message: "Must be a valid hex color (e.g., #5c6ac4)",
117
117
  })
118
118
  .optional(),
119
+ logo_scale_percent: z.union([z.number().int().min(30).max(100), z.null()]).optional(),
119
120
  has_logo: z.boolean().nullable().optional(),
120
121
  has_signature: z.boolean().nullable().optional(),
121
122
  email: z
@@ -150,13 +151,13 @@ const entitySettingsFormSchema = patchEntitySchema
150
151
  .optional(),
151
152
  // EPC QR settings (EU + CH)
152
153
  epc_qr_enabled: z.union([z.boolean(), z.null()]).optional(),
154
+ show_payment_amounts: z.union([z.boolean(), z.null()]).optional(),
153
155
  });
154
156
 
155
157
  export type EntitySettingsFormSchema = z.infer<typeof entitySettingsFormSchema>;
156
158
 
157
159
  export type EntitySettingsFormProps = {
158
160
  entity: Entity;
159
- cloudinaryCloudName?: string;
160
161
  onSuccess?: (data: Entity) => void;
161
162
  onError?: (error: unknown) => void;
162
163
  onUploadSuccess?: () => void;
@@ -164,10 +165,10 @@ export type EntitySettingsFormProps = {
164
165
 
165
166
  export function EntitySettingsForm({
166
167
  entity,
167
- cloudinaryCloudName,
168
168
  t: translateProp,
169
169
  namespace,
170
170
  locale,
171
+ translationLocale,
171
172
  onSuccess,
172
173
  onError,
173
174
  onUploadSuccess,
@@ -176,13 +177,11 @@ export function EntitySettingsForm({
176
177
  t: translateProp,
177
178
  namespace,
178
179
  locale,
180
+ translationLocale,
179
181
  translations,
180
182
  });
181
- const { sdk } = useSDK();
182
183
  const [isUploading, setIsUploading] = useState(false);
183
184
  const [isUploadingSignature, setIsUploadingSignature] = useState(false);
184
- const [logoTimestamp, setLogoTimestamp] = useState(Date.now());
185
- const [signatureTimestamp, setSignatureTimestamp] = useState(Date.now());
186
185
  const [uploadedLogoUrl, setUploadedLogoUrl] = useState<string | null>(null);
187
186
  const [uploadedSignatureUrl, setUploadedSignatureUrl] = useState<string | null>(null);
188
187
  const [fetchedLogoUrl, setFetchedLogoUrl] = useState<string | null>(null);
@@ -204,6 +203,7 @@ export function EntitySettingsForm({
204
203
  currency_code: entity.currency_code || undefined,
205
204
  locale: entity.locale || "en-US",
206
205
  primary_color: currentSettings.primary_color || null,
206
+ logo_scale_percent: currentSettings.logo_scale_percent ?? 100,
207
207
  has_logo: currentSettings.has_logo || null,
208
208
  has_signature: currentSettings.has_signature || null,
209
209
  email: currentSettings.email || null,
@@ -221,6 +221,7 @@ export function EntitySettingsForm({
221
221
  upn_qr_display_mode: currentSettings.upn_qr?.display_mode || "qr_only",
222
222
  upn_qr_purpose_code: currentSettings.upn_qr?.purpose_code || "OTHR",
223
223
  epc_qr_enabled: currentSettings.epc_qr?.enabled || false,
224
+ show_payment_amounts: currentSettings.show_payment_amounts || false,
224
225
  },
225
226
  });
226
227
 
@@ -237,10 +238,10 @@ export function EntitySettingsForm({
237
238
  async function fetchFileUrls() {
238
239
  try {
239
240
  // SDK auto-unwraps response, returns data array directly
240
- const files = await sdk.files.list({ entity_id: entity.id });
241
+ const entityFiles = await files.list({ entity_id: entity.id });
241
242
 
242
- const logoFile = files.data.find((f: { category: string }) => f.category === "logo");
243
- const signatureFile = files.data.find((f: { category: string }) => f.category === "signature");
243
+ const logoFile = entityFiles.data.find((f: { category: string }) => f.category === "logo");
244
+ const signatureFile = entityFiles.data.find((f: { category: string }) => f.category === "signature");
244
245
 
245
246
  if (logoFile) {
246
247
  setFetchedLogoUrl(logoFile.secureUrl);
@@ -263,29 +264,14 @@ export function EntitySettingsForm({
263
264
  }
264
265
 
265
266
  fetchFileUrls();
266
- }, [entity.id, sdk.files, form]);
267
+ }, [entity.id, form]);
267
268
 
268
269
  // Watch the has_logo and has_signature form fields for changes
269
270
  const hasLogo = form.watch("has_logo");
270
271
  const hasSignature = form.watch("has_signature");
271
272
 
272
- // Logo URL priority: freshly uploaded > fetched from API > constructed fallback
273
- const entityTimestamp = entity.updated_at ? new Date(entity.updated_at).getTime() : logoTimestamp;
274
- const logoUrl =
275
- hasLogo && cloudinaryCloudName
276
- ? uploadedLogoUrl ||
277
- fetchedLogoUrl ||
278
- `https://res.cloudinary.com/${cloudinaryCloudName}/image/upload/leka/entities/${entity.id}/logos/logo_${entity.id}.png?v=${entityTimestamp}`
279
- : undefined;
280
-
281
- // Signature URL priority: freshly uploaded > fetched from API > constructed fallback
282
- const signatureEntityTimestamp = entity.updated_at ? new Date(entity.updated_at).getTime() : signatureTimestamp;
283
- const signatureUrl =
284
- hasSignature && cloudinaryCloudName
285
- ? uploadedSignatureUrl ||
286
- fetchedSignatureUrl ||
287
- `https://res.cloudinary.com/${cloudinaryCloudName}/image/upload/leka/entities/${entity.id}/signatures/signature_${entity.id}.png?v=${signatureEntityTimestamp}`
288
- : undefined;
273
+ const logoUrl = hasLogo ? uploadedLogoUrl || fetchedLogoUrl || undefined : undefined;
274
+ const signatureUrl = hasSignature ? uploadedSignatureUrl || fetchedSignatureUrl || undefined : undefined;
289
275
 
290
276
  const { mutate: updateEntity, isPending } = useUpdateEntity({
291
277
  entityId: entity.id,
@@ -301,19 +287,16 @@ export function EntitySettingsForm({
301
287
  setIsUploading(true);
302
288
  try {
303
289
  // SDK expects { file: Blob } as first arg, SDKMethodOptions as last
304
- const result = await sdk.upload.uploadImage({ file }, { entity_id: entity.id });
290
+ const result = await upload.uploadImage({ file }, { entity_id: entity.id });
305
291
 
306
292
  // Note: The upload endpoint automatically sets has_logo=true in entity settings
307
293
  // We just need to update the form state
308
294
  form.setValue("has_logo", true);
309
295
 
310
- // Use the freshly uploaded URL with Cloudinary version (bypasses CDN cache)
311
- // This ensures immediate preview update without waiting for CDN invalidation
296
+ // Use the freshly uploaded URL immediately instead of waiting for a refetch.
297
+ // This ensures immediate preview update without waiting for a refetch.
312
298
  setUploadedLogoUrl(result.secureUrl);
313
299
 
314
- // Update timestamp to bust cache for future loads
315
- setLogoTimestamp(Date.now());
316
-
317
300
  // Trigger entity refetch to get the updated has_logo from database
318
301
  onUploadSuccess?.();
319
302
 
@@ -331,7 +314,7 @@ export function EntitySettingsForm({
331
314
  setIsUploadingSignature(true);
332
315
  try {
333
316
  // SDK expects { file, category } as first arg, SDKMethodOptions as last
334
- const result = await sdk.files.uploadFile({ file, category: "signature" }, { entity_id: entity.id });
317
+ const result = await files.uploadFile({ file, category: "signature" }, { entity_id: entity.id });
335
318
 
336
319
  // Update form state
337
320
  form.setValue("has_signature", true);
@@ -339,9 +322,6 @@ export function EntitySettingsForm({
339
322
  // Use the freshly uploaded URL
340
323
  setUploadedSignatureUrl(result.secureUrl);
341
324
 
342
- // Update timestamp to bust cache
343
- setSignatureTimestamp(Date.now());
344
-
345
325
  // Trigger entity refetch
346
326
  onUploadSuccess?.();
347
327
 
@@ -362,6 +342,7 @@ export function EntitySettingsForm({
362
342
  settings: {
363
343
  ...currentSettings,
364
344
  primary_color: values.primary_color || undefined,
345
+ logo_scale_percent: values.logo_scale_percent ?? 100,
365
346
  has_logo: values.has_logo || undefined,
366
347
  has_signature: values.has_signature || undefined,
367
348
  email: values.email || undefined,
@@ -384,6 +365,7 @@ export function EntitySettingsForm({
384
365
  // EPC QR settings - only include if enabled or was previously enabled
385
366
  epc_qr:
386
367
  values.epc_qr_enabled || currentSettings.epc_qr ? { enabled: values.epc_qr_enabled || false } : undefined,
368
+ show_payment_amounts: values.show_payment_amounts ?? undefined,
387
369
  // Bank accounts - store in array format (preserving other accounts if any)
388
370
  bank_accounts: values.bank_account_iban
389
371
  ? [
@@ -705,29 +687,72 @@ export function EntitySettingsForm({
705
687
  )}
706
688
  />
707
689
 
708
- <FormField
709
- control={form.control}
710
- name="has_signature"
711
- render={({ field }) => (
712
- <FormItem>
713
- <FormLabel className="font-medium text-base">{translate("Signature")}</FormLabel>
714
- <FormControl>
715
- <ImageUploadWithCrop
716
- value={signatureUrl || ""}
717
- onChange={(url) => field.onChange(!!url)}
718
- onUpload={handleSignatureUpload}
719
- translate={translate}
720
- isUploading={isUploadingSignature}
721
- imageType="signature"
722
- />
723
- </FormControl>
724
- <FormDescription className="text-xs">
725
- {translate("Upload a signature image for PDFs (optional)")}
726
- </FormDescription>
727
- <FormMessage />
728
- </FormItem>
729
- )}
730
- />
690
+ <div className="space-y-6">
691
+ <FormField
692
+ control={form.control}
693
+ name="logo_scale_percent"
694
+ render={({ field }) => (
695
+ <FormItem className="max-w-xs">
696
+ <FormLabel className="font-medium text-base">{translate("Logo size (%)")}</FormLabel>
697
+ <FormControl>
698
+ <div className="space-y-3">
699
+ <input
700
+ type="range"
701
+ min={30}
702
+ max={100}
703
+ step={1}
704
+ value={field.value ?? 100}
705
+ onChange={(e) => field.onChange(Number.parseInt(e.target.value, 10))}
706
+ className="h-2 w-full cursor-pointer accent-primary"
707
+ />
708
+ <div className="flex items-center gap-3">
709
+ <Input
710
+ type="number"
711
+ min={30}
712
+ max={100}
713
+ step={1}
714
+ value={field.value ?? 100}
715
+ onChange={(e) =>
716
+ field.onChange(e.target.value === "" ? null : Number.parseInt(e.target.value, 10))
717
+ }
718
+ className="h-10 w-24"
719
+ />
720
+ <span className="text-muted-foreground text-sm">{field.value ?? 100}%</span>
721
+ </div>
722
+ </div>
723
+ </FormControl>
724
+ <FormDescription className="text-xs">
725
+ {translate("Scale the PDF logo relative to the default template size")}
726
+ </FormDescription>
727
+ <FormMessage />
728
+ </FormItem>
729
+ )}
730
+ />
731
+
732
+ <FormField
733
+ control={form.control}
734
+ name="has_signature"
735
+ render={({ field }) => (
736
+ <FormItem>
737
+ <FormLabel className="font-medium text-base">{translate("Signature")}</FormLabel>
738
+ <FormControl>
739
+ <ImageUploadWithCrop
740
+ value={signatureUrl || ""}
741
+ onChange={(url) => field.onChange(!!url)}
742
+ onUpload={handleSignatureUpload}
743
+ translate={translate}
744
+ isUploading={isUploadingSignature}
745
+ imageType="signature"
746
+ />
747
+ </FormControl>
748
+ <FormDescription className="text-xs">
749
+ {translate("Upload a signature image for PDFs (optional)")}
750
+ </FormDescription>
751
+ <FormMessage />
752
+ </FormItem>
753
+ )}
754
+ />
755
+ </div>
731
756
  </div>
732
757
  </div>
733
758
  </div>
@@ -1148,10 +1173,9 @@ export function EntitySettingsForm({
1148
1173
  ref={defaultInvoiceNoteRef}
1149
1174
  value={field.value || ""}
1150
1175
  onChange={field.onChange}
1151
- placeholder={translate(
1152
- "Payment due by {document_due_date}. Please reference invoice {document_number}.",
1153
- )}
1176
+ placeholder={translate("Optional note for the document.")}
1154
1177
  entity={entity}
1178
+ translatePreviewLabel={translate}
1155
1179
  multiline
1156
1180
  rows={3}
1157
1181
  className="resize-y"
@@ -1164,6 +1188,30 @@ export function EntitySettingsForm({
1164
1188
  </FormItem>
1165
1189
  )}
1166
1190
  />
1191
+
1192
+ <div className="border-t pt-6">
1193
+ <FormField
1194
+ control={form.control}
1195
+ name="show_payment_amounts"
1196
+ render={({ field }) => (
1197
+ <FormItem className="flex flex-row items-center justify-between rounded-lg border p-4">
1198
+ <div className="space-y-0.5 pr-6">
1199
+ <FormLabel className="font-medium text-base">
1200
+ {translate("Show payment amounts on rendered documents")}
1201
+ </FormLabel>
1202
+ <FormDescription className="text-xs">
1203
+ {translate(
1204
+ "Off by default. When enabled, payment and refund rows show the payment type on the left and the paid amount on the right.",
1205
+ )}
1206
+ </FormDescription>
1207
+ </div>
1208
+ <FormControl>
1209
+ <Switch checked={field.value || false} onCheckedChange={field.onChange} />
1210
+ </FormControl>
1211
+ </FormItem>
1212
+ )}
1213
+ />
1214
+ </div>
1167
1215
  </div>
1168
1216
  </div>
1169
1217
 
@@ -1276,6 +1324,7 @@ export function EntitySettingsForm({
1276
1324
  onChange={field.onChange}
1277
1325
  placeholder="Invoice {document_number} from {entity_name}"
1278
1326
  entity={entity}
1327
+ translatePreviewLabel={translate}
1279
1328
  className="h-10"
1280
1329
  />
1281
1330
  </FormControl>
@@ -1306,8 +1355,11 @@ export function EntitySettingsForm({
1306
1355
  ref={invoiceEmailBodyRef}
1307
1356
  value={field.value || ""}
1308
1357
  onChange={field.onChange}
1309
- placeholder="Please find your invoice attached."
1358
+ placeholder={
1359
+ "Please find invoice {document_number} attached.\nDue date: {document_due_date}."
1360
+ }
1310
1361
  entity={entity}
1362
+ translatePreviewLabel={translate}
1311
1363
  multiline
1312
1364
  className="min-h-[200px] resize-none"
1313
1365
  rows={8}
@@ -1344,6 +1396,7 @@ export function EntitySettingsForm({
1344
1396
  onChange={field.onChange}
1345
1397
  placeholder="Estimate {document_number} from {entity_name}"
1346
1398
  entity={entity}
1399
+ translatePreviewLabel={translate}
1347
1400
  className="h-10"
1348
1401
  />
1349
1402
  </FormControl>
@@ -1374,8 +1427,11 @@ export function EntitySettingsForm({
1374
1427
  ref={estimateEmailBodyRef}
1375
1428
  value={field.value || ""}
1376
1429
  onChange={field.onChange}
1377
- placeholder="Please find your estimate attached."
1430
+ placeholder={
1431
+ "Please find estimate {document_number} attached.\nValid until: {document_valid_until}."
1432
+ }
1378
1433
  entity={entity}
1434
+ translatePreviewLabel={translate}
1379
1435
  multiline
1380
1436
  className="min-h-[200px] resize-none"
1381
1437
  rows={8}
@@ -1,30 +1,54 @@
1
- import type { Entity, Estimate, Invoice } from "@spaceinvoices/js-sdk";
1
+ import type { Entity } from "@spaceinvoices/js-sdk";
2
2
  import { forwardRef, useState } from "react";
3
3
  import { Input } from "@/ui/components/ui/input";
4
4
  import { Textarea } from "@/ui/components/ui/textarea";
5
5
  import { replaceTemplateVariablesForPreview } from "@/ui/lib/template-variables";
6
6
  import { cn } from "@/ui/lib/utils";
7
7
 
8
+ type PreviewDocument = {
9
+ id?: string;
10
+ number?: string | null;
11
+ date?: string | Date | null;
12
+ date_due?: string | Date | null;
13
+ date_valid_till?: string | Date | null;
14
+ total_with_tax?: number | null;
15
+ currency_code?: string | null;
16
+ customer?: { name?: string | null; email?: string | null } | null;
17
+ customer_id?: string | null;
18
+ };
19
+
8
20
  interface InputWithPreviewProps {
9
21
  value: string;
10
22
  onChange: (value: string) => void;
11
23
  placeholder?: string;
12
24
  entity: Entity;
13
- document?: Invoice | Estimate | null;
25
+ document?: PreviewDocument | null;
14
26
  multiline?: boolean;
15
27
  className?: string;
16
28
  rows?: number;
17
29
  disabled?: boolean;
30
+ translatePreviewLabel?: (key: string) => string;
18
31
  }
19
32
 
20
33
  export const InputWithPreview = forwardRef<HTMLInputElement | HTMLTextAreaElement, InputWithPreviewProps>(
21
34
  function InputWithPreview(
22
- { value, onChange, placeholder, entity, document, multiline = false, className, rows, disabled = false },
35
+ {
36
+ value,
37
+ onChange,
38
+ placeholder,
39
+ entity,
40
+ document,
41
+ multiline = false,
42
+ className,
43
+ rows,
44
+ disabled = false,
45
+ translatePreviewLabel,
46
+ },
23
47
  ref,
24
48
  ) {
25
49
  const [isFocused, setIsFocused] = useState(false);
26
50
 
27
- const preview = replaceTemplateVariablesForPreview(value, entity, document);
51
+ const preview = replaceTemplateVariablesForPreview(value, entity, document, translatePreviewLabel);
28
52
  const hasValue = Boolean(value);
29
53
 
30
54
  const showPreview = !isFocused && hasValue && !disabled;
@@ -0,0 +1,206 @@
1
+ export default {
2
+ "Tax subject": "Данъчно задължено лице",
3
+ "Tax ID 2": "Данъчен номер 2",
4
+ "Secondary tax identification number (optional)": "Втори данъчен идентификационен номер (незадължително)",
5
+ "Company Information": "Информация за фирмата",
6
+ "Basic information about your company": "Basic information about your company",
7
+ Branding: "Брандинг",
8
+ "Primary Color": "Основен цвят",
9
+ Logo: "Лого",
10
+ "Logo URL": "Logo URL",
11
+ "Enter the URL of your company logo": "Enter the URL of your company logo",
12
+ "Upload your company logo for invoices": "Качете логото на фирмата за фактури",
13
+ "Upload Logo": "Качи лого",
14
+ "Change Logo": "Промени лого",
15
+ "Current logo (displayed on invoices)": "Текущо лого (показвано на фактури)",
16
+ "Logo preview": "Преглед на лого",
17
+ "Crop Your Logo": "Изрежете логото си",
18
+ Signature: "Подпис",
19
+ "Upload a signature image for PDFs (optional)": "Качете изображение на подпис за PDF (незадължително)",
20
+ "Upload Signature": "Качи подпис",
21
+ "Change Signature": "Промени подпис",
22
+ "Current signature (for PDF documents)": "Текущ подпис (за PDF документи)",
23
+ "Signature preview": "Преглед на подпис",
24
+ "Crop Your Signature": "Изрежете подписа си",
25
+ "Adjust the crop area or upload the full image": "Настройте областта за изрязване или качете пълното изображение",
26
+ "Upload failed. Please try again.": "Качването е неуспешно. Моля, опитайте отново.",
27
+ "Uploading...": "Качване...",
28
+ "Upload & Save": "Качи и запази",
29
+ Cancel: "Отказ",
30
+ Localization: "Локализация",
31
+ "Currency Code": "Currency Code",
32
+ "ISO 4217 currency code (e.g., USD, EUR, GBP)": "ISO 4217 currency code (e.g., USD, EUR, GBP)",
33
+ Locale: "Локал",
34
+ "BCP 47 language tag (e.g., en-US, de-DE, sl-SI)": "BCP 47 language tag (e.g., en-US, de-DE, sl-SI)",
35
+ "Select currency": "Изберете валута",
36
+ "Select locale": "Изберете локал",
37
+ "Configure entity localization": "Конфигурирайте локализацията на организацията",
38
+ "English (US)": "English (US)",
39
+ "German (DE)": "German (DE)",
40
+ "Italian (IT)": "Italian (IT)",
41
+ "French (FR)": "French (FR)",
42
+ "Spanish (ES)": "Spanish (ES)",
43
+ "Portuguese (Portugal)": "Portuguese (Portugal)",
44
+ Dutch: "Нидерландски",
45
+ Polish: "Полски",
46
+ Croatian: "Хърватски",
47
+ "Slovenian (SI)": "Slovenian (SI)",
48
+ "Email Settings": "Настройки за имейл",
49
+ "Configure email settings for invoices": "Configure email settings for invoices",
50
+ "Email Address": "Имейл адрес",
51
+ "Email address to send invoices to": "Email address to send invoices to",
52
+ "Email Subject": "Тема на имейл",
53
+ "Subject line for email invoices": "Subject line for email invoices",
54
+ "Email Body": "Съдържание на имейл",
55
+ "Body content for email invoices": "Body content for email invoices",
56
+ "Save Settings": "Запази настройки",
57
+ "Document Defaults": "Настройки по подразбиране за документи",
58
+ "Default values for new documents": "Default values for new documents",
59
+ "Default Note": "Default Note",
60
+ "Default Invoice Note": "Default Invoice Note",
61
+ "This note will be pre-filled when creating new invoices": "This note will be pre-filled when creating new invoices",
62
+ "This note will be pre-filled when creating new estimates":
63
+ "This note will be pre-filled when creating new estimates",
64
+ "This note will be pre-filled when creating new credit notes":
65
+ "This note will be pre-filled when creating new credit notes",
66
+ "Payment terms pre-filled when creating new invoices": "Payment terms pre-filled when creating new invoices",
67
+ "Payment terms pre-filled when creating new estimates": "Payment terms pre-filled when creating new estimates",
68
+ "Payment terms pre-filled when creating new credit notes": "Payment terms pre-filled when creating new credit notes",
69
+ "Optional note for the document.": "Optional note for the document.",
70
+ "Please remit payment using the bank details shown on the document.":
71
+ "Please remit payment using the bank details shown on the document.",
72
+ "This estimate is valid until {document_valid_until}.": "This estimate is valid until {document_valid_until}.",
73
+ "Payment due upon acceptance.": "Payment due upon acceptance.",
74
+ "Credit note for invoice {document_number}.": "Credit note for invoice {document_number}.",
75
+ "Credit will be applied to your account.": "Credit will be applied to your account.",
76
+ "Invoice Notes": "Invoice Notes",
77
+ "Smart Template Variables": "Интелигентни променливи за шаблони",
78
+ "Use variables to personalize your notes automatically": "Use variables to personalize your notes automatically",
79
+ "Set a default note that will appear on all new invoices. Use template variables to personalize the note automatically.":
80
+ "Set a default note that will appear on all new invoices. Use template variables to personalize the note automatically.",
81
+ "Insert variable": "Insert variable",
82
+ Entity: "Организация",
83
+ Document: "Фактура",
84
+ Customer: "Клиент",
85
+ Other: "Друго",
86
+ "Company name": "Company name",
87
+ "Email address": "Имейл адрес",
88
+ "Invoice number": "Номер на фактура",
89
+ "Invoice date": "Invoice date",
90
+ "Due date": "Краен срок",
91
+ "Total amount": "Total amount",
92
+ Currency: "Валута",
93
+ "Customer name": "Customer name",
94
+ "Customer email": "Customer email",
95
+ "Today's date": "Today's date",
96
+ "Current year": "Current year",
97
+ "Default Payment Terms": "Default Payment Terms",
98
+ "This payment terms will be pre-filled when creating new documents":
99
+ "This payment terms will be pre-filled when creating new documents",
100
+ "Payment Terms": "Payment Terms",
101
+ "Add payment terms...": "Add payment terms...",
102
+ "Document Footer": "Document Footer",
103
+ "Footer text displayed at the bottom of PDF documents": "Footer text displayed at the bottom of PDF documents",
104
+ "Footer text displayed at the bottom of all PDF documents":
105
+ "Footer text displayed at the bottom of all PDF documents",
106
+ "{entity_name} | Due Date: {document_due_date} | Invoice #{document_number}":
107
+ "{entity_name} | Due Date: {document_due_date} | Invoice #{document_number}",
108
+ "Document Signature": "Подпис на документ",
109
+ "Signature text displayed on all PDF documents": "Signature text displayed on all PDF documents",
110
+ "Add signature text...": "Добавете текст за подпис...",
111
+ "Delivery Note": "Доставна бележка",
112
+ "Default note for advance invoices": "Default note for advance invoices",
113
+ "Default note for all new advance invoices": "Default note for all new advance invoices",
114
+ "Default note for delivery notes": "Default note for delivery notes",
115
+ "Default note for all new delivery notes": "Default note for all new delivery notes",
116
+ "Overdue Notifications": "Overdue Notifications",
117
+ "Automatically remind customers about overdue invoices": "Automatically remind customers about overdue invoices",
118
+ "Enable Notifications": "Enable Notifications",
119
+ "Send automatic payment reminder emails to customers with overdue invoices":
120
+ "Send automatic payment reminder emails to customers with overdue invoices",
121
+ "Reminder Days": "Reminder Days",
122
+ "Days after due date to send reminders (comma-separated). E.g., '7, 14, 30' sends reminders at 7, 14, and 30 days overdue.":
123
+ "Days after due date to send reminders (comma-separated). E.g., '7, 14, 30' sends reminders at 7, 14, and 30 days overdue.",
124
+ "Custom Reminder Templates": "Custom Reminder Templates",
125
+ "Subject line for overdue notification emails": "Subject line for overdue notification emails",
126
+ "Body content for overdue emails. Use {invoice_list} to include the invoice table, or it will be auto-appended.":
127
+ "Body content for overdue emails. Use {invoice_list} to include the invoice table, or it will be auto-appended.",
128
+ "Dear {customer_name},\n\nThis is a reminder about your overdue invoices...":
129
+ "Dear {customer_name},\n\nThis is a reminder about your overdue invoices...",
130
+ "Payment Reminders": "Payment Reminders",
131
+ "When enabled, customers will automatically receive email reminders when their invoices become overdue. Emails are sent on the exact day each threshold is reached.":
132
+ "When enabled, customers will automatically receive email reminders when their invoices become overdue. Emails are sent on the exact day each threshold is reached.",
133
+ "Available Variables": "Available Variables",
134
+ "{customer_name}, {entity_name}, {entity_email}, {invoice_list}, {total_amount}, {overdue_count}":
135
+ "{customer_name}, {entity_name}, {entity_email}, {invoice_list}, {total_amount}, {overdue_count}",
136
+ "UPN QR Payment": "UPN QR Payment",
137
+ "Configure UPN QR payment slip for invoices": "Configure UPN QR payment slip for invoices",
138
+ IBAN: "IBAN",
139
+ "Bank account IBAN for receiving payments": "Bank account IBAN for receiving payments",
140
+ "Enable UPN QR on invoices": "Активирай UPN QR на фактури",
141
+ "Show payment QR code on PDF invoices for easy mobile banking payments":
142
+ "Показване на QR код за плащане на PDF фактури за лесни мобилни банкови плащания",
143
+ "Display Mode": "Режим на показване",
144
+ "QR code only": "Само QR код",
145
+ "Shows compact QR code inline with invoice content": "Показва компактен QR код в съдържанието на фактурата",
146
+ "Full UPN payment slip": "Пълен UPN платежен документ",
147
+ "Shows complete payment slip at bottom of page": "Показва пълен платежен документ в долната част на страницата",
148
+ "Purpose Code": "Код на основание",
149
+ "OTHR - Other": "OTHR - Друго",
150
+ "GDSV - Goods and Services": "GDSV - Стоки и услуги",
151
+ "SUPP - Supplier Payment": "SUPP - Плащане към доставчик",
152
+ "Payment purpose code (ISO 20022)": "Код на основание за плащане (ISO 20022)",
153
+ "UPN QR Payments": "UPN QR Payments",
154
+ "UPN QR is a Slovenian standard for payment slips. When enabled, your invoices will include a QR code that customers can scan with their mobile banking app to pay instantly.":
155
+ "UPN QR is a Slovenian standard for payment slips. When enabled, your invoices will include a QR code that customers can scan with their mobile banking app to pay instantly.",
156
+ Invoice: "Фактура",
157
+ Estimate: "Оферта",
158
+ "Credit Note": "Кредитно известие",
159
+ "Advance Invoice": "Авансова фактура",
160
+ "Number Format": "Формат на номерация",
161
+ Preview: "Преглед",
162
+ "EU Tax Rules": "EU Tax Rules",
163
+ "Automatic tax handling for cross-border transactions": "Automatic tax handling for cross-border transactions",
164
+ "tax-rules.vies_validate_vat.label": "tax-rules.vies_validate_vat.label",
165
+ "tax-rules.vies_validate_vat.description": "tax-rules.vies_validate_vat.description",
166
+ "tax-rules.auto_reverse_charge.label": "tax-rules.auto_reverse_charge.label",
167
+ "tax-rules.auto_reverse_charge.description": "tax-rules.auto_reverse_charge.description",
168
+ "tax-rules.auto_remove_tax_export.label": "tax-rules.auto_remove_tax_export.label",
169
+ "tax-rules.auto_remove_tax_export.description": "tax-rules.auto_remove_tax_export.description",
170
+ "tax-rules.require_gross_prices.label": "tax-rules.require_gross_prices.label",
171
+ "tax-rules.require_gross_prices.description": "tax-rules.require_gross_prices.description",
172
+ "tax-rules.calculation_mode.label": "Calculation mode",
173
+ "tax-rules.calculation_mode.description": "Choose how discounts and VAT are ordered when document totals are calculated.",
174
+ "tax-rules.calculation_mode.b2b_standard.label": "B2B standard",
175
+ "tax-rules.calculation_mode.b2b_standard.description": "Discounts reduce the net line amount first, then VAT is calculated.",
176
+ "tax-rules.calculation_mode.b2c_gross_discount.label": "B2C gross discount",
177
+ "tax-rules.calculation_mode.b2c_gross_discount.description":
178
+ "Discounts reduce the final gross payable amount, then net and VAT are derived from that result.",
179
+ "Default Tax Clauses": "Default Tax Clauses",
180
+ "Set default tax clauses that are automatically added to documents based on transaction type":
181
+ "Set default tax clauses that are automatically added to documents based on transaction type",
182
+ "tax-clauses.other-title": "tax-clauses.other-title",
183
+ "tax-clauses.other-description": "tax-clauses.other-description",
184
+ "tax-clauses.intra_eu_b2b.label": "tax-clauses.intra_eu_b2b.label",
185
+ "tax-clauses.intra_eu_b2b.description": "tax-clauses.intra_eu_b2b.description",
186
+ "Enter reverse charge clause...": "Enter reverse charge clause...",
187
+ "tax-clauses.3w_b2b.label": "tax-clauses.3w_b2b.label",
188
+ "tax-clauses.3w_b2b.description": "tax-clauses.3w_b2b.description",
189
+ "tax-clauses.3w_b2c.label": "tax-clauses.3w_b2c.label",
190
+ "tax-clauses.3w_b2c.description": "tax-clauses.3w_b2c.description",
191
+ "Enter export exemption clause...": "Enter export exemption clause...",
192
+ "tax-clauses.domestic.label": "tax-clauses.domestic.label",
193
+ "tax-clauses.domestic.description": "tax-clauses.domestic.description",
194
+ "Enter default tax clause...": "Enter default tax clause...",
195
+ "tax-clauses.intra_eu_b2c.label": "tax-clauses.intra_eu_b2c.label",
196
+ "Enter EU consumer sales clause...": "Enter EU consumer sales clause...",
197
+ "tax-clauses.other.description": "tax-clauses.other.description",
198
+ "EPC QR Payment": "EPC QR Payment",
199
+ "SEPA credit transfer QR code for invoices": "SEPA credit transfer QR code for invoices",
200
+ "Enable EPC QR on invoices": "Активирай EPC QR на фактури",
201
+ "Show SEPA QR code on EUR invoices for easy bank payments":
202
+ "Показване на SEPA QR код на EUR фактури за лесни банкови плащания",
203
+ "EPC QR Payments": "EPC QR Payments",
204
+ "EPC QR is a European standard for SEPA credit transfers. When enabled, EUR invoices include a QR code that customers can scan with their banking app to pay instantly.":
205
+ "EPC QR is a European standard for SEPA credit transfers. When enabled, EUR invoices include a QR code that customers can scan with their banking app to pay instantly.",
206
+ } as const;