@spaceinvoices/react-ui 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/cli/dist/index.js +1 -1
  2. package/package.json +1 -1
  3. package/registry.json +287 -122
  4. package/src/components/activities/activity-timeline.tsx +8 -1
  5. package/src/components/activities/locales/es.ts +30 -0
  6. package/src/components/activities/locales/fr.ts +30 -0
  7. package/src/components/activities/locales/hr.ts +30 -0
  8. package/src/components/activities/locales/it.ts +30 -0
  9. package/src/components/activities/locales/nl.ts +30 -0
  10. package/src/components/activities/locales/pl.ts +30 -0
  11. package/src/components/activities/locales/pt.ts +30 -0
  12. package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +21 -7
  13. package/src/components/advance-invoices/create/locales/es.ts +29 -0
  14. package/src/components/advance-invoices/create/locales/fr.ts +28 -0
  15. package/src/components/advance-invoices/create/locales/hr.ts +27 -0
  16. package/src/components/advance-invoices/create/locales/it.ts +29 -0
  17. package/src/components/advance-invoices/create/locales/nl.ts +28 -0
  18. package/src/components/advance-invoices/create/locales/pl.ts +28 -0
  19. package/src/components/advance-invoices/create/locales/pt.ts +29 -0
  20. package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +3 -3
  21. package/src/components/advance-invoices/list/list-table.tsx +20 -3
  22. package/src/components/advance-invoices/list/locales/de.ts +9 -0
  23. package/src/components/advance-invoices/list/locales/en.ts +8 -0
  24. package/src/components/advance-invoices/list/locales/es.ts +41 -0
  25. package/src/components/advance-invoices/list/locales/fr.ts +41 -0
  26. package/src/components/advance-invoices/list/locales/hr.ts +41 -0
  27. package/src/components/advance-invoices/list/locales/it.ts +41 -0
  28. package/src/components/advance-invoices/list/locales/nl.ts +41 -0
  29. package/src/components/advance-invoices/list/locales/pl.ts +41 -0
  30. package/src/components/advance-invoices/list/locales/pt.ts +41 -0
  31. package/src/components/advance-invoices/list/locales/sl.ts +9 -0
  32. package/src/components/credit-notes/create/create-credit-note-form.tsx +19 -5
  33. package/src/components/credit-notes/create/locales/es.ts +68 -0
  34. package/src/components/credit-notes/create/locales/fr.ts +69 -0
  35. package/src/components/credit-notes/create/locales/hr.ts +68 -0
  36. package/src/components/credit-notes/create/locales/it.ts +68 -0
  37. package/src/components/credit-notes/create/locales/nl.ts +69 -0
  38. package/src/components/credit-notes/create/locales/pl.ts +68 -0
  39. package/src/components/credit-notes/create/locales/pt.ts +68 -0
  40. package/src/components/credit-notes/list/list-table.tsx +25 -8
  41. package/src/components/credit-notes/list/locales/de.ts +10 -2
  42. package/src/components/credit-notes/list/locales/en.ts +8 -0
  43. package/src/components/credit-notes/list/locales/es.ts +41 -0
  44. package/src/components/credit-notes/list/locales/fr.ts +41 -0
  45. package/src/components/credit-notes/list/locales/hr.ts +41 -0
  46. package/src/components/credit-notes/list/locales/it.ts +41 -0
  47. package/src/components/credit-notes/list/locales/nl.ts +41 -0
  48. package/src/components/credit-notes/list/locales/pl.ts +41 -0
  49. package/src/components/credit-notes/list/locales/pt.ts +41 -0
  50. package/src/components/credit-notes/list/locales/sl.ts +10 -2
  51. package/src/components/customers/create-customer-form/create-customer-form.tsx +21 -3
  52. package/src/components/customers/create-customer-form/locales/de.ts +1 -0
  53. package/src/components/customers/create-customer-form/locales/es.ts +21 -0
  54. package/src/components/customers/create-customer-form/locales/fr.ts +21 -0
  55. package/src/components/customers/create-customer-form/locales/hr.ts +21 -0
  56. package/src/components/customers/create-customer-form/locales/it.ts +21 -0
  57. package/src/components/customers/create-customer-form/locales/nl.ts +21 -0
  58. package/src/components/customers/create-customer-form/locales/pl.ts +21 -0
  59. package/src/components/customers/create-customer-form/locales/pt.ts +21 -0
  60. package/src/components/customers/create-customer-form/locales/sl.ts +1 -0
  61. package/src/components/customers/customer-list-table/customer-list-row-actions.tsx +72 -16
  62. package/src/components/customers/customer-list-table/customer-list-table.tsx +35 -2
  63. package/src/components/customers/customer-list-table/locales/de.ts +9 -0
  64. package/src/components/customers/customer-list-table/locales/en.ts +10 -0
  65. package/src/components/customers/customer-list-table/locales/es.ts +25 -0
  66. package/src/components/customers/customer-list-table/locales/fr.ts +25 -0
  67. package/src/components/customers/customer-list-table/locales/hr.ts +25 -0
  68. package/src/components/customers/customer-list-table/locales/it.ts +25 -0
  69. package/src/components/customers/customer-list-table/locales/nl.ts +25 -0
  70. package/src/components/customers/customer-list-table/locales/pl.ts +25 -0
  71. package/src/components/customers/customer-list-table/locales/pt.ts +25 -0
  72. package/src/components/customers/customer-list-table/locales/sl.ts +9 -0
  73. package/src/components/customers/customers.hooks.test.ts +8 -8
  74. package/src/components/customers/customers.hooks.ts +6 -1
  75. package/src/components/customers/edit-customer-form/edit-customer-form.tsx +143 -0
  76. package/src/components/customers/edit-customer-form/locales/de.ts +13 -0
  77. package/src/components/customers/edit-customer-form/locales/es.ts +13 -0
  78. package/src/components/customers/edit-customer-form/locales/fr.ts +13 -0
  79. package/src/components/customers/edit-customer-form/locales/hr.ts +13 -0
  80. package/src/components/customers/edit-customer-form/locales/it.ts +13 -0
  81. package/src/components/customers/edit-customer-form/locales/nl.ts +13 -0
  82. package/src/components/customers/edit-customer-form/locales/pl.ts +13 -0
  83. package/src/components/customers/edit-customer-form/locales/pt.ts +13 -0
  84. package/src/components/customers/edit-customer-form/locales/sl.ts +13 -0
  85. package/src/components/customers/index.ts +1 -0
  86. package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +9 -1
  87. package/src/components/dashboard/collection-rate-card/locales/de.ts +3 -0
  88. package/src/components/dashboard/collection-rate-card/locales/es.ts +3 -0
  89. package/src/components/dashboard/collection-rate-card/locales/fr.ts +3 -0
  90. package/src/components/dashboard/collection-rate-card/locales/hr.ts +3 -0
  91. package/src/components/dashboard/collection-rate-card/locales/it.ts +3 -0
  92. package/src/components/dashboard/collection-rate-card/locales/nl.ts +3 -0
  93. package/src/components/dashboard/collection-rate-card/locales/pl.ts +3 -0
  94. package/src/components/dashboard/collection-rate-card/locales/pt.ts +3 -0
  95. package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +9 -1
  96. package/src/components/dashboard/invoice-status-chart/locales/de.ts +9 -0
  97. package/src/components/dashboard/invoice-status-chart/locales/es.ts +9 -0
  98. package/src/components/dashboard/invoice-status-chart/locales/fr.ts +9 -0
  99. package/src/components/dashboard/invoice-status-chart/locales/hr.ts +9 -0
  100. package/src/components/dashboard/invoice-status-chart/locales/it.ts +9 -0
  101. package/src/components/dashboard/invoice-status-chart/locales/nl.ts +9 -0
  102. package/src/components/dashboard/invoice-status-chart/locales/pl.ts +9 -0
  103. package/src/components/dashboard/invoice-status-chart/locales/pt.ts +9 -0
  104. package/src/components/dashboard/payment-methods-chart/locales/de.ts +12 -0
  105. package/src/components/dashboard/payment-methods-chart/locales/es.ts +12 -0
  106. package/src/components/dashboard/payment-methods-chart/locales/fr.ts +12 -0
  107. package/src/components/dashboard/payment-methods-chart/locales/hr.ts +12 -0
  108. package/src/components/dashboard/payment-methods-chart/locales/it.ts +12 -0
  109. package/src/components/dashboard/payment-methods-chart/locales/nl.ts +12 -0
  110. package/src/components/dashboard/payment-methods-chart/locales/pl.ts +12 -0
  111. package/src/components/dashboard/payment-methods-chart/locales/pt.ts +12 -0
  112. package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +9 -1
  113. package/src/components/dashboard/payment-trend-chart/locales/de.ts +5 -0
  114. package/src/components/dashboard/payment-trend-chart/locales/es.ts +5 -0
  115. package/src/components/dashboard/payment-trend-chart/locales/fr.ts +5 -0
  116. package/src/components/dashboard/payment-trend-chart/locales/hr.ts +5 -0
  117. package/src/components/dashboard/payment-trend-chart/locales/it.ts +5 -0
  118. package/src/components/dashboard/payment-trend-chart/locales/nl.ts +5 -0
  119. package/src/components/dashboard/payment-trend-chart/locales/pl.ts +5 -0
  120. package/src/components/dashboard/payment-trend-chart/locales/pt.ts +5 -0
  121. package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +10 -2
  122. package/src/components/dashboard/revenue-trend-chart/locales/de.ts +5 -0
  123. package/src/components/dashboard/revenue-trend-chart/locales/es.ts +5 -0
  124. package/src/components/dashboard/revenue-trend-chart/locales/fr.ts +5 -0
  125. package/src/components/dashboard/revenue-trend-chart/locales/hr.ts +5 -0
  126. package/src/components/dashboard/revenue-trend-chart/locales/it.ts +5 -0
  127. package/src/components/dashboard/revenue-trend-chart/locales/nl.ts +5 -0
  128. package/src/components/dashboard/revenue-trend-chart/locales/pl.ts +5 -0
  129. package/src/components/dashboard/revenue-trend-chart/locales/pt.ts +5 -0
  130. package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +10 -2
  131. package/src/components/dashboard/top-customers-chart/locales/de.ts +5 -0
  132. package/src/components/dashboard/top-customers-chart/locales/es.ts +5 -0
  133. package/src/components/dashboard/top-customers-chart/locales/fr.ts +5 -0
  134. package/src/components/dashboard/top-customers-chart/locales/hr.ts +5 -0
  135. package/src/components/dashboard/top-customers-chart/locales/it.ts +5 -0
  136. package/src/components/dashboard/top-customers-chart/locales/nl.ts +5 -0
  137. package/src/components/dashboard/top-customers-chart/locales/pl.ts +5 -0
  138. package/src/components/dashboard/top-customers-chart/locales/pt.ts +5 -0
  139. package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +10 -2
  140. package/src/components/documents/create/document-add-item-form.tsx +1 -1
  141. package/src/components/documents/create/form-types.ts +1 -5
  142. package/src/components/documents/create/mark-as-paid-section.tsx +60 -23
  143. package/src/components/documents/create/prepare-document-submission.test.ts +2 -2
  144. package/src/components/documents/create/prepare-document-submission.ts +12 -7
  145. package/src/components/documents/create/prepare-preview-data.test.ts +1 -1
  146. package/src/components/documents/view/document-actions-bar.tsx +8 -1
  147. package/src/components/documents/view/document-details-card.tsx +8 -1
  148. package/src/components/documents/view/document-payments-list.tsx +8 -1
  149. package/src/components/documents/view/locales/es.ts +83 -0
  150. package/src/components/documents/view/locales/fr.ts +83 -0
  151. package/src/components/documents/view/locales/hr.ts +83 -0
  152. package/src/components/documents/view/locales/it.ts +83 -0
  153. package/src/components/documents/view/locales/nl.ts +84 -0
  154. package/src/components/documents/view/locales/pl.ts +83 -0
  155. package/src/components/documents/view/locales/pt.ts +83 -0
  156. package/src/components/entities/create-entity-form.tsx +12 -2
  157. package/src/components/entities/entity-settings-form/entity-settings-form.tsx +18 -0
  158. package/src/components/entities/entity-settings-form/locales/de.ts +3 -1
  159. package/src/components/entities/entity-settings-form/locales/es.ts +197 -0
  160. package/src/components/entities/entity-settings-form/locales/fr.ts +196 -0
  161. package/src/components/entities/entity-settings-form/locales/hr.ts +189 -0
  162. package/src/components/entities/entity-settings-form/locales/it.ts +195 -0
  163. package/src/components/entities/entity-settings-form/locales/nl.ts +192 -0
  164. package/src/components/entities/entity-settings-form/locales/pl.ts +193 -0
  165. package/src/components/entities/entity-settings-form/locales/pt.ts +194 -0
  166. package/src/components/entities/entity-settings-form/locales/sl.ts +2 -0
  167. package/src/components/entities/fina-settings-form/fina-settings-form.tsx +461 -0
  168. package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +215 -0
  169. package/src/components/entities/fina-settings-form/index.ts +3 -0
  170. package/src/components/entities/fina-settings-form/locales/de.ts +145 -0
  171. package/src/components/entities/fina-settings-form/locales/en.ts +142 -0
  172. package/src/components/entities/fina-settings-form/locales/es.ts +143 -0
  173. package/src/components/entities/fina-settings-form/locales/fr.ts +142 -0
  174. package/src/components/entities/fina-settings-form/locales/hr.ts +144 -0
  175. package/src/components/entities/fina-settings-form/locales/it.ts +144 -0
  176. package/src/components/entities/fina-settings-form/locales/nl.ts +144 -0
  177. package/src/components/entities/fina-settings-form/locales/pl.ts +142 -0
  178. package/src/components/entities/fina-settings-form/locales/pt.ts +144 -0
  179. package/src/components/entities/fina-settings-form/locales/sl.ts +144 -0
  180. package/src/components/entities/fina-settings-form/sections/certificate-settings-section.tsx +233 -0
  181. package/src/components/entities/fina-settings-form/sections/premises-management-section.tsx +363 -0
  182. package/src/components/entities/fina-settings-form/sections/register-premise-dialog.tsx +395 -0
  183. package/src/components/entities/furs-settings-form/furs-settings-form.tsx +9 -2
  184. package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +15 -11
  185. package/src/components/entities/furs-settings-form/locales/de.ts +52 -88
  186. package/src/components/entities/furs-settings-form/locales/en.ts +3 -0
  187. package/src/components/entities/furs-settings-form/locales/es.ts +196 -0
  188. package/src/components/entities/furs-settings-form/locales/fr.ts +196 -0
  189. package/src/components/entities/furs-settings-form/locales/hr.ts +195 -0
  190. package/src/components/entities/furs-settings-form/locales/it.ts +196 -0
  191. package/src/components/entities/furs-settings-form/locales/nl.ts +195 -0
  192. package/src/components/entities/furs-settings-form/locales/pl.ts +194 -0
  193. package/src/components/entities/furs-settings-form/locales/pt.ts +195 -0
  194. package/src/components/entities/furs-settings-form/locales/sl.ts +2 -0
  195. package/src/components/entities/furs-settings-form/sections/certificate-settings-section.tsx +19 -4
  196. package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +17 -66
  197. package/src/components/entities/keys.ts +1 -1
  198. package/src/components/entities/settings/company-settings-form.tsx +28 -0
  199. package/src/components/entities/settings/pdf-template-selector/locales/es.ts +18 -0
  200. package/src/components/entities/settings/pdf-template-selector/locales/fr.ts +18 -0
  201. package/src/components/entities/settings/pdf-template-selector/locales/hr.ts +18 -0
  202. package/src/components/entities/settings/pdf-template-selector/locales/it.ts +18 -0
  203. package/src/components/entities/settings/pdf-template-selector/locales/nl.ts +17 -0
  204. package/src/components/entities/settings/pdf-template-selector/locales/pl.ts +18 -0
  205. package/src/components/entities/settings/pdf-template-selector/locales/pt.ts +18 -0
  206. package/src/components/estimates/create/create-estimate-form.tsx +14 -0
  207. package/src/components/estimates/create/locales/es.ts +57 -0
  208. package/src/components/estimates/create/locales/fr.ts +58 -0
  209. package/src/components/estimates/create/locales/hr.ts +57 -0
  210. package/src/components/estimates/create/locales/it.ts +57 -0
  211. package/src/components/estimates/create/locales/nl.ts +58 -0
  212. package/src/components/estimates/create/locales/pl.ts +57 -0
  213. package/src/components/estimates/create/locales/pt.ts +58 -0
  214. package/src/components/estimates/create/prepare-estimate-submission.ts +1 -1
  215. package/src/components/estimates/list/list-table.tsx +20 -3
  216. package/src/components/estimates/list/locales/de.ts +9 -0
  217. package/src/components/estimates/list/locales/en.ts +8 -0
  218. package/src/components/estimates/list/locales/es.ts +32 -0
  219. package/src/components/estimates/list/locales/fr.ts +32 -0
  220. package/src/components/estimates/list/locales/hr.ts +32 -0
  221. package/src/components/estimates/list/locales/it.ts +32 -0
  222. package/src/components/estimates/list/locales/nl.ts +32 -0
  223. package/src/components/estimates/list/locales/pl.ts +32 -0
  224. package/src/components/estimates/list/locales/pt.ts +32 -0
  225. package/src/components/estimates/list/locales/sl.ts +9 -0
  226. package/src/components/export/document-export-form.tsx +0 -2
  227. package/src/components/invoices/create/create-invoice-form.tsx +24 -10
  228. package/src/components/invoices/create/eslog-validation.test.ts +2 -0
  229. package/src/components/invoices/create/locales/es.ts +103 -0
  230. package/src/components/invoices/create/locales/fr.ts +105 -0
  231. package/src/components/invoices/create/locales/hr.ts +103 -0
  232. package/src/components/invoices/create/locales/it.ts +105 -0
  233. package/src/components/invoices/create/locales/nl.ts +104 -0
  234. package/src/components/invoices/create/locales/pl.ts +104 -0
  235. package/src/components/invoices/create/locales/pt.ts +105 -0
  236. package/src/components/invoices/create/prepare-invoice-submission.test.ts +54 -55
  237. package/src/components/invoices/create/prepare-invoice-submission.ts +3 -3
  238. package/src/components/invoices/list/list-table.tsx +20 -3
  239. package/src/components/invoices/list/locales/de.ts +9 -0
  240. package/src/components/invoices/list/locales/en.ts +8 -0
  241. package/src/components/invoices/list/locales/es.ts +42 -0
  242. package/src/components/invoices/list/locales/fr.ts +42 -0
  243. package/src/components/invoices/list/locales/hr.ts +42 -0
  244. package/src/components/invoices/list/locales/it.ts +42 -0
  245. package/src/components/invoices/list/locales/nl.ts +42 -0
  246. package/src/components/invoices/list/locales/pl.ts +42 -0
  247. package/src/components/invoices/list/locales/pt.ts +42 -0
  248. package/src/components/invoices/list/locales/sl.ts +9 -0
  249. package/src/components/invoices/send-email-dialog/locales/es.ts +18 -0
  250. package/src/components/invoices/send-email-dialog/locales/fr.ts +18 -0
  251. package/src/components/invoices/send-email-dialog/locales/hr.ts +17 -0
  252. package/src/components/invoices/send-email-dialog/locales/it.ts +18 -0
  253. package/src/components/invoices/send-email-dialog/locales/nl.ts +18 -0
  254. package/src/components/invoices/send-email-dialog/locales/pl.ts +18 -0
  255. package/src/components/invoices/send-email-dialog/locales/pt.ts +18 -0
  256. package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +20 -12
  257. package/src/components/invoices/shared/scaled-document-preview.tsx +1 -0
  258. package/src/components/invoices/view/eslog-info-display.tsx +1 -0
  259. package/src/components/invoices/view/fina-info-display.tsx +196 -0
  260. package/src/components/items/create-item-form/create-item-form.tsx +14 -0
  261. package/src/components/items/create-item-form/locales/en.ts +5 -0
  262. package/src/components/items/create-item-form/locales/es.ts +14 -0
  263. package/src/components/items/create-item-form/locales/fr.ts +14 -0
  264. package/src/components/items/create-item-form/locales/hr.ts +14 -0
  265. package/src/components/items/create-item-form/locales/it.ts +14 -0
  266. package/src/components/items/create-item-form/locales/nl.ts +14 -0
  267. package/src/components/items/create-item-form/locales/pl.ts +14 -0
  268. package/src/components/items/create-item-form/locales/pt.ts +14 -0
  269. package/src/components/items/edit-item-form/edit-item-form.tsx +170 -0
  270. package/src/components/items/edit-item-form/locales/de.ts +12 -0
  271. package/src/components/items/edit-item-form/locales/es.ts +12 -0
  272. package/src/components/items/edit-item-form/locales/fr.ts +12 -0
  273. package/src/components/items/edit-item-form/locales/hr.ts +12 -0
  274. package/src/components/items/edit-item-form/locales/it.ts +12 -0
  275. package/src/components/items/edit-item-form/locales/nl.ts +12 -0
  276. package/src/components/items/edit-item-form/locales/pl.ts +12 -0
  277. package/src/components/items/edit-item-form/locales/pt.ts +12 -0
  278. package/src/components/items/edit-item-form/locales/sl.ts +12 -0
  279. package/src/components/items/item-list-table/item-list-table.tsx +20 -13
  280. package/src/components/items/item-list-table/locales/de.ts +6 -0
  281. package/src/components/items/item-list-table/locales/en.ts +5 -0
  282. package/src/components/items/item-list-table/locales/es.ts +16 -0
  283. package/src/components/items/item-list-table/locales/fr.ts +16 -0
  284. package/src/components/items/item-list-table/locales/hr.ts +16 -0
  285. package/src/components/items/item-list-table/locales/it.ts +16 -0
  286. package/src/components/items/item-list-table/locales/nl.ts +16 -0
  287. package/src/components/items/item-list-table/locales/pl.ts +16 -0
  288. package/src/components/items/item-list-table/locales/pt.ts +16 -0
  289. package/src/components/items/item-list-table/locales/sl.ts +6 -0
  290. package/src/components/items/items.hooks.ts +7 -2
  291. package/src/components/payments/create-payment-form/create-payment-form.tsx +14 -0
  292. package/src/components/payments/create-payment-form/locales/es.ts +20 -0
  293. package/src/components/payments/create-payment-form/locales/fr.ts +20 -0
  294. package/src/components/payments/create-payment-form/locales/hr.ts +20 -0
  295. package/src/components/payments/create-payment-form/locales/it.ts +20 -0
  296. package/src/components/payments/create-payment-form/locales/nl.ts +20 -0
  297. package/src/components/payments/create-payment-form/locales/pl.ts +20 -0
  298. package/src/components/payments/create-payment-form/locales/pt.ts +20 -0
  299. package/src/components/payments/edit-payment-form/edit-payment-form.tsx +18 -2
  300. package/src/components/payments/edit-payment-form/locales/es.ts +20 -0
  301. package/src/components/payments/edit-payment-form/locales/fr.ts +20 -0
  302. package/src/components/payments/edit-payment-form/locales/hr.ts +20 -0
  303. package/src/components/payments/edit-payment-form/locales/it.ts +20 -0
  304. package/src/components/payments/edit-payment-form/locales/nl.ts +20 -0
  305. package/src/components/payments/edit-payment-form/locales/pl.ts +20 -0
  306. package/src/components/payments/edit-payment-form/locales/pt.ts +20 -0
  307. package/src/components/payments/list/list-row-actions.tsx +14 -0
  308. package/src/components/payments/list/list-table.tsx +21 -2
  309. package/src/components/payments/list/locales/de.ts +6 -0
  310. package/src/components/payments/list/locales/en.ts +7 -0
  311. package/src/components/payments/list/locales/es.ts +25 -0
  312. package/src/components/payments/list/locales/fr.ts +25 -0
  313. package/src/components/payments/list/locales/hr.ts +25 -0
  314. package/src/components/payments/list/locales/it.ts +25 -0
  315. package/src/components/payments/list/locales/nl.ts +25 -0
  316. package/src/components/payments/list/locales/pl.ts +25 -0
  317. package/src/components/payments/list/locales/pt.ts +25 -0
  318. package/src/components/payments/list/locales/sl.ts +6 -0
  319. package/src/components/payments/payments.hooks.ts +7 -2
  320. package/src/components/request-logs/index.ts +1 -1
  321. package/src/components/table/data-table.tsx +8 -3
  322. package/src/components/table/filter-panel.tsx +4 -4
  323. package/src/components/table/hooks/use-table-query.ts +3 -0
  324. package/src/components/table/table-empty-state.tsx +11 -4
  325. package/src/components/table/table-no-results.tsx +6 -4
  326. package/src/components/table/types.ts +2 -2
  327. package/src/components/tax-reports/kir-export-form.tsx +0 -1
  328. package/src/components/taxes/create-tax-form/create-tax-form.tsx +14 -0
  329. package/src/components/taxes/create-tax-form/locales/en.ts +1 -0
  330. package/src/components/taxes/create-tax-form/locales/es.ts +8 -0
  331. package/src/components/taxes/create-tax-form/locales/fr.ts +8 -0
  332. package/src/components/taxes/create-tax-form/locales/hr.ts +8 -0
  333. package/src/components/taxes/create-tax-form/locales/it.ts +8 -0
  334. package/src/components/taxes/create-tax-form/locales/nl.ts +8 -0
  335. package/src/components/taxes/create-tax-form/locales/pl.ts +8 -0
  336. package/src/components/taxes/create-tax-form/locales/pt.ts +8 -0
  337. package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +119 -0
  338. package/src/components/taxes/edit-tax-form/locales/de.ts +6 -0
  339. package/src/components/taxes/edit-tax-form/locales/es.ts +6 -0
  340. package/src/components/taxes/edit-tax-form/locales/fr.ts +6 -0
  341. package/src/components/taxes/edit-tax-form/locales/hr.ts +6 -0
  342. package/src/components/taxes/edit-tax-form/locales/it.ts +6 -0
  343. package/src/components/taxes/edit-tax-form/locales/nl.ts +6 -0
  344. package/src/components/taxes/edit-tax-form/locales/pl.ts +6 -0
  345. package/src/components/taxes/edit-tax-form/locales/pt.ts +6 -0
  346. package/src/components/taxes/edit-tax-form/locales/sl.ts +6 -0
  347. package/src/components/taxes/tax-list-table/locales/de.ts +6 -0
  348. package/src/components/taxes/tax-list-table/locales/en.ts +6 -0
  349. package/src/components/taxes/tax-list-table/locales/es.ts +17 -0
  350. package/src/components/taxes/tax-list-table/locales/fr.ts +17 -0
  351. package/src/components/taxes/tax-list-table/locales/hr.ts +17 -0
  352. package/src/components/taxes/tax-list-table/locales/it.ts +17 -0
  353. package/src/components/taxes/tax-list-table/locales/nl.ts +17 -0
  354. package/src/components/taxes/tax-list-table/locales/pl.ts +17 -0
  355. package/src/components/taxes/tax-list-table/locales/pt.ts +17 -0
  356. package/src/components/taxes/tax-list-table/locales/sl.ts +6 -0
  357. package/src/components/taxes/tax-list-table/tax-list-table.tsx +18 -0
  358. package/src/components/taxes/taxes.hooks.ts +12 -7
  359. package/src/components/ui/tooltip.tsx +2 -2
  360. package/src/components/wl-subscription/locked-feature.tsx +1 -0
  361. package/src/components/wl-subscription/upgrade-modal.tsx +1 -0
  362. package/src/generated/schemas/acceptentityinvitation_body.ts +17 -0
  363. package/src/generated/schemas/addentityuser_body.ts +18 -0
  364. package/src/generated/schemas/advanceinvoice.ts +184 -12
  365. package/src/generated/schemas/creditnote.ts +96 -127
  366. package/src/generated/schemas/customadvanceinvoice.ts +246 -0
  367. package/src/generated/schemas/customcreditnote.ts +237 -0
  368. package/src/generated/schemas/customer.ts +26 -0
  369. package/src/generated/schemas/customestimate.ts +181 -0
  370. package/src/generated/schemas/custominvoice.ts +237 -0
  371. package/src/generated/schemas/entity.ts +66 -7
  372. package/src/generated/schemas/entityuserrole.ts +19 -0
  373. package/src/generated/schemas/estimate.ts +149 -1
  374. package/src/generated/schemas/finasettings.ts +25 -0
  375. package/src/generated/schemas/furssettings.ts +1 -2
  376. package/src/generated/schemas/index.ts +24 -5
  377. package/src/generated/schemas/invoice.ts +224 -22
  378. package/src/generated/schemas/me.ts +22 -0
  379. package/src/generated/schemas/registerfinamovablepremise_body.ts +26 -0
  380. package/src/generated/schemas/registerfinarealestatepremise_body.ts +37 -0
  381. package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +342 -0
  382. package/src/generated/schemas/rendercreditnotepreview_body.ts +344 -0
  383. package/src/generated/schemas/renderestimatepreview_body.ts +284 -0
  384. package/src/generated/schemas/renderinvoicepreview_body.ts +344 -0
  385. package/src/generated/schemas/senddocument_body.ts +23 -0
  386. package/src/generated/schemas/sendemail_body.ts +8 -10
  387. package/src/generated/schemas/stripeappconnect_body.ts +18 -0
  388. package/src/generated/schemas/stripeappcreateinvoice_body.ts +20 -0
  389. package/src/generated/schemas/stripeappupdatesettings_body.ts +26 -0
  390. package/src/generated/schemas/webhook.ts +143 -0
  391. package/src/hooks/create-resource-hooks.ts +85 -1
  392. package/src/hooks/use-next-document-number.ts +1 -1
  393. package/src/hooks/use-resource-mutation.ts +4 -3
  394. package/src/lib/browser-cookies.ts +12 -1
  395. package/src/lib/cookies.ts +2 -2
  396. package/src/lib/translation.ts +1 -1
  397. package/src/providers/entities-provider.tsx +84 -39
  398. package/src/providers/sdk-provider.tsx +7 -3
  399. package/src/providers/white-label-provider.tsx +5 -2
  400. package/src/providers/wl-subscription-provider.tsx +1 -0
@@ -41,11 +41,15 @@ export const CertificateSettingsSection: FC<CertificateSettingsSectionProps> = (
41
41
  }
42
42
  }, [fursSettings, hasCertificate]);
43
43
 
44
- const { mutate: uploadCertificate, isPending } = useUploadFursCertificate({
44
+ const {
45
+ mutate: uploadCertificate,
46
+ isPending,
47
+ isSuccess: uploadSuccess,
48
+ } = useUploadFursCertificate({
45
49
  onSuccess: () => {
46
50
  setCertificateFile(null);
47
51
  setPassphrase("");
48
- setShowUploadForm(false); // Hide form after successful upload
52
+ setShowUploadForm(false);
49
53
  onSuccess?.();
50
54
  },
51
55
  onError: (error) => {
@@ -84,8 +88,8 @@ export const CertificateSettingsSection: FC<CertificateSettingsSectionProps> = (
84
88
 
85
89
  const certificateStatus = fursSettings?.certificate_status || "missing";
86
90
 
87
- // Show upload form if: no certificate exists OR user clicked "Change Certificate"
88
- const shouldShowUploadForm = !hasCertificate || showUploadForm;
91
+ // Show upload form if: no certificate exists (and didn't just upload) OR user clicked "Change Certificate"
92
+ const shouldShowUploadForm = (!hasCertificate && !uploadSuccess) || showUploadForm;
89
93
 
90
94
  // Status display configuration with dark mode support
91
95
  const statusConfig = {
@@ -131,6 +135,17 @@ export const CertificateSettingsSection: FC<CertificateSettingsSectionProps> = (
131
135
  </div>
132
136
 
133
137
  <div className="space-y-6">
138
+ {/* Upload success - Show briefly while settings refetch */}
139
+ {!hasCertificate && uploadSuccess && (
140
+ <div className="space-y-4">
141
+ <Alert>
142
+ <CheckCircle2 className="h-4 w-4 text-green-600 dark:text-green-400" />
143
+ <AlertTitle>{t("Certificate uploaded successfully")}</AlertTitle>
144
+ <AlertDescription>{t("Loading certificate details...")}</AlertDescription>
145
+ </Alert>
146
+ </div>
147
+ )}
148
+
134
149
  {/* Certificate Status - Show when certificate exists */}
135
150
  {hasCertificate && (
136
151
  <div className="space-y-4">
@@ -1,6 +1,7 @@
1
1
  import { zodResolver } from "@hookform/resolvers/zod";
2
2
  import type { Entity } from "@spaceinvoices/js-sdk";
3
3
  import type { FC } from "react";
4
+ import type { Resolver } from "react-hook-form";
4
5
  import { useForm } from "react-hook-form";
5
6
  import type { z } from "zod";
6
7
  import { Button } from "@/ui/components/ui/button";
@@ -57,7 +58,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
57
58
 
58
59
  // Real Estate Form
59
60
  const realEstateForm = useForm<RealEstatePremiseForm>({
60
- resolver: zodResolver(realEstatePremiseSchema),
61
+ resolver: zodResolver(realEstatePremiseSchema) as Resolver<RealEstatePremiseForm>,
61
62
  defaultValues: {
62
63
  business_premise_name: "",
63
64
  real_estate: {
@@ -71,19 +72,17 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
71
72
  house_number_additional: "",
72
73
  postal_code: "",
73
74
  },
74
- numbering_strategy: "C",
75
75
  },
76
76
  });
77
77
 
78
78
  // Movable Form
79
79
  const movableForm = useForm<MovablePremiseForm>({
80
- resolver: zodResolver(movablePremiseSchema),
80
+ resolver: zodResolver(movablePremiseSchema) as Resolver<MovablePremiseForm>,
81
81
  defaultValues: {
82
82
  business_premise_name: "",
83
83
  movable_premise: {
84
84
  premise_type: "A",
85
85
  },
86
- numbering_strategy: "C",
87
86
  },
88
87
  });
89
88
 
@@ -133,10 +132,10 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
133
132
 
134
133
  {isRealEstate ? (
135
134
  <Form {...realEstateForm}>
136
- <form onSubmit={realEstateForm.handleSubmit(handleRealEstateSubmit)} className="space-y-4">
135
+ <form onSubmit={realEstateForm.handleSubmit(handleRealEstateSubmit as any)} className="space-y-4">
137
136
  {/* Premise Name */}
138
137
  <FormField
139
- control={realEstateForm.control}
138
+ control={realEstateForm.control as any}
140
139
  name="business_premise_name"
141
140
  render={({ field }) => (
142
141
  <FormItem>
@@ -152,7 +151,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
152
151
 
153
152
  {/* Property Information */}
154
153
  <FormField
155
- control={realEstateForm.control}
154
+ control={realEstateForm.control as any}
156
155
  name="real_estate.cadastral_number"
157
156
  render={({ field }) => (
158
157
  <FormItem>
@@ -169,7 +168,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
169
168
  {/* Building Information */}
170
169
  <div className="grid grid-cols-2 gap-4">
171
170
  <FormField
172
- control={realEstateForm.control}
171
+ control={realEstateForm.control as any}
173
172
  name="real_estate.building_number"
174
173
  render={({ field }) => (
175
174
  <FormItem>
@@ -190,7 +189,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
190
189
  )}
191
190
  />
192
191
  <FormField
193
- control={realEstateForm.control}
192
+ control={realEstateForm.control as any}
194
193
  name="real_estate.building_section"
195
194
  render={({ field }) => (
196
195
  <FormItem>
@@ -214,7 +213,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
214
213
 
215
214
  {/* Community */}
216
215
  <FormField
217
- control={realEstateForm.control}
216
+ control={realEstateForm.control as any}
218
217
  name="real_estate.community"
219
218
  render={({ field }) => (
220
219
  <FormItem>
@@ -230,7 +229,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
230
229
 
231
230
  {/* Address */}
232
231
  <FormField
233
- control={realEstateForm.control}
232
+ control={realEstateForm.control as any}
234
233
  name="real_estate.street"
235
234
  render={({ field }) => (
236
235
  <FormItem>
@@ -245,7 +244,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
245
244
 
246
245
  <div className="grid grid-cols-2 gap-4">
247
246
  <FormField
248
- control={realEstateForm.control}
247
+ control={realEstateForm.control as any}
249
248
  name="real_estate.house_number"
250
249
  render={({ field }) => (
251
250
  <FormItem>
@@ -258,7 +257,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
258
257
  )}
259
258
  />
260
259
  <FormField
261
- control={realEstateForm.control}
260
+ control={realEstateForm.control as any}
262
261
  name="real_estate.house_number_additional"
263
262
  render={({ field }) => (
264
263
  <FormItem>
@@ -274,7 +273,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
274
273
 
275
274
  <div className="grid grid-cols-2 gap-4">
276
275
  <FormField
277
- control={realEstateForm.control}
276
+ control={realEstateForm.control as any}
278
277
  name="real_estate.city"
279
278
  render={({ field }) => (
280
279
  <FormItem>
@@ -287,7 +286,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
287
286
  )}
288
287
  />
289
288
  <FormField
290
- control={realEstateForm.control}
289
+ control={realEstateForm.control as any}
291
290
  name="real_estate.postal_code"
292
291
  render={({ field }) => (
293
292
  <FormItem>
@@ -301,30 +300,6 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
301
300
  />
302
301
  </div>
303
302
 
304
- {/* Numbering Strategy */}
305
- <FormField
306
- control={realEstateForm.control}
307
- name="numbering_strategy"
308
- render={({ field }) => (
309
- <FormItem>
310
- <FormLabel>{t("Numbering Strategy")}</FormLabel>
311
- <Select onValueChange={field.onChange} value={field.value}>
312
- <FormControl>
313
- <SelectTrigger>
314
- <SelectValue placeholder="Select strategy" />
315
- </SelectTrigger>
316
- </FormControl>
317
- <SelectContent>
318
- <SelectItem value="B">{t("Strategy B (Device-level)")}</SelectItem>
319
- <SelectItem value="C">{t("Strategy C (Centralized)")}</SelectItem>
320
- </SelectContent>
321
- </Select>
322
- <FormDescription>{t("Choose how invoice numbers are generated")}</FormDescription>
323
- <FormMessage />
324
- </FormItem>
325
- )}
326
- />
327
-
328
303
  <DialogFooter>
329
304
  <Button type="button" variant="outline" onClick={() => onOpenChange(false)} disabled={isPending}>
330
305
  {t("Cancel")}
@@ -337,10 +312,10 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
337
312
  </Form>
338
313
  ) : (
339
314
  <Form {...movableForm}>
340
- <form onSubmit={movableForm.handleSubmit(handleMovableSubmit)} className="space-y-4">
315
+ <form onSubmit={movableForm.handleSubmit(handleMovableSubmit as any)} className="space-y-4">
341
316
  {/* Premise Name */}
342
317
  <FormField
343
- control={movableForm.control}
318
+ control={movableForm.control as any}
344
319
  name="business_premise_name"
345
320
  render={({ field }) => (
346
321
  <FormItem>
@@ -356,7 +331,7 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
356
331
 
357
332
  {/* Premise Type */}
358
333
  <FormField
359
- control={movableForm.control}
334
+ control={movableForm.control as any}
360
335
  name="movable_premise.premise_type"
361
336
  render={({ field }) => (
362
337
  <FormItem>
@@ -379,30 +354,6 @@ export const RegisterPremiseDialog: FC<RegisterPremiseDialogProps> = ({
379
354
  )}
380
355
  />
381
356
 
382
- {/* Numbering Strategy */}
383
- <FormField
384
- control={movableForm.control}
385
- name="numbering_strategy"
386
- render={({ field }) => (
387
- <FormItem>
388
- <FormLabel>{t("Numbering Strategy")}</FormLabel>
389
- <Select onValueChange={field.onChange} value={field.value}>
390
- <FormControl>
391
- <SelectTrigger>
392
- <SelectValue placeholder="Select strategy" />
393
- </SelectTrigger>
394
- </FormControl>
395
- <SelectContent>
396
- <SelectItem value="B">{t("Strategy B (Device-level)")}</SelectItem>
397
- <SelectItem value="C">{t("Strategy C (Centralized)")}</SelectItem>
398
- </SelectContent>
399
- </Select>
400
- <FormDescription>{t("Choose how invoice numbers are generated")}</FormDescription>
401
- <FormMessage />
402
- </FormItem>
403
- )}
404
- />
405
-
406
357
  <DialogFooter>
407
358
  <Button type="button" variant="outline" onClick={() => onOpenChange(false)} disabled={isPending}>
408
359
  {t("Cancel")}
@@ -1,2 +1,2 @@
1
- export const ACTIVE_ENTITY_COOKIE = "l.ent" as const;
1
+ export const ACTIVE_ENTITY_COOKIE = "l.eid" as const;
2
2
  export const ACTIVE_ENVIRONMENT_COOKIE = "l.env" as const;
@@ -24,6 +24,7 @@ const translations = { sl, de } as const;
24
24
  const companySettingsSchema = z.object({
25
25
  name: z.string().min(1, "Name is required"),
26
26
  tax_number: z.union([z.string(), z.null()]).optional(),
27
+ tax_number_2: z.union([z.string(), z.null()]).optional(),
27
28
  address: z.union([z.string(), z.null()]).optional(),
28
29
  address_2: z.union([z.string(), z.null()]).optional(),
29
30
  post_code: z.union([z.string(), z.null()]).optional(),
@@ -54,6 +55,7 @@ export function CompanySettingsForm({
54
55
  defaultValues: {
55
56
  name: entity.name || "",
56
57
  tax_number: (entity as any).tax_number || null,
58
+ tax_number_2: (entity as any).tax_number_2 || null,
57
59
  address: (entity as any).address || null,
58
60
  address_2: (entity as any).address_2 || null,
59
61
  post_code: (entity as any).post_code || null,
@@ -83,6 +85,7 @@ export function CompanySettingsForm({
83
85
 
84
86
  if (values.name !== entity.name) updatePayload.name = values.name;
85
87
  if (values.tax_number !== (entity as any).tax_number) updatePayload.tax_number = values.tax_number;
88
+ if (values.tax_number_2 !== (entity as any).tax_number_2) updatePayload.tax_number_2 = values.tax_number_2;
86
89
  if (values.address !== (entity as any).address) updatePayload.address = values.address;
87
90
  if (values.address_2 !== (entity as any).address_2) updatePayload.address_2 = values.address_2;
88
91
  if (values.post_code !== (entity as any).post_code) updatePayload.post_code = values.post_code;
@@ -135,6 +138,31 @@ export function CompanySettingsForm({
135
138
  )}
136
139
  />
137
140
 
141
+ {(entity as any).country_rules?.features?.includes("tax_number_2") && (
142
+ <FormField
143
+ control={form.control}
144
+ name="tax_number_2"
145
+ render={({ field }) => (
146
+ <FormItem className="max-w-xs">
147
+ <FormLabel className="font-medium text-base">{t("Tax ID 2")}</FormLabel>
148
+ <FormControl>
149
+ <Input
150
+ {...field}
151
+ value={field.value || ""}
152
+ onChange={(e) => field.onChange(e.target.value || null)}
153
+ placeholder="12/345/67890"
154
+ className="h-10"
155
+ />
156
+ </FormControl>
157
+ <FormDescription className="text-xs">
158
+ {t("Secondary tax identification number (optional)")}
159
+ </FormDescription>
160
+ <FormMessage />
161
+ </FormItem>
162
+ )}
163
+ />
164
+ )}
165
+
138
166
  <div className="border-t pt-6">
139
167
  <FormField
140
168
  control={form.control}
@@ -0,0 +1,18 @@
1
+ export default {
2
+ "PDF Template": "Plantilla PDF",
3
+ "Choose the design template for your invoices and documents":
4
+ "Elija la plantilla de diseño para sus facturas y documentos",
5
+ Preview: "Vista previa",
6
+ Template: "Plantilla",
7
+ Modern: "Moderna",
8
+ "Modern template description": "Diseño limpio y profesional adecuado para la mayoría de las empresas",
9
+ Classic: "Clásica",
10
+ "Classic template description": "Diseño tradicional de factura con fuentes serif y bordes",
11
+ Minimal: "Minimalista",
12
+ "Minimal template description": "Diseño centrado en la tipografía con una estética limpia",
13
+ Fashion: "Fashion",
14
+ "Fashion template description": "Estilo editorial con títulos elegantes para empresas creativas",
15
+ "Save Template": "Guardar plantilla",
16
+ "Template saved successfully": "Plantilla guardada con éxito",
17
+ "Failed to save template": "Error al guardar la plantilla",
18
+ } as const;
@@ -0,0 +1,18 @@
1
+ export default {
2
+ "PDF Template": "Modèle PDF",
3
+ "Choose the design template for your invoices and documents":
4
+ "Choisissez le modèle de design pour vos factures et documents",
5
+ Preview: "Aperçu",
6
+ Template: "Modèle",
7
+ Modern: "Moderne",
8
+ "Modern template description": "Design épuré et professionnel adapté à la plupart des entreprises",
9
+ Classic: "Classique",
10
+ "Classic template description": "Mise en page traditionnelle avec polices à empattements et bordures",
11
+ Minimal: "Minimaliste",
12
+ "Minimal template description": "Design axé sur la typographie avec une esthétique épurée",
13
+ Fashion: "Fashion",
14
+ "Fashion template description": "Style éditorial avec des titres élégants pour les entreprises créatives",
15
+ "Save Template": "Enregistrer le modèle",
16
+ "Template saved successfully": "Modèle enregistré avec succès",
17
+ "Failed to save template": "Échec de l'enregistrement du modèle",
18
+ } as const;
@@ -0,0 +1,18 @@
1
+ export default {
2
+ "PDF Template": "PDF predložak",
3
+ "Choose the design template for your invoices and documents":
4
+ "Odaberite predložak dizajna za svoje račune i dokumente",
5
+ Preview: "Pregled",
6
+ Template: "Predložak",
7
+ Modern: "Moderan",
8
+ "Modern template description": "Čist, profesionalan dizajn prikladan za većinu tvrtki",
9
+ Classic: "Klasičan",
10
+ "Classic template description": "Tradicionalni raspored računa sa serifnim fontovima i okvirima",
11
+ Minimal: "Minimalistički",
12
+ "Minimal template description": "Tipografski usmjeren dizajn s čistom estetikom",
13
+ Fashion: "Fashion",
14
+ "Fashion template description": "Urednički stil s elegantnim naslovima za kreativne tvrtke",
15
+ "Save Template": "Spremi predložak",
16
+ "Template saved successfully": "Predložak uspješno spremljen",
17
+ "Failed to save template": "Spremanje predloška nije uspjelo",
18
+ } as const;
@@ -0,0 +1,18 @@
1
+ export default {
2
+ "PDF Template": "Modello PDF",
3
+ "Choose the design template for your invoices and documents":
4
+ "Scegli il modello di design per le tue fatture e documenti",
5
+ Preview: "Anteprima",
6
+ Template: "Modello",
7
+ Modern: "Moderno",
8
+ "Modern template description": "Design pulito e professionale adatto alla maggior parte delle aziende",
9
+ Classic: "Classico",
10
+ "Classic template description": "Layout tradizionale per fatture con caratteri serif e bordi",
11
+ Minimal: "Minimale",
12
+ "Minimal template description": "Design incentrato sulla tipografia con un'estetica pulita",
13
+ Fashion: "Fashion",
14
+ "Fashion template description": "Stile editoriale con titoli eleganti per aziende creative",
15
+ "Save Template": "Salva modello",
16
+ "Template saved successfully": "Modello salvato con successo",
17
+ "Failed to save template": "Salvataggio del modello non riuscito",
18
+ } as const;
@@ -0,0 +1,17 @@
1
+ export default {
2
+ "PDF Template": "PDF-sjabloon",
3
+ "Choose the design template for your invoices and documents": "Kies het ontwerp voor uw facturen en documenten",
4
+ Preview: "Voorbeeld",
5
+ Template: "Sjabloon",
6
+ Modern: "Modern",
7
+ "Modern template description": "Strak, professioneel ontwerp geschikt voor de meeste bedrijven",
8
+ Classic: "Klassiek",
9
+ "Classic template description": "Traditionele factuurindeling met schreeflettertypen en kaders",
10
+ Minimal: "Minimalistisch",
11
+ "Minimal template description": "Typografisch gericht ontwerp met een strakke esthetiek",
12
+ Fashion: "Fashion",
13
+ "Fashion template description": "Redactionele stijl met elegante koppen voor creatieve bedrijven",
14
+ "Save Template": "Sjabloon opslaan",
15
+ "Template saved successfully": "Sjabloon succesvol opgeslagen",
16
+ "Failed to save template": "Sjabloon opslaan mislukt",
17
+ } as const;
@@ -0,0 +1,18 @@
1
+ export default {
2
+ "PDF Template": "Szablon PDF",
3
+ "Choose the design template for your invoices and documents":
4
+ "Wybierz szablon projektu dla swoich faktur i dokumentów",
5
+ Preview: "Podgląd",
6
+ Template: "Szablon",
7
+ Modern: "Nowoczesny",
8
+ "Modern template description": "Czysty, profesjonalny design odpowiedni dla większości firm",
9
+ Classic: "Klasyczny",
10
+ "Classic template description": "Tradycyjny układ faktury z czcionkami szeryfowymi i ramkami",
11
+ Minimal: "Minimalistyczny",
12
+ "Minimal template description": "Design skoncentrowany na typografii z czystą estetyką",
13
+ Fashion: "Fashion",
14
+ "Fashion template description": "Styl redakcyjny z eleganckimi nagłówkami dla firm kreatywnych",
15
+ "Save Template": "Zapisz szablon",
16
+ "Template saved successfully": "Szablon zapisany pomyślnie",
17
+ "Failed to save template": "Nie udało się zapisać szablonu",
18
+ } as const;
@@ -0,0 +1,18 @@
1
+ export default {
2
+ "PDF Template": "Modelo PDF",
3
+ "Choose the design template for your invoices and documents":
4
+ "Escolha o modelo de design para as suas faturas e documentos",
5
+ Preview: "Pré-visualização",
6
+ Template: "Modelo",
7
+ Modern: "Moderno",
8
+ "Modern template description": "Design limpo e profissional adequado para a maioria das empresas",
9
+ Classic: "Clássico",
10
+ "Classic template description": "Layout tradicional de fatura com fontes serifadas e bordas",
11
+ Minimal: "Minimalista",
12
+ "Minimal template description": "Design focado na tipografia com uma estética limpa",
13
+ Fashion: "Fashion",
14
+ "Fashion template description": "Estilo editorial com títulos elegantes para empresas criativas",
15
+ "Save Template": "Guardar modelo",
16
+ "Template saved successfully": "Modelo guardado com sucesso",
17
+ "Failed to save template": "Falha ao guardar o modelo",
18
+ } as const;
@@ -26,6 +26,13 @@ import { DocumentRecipientSection } from "../../documents/create/document-recipi
26
26
  import type { DocumentTypes } from "../../documents/types";
27
27
  import { useCreateEstimate } from "../estimates.hooks";
28
28
  import de from "./locales/de";
29
+ import es from "./locales/es";
30
+ import fr from "./locales/fr";
31
+ import hr from "./locales/hr";
32
+ import it from "./locales/it";
33
+ import nl from "./locales/nl";
34
+ import pl from "./locales/pl";
35
+ import pt from "./locales/pt";
29
36
  import sl from "./locales/sl";
30
37
  import { prepareEstimateSubmission } from "./prepare-estimate-submission";
31
38
  import { useEstimateCustomerForm } from "./use-estimate-customer-form";
@@ -33,6 +40,13 @@ import { useEstimateCustomerForm } from "./use-estimate-customer-form";
33
40
  const translations = {
34
41
  sl,
35
42
  de,
43
+ it,
44
+ fr,
45
+ es,
46
+ pt,
47
+ nl,
48
+ pl,
49
+ hr,
36
50
  } as const;
37
51
 
38
52
  // Form values: extend schema with local-only fields (number is for display, not sent to API)
@@ -0,0 +1,57 @@
1
+ export default {
2
+ "Create Estimate": "Crear presupuesto",
3
+ "Create Quote": "Crear oferta",
4
+ Estimate: "Presupuesto",
5
+ Quote: "Oferta",
6
+ "Click to switch to Quote": "Haga clic para cambiar a Oferta",
7
+ "Click to switch to Estimate": "Haga clic para cambiar a Presupuesto",
8
+ Details: "Detalles",
9
+ Number: "Número",
10
+ Date: "Fecha",
11
+ "Due Date": "Fecha de vencimiento",
12
+ "Valid Until": "Válido hasta",
13
+ Recipient: "Destinatario",
14
+ "Search or create customer...": "Buscar o crear cliente...",
15
+ Clear: "Limpiar",
16
+ Name: "Nombre",
17
+ Address: "Dirección",
18
+ "Address 2": "Dirección 2",
19
+ "Post Code": "Código postal",
20
+ City: "Ciudad",
21
+ State: "Provincia",
22
+ Country: "País",
23
+ "Tax Number": "Número fiscal",
24
+ Items: "Artículos",
25
+ "Add item": "Añadir artículo",
26
+ Tax: "Impuesto",
27
+ "Tax rate": "Tasa de impuesto",
28
+ "Add tax": "Añadir impuesto",
29
+ "Select tax...": "Seleccionar impuesto...",
30
+ "Loading...": "Cargando...",
31
+ "No taxes found": "No se encontraron impuestos",
32
+ "Add new tax...": "Añadir nuevo impuesto...",
33
+ Note: "Nota",
34
+ "Insert variable": "Insertar variable",
35
+ "Add payment instructions, terms, or other notes...": "Añada instrucciones de pago, condiciones u otras notas...",
36
+ "Payment Terms": "Condiciones de pago",
37
+ "Add payment terms...": "Añada condiciones de pago...",
38
+ Quantity: "Cantidad",
39
+ Price: "Precio",
40
+ Unit: "Unidad",
41
+ Discount: "Descuento",
42
+ Description: "Descripción",
43
+ Save: "Guardar",
44
+ "Save as Draft": "Guardar como borrador",
45
+ "Pick a date": "Seleccionar una fecha",
46
+ Currency: "Moneda",
47
+ "Select currency": "Seleccionar moneda",
48
+ "Percentage discount": "Descuento porcentual",
49
+ "Fixed amount discount": "Descuento fijo",
50
+ Percentage: "Porcentaje",
51
+ "Fixed amount": "Importe fijo",
52
+ "Taxes disabled": "Impuestos desactivados",
53
+ "Gross price": "Precio bruto",
54
+ "Net price": "Precio neto",
55
+ "Gross price (tax included)": "Precio bruto (impuestos incluidos)",
56
+ "Net price (before tax)": "Precio neto (antes de impuestos)",
57
+ } as const;
@@ -0,0 +1,58 @@
1
+ export default {
2
+ "Create Estimate": "Créer un devis",
3
+ "Create Quote": "Créer une offre",
4
+ Estimate: "Devis",
5
+ Quote: "Offre",
6
+ "Click to switch to Quote": "Cliquez pour passer à Offre",
7
+ "Click to switch to Estimate": "Cliquez pour passer à Devis",
8
+ Details: "Détails",
9
+ Number: "Numéro",
10
+ Date: "Date",
11
+ "Due Date": "Date d'échéance",
12
+ "Valid Until": "Valable jusqu'au",
13
+ Recipient: "Destinataire",
14
+ "Search or create customer...": "Rechercher ou créer un client...",
15
+ Clear: "Effacer",
16
+ Name: "Nom",
17
+ Address: "Adresse",
18
+ "Address 2": "Adresse 2",
19
+ "Post Code": "Code postal",
20
+ City: "Ville",
21
+ State: "Région",
22
+ Country: "Pays",
23
+ "Tax Number": "Numéro de TVA",
24
+ Items: "Articles",
25
+ "Add item": "Ajouter un article",
26
+ Tax: "Taxe",
27
+ "Tax rate": "Taux de taxe",
28
+ "Add tax": "Ajouter une taxe",
29
+ "Select tax...": "Sélectionner une taxe...",
30
+ "Loading...": "Chargement...",
31
+ "No taxes found": "Aucune taxe trouvée",
32
+ "Add new tax...": "Ajouter une nouvelle taxe...",
33
+ Note: "Note",
34
+ "Insert variable": "Insérer une variable",
35
+ "Add payment instructions, terms, or other notes...":
36
+ "Ajoutez des instructions de paiement, des conditions ou d'autres notes...",
37
+ "Payment Terms": "Conditions de paiement",
38
+ "Add payment terms...": "Ajoutez des conditions de paiement...",
39
+ Quantity: "Quantité",
40
+ Price: "Prix",
41
+ Unit: "Unité",
42
+ Discount: "Remise",
43
+ Description: "Description",
44
+ Save: "Enregistrer",
45
+ "Save as Draft": "Enregistrer comme brouillon",
46
+ "Pick a date": "Choisir une date",
47
+ Currency: "Devise",
48
+ "Select currency": "Sélectionner la devise",
49
+ "Percentage discount": "Remise en pourcentage",
50
+ "Fixed amount discount": "Remise fixe",
51
+ Percentage: "Pourcentage",
52
+ "Fixed amount": "Montant fixe",
53
+ "Taxes disabled": "Taxes désactivées",
54
+ "Gross price": "Prix brut",
55
+ "Net price": "Prix net",
56
+ "Gross price (tax included)": "Prix brut (taxes incluses)",
57
+ "Net price (before tax)": "Prix net (avant taxes)",
58
+ } as const;
@@ -0,0 +1,57 @@
1
+ export default {
2
+ "Create Estimate": "Kreiraj predračun",
3
+ "Create Quote": "Kreiraj ponudu",
4
+ Estimate: "Predračun",
5
+ Quote: "Ponuda",
6
+ "Click to switch to Quote": "Kliknite za prebacivanje na Ponudu",
7
+ "Click to switch to Estimate": "Kliknite za prebacivanje na Predračun",
8
+ Details: "Pojedinosti",
9
+ Number: "Broj",
10
+ Date: "Datum",
11
+ "Due Date": "Rok plaćanja",
12
+ "Valid Until": "Vrijedi do",
13
+ Recipient: "Primatelj",
14
+ "Search or create customer...": "Pretraži ili kreiraj kupca...",
15
+ Clear: "Očisti",
16
+ Name: "Naziv",
17
+ Address: "Adresa",
18
+ "Address 2": "Adresa 2",
19
+ "Post Code": "Poštanski broj",
20
+ City: "Grad",
21
+ State: "Županija",
22
+ Country: "Država",
23
+ "Tax Number": "OIB",
24
+ Items: "Stavke",
25
+ "Add item": "Dodaj stavku",
26
+ Tax: "Porez",
27
+ "Tax rate": "Porezna stopa",
28
+ "Add tax": "Dodaj porez",
29
+ "Select tax...": "Odaberi porez...",
30
+ "Loading...": "Učitavanje...",
31
+ "No taxes found": "Nisu pronađeni porezi",
32
+ "Add new tax...": "Dodaj novi porez...",
33
+ Note: "Napomena",
34
+ "Insert variable": "Umetni varijablu",
35
+ "Add payment instructions, terms, or other notes...": "Dodajte upute za plaćanje, uvjete ili druge napomene...",
36
+ "Payment Terms": "Uvjeti plaćanja",
37
+ "Add payment terms...": "Dodajte uvjete plaćanja...",
38
+ Quantity: "Količina",
39
+ Price: "Cijena",
40
+ Unit: "Jedinica",
41
+ Discount: "Popust",
42
+ Description: "Opis",
43
+ Save: "Spremi",
44
+ "Save as Draft": "Spremi kao skicu",
45
+ "Pick a date": "Odaberite datum",
46
+ Currency: "Valuta",
47
+ "Select currency": "Odaberi valutu",
48
+ "Percentage discount": "Postotni popust",
49
+ "Fixed amount discount": "Fiksni popust",
50
+ Percentage: "Postotak",
51
+ "Fixed amount": "Fiksni iznos",
52
+ "Taxes disabled": "Porezi onemogućeni",
53
+ "Gross price": "Bruto cijena",
54
+ "Net price": "Neto cijena",
55
+ "Gross price (tax included)": "Bruto cijena (s porezom)",
56
+ "Net price (before tax)": "Neto cijena (prije poreza)",
57
+ } as const;