@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
@@ -12,11 +12,27 @@ import { useSDK } from "@/ui/providers/sdk-provider";
12
12
 
13
13
  import PaymentListRowActions from "./list-row-actions";
14
14
  import de from "./locales/de";
15
+ import en from "./locales/en";
16
+ import es from "./locales/es";
17
+ import fr from "./locales/fr";
18
+ import hr from "./locales/hr";
19
+ import it from "./locales/it";
20
+ import nl from "./locales/nl";
21
+ import pl from "./locales/pl";
22
+ import pt from "./locales/pt";
15
23
  import sl from "./locales/sl";
16
24
 
17
25
  const translations = {
26
+ en,
18
27
  sl,
19
28
  de,
29
+ it,
30
+ fr,
31
+ es,
32
+ pt,
33
+ nl,
34
+ pl,
35
+ hr,
20
36
  } as const;
21
37
 
22
38
  // Extended payment type that includes Invoice relation from API
@@ -139,12 +155,13 @@ export default function PaymentListTable({
139
155
  onEditPayment={onEditPayment}
140
156
  onDeleteSuccess={onDeleteSuccess}
141
157
  onDeleteError={onDeleteError}
142
- {...i18nProps}
158
+ t={t}
159
+ locale={i18nProps.locale}
143
160
  />
144
161
  ),
145
162
  },
146
163
  ],
147
- [t, typeLabels, entityId, onViewInvoice, onEditPayment, onDeleteSuccess, onDeleteError, i18nProps],
164
+ [t, typeLabels, entityId, onViewInvoice, onEditPayment, onDeleteSuccess, onDeleteError, i18nProps.locale],
148
165
  );
149
166
 
150
167
  return (
@@ -156,6 +173,8 @@ export default function PaymentListTable({
156
173
  onFetch={handleFetch}
157
174
  onChangeParams={onChangeParams}
158
175
  entityId={entityId}
176
+ t={t}
177
+ locale={i18nProps.locale}
159
178
  />
160
179
  );
161
180
  }
@@ -16,4 +16,10 @@ export default {
16
16
  "type.card": "Karte",
17
17
  "type.check": "Scheck",
18
18
  "type.other": "Andere",
19
+ // Empty state translations
20
+ "Your list is empty": "Ihre Zahlungsliste ist leer",
21
+ "Get started by creating your first entry": "Erstellen Sie Ihre erste Zahlung",
22
+ "No results found": "Keine Zahlungen gefunden",
23
+ "Try adjusting your search criteria": "Versuchen Sie, Ihre Suchkriterien anzupassen",
24
+ "Clear search": "Suche zurücksetzen",
19
25
  } as const;
@@ -0,0 +1,7 @@
1
+ export default {
2
+ // Empty state translations
3
+ "Your list is empty": "Your payment list is empty",
4
+ "Get started by creating your first entry": "Get started by creating your first payment",
5
+ // No results translations
6
+ "No results found": "No payments found",
7
+ } as const;
@@ -0,0 +1,25 @@
1
+ export default {
2
+ Date: "Fecha",
3
+ Amount: "Importe",
4
+ Type: "Tipo",
5
+ Invoice: "Factura",
6
+ Reference: "Referencia",
7
+ Note: "Nota",
8
+ Actions: "Acciones",
9
+ "Open menu": "Abrir menú",
10
+ "Edit payment": "Editar pago",
11
+ "Delete payment": "Eliminar pago",
12
+ "Deleting...": "Eliminando...",
13
+ "View invoice": "Ver factura",
14
+ "type.cash": "Efectivo",
15
+ "type.bank_transfer": "Transferencia bancaria",
16
+ "type.card": "Tarjeta",
17
+ "type.check": "Cheque",
18
+ "type.other": "Otro",
19
+ // Empty state translations
20
+ "Your list is empty": "Su lista de pagos está vacía",
21
+ "Get started by creating your first entry": "Comience agregando su primer pago",
22
+ "No results found": "No se encontraron pagos",
23
+ "Try adjusting your search criteria": "Intente ajustar sus criterios de búsqueda",
24
+ "Clear search": "Limpiar búsqueda",
25
+ } as const;
@@ -0,0 +1,25 @@
1
+ export default {
2
+ Date: "Date",
3
+ Amount: "Montant",
4
+ Type: "Type",
5
+ Invoice: "Facture",
6
+ Reference: "Référence",
7
+ Note: "Note",
8
+ Actions: "Actions",
9
+ "Open menu": "Ouvrir le menu",
10
+ "Edit payment": "Modifier le paiement",
11
+ "Delete payment": "Supprimer le paiement",
12
+ "Deleting...": "Suppression...",
13
+ "View invoice": "Voir la facture",
14
+ "type.cash": "Espèces",
15
+ "type.bank_transfer": "Virement bancaire",
16
+ "type.card": "Carte",
17
+ "type.check": "Chèque",
18
+ "type.other": "Autre",
19
+ // Empty state translations
20
+ "Your list is empty": "Votre liste de paiements est vide",
21
+ "Get started by creating your first entry": "Commencez par ajouter votre premier paiement",
22
+ "No results found": "Aucun paiement trouvé",
23
+ "Try adjusting your search criteria": "Essayez de modifier vos critères de recherche",
24
+ "Clear search": "Effacer la recherche",
25
+ } as const;
@@ -0,0 +1,25 @@
1
+ export default {
2
+ Date: "Datum",
3
+ Amount: "Iznos",
4
+ Type: "Vrsta",
5
+ Invoice: "Račun",
6
+ Reference: "Referenca",
7
+ Note: "Napomena",
8
+ Actions: "Akcije",
9
+ "Open menu": "Otvori izbornik",
10
+ "Edit payment": "Uredi plaćanje",
11
+ "Delete payment": "Obriši plaćanje",
12
+ "Deleting...": "Brisanje...",
13
+ "View invoice": "Prikaži račun",
14
+ "type.cash": "Gotovina",
15
+ "type.bank_transfer": "Bankovni prijenos",
16
+ "type.card": "Kartica",
17
+ "type.check": "Ček",
18
+ "type.other": "Ostalo",
19
+ // Empty state translations
20
+ "Your list is empty": "Vaš popis plaćanja je prazan",
21
+ "Get started by creating your first entry": "Započnite dodavanjem prvog plaćanja",
22
+ "No results found": "Nisu pronađena plaćanja",
23
+ "Try adjusting your search criteria": "Pokušajte prilagoditi kriterije pretrage",
24
+ "Clear search": "Očisti pretragu",
25
+ } as const;
@@ -0,0 +1,25 @@
1
+ export default {
2
+ Date: "Data",
3
+ Amount: "Importo",
4
+ Type: "Tipo",
5
+ Invoice: "Fattura",
6
+ Reference: "Riferimento",
7
+ Note: "Nota",
8
+ Actions: "Azioni",
9
+ "Open menu": "Apri menu",
10
+ "Edit payment": "Modifica pagamento",
11
+ "Delete payment": "Elimina pagamento",
12
+ "Deleting...": "Eliminazione...",
13
+ "View invoice": "Visualizza fattura",
14
+ "type.cash": "Contanti",
15
+ "type.bank_transfer": "Bonifico bancario",
16
+ "type.card": "Carta",
17
+ "type.check": "Assegno",
18
+ "type.other": "Altro",
19
+ // Empty state translations
20
+ "Your list is empty": "La lista dei pagamenti è vuota",
21
+ "Get started by creating your first entry": "Inizia aggiungendo il tuo primo pagamento",
22
+ "No results found": "Nessun pagamento trovato",
23
+ "Try adjusting your search criteria": "Prova a modificare i criteri di ricerca",
24
+ "Clear search": "Cancella ricerca",
25
+ } as const;
@@ -0,0 +1,25 @@
1
+ export default {
2
+ Date: "Datum",
3
+ Amount: "Bedrag",
4
+ Type: "Type",
5
+ Invoice: "Factuur",
6
+ Reference: "Referentie",
7
+ Note: "Notitie",
8
+ Actions: "Acties",
9
+ "Open menu": "Menu openen",
10
+ "Edit payment": "Betaling bewerken",
11
+ "Delete payment": "Betaling verwijderen",
12
+ "Deleting...": "Verwijderen...",
13
+ "View invoice": "Factuur bekijken",
14
+ "type.cash": "Contant",
15
+ "type.bank_transfer": "Bankoverschrijving",
16
+ "type.card": "Kaart",
17
+ "type.check": "Cheque",
18
+ "type.other": "Anders",
19
+ // Empty state translations
20
+ "Your list is empty": "Uw betalingslijst is leeg",
21
+ "Get started by creating your first entry": "Begin met het toevoegen van uw eerste betaling",
22
+ "No results found": "Geen betalingen gevonden",
23
+ "Try adjusting your search criteria": "Probeer uw zoekcriteria aan te passen",
24
+ "Clear search": "Zoekopdracht wissen",
25
+ } as const;
@@ -0,0 +1,25 @@
1
+ export default {
2
+ Date: "Data",
3
+ Amount: "Kwota",
4
+ Type: "Typ",
5
+ Invoice: "Faktura",
6
+ Reference: "Referencja",
7
+ Note: "Notatka",
8
+ Actions: "Akcje",
9
+ "Open menu": "Otwórz menu",
10
+ "Edit payment": "Edytuj płatność",
11
+ "Delete payment": "Usuń płatność",
12
+ "Deleting...": "Usuwanie...",
13
+ "View invoice": "Pokaż fakturę",
14
+ "type.cash": "Gotówka",
15
+ "type.bank_transfer": "Przelew bankowy",
16
+ "type.card": "Karta",
17
+ "type.check": "Czek",
18
+ "type.other": "Inne",
19
+ // Empty state translations
20
+ "Your list is empty": "Lista płatności jest pusta",
21
+ "Get started by creating your first entry": "Zacznij od dodania pierwszej płatności",
22
+ "No results found": "Nie znaleziono płatności",
23
+ "Try adjusting your search criteria": "Spróbuj dostosować kryteria wyszukiwania",
24
+ "Clear search": "Wyczyść wyszukiwanie",
25
+ } as const;
@@ -0,0 +1,25 @@
1
+ export default {
2
+ Date: "Data",
3
+ Amount: "Montante",
4
+ Type: "Tipo",
5
+ Invoice: "Fatura",
6
+ Reference: "Referência",
7
+ Note: "Nota",
8
+ Actions: "Ações",
9
+ "Open menu": "Abrir menu",
10
+ "Edit payment": "Editar pagamento",
11
+ "Delete payment": "Eliminar pagamento",
12
+ "Deleting...": "A eliminar...",
13
+ "View invoice": "Ver fatura",
14
+ "type.cash": "Dinheiro",
15
+ "type.bank_transfer": "Transferência bancária",
16
+ "type.card": "Cartão",
17
+ "type.check": "Cheque",
18
+ "type.other": "Outro",
19
+ // Empty state translations
20
+ "Your list is empty": "A sua lista de pagamentos está vazia",
21
+ "Get started by creating your first entry": "Comece por adicionar o seu primeiro pagamento",
22
+ "No results found": "Nenhum pagamento encontrado",
23
+ "Try adjusting your search criteria": "Tente ajustar os seus critérios de pesquisa",
24
+ "Clear search": "Limpar pesquisa",
25
+ } as const;
@@ -16,4 +16,10 @@ export default {
16
16
  "type.card": "Kartica",
17
17
  "type.check": "Ček",
18
18
  "type.other": "Drugo",
19
+ // Empty state translations
20
+ "Your list is empty": "Vaš seznam plačil je prazen",
21
+ "Get started by creating your first entry": "Začnite z dodajanjem prvega plačila",
22
+ "No results found": "Ni najdenih plačil",
23
+ "Try adjusting your search criteria": "Poskusite prilagoditi iskalne kriterije",
24
+ "Clear search": "Počisti iskanje",
19
25
  } as const;
@@ -10,6 +10,11 @@ const {
10
10
  useCreateResource: useCreatePayment,
11
11
  useUpdateResource: useUpdatePayment,
12
12
  useDeleteResource: useDeletePayment,
13
- } = createResourceHooks<Payment, CreatePaymentRequest>("payments", PAYMENTS_CACHE_KEY);
13
+ useRestoreResource: useRestorePayment,
14
+ usePermanentDeleteResource: usePermanentDeletePayment,
15
+ } = createResourceHooks<Payment, CreatePaymentRequest>("payments", PAYMENTS_CACHE_KEY, {
16
+ restoreMethodName: "restorePayment",
17
+ permanentDeleteMethodName: "permanentDeletePayment",
18
+ });
14
19
 
15
- export { useCreatePayment, useUpdatePayment, useDeletePayment };
20
+ export { useCreatePayment, useUpdatePayment, useDeletePayment, useRestorePayment, usePermanentDeletePayment };
@@ -1,3 +1,3 @@
1
1
  export { RequestLogDetail } from "./request-log-detail";
2
- export type { RequestLogResponse, RequestLogsPageProps } from "./request-logs-page";
2
+ export type { RequestLogResponse } from "./request-logs-page";
3
3
  export { REQUEST_LOGS_CACHE_KEY, RequestLogsPage } from "./request-logs-page";
@@ -132,7 +132,12 @@ export function DataTable<T extends { id: string }>({
132
132
  // (this means truly empty collection, not filtered to zero results)
133
133
  if (data.length === 0 && !hasActiveFilters) {
134
134
  return (
135
- <TableEmptyState resource={resourceName} createNewLink={createNewLink} createNewTrigger={createNewTrigger} />
135
+ <TableEmptyState
136
+ resource={resourceName}
137
+ createNewLink={createNewLink}
138
+ createNewTrigger={createNewTrigger}
139
+ t={t}
140
+ />
136
141
  );
137
142
  }
138
143
 
@@ -170,7 +175,7 @@ export function DataTable<T extends { id: string }>({
170
175
  return <DefaultTableRow key={item.id} item={item} columns={columns} onRowClick={onRowClick} />;
171
176
  })
172
177
  ) : (
173
- <TableNoResults resource={resourceName} search={handleSearch} />
178
+ <TableNoResults resource={resourceName} search={handleSearch} t={t} />
174
179
  )}
175
180
  </TableBody>
176
181
  </Table>
@@ -239,7 +244,7 @@ const DefaultTableRow = memo(function DefaultTableRow<T extends { id: string }>(
239
244
  <TableRow className={onRowClick ? "cursor-pointer" : undefined} onClick={() => onRowClick?.(item)}>
240
245
  {columns.map((column) => (
241
246
  <TableCell key={column.id} className={column.className} style={{ textAlign: column.align }}>
242
- {column.cell(item)}
247
+ {column.cell?.(item)}
243
248
  </TableCell>
244
249
  ))}
245
250
  </TableRow>
@@ -323,8 +323,8 @@ type HttpMethodFilterSectionProps = {
323
323
 
324
324
  function HttpMethodFilterSection({ value, onChange, t }: HttpMethodFilterSectionProps) {
325
325
  const handleChange = useCallback(
326
- (method: string) => {
327
- if (method === "" || method === "all") {
326
+ (method: string | null) => {
327
+ if (!method || method === "all") {
328
328
  onChange(undefined);
329
329
  } else {
330
330
  onChange(method as HttpMethodFilter);
@@ -361,8 +361,8 @@ type HttpStatusCodeFilterSectionProps = {
361
361
 
362
362
  function HttpStatusCodeFilterSection({ value, onChange, t }: HttpStatusCodeFilterSectionProps) {
363
363
  const handleChange = useCallback(
364
- (status: string) => {
365
- if (status === "" || status === "all") {
364
+ (status: string | null) => {
365
+ if (!status || status === "all") {
366
366
  onChange(undefined);
367
367
  } else {
368
368
  onChange(status as HttpStatusCodeFilter);
@@ -1,6 +1,9 @@
1
1
  import { useQuery } from "@tanstack/react-query";
2
2
  import type { TableQueryParams, TableQueryResponse } from "../types";
3
3
 
4
+ // Re-export types for backward compatibility with tests
5
+ export type { TableQueryParams, TableQueryResponse };
6
+
4
7
  type UseTableQueryOptions<T> = {
5
8
  /** Unique cache key for the query */
6
9
  cacheKey: string;
@@ -8,6 +8,8 @@ type TableEmptyStateProps = {
8
8
  createNewTrigger?: React.ReactNode;
9
9
  /** Number of rows to calculate height (default: 10) */
10
10
  rows?: number;
11
+ /** Translation function */
12
+ t?: (key: string) => string;
11
13
  };
12
14
 
13
15
  // Approximate row height in pixels (including padding/border)
@@ -16,7 +18,12 @@ const ROW_HEIGHT = 53;
16
18
  /**
17
19
  * Empty state shown when table has no data
18
20
  */
19
- export function TableEmptyState({ resource, createNewLink, createNewTrigger, rows = 10 }: TableEmptyStateProps) {
21
+ export function TableEmptyState({
22
+ createNewLink,
23
+ createNewTrigger,
24
+ rows = 10,
25
+ t = (key) => key,
26
+ }: TableEmptyStateProps) {
20
27
  // Calculate height based on row count (min 200px)
21
28
  const height = Math.max(rows * ROW_HEIGHT, 200);
22
29
 
@@ -24,14 +31,14 @@ export function TableEmptyState({ resource, createNewLink, createNewTrigger, row
24
31
  <div className="flex flex-col items-center justify-center gap-3" style={{ height }}>
25
32
  <Sprout size={70} strokeWidth={0.35} className="text-muted-foreground" />
26
33
  <div className="space-y-1 text-center">
27
- <p className="font-light text-lg text-muted-foreground">Your {resource} list is empty</p>
34
+ <p className="font-light text-lg text-muted-foreground">{t("Your list is empty")}</p>
28
35
  {(createNewLink || createNewTrigger) && (
29
- <p className="text-muted-foreground text-sm">Get started by creating your first {resource}</p>
36
+ <p className="text-muted-foreground text-sm">{t("Get started by creating your first entry")}</p>
30
37
  )}
31
38
  </div>
32
39
  {createNewLink && (
33
40
  <Button variant="default" size="sm" asChild>
34
- <a href={createNewLink}>Create {resource}</a>
41
+ <a href={createNewLink}>{t("Create new")}</a>
35
42
  </Button>
36
43
  )}
37
44
  {createNewTrigger && !createNewLink && <div>{createNewTrigger}</div>}
@@ -8,6 +8,8 @@ type TableNoResultsProps = {
8
8
  search?: (value: null) => void;
9
9
  /** Number of rows to calculate height (default: 10) */
10
10
  rows?: number;
11
+ /** Translation function */
12
+ t?: (key: string) => string;
11
13
  };
12
14
 
13
15
  // Approximate row height in pixels (including padding/border)
@@ -16,7 +18,7 @@ const ROW_HEIGHT = 53;
16
18
  /**
17
19
  * No results message shown when search returns empty
18
20
  */
19
- export function TableNoResults({ resource, search, rows = 10 }: TableNoResultsProps) {
21
+ export function TableNoResults({ search, rows = 10, t = (key) => key }: TableNoResultsProps) {
20
22
  // Calculate height based on row count (min 150px)
21
23
  const height = Math.max(rows * ROW_HEIGHT, 150);
22
24
 
@@ -26,12 +28,12 @@ export function TableNoResults({ resource, search, rows = 10 }: TableNoResultsPr
26
28
  <div className="flex flex-col items-center gap-3">
27
29
  <FileX size={32} strokeWidth={1.5} className="text-muted-foreground" />
28
30
  <div className="space-y-1">
29
- <p className="font-medium text-muted-foreground">No {resource} found</p>
30
- {search && <p className="text-muted-foreground text-sm">Try adjusting your search criteria</p>}
31
+ <p className="font-medium text-muted-foreground">{t("No results found")}</p>
32
+ {search && <p className="text-muted-foreground text-sm">{t("Try adjusting your search criteria")}</p>}
31
33
  </div>
32
34
  {search && (
33
35
  <Button variant="link" size="sm" onClick={() => search(null)} className="underline">
34
- Clear search
36
+ {t("Clear search")}
35
37
  </Button>
36
38
  )}
37
39
  </div>
@@ -8,8 +8,8 @@ export type Column<T> = {
8
8
  id: string;
9
9
  /** Header label or component */
10
10
  header: ReactNode;
11
- /** Cell renderer function - returns content for each row */
12
- cell: (item: T) => ReactNode;
11
+ /** Cell renderer function - returns content for each row. Optional when using renderRow. */
12
+ cell?: (item: T) => ReactNode;
13
13
  /** Field name for sorting (if different from id) */
14
14
  sortField?: string;
15
15
  /** Whether this column is sortable */
@@ -76,7 +76,6 @@ export function KirExportForm({ sdk, entityId, t, onSuccess, onError, onLoadingC
76
76
 
77
77
  onSuccess?.(fileName);
78
78
  } catch (error) {
79
- console.error("KIR export error:", error);
80
79
  onError?.(error instanceof Error ? error : new Error("Unknown error"));
81
80
  } finally {
82
81
  setIsExporting(false);
@@ -17,11 +17,25 @@ type CreateTaxSchema = z.infer<typeof createTaxSchema>;
17
17
 
18
18
  import { useCreateTax } from "../taxes.hooks";
19
19
  import de from "./locales/de";
20
+ import es from "./locales/es";
21
+ import fr from "./locales/fr";
22
+ import hr from "./locales/hr";
23
+ import it from "./locales/it";
24
+ import nl from "./locales/nl";
25
+ import pl from "./locales/pl";
26
+ import pt from "./locales/pt";
20
27
  import sl from "./locales/sl";
21
28
 
22
29
  const translations = {
23
30
  sl,
24
31
  de,
32
+ it,
33
+ fr,
34
+ es,
35
+ pt,
36
+ nl,
37
+ pl,
38
+ hr,
25
39
  } as const;
26
40
 
27
41
  type CreateTaxFormProps = {
@@ -3,5 +3,6 @@ export default {
3
3
  "Enter name": "Enter name",
4
4
  "Rate (%)": "Rate (%)",
5
5
  "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
6
7
  "There was an error creating the tax": "There was an error creating the tax",
7
8
  };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Nombre",
3
+ "Enter name": "Introducir nombre",
4
+ "Rate (%)": "Tasa (%)",
5
+ "Enter rate": "Introducir tasa",
6
+ "Set as default tax": "Establecer como impuesto predeterminado",
7
+ "There was an error creating the tax": "Se produjo un error al crear el impuesto",
8
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Nom",
3
+ "Enter name": "Saisir le nom",
4
+ "Rate (%)": "Taux (%)",
5
+ "Enter rate": "Saisir le taux",
6
+ "Set as default tax": "Définir comme taxe par défaut",
7
+ "There was an error creating the tax": "Une erreur est survenue lors de la création de la taxe",
8
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Naziv",
3
+ "Enter name": "Unesite naziv",
4
+ "Rate (%)": "Stopa (%)",
5
+ "Enter rate": "Unesite stopu",
6
+ "Set as default tax": "Postavi kao zadani porez",
7
+ "There was an error creating the tax": "Došlo je do greške pri izradi poreza",
8
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Nome",
3
+ "Enter name": "Inserisci nome",
4
+ "Rate (%)": "Aliquota (%)",
5
+ "Enter rate": "Inserisci aliquota",
6
+ "Set as default tax": "Imposta come tassa predefinita",
7
+ "There was an error creating the tax": "Si è verificato un errore durante la creazione della tassa",
8
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Naam",
3
+ "Enter name": "Naam invoeren",
4
+ "Rate (%)": "Tarief (%)",
5
+ "Enter rate": "Tarief invoeren",
6
+ "Set as default tax": "Instellen als standaardbelasting",
7
+ "There was an error creating the tax": "Er is een fout opgetreden bij het aanmaken van de belasting",
8
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Nazwa",
3
+ "Enter name": "Wprowadź nazwę",
4
+ "Rate (%)": "Stawka (%)",
5
+ "Enter rate": "Wprowadź stawkę",
6
+ "Set as default tax": "Ustaw jako domyślny podatek",
7
+ "There was an error creating the tax": "Wystąpił błąd podczas tworzenia podatku",
8
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Nome",
3
+ "Enter name": "Introduzir nome",
4
+ "Rate (%)": "Taxa (%)",
5
+ "Enter rate": "Introduzir taxa",
6
+ "Set as default tax": "Definir como imposto predefinido",
7
+ "There was an error creating the tax": "Ocorreu um erro ao criar o imposto",
8
+ };