@spaceinvoices/react-ui 0.4.11 → 0.4.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (738) hide show
  1. package/cli/dist/index.js +1 -1
  2. package/package.json +3 -2
  3. package/registry.json +30 -31
  4. package/src/common/autocomplete.tsx +48 -26
  5. package/src/components/activities/locales/bg.ts +21 -0
  6. package/src/components/activities/locales/cs.ts +21 -0
  7. package/src/components/activities/locales/en.ts +21 -0
  8. package/src/components/activities/locales/et.ts +21 -0
  9. package/src/components/activities/locales/fi.ts +21 -0
  10. package/src/components/activities/locales/is.ts +21 -0
  11. package/src/components/activities/locales/nb.ts +21 -0
  12. package/src/components/activities/locales/sk.ts +21 -0
  13. package/src/components/activities/locales/sv.ts +21 -0
  14. package/src/components/advance-invoices/advance-invoices.hooks.ts +36 -46
  15. package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +452 -115
  16. package/src/components/advance-invoices/create/locales/bg.ts +56 -0
  17. package/src/components/advance-invoices/create/locales/cs.ts +56 -0
  18. package/src/components/advance-invoices/create/locales/de.ts +15 -7
  19. package/src/components/advance-invoices/create/locales/en.ts +56 -0
  20. package/src/components/advance-invoices/create/locales/es.ts +15 -7
  21. package/src/components/advance-invoices/create/locales/et.ts +56 -0
  22. package/src/components/advance-invoices/create/locales/fi.ts +56 -0
  23. package/src/components/advance-invoices/create/locales/fr.ts +16 -8
  24. package/src/components/advance-invoices/create/locales/hr.ts +29 -21
  25. package/src/components/advance-invoices/create/locales/is.ts +56 -0
  26. package/src/components/advance-invoices/create/locales/it.ts +15 -7
  27. package/src/components/advance-invoices/create/locales/nb.ts +56 -0
  28. package/src/components/advance-invoices/create/locales/nl.ts +15 -7
  29. package/src/components/advance-invoices/create/locales/pl.ts +17 -9
  30. package/src/components/advance-invoices/create/locales/pt.ts +16 -8
  31. package/src/components/advance-invoices/create/locales/sk.ts +56 -0
  32. package/src/components/advance-invoices/create/locales/sl.ts +23 -12
  33. package/src/components/advance-invoices/create/locales/sv.ts +56 -0
  34. package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +62 -2
  35. package/src/components/advance-invoices/list/list-row-actions.tsx +48 -16
  36. package/src/components/advance-invoices/list/list-table.tsx +35 -9
  37. package/src/components/advance-invoices/list/locales/bg.ts +51 -0
  38. package/src/components/advance-invoices/list/locales/cs.ts +51 -0
  39. package/src/components/advance-invoices/list/locales/en.ts +33 -2
  40. package/src/components/advance-invoices/list/locales/et.ts +51 -0
  41. package/src/components/advance-invoices/list/locales/fi.ts +51 -0
  42. package/src/components/advance-invoices/list/locales/hr.ts +15 -15
  43. package/src/components/advance-invoices/list/locales/is.ts +51 -0
  44. package/src/components/advance-invoices/list/locales/nb.ts +51 -0
  45. package/src/components/advance-invoices/list/locales/sk.ts +51 -0
  46. package/src/components/advance-invoices/list/locales/sv.ts +51 -0
  47. package/src/components/advance-invoices/list/use-advance-invoice-download.ts +3 -5
  48. package/src/components/common/autocomplete-locales.ts +101 -0
  49. package/src/components/company-registry/company-registry.hooks.ts +3 -7
  50. package/src/components/credit-notes/create/create-credit-note-form.tsx +437 -80
  51. package/src/components/credit-notes/create/locales/bg.ts +101 -0
  52. package/src/components/credit-notes/create/locales/cs.ts +101 -0
  53. package/src/components/credit-notes/create/locales/de.ts +20 -7
  54. package/src/components/credit-notes/create/locales/en.ts +101 -0
  55. package/src/components/credit-notes/create/locales/es.ts +20 -7
  56. package/src/components/credit-notes/create/locales/et.ts +101 -0
  57. package/src/components/credit-notes/create/locales/fi.ts +101 -0
  58. package/src/components/credit-notes/create/locales/fr.ts +21 -8
  59. package/src/components/credit-notes/create/locales/hr.ts +41 -28
  60. package/src/components/credit-notes/create/locales/is.ts +101 -0
  61. package/src/components/credit-notes/create/locales/it.ts +20 -7
  62. package/src/components/credit-notes/create/locales/nb.ts +101 -0
  63. package/src/components/credit-notes/create/locales/nl.ts +20 -7
  64. package/src/components/credit-notes/create/locales/pl.ts +22 -9
  65. package/src/components/credit-notes/create/locales/pt.ts +21 -8
  66. package/src/components/credit-notes/create/locales/sk.ts +101 -0
  67. package/src/components/credit-notes/create/locales/sl.ts +28 -14
  68. package/src/components/credit-notes/create/locales/sv.ts +101 -0
  69. package/src/components/credit-notes/create/prepare-credit-note-submission.ts +66 -0
  70. package/src/components/credit-notes/credit-notes.hooks.ts +34 -3
  71. package/src/components/credit-notes/list/list-row-actions.tsx +19 -7
  72. package/src/components/credit-notes/list/list-table.tsx +60 -8
  73. package/src/components/credit-notes/list/locales/bg.ts +48 -0
  74. package/src/components/credit-notes/list/locales/cs.ts +48 -0
  75. package/src/components/credit-notes/list/locales/en.ts +31 -2
  76. package/src/components/credit-notes/list/locales/et.ts +48 -0
  77. package/src/components/credit-notes/list/locales/fi.ts +48 -0
  78. package/src/components/credit-notes/list/locales/hr.ts +12 -12
  79. package/src/components/credit-notes/list/locales/is.ts +48 -0
  80. package/src/components/credit-notes/list/locales/nb.ts +48 -0
  81. package/src/components/credit-notes/list/locales/sk.ts +48 -0
  82. package/src/components/credit-notes/list/locales/sv.ts +48 -0
  83. package/src/components/credit-notes/list/use-credit-note-download.ts +3 -5
  84. package/src/components/customers/create-customer-form/locales/bg.ts +21 -0
  85. package/src/components/customers/create-customer-form/locales/cs.ts +21 -0
  86. package/src/components/customers/create-customer-form/locales/en.ts +21 -0
  87. package/src/components/customers/create-customer-form/locales/et.ts +21 -0
  88. package/src/components/customers/create-customer-form/locales/fi.ts +21 -0
  89. package/src/components/customers/create-customer-form/locales/hr.ts +11 -11
  90. package/src/components/customers/create-customer-form/locales/is.ts +21 -0
  91. package/src/components/customers/create-customer-form/locales/nb.ts +21 -0
  92. package/src/components/customers/create-customer-form/locales/sk.ts +21 -0
  93. package/src/components/customers/create-customer-form/locales/sv.ts +21 -0
  94. package/src/components/customers/customer-autocomplete.tsx +32 -4
  95. package/src/components/customers/customer-list-table/customer-list-table.tsx +8 -6
  96. package/src/components/customers/customer-list-table/locales/bg.ts +25 -0
  97. package/src/components/customers/customer-list-table/locales/cs.ts +25 -0
  98. package/src/components/customers/customer-list-table/locales/en.ts +17 -2
  99. package/src/components/customers/customer-list-table/locales/et.ts +25 -0
  100. package/src/components/customers/customer-list-table/locales/fi.ts +25 -0
  101. package/src/components/customers/customer-list-table/locales/hr.ts +11 -11
  102. package/src/components/customers/customer-list-table/locales/is.ts +25 -0
  103. package/src/components/customers/customer-list-table/locales/nb.ts +25 -0
  104. package/src/components/customers/customer-list-table/locales/sk.ts +25 -0
  105. package/src/components/customers/customer-list-table/locales/sv.ts +25 -0
  106. package/src/components/customers/customers.hooks.ts +14 -17
  107. package/src/components/customers/edit-customer-form/locales/bg.ts +13 -0
  108. package/src/components/customers/edit-customer-form/locales/cs.ts +13 -0
  109. package/src/components/customers/edit-customer-form/locales/en.ts +13 -0
  110. package/src/components/customers/edit-customer-form/locales/et.ts +13 -0
  111. package/src/components/customers/edit-customer-form/locales/fi.ts +13 -0
  112. package/src/components/customers/edit-customer-form/locales/hr.ts +5 -5
  113. package/src/components/customers/edit-customer-form/locales/is.ts +13 -0
  114. package/src/components/customers/edit-customer-form/locales/nb.ts +13 -0
  115. package/src/components/customers/edit-customer-form/locales/sk.ts +13 -0
  116. package/src/components/customers/edit-customer-form/locales/sv.ts +13 -0
  117. package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +7 -6
  118. package/src/components/dashboard/collection-rate-card/locales/en.ts +3 -0
  119. package/src/components/dashboard/collection-rate-card/use-collection-rate.ts +8 -7
  120. package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +7 -4
  121. package/src/components/dashboard/invoice-status-chart/locales/bg.ts +5 -5
  122. package/src/components/dashboard/invoice-status-chart/locales/cs.ts +5 -5
  123. package/src/components/dashboard/invoice-status-chart/locales/de.ts +1 -1
  124. package/src/components/dashboard/invoice-status-chart/locales/en.ts +10 -0
  125. package/src/components/dashboard/invoice-status-chart/locales/es.ts +1 -1
  126. package/src/components/dashboard/invoice-status-chart/locales/et.ts +5 -5
  127. package/src/components/dashboard/invoice-status-chart/locales/fi.ts +5 -5
  128. package/src/components/dashboard/invoice-status-chart/locales/fr.ts +1 -1
  129. package/src/components/dashboard/invoice-status-chart/locales/hr.ts +5 -5
  130. package/src/components/dashboard/invoice-status-chart/locales/is.ts +5 -5
  131. package/src/components/dashboard/invoice-status-chart/locales/it.ts +1 -1
  132. package/src/components/dashboard/invoice-status-chart/locales/nb.ts +5 -5
  133. package/src/components/dashboard/invoice-status-chart/locales/nl.ts +1 -1
  134. package/src/components/dashboard/invoice-status-chart/locales/pl.ts +1 -1
  135. package/src/components/dashboard/invoice-status-chart/locales/pt.ts +1 -1
  136. package/src/components/dashboard/invoice-status-chart/locales/sk.ts +5 -5
  137. package/src/components/dashboard/invoice-status-chart/locales/sl.ts +1 -1
  138. package/src/components/dashboard/invoice-status-chart/locales/sv.ts +5 -5
  139. package/src/components/dashboard/payment-methods-chart/locales/bg.ts +5 -5
  140. package/src/components/dashboard/payment-methods-chart/locales/cs.ts +5 -5
  141. package/src/components/dashboard/payment-methods-chart/locales/en.ts +12 -0
  142. package/src/components/dashboard/payment-methods-chart/locales/et.ts +5 -5
  143. package/src/components/dashboard/payment-methods-chart/locales/fi.ts +6 -6
  144. package/src/components/dashboard/payment-methods-chart/locales/hr.ts +3 -3
  145. package/src/components/dashboard/payment-methods-chart/locales/is.ts +5 -5
  146. package/src/components/dashboard/payment-methods-chart/locales/nb.ts +5 -5
  147. package/src/components/dashboard/payment-methods-chart/locales/sk.ts +5 -5
  148. package/src/components/dashboard/payment-methods-chart/locales/sv.ts +5 -5
  149. package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +4 -3
  150. package/src/components/dashboard/payment-trend-chart/locales/bg.ts +1 -1
  151. package/src/components/dashboard/payment-trend-chart/locales/cs.ts +1 -1
  152. package/src/components/dashboard/payment-trend-chart/locales/en.ts +6 -0
  153. package/src/components/dashboard/payment-trend-chart/locales/et.ts +1 -1
  154. package/src/components/dashboard/payment-trend-chart/locales/fi.ts +1 -1
  155. package/src/components/dashboard/payment-trend-chart/locales/is.ts +1 -1
  156. package/src/components/dashboard/payment-trend-chart/locales/nb.ts +1 -1
  157. package/src/components/dashboard/payment-trend-chart/locales/sk.ts +1 -1
  158. package/src/components/dashboard/payment-trend-chart/locales/sv.ts +1 -1
  159. package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +4 -3
  160. package/src/components/dashboard/payment-trend-chart/use-payment-trend.ts +12 -9
  161. package/src/components/dashboard/revenue-card.tsx +3 -3
  162. package/src/components/dashboard/revenue-trend-chart/locales/bg.ts +1 -1
  163. package/src/components/dashboard/revenue-trend-chart/locales/cs.ts +1 -1
  164. package/src/components/dashboard/revenue-trend-chart/locales/en.ts +6 -0
  165. package/src/components/dashboard/revenue-trend-chart/locales/et.ts +1 -1
  166. package/src/components/dashboard/revenue-trend-chart/locales/fi.ts +1 -1
  167. package/src/components/dashboard/revenue-trend-chart/locales/is.ts +1 -1
  168. package/src/components/dashboard/revenue-trend-chart/locales/nb.ts +1 -1
  169. package/src/components/dashboard/revenue-trend-chart/locales/sk.ts +1 -1
  170. package/src/components/dashboard/revenue-trend-chart/locales/sv.ts +1 -1
  171. package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +4 -3
  172. package/src/components/dashboard/revenue-trend-chart/use-revenue-trend.ts +4 -3
  173. package/src/components/dashboard/shared/local-date.ts +11 -0
  174. package/src/components/dashboard/shared/use-revenue-data.ts +6 -5
  175. package/src/components/dashboard/shared/use-stats-query.ts +7 -11
  176. package/src/components/dashboard/stat-card.tsx +3 -3
  177. package/src/components/dashboard/tax-collected-card/tax-collected-card.tsx +11 -9
  178. package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +3 -2
  179. package/src/components/dashboard/top-customers-chart/locales/bg.ts +2 -2
  180. package/src/components/dashboard/top-customers-chart/locales/cs.ts +2 -2
  181. package/src/components/dashboard/top-customers-chart/locales/en.ts +7 -0
  182. package/src/components/dashboard/top-customers-chart/locales/et.ts +2 -2
  183. package/src/components/dashboard/top-customers-chart/locales/fi.ts +2 -2
  184. package/src/components/dashboard/top-customers-chart/locales/is.ts +2 -2
  185. package/src/components/dashboard/top-customers-chart/locales/nb.ts +2 -2
  186. package/src/components/dashboard/top-customers-chart/locales/sk.ts +2 -2
  187. package/src/components/dashboard/top-customers-chart/locales/sv.ts +2 -2
  188. package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +4 -3
  189. package/src/components/dashboard/top-customers-chart/use-top-customers.ts +7 -20
  190. package/src/components/delivery-notes/create/create-delivery-note-form.tsx +179 -47
  191. package/src/components/delivery-notes/create/locales/bg.ts +69 -0
  192. package/src/components/delivery-notes/create/locales/cs.ts +69 -0
  193. package/src/components/delivery-notes/create/locales/de.ts +1 -0
  194. package/src/components/delivery-notes/create/locales/en.ts +69 -0
  195. package/src/components/delivery-notes/create/locales/es.ts +1 -0
  196. package/src/components/delivery-notes/create/locales/et.ts +69 -0
  197. package/src/components/delivery-notes/create/locales/fi.ts +69 -0
  198. package/src/components/delivery-notes/create/locales/fr.ts +1 -0
  199. package/src/components/delivery-notes/create/locales/hr.ts +7 -6
  200. package/src/components/delivery-notes/create/locales/is.ts +69 -0
  201. package/src/components/delivery-notes/create/locales/it.ts +1 -0
  202. package/src/components/delivery-notes/create/locales/nb.ts +69 -0
  203. package/src/components/delivery-notes/create/locales/nl.ts +1 -0
  204. package/src/components/delivery-notes/create/locales/pl.ts +1 -0
  205. package/src/components/delivery-notes/create/locales/pt.ts +1 -0
  206. package/src/components/delivery-notes/create/locales/sk.ts +69 -0
  207. package/src/components/delivery-notes/create/locales/sl.ts +6 -5
  208. package/src/components/delivery-notes/create/locales/sv.ts +69 -0
  209. package/src/components/delivery-notes/create/prepare-delivery-note-submission.ts +34 -1
  210. package/src/components/delivery-notes/delivery-notes.hooks.ts +34 -3
  211. package/src/components/delivery-notes/list/list-row-actions.tsx +62 -16
  212. package/src/components/delivery-notes/list/list-table.tsx +44 -10
  213. package/src/components/delivery-notes/list/locales/bg.ts +40 -0
  214. package/src/components/delivery-notes/list/locales/cs.ts +40 -0
  215. package/src/components/delivery-notes/list/locales/et.ts +40 -0
  216. package/src/components/delivery-notes/list/locales/fi.ts +40 -0
  217. package/src/components/delivery-notes/list/locales/is.ts +40 -0
  218. package/src/components/delivery-notes/list/locales/nb.ts +40 -0
  219. package/src/components/delivery-notes/list/locales/sk.ts +40 -0
  220. package/src/components/delivery-notes/list/locales/sv.ts +40 -0
  221. package/src/components/delivery-notes/list/use-delivery-note-download.ts +3 -5
  222. package/src/components/documents/create/custom-create-template.ts +114 -0
  223. package/src/components/documents/create/document-add-item-form.tsx +266 -153
  224. package/src/components/documents/create/document-add-item-tax-rate-field.tsx +3 -3
  225. package/src/components/documents/create/document-date-validation.ts +111 -0
  226. package/src/components/documents/create/document-details-section.tsx +117 -54
  227. package/src/components/documents/create/document-form-item.ts +67 -0
  228. package/src/components/documents/create/document-item-validation.ts +54 -0
  229. package/src/components/documents/create/document-items-section.tsx +44 -6
  230. package/src/components/documents/create/document-recipient-section.tsx +10 -2
  231. package/src/components/documents/create/form-types.ts +2 -2
  232. package/src/components/documents/create/linked-documents-info.tsx +6 -14
  233. package/src/components/documents/create/live-preview.tsx +22 -18
  234. package/src/components/documents/create/mark-as-paid-section.tsx +80 -20
  235. package/src/components/documents/create/payment-rows.ts +321 -0
  236. package/src/components/documents/create/prepare-document-submission.ts +160 -109
  237. package/src/components/documents/create/prepare-preview-data.ts +12 -0
  238. package/src/components/documents/create/preserved-expected-total.ts +90 -0
  239. package/src/components/documents/create/scroll-to-first-invalid-field.ts +27 -0
  240. package/src/components/documents/create/smart-code-insert-button.tsx +5 -53
  241. package/src/components/documents/create/use-document-customer-form.ts +74 -25
  242. package/src/components/documents/documents.hooks.ts +3 -5
  243. package/src/components/documents/index.ts +1 -0
  244. package/src/components/documents/public/index.ts +1 -0
  245. package/src/components/documents/public/public-document-summary.tsx +336 -0
  246. package/src/components/documents/shared/document-preview-display.tsx +65 -39
  247. package/src/components/documents/shared/index.ts +6 -1
  248. package/src/components/documents/shared/scaled-document-preview.tsx +33 -19
  249. package/src/components/documents/types.ts +24 -0
  250. package/src/components/documents/view/document-actions-bar.tsx +251 -63
  251. package/src/components/documents/view/document-activities-list.tsx +23 -11
  252. package/src/components/documents/view/document-details-card.tsx +11 -39
  253. package/src/components/documents/view/document-payments-list.tsx +114 -57
  254. package/src/components/documents/view/document-relations-list.tsx +26 -6
  255. package/src/components/documents/view/document-sidebar.tsx +25 -3
  256. package/src/components/documents/view/document-version-history.tsx +137 -0
  257. package/src/components/documents/view/index.ts +1 -0
  258. package/src/components/documents/view/locales/bg.ts +143 -0
  259. package/src/components/documents/view/locales/cs.ts +143 -0
  260. package/src/components/documents/view/locales/de.ts +13 -0
  261. package/src/components/documents/view/locales/en.ts +143 -0
  262. package/src/components/documents/view/locales/es.ts +13 -0
  263. package/src/components/documents/view/locales/et.ts +143 -0
  264. package/src/components/documents/view/locales/fi.ts +143 -0
  265. package/src/components/documents/view/locales/fr.ts +13 -0
  266. package/src/components/documents/view/locales/hr.ts +18 -5
  267. package/src/components/documents/view/locales/is.ts +143 -0
  268. package/src/components/documents/view/locales/it.ts +13 -0
  269. package/src/components/documents/view/locales/nb.ts +143 -0
  270. package/src/components/documents/view/locales/nl.ts +13 -0
  271. package/src/components/documents/view/locales/pl.ts +13 -0
  272. package/src/components/documents/view/locales/pt.ts +13 -0
  273. package/src/components/documents/view/locales/sk.ts +143 -0
  274. package/src/components/documents/view/locales/sl.ts +21 -8
  275. package/src/components/documents/view/locales/sv.ts +143 -0
  276. package/src/components/documents/view/use-document-download.ts +18 -17
  277. package/src/components/entities/create-entity-form.tsx +200 -12
  278. package/src/components/entities/entities.hooks.ts +15 -7
  279. package/src/components/entities/entity-settings-form/entity-settings-form.tsx +121 -65
  280. package/src/components/entities/entity-settings-form/input-with-preview.tsx +28 -4
  281. package/src/components/entities/entity-settings-form/locales/bg.ts +206 -0
  282. package/src/components/entities/entity-settings-form/locales/cs.ts +206 -0
  283. package/src/components/entities/entity-settings-form/locales/de.ts +17 -3
  284. package/src/components/entities/entity-settings-form/locales/en.ts +206 -0
  285. package/src/components/entities/entity-settings-form/locales/es.ts +15 -3
  286. package/src/components/entities/entity-settings-form/locales/et.ts +205 -0
  287. package/src/components/entities/entity-settings-form/locales/fi.ts +206 -0
  288. package/src/components/entities/entity-settings-form/locales/fr.ts +15 -3
  289. package/src/components/entities/entity-settings-form/locales/hr.ts +23 -11
  290. package/src/components/entities/entity-settings-form/locales/is.ts +206 -0
  291. package/src/components/entities/entity-settings-form/locales/it.ts +15 -3
  292. package/src/components/entities/entity-settings-form/locales/nb.ts +206 -0
  293. package/src/components/entities/entity-settings-form/locales/nl.ts +15 -3
  294. package/src/components/entities/entity-settings-form/locales/pl.ts +15 -3
  295. package/src/components/entities/entity-settings-form/locales/pt.ts +15 -3
  296. package/src/components/entities/entity-settings-form/locales/sk.ts +206 -0
  297. package/src/components/entities/entity-settings-form/locales/sl.ts +31 -18
  298. package/src/components/entities/entity-settings-form/locales/sv.ts +212 -0
  299. package/src/components/entities/fina-settings-form/fina-operator-required-dialog.tsx +34 -9
  300. package/src/components/entities/fina-settings-form/fina-settings-form.tsx +2 -0
  301. package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +14 -45
  302. package/src/components/entities/fina-settings-form/locales/bg.ts +163 -0
  303. package/src/components/entities/fina-settings-form/locales/cs.ts +163 -0
  304. package/src/components/entities/fina-settings-form/locales/et.ts +163 -0
  305. package/src/components/entities/fina-settings-form/locales/fi.ts +163 -0
  306. package/src/components/entities/fina-settings-form/locales/hr.ts +11 -10
  307. package/src/components/entities/fina-settings-form/locales/is.ts +164 -0
  308. package/src/components/entities/fina-settings-form/locales/nb.ts +163 -0
  309. package/src/components/entities/fina-settings-form/locales/sk.ts +163 -0
  310. package/src/components/entities/fina-settings-form/locales/sl.ts +8 -7
  311. package/src/components/entities/fina-settings-form/locales/sv.ts +165 -0
  312. package/src/components/entities/furs-settings-form/furs-operator-required-dialog.tsx +34 -9
  313. package/src/components/entities/furs-settings-form/furs-settings-form.tsx +13 -1
  314. package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +141 -42
  315. package/src/components/entities/furs-settings-form/locales/bg.ts +242 -0
  316. package/src/components/entities/furs-settings-form/locales/cs.ts +241 -0
  317. package/src/components/entities/furs-settings-form/locales/de.ts +42 -15
  318. package/src/components/entities/furs-settings-form/locales/en.ts +24 -0
  319. package/src/components/entities/furs-settings-form/locales/es.ts +42 -15
  320. package/src/components/entities/furs-settings-form/locales/et.ts +242 -0
  321. package/src/components/entities/furs-settings-form/locales/fi.ts +243 -0
  322. package/src/components/entities/furs-settings-form/locales/fr.ts +43 -15
  323. package/src/components/entities/furs-settings-form/locales/hr.ts +44 -19
  324. package/src/components/entities/furs-settings-form/locales/is.ts +242 -0
  325. package/src/components/entities/furs-settings-form/locales/it.ts +42 -15
  326. package/src/components/entities/furs-settings-form/locales/nb.ts +242 -0
  327. package/src/components/entities/furs-settings-form/locales/nl.ts +42 -15
  328. package/src/components/entities/furs-settings-form/locales/pl.ts +40 -15
  329. package/src/components/entities/furs-settings-form/locales/pt.ts +42 -15
  330. package/src/components/entities/furs-settings-form/locales/sk.ts +243 -0
  331. package/src/components/entities/furs-settings-form/locales/sl.ts +34 -10
  332. package/src/components/entities/furs-settings-form/locales/sv.ts +242 -0
  333. package/src/components/entities/furs-settings-form/sections/enable-fiscalization-section.tsx +11 -0
  334. package/src/components/entities/furs-settings-form/sections/furs-internal-act-download-card.tsx +111 -0
  335. package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +27 -0
  336. package/src/components/entities/furs-settings-form/sections/premises-management-section.tsx +23 -16
  337. package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +89 -31
  338. package/src/components/entities/settings/branding-settings-form.tsx +11 -30
  339. package/src/components/entities/settings/company-settings-form.tsx +2 -1
  340. package/src/components/entities/settings/defaults-settings-form.tsx +106 -3
  341. package/src/components/entities/settings/email-settings-form.tsx +245 -3
  342. package/src/components/entities/settings/eslog-settings-form.tsx +2 -1
  343. package/src/components/entities/settings/number-format-settings-form.tsx +2 -1
  344. package/src/components/entities/settings/pdf-template-selector/locales/bg.ts +20 -0
  345. package/src/components/entities/settings/pdf-template-selector/locales/cs.ts +20 -0
  346. package/src/components/entities/settings/pdf-template-selector/locales/en.ts +20 -0
  347. package/src/components/entities/settings/pdf-template-selector/locales/et.ts +19 -0
  348. package/src/components/entities/settings/pdf-template-selector/locales/fi.ts +20 -0
  349. package/src/components/entities/settings/pdf-template-selector/locales/is.ts +19 -0
  350. package/src/components/entities/settings/pdf-template-selector/locales/nb.ts +19 -0
  351. package/src/components/entities/settings/pdf-template-selector/locales/sk.ts +20 -0
  352. package/src/components/entities/settings/pdf-template-selector/locales/sv.ts +19 -0
  353. package/src/components/entities/settings/tax-rules-settings-form.tsx +57 -6
  354. package/src/components/estimates/create/create-estimate-form.tsx +250 -66
  355. package/src/components/estimates/create/locales/bg.ts +77 -0
  356. package/src/components/estimates/create/locales/cs.ts +77 -0
  357. package/src/components/estimates/create/locales/de.ts +4 -3
  358. package/src/components/estimates/create/locales/en.ts +77 -0
  359. package/src/components/estimates/create/locales/es.ts +4 -3
  360. package/src/components/estimates/create/locales/et.ts +77 -0
  361. package/src/components/estimates/create/locales/fi.ts +77 -0
  362. package/src/components/estimates/create/locales/fr.ts +4 -3
  363. package/src/components/estimates/create/locales/hr.ts +13 -12
  364. package/src/components/estimates/create/locales/is.ts +77 -0
  365. package/src/components/estimates/create/locales/it.ts +4 -3
  366. package/src/components/estimates/create/locales/nb.ts +77 -0
  367. package/src/components/estimates/create/locales/nl.ts +4 -3
  368. package/src/components/estimates/create/locales/pl.ts +4 -3
  369. package/src/components/estimates/create/locales/pt.ts +4 -3
  370. package/src/components/estimates/create/locales/sk.ts +77 -0
  371. package/src/components/estimates/create/locales/sl.ts +13 -12
  372. package/src/components/estimates/create/locales/sv.ts +77 -0
  373. package/src/components/estimates/create/prepare-estimate-submission.ts +41 -4
  374. package/src/components/estimates/estimates.hooks.ts +24 -3
  375. package/src/components/estimates/list/list-row-actions.tsx +34 -7
  376. package/src/components/estimates/list/list-table.tsx +89 -11
  377. package/src/components/estimates/list/locales/bg.ts +40 -0
  378. package/src/components/estimates/list/locales/cs.ts +40 -0
  379. package/src/components/estimates/list/locales/de.ts +2 -0
  380. package/src/components/estimates/list/locales/en.ts +29 -2
  381. package/src/components/estimates/list/locales/es.ts +2 -0
  382. package/src/components/estimates/list/locales/et.ts +40 -0
  383. package/src/components/estimates/list/locales/fi.ts +40 -0
  384. package/src/components/estimates/list/locales/fr.ts +2 -0
  385. package/src/components/estimates/list/locales/hr.ts +9 -7
  386. package/src/components/estimates/list/locales/is.ts +40 -0
  387. package/src/components/estimates/list/locales/it.ts +2 -0
  388. package/src/components/estimates/list/locales/nb.ts +40 -0
  389. package/src/components/estimates/list/locales/nl.ts +2 -0
  390. package/src/components/estimates/list/locales/pl.ts +2 -0
  391. package/src/components/estimates/list/locales/pt.ts +2 -0
  392. package/src/components/estimates/list/locales/sk.ts +40 -0
  393. package/src/components/estimates/list/locales/sl.ts +9 -7
  394. package/src/components/estimates/list/locales/sv.ts +40 -0
  395. package/src/components/estimates/list/use-estimate-download.ts +3 -5
  396. package/src/components/export/document-export-form.tsx +72 -15
  397. package/src/components/export/sales-per-item-export-form.tsx +3 -2
  398. package/src/components/invoices/create/create-invoice-form.tsx +500 -112
  399. package/src/components/invoices/create/eslog-validation.ts +97 -8
  400. package/src/components/invoices/create/locales/bg.ts +173 -0
  401. package/src/components/invoices/create/locales/cs.ts +173 -0
  402. package/src/components/invoices/create/locales/de.ts +41 -9
  403. package/src/components/invoices/create/locales/en.ts +173 -0
  404. package/src/components/invoices/create/locales/es.ts +42 -9
  405. package/src/components/invoices/create/locales/et.ts +173 -0
  406. package/src/components/invoices/create/locales/fi.ts +173 -0
  407. package/src/components/invoices/create/locales/fr.ts +42 -11
  408. package/src/components/invoices/create/locales/hr.ts +50 -18
  409. package/src/components/invoices/create/locales/is.ts +173 -0
  410. package/src/components/invoices/create/locales/it.ts +43 -11
  411. package/src/components/invoices/create/locales/nb.ts +173 -0
  412. package/src/components/invoices/create/locales/nl.ts +42 -10
  413. package/src/components/invoices/create/locales/pl.ts +42 -11
  414. package/src/components/invoices/create/locales/pt.ts +43 -10
  415. package/src/components/invoices/create/locales/sk.ts +173 -0
  416. package/src/components/invoices/create/locales/sl.ts +49 -18
  417. package/src/components/invoices/create/locales/sv.ts +175 -0
  418. package/src/components/invoices/create/prepare-invoice-submission.ts +73 -2
  419. package/src/components/invoices/invoices-furs.hooks.ts +11 -8
  420. package/src/components/invoices/invoices.hooks.ts +36 -10
  421. package/src/components/invoices/list/list-row-actions.tsx +54 -21
  422. package/src/components/invoices/list/list-table.tsx +94 -12
  423. package/src/components/invoices/list/locales/bg.ts +49 -0
  424. package/src/components/invoices/list/locales/cs.ts +49 -0
  425. package/src/components/invoices/list/locales/en.ts +34 -2
  426. package/src/components/invoices/list/locales/et.ts +49 -0
  427. package/src/components/invoices/list/locales/fi.ts +49 -0
  428. package/src/components/invoices/list/locales/is.ts +49 -0
  429. package/src/components/invoices/list/locales/nb.ts +49 -0
  430. package/src/components/invoices/list/locales/sk.ts +49 -0
  431. package/src/components/invoices/list/locales/sv.ts +49 -0
  432. package/src/components/invoices/list/use-invoice-download.ts +3 -5
  433. package/src/components/invoices/send-email-dialog/locales/bg.ts +63 -0
  434. package/src/components/invoices/send-email-dialog/locales/cs.ts +63 -0
  435. package/src/components/invoices/send-email-dialog/locales/de.ts +26 -0
  436. package/src/components/invoices/send-email-dialog/locales/en.ts +63 -0
  437. package/src/components/invoices/send-email-dialog/locales/es.ts +26 -0
  438. package/src/components/invoices/send-email-dialog/locales/et.ts +63 -0
  439. package/src/components/invoices/send-email-dialog/locales/fi.ts +63 -0
  440. package/src/components/invoices/send-email-dialog/locales/fr.ts +26 -0
  441. package/src/components/invoices/send-email-dialog/locales/hr.ts +26 -0
  442. package/src/components/invoices/send-email-dialog/locales/is.ts +63 -0
  443. package/src/components/invoices/send-email-dialog/locales/it.ts +26 -0
  444. package/src/components/invoices/send-email-dialog/locales/nb.ts +63 -0
  445. package/src/components/invoices/send-email-dialog/locales/nl.ts +26 -0
  446. package/src/components/invoices/send-email-dialog/locales/pl.ts +26 -0
  447. package/src/components/invoices/send-email-dialog/locales/pt.ts +26 -0
  448. package/src/components/invoices/send-email-dialog/locales/sk.ts +63 -0
  449. package/src/components/invoices/send-email-dialog/locales/sl.ts +26 -0
  450. package/src/components/invoices/send-email-dialog/locales/sv.ts +63 -0
  451. package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +189 -93
  452. package/src/components/invoices/view/eslog-info-display.tsx +2 -0
  453. package/src/components/invoices/view/fiscalization-status-card.tsx +2 -0
  454. package/src/components/items/create-item-form/create-item-form.tsx +29 -0
  455. package/src/components/items/create-item-form/locales/bg.ts +13 -0
  456. package/src/components/items/create-item-form/locales/cs.ts +13 -0
  457. package/src/components/items/create-item-form/locales/et.ts +13 -0
  458. package/src/components/items/create-item-form/locales/fi.ts +13 -0
  459. package/src/components/items/create-item-form/locales/is.ts +13 -0
  460. package/src/components/items/create-item-form/locales/nb.ts +13 -0
  461. package/src/components/items/create-item-form/locales/sk.ts +13 -0
  462. package/src/components/items/create-item-form/locales/sv.ts +13 -0
  463. package/src/components/items/edit-item-form/edit-item-form.tsx +39 -1
  464. package/src/components/items/edit-item-form/locales/bg.ts +12 -0
  465. package/src/components/items/edit-item-form/locales/cs.ts +12 -0
  466. package/src/components/items/edit-item-form/locales/en.ts +12 -0
  467. package/src/components/items/edit-item-form/locales/et.ts +12 -0
  468. package/src/components/items/edit-item-form/locales/fi.ts +12 -0
  469. package/src/components/items/edit-item-form/locales/is.ts +12 -0
  470. package/src/components/items/edit-item-form/locales/nb.ts +12 -0
  471. package/src/components/items/edit-item-form/locales/sk.ts +12 -0
  472. package/src/components/items/edit-item-form/locales/sv.ts +12 -0
  473. package/src/components/items/item-combobox.tsx +55 -22
  474. package/src/components/items/item-list-table/item-list-table.tsx +47 -23
  475. package/src/components/items/item-list-table/locales/bg.ts +16 -0
  476. package/src/components/items/item-list-table/locales/cs.ts +16 -0
  477. package/src/components/items/item-list-table/locales/en.ts +4 -3
  478. package/src/components/items/item-list-table/locales/et.ts +16 -0
  479. package/src/components/items/item-list-table/locales/fi.ts +16 -0
  480. package/src/components/items/item-list-table/locales/is.ts +16 -0
  481. package/src/components/items/item-list-table/locales/nb.ts +16 -0
  482. package/src/components/items/item-list-table/locales/sk.ts +16 -0
  483. package/src/components/items/item-list-table/locales/sv.ts +16 -0
  484. package/src/components/items/items.hooks.ts +15 -15
  485. package/src/components/payments/create-payment-form/create-payment-form.tsx +16 -9
  486. package/src/components/payments/create-payment-form/locales/bg.ts +20 -0
  487. package/src/components/payments/create-payment-form/locales/cs.ts +20 -0
  488. package/src/components/payments/create-payment-form/locales/en.ts +20 -0
  489. package/src/components/payments/create-payment-form/locales/et.ts +20 -0
  490. package/src/components/payments/create-payment-form/locales/fi.ts +20 -0
  491. package/src/components/payments/create-payment-form/locales/hr.ts +2 -2
  492. package/src/components/payments/create-payment-form/locales/is.ts +20 -0
  493. package/src/components/payments/create-payment-form/locales/nb.ts +20 -0
  494. package/src/components/payments/create-payment-form/locales/sk.ts +20 -0
  495. package/src/components/payments/create-payment-form/locales/sl.ts +4 -4
  496. package/src/components/payments/create-payment-form/locales/sv.ts +20 -0
  497. package/src/components/payments/edit-payment-form/edit-payment-form.tsx +10 -2
  498. package/src/components/payments/edit-payment-form/locales/bg.ts +20 -0
  499. package/src/components/payments/edit-payment-form/locales/cs.ts +20 -0
  500. package/src/components/payments/edit-payment-form/locales/en.ts +20 -0
  501. package/src/components/payments/edit-payment-form/locales/et.ts +20 -0
  502. package/src/components/payments/edit-payment-form/locales/fi.ts +20 -0
  503. package/src/components/payments/edit-payment-form/locales/hr.ts +2 -2
  504. package/src/components/payments/edit-payment-form/locales/is.ts +20 -0
  505. package/src/components/payments/edit-payment-form/locales/nb.ts +20 -0
  506. package/src/components/payments/edit-payment-form/locales/sk.ts +20 -0
  507. package/src/components/payments/edit-payment-form/locales/sl.ts +4 -4
  508. package/src/components/payments/edit-payment-form/locales/sv.ts +20 -0
  509. package/src/components/payments/list/list-row-actions.tsx +10 -2
  510. package/src/components/payments/list/list-table.tsx +51 -45
  511. package/src/components/payments/list/locales/bg.ts +42 -0
  512. package/src/components/payments/list/locales/cs.ts +42 -0
  513. package/src/components/payments/list/locales/de.ts +18 -0
  514. package/src/components/payments/list/locales/en.ts +37 -2
  515. package/src/components/payments/list/locales/es.ts +18 -0
  516. package/src/components/payments/list/locales/et.ts +42 -0
  517. package/src/components/payments/list/locales/fi.ts +42 -0
  518. package/src/components/payments/list/locales/fr.ts +18 -0
  519. package/src/components/payments/list/locales/hr.ts +18 -0
  520. package/src/components/payments/list/locales/is.ts +42 -0
  521. package/src/components/payments/list/locales/it.ts +18 -0
  522. package/src/components/payments/list/locales/nb.ts +42 -0
  523. package/src/components/payments/list/locales/nl.ts +18 -0
  524. package/src/components/payments/list/locales/pl.ts +18 -0
  525. package/src/components/payments/list/locales/pt.ts +18 -0
  526. package/src/components/payments/list/locales/sk.ts +42 -0
  527. package/src/components/payments/list/locales/sl.ts +18 -1
  528. package/src/components/payments/list/locales/sv.ts +42 -0
  529. package/src/components/payments/payments.hooks.ts +13 -6
  530. package/src/components/recurring-invoices/create-recurring-invoice-form/create-recurring-invoice-form.tsx +121 -39
  531. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/bg.ts +44 -0
  532. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/cs.ts +44 -0
  533. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/en.ts +44 -0
  534. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/et.ts +44 -0
  535. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/fi.ts +44 -0
  536. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/hr.ts +6 -6
  537. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/is.ts +44 -0
  538. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/nb.ts +44 -0
  539. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sk.ts +44 -0
  540. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sl.ts +4 -4
  541. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sv.ts +44 -0
  542. package/src/components/recurring-invoices/list/list-row-actions.tsx +12 -6
  543. package/src/components/recurring-invoices/list/list-table.tsx +63 -12
  544. package/src/components/recurring-invoices/list/locales/bg.ts +32 -0
  545. package/src/components/recurring-invoices/list/locales/cs.ts +32 -0
  546. package/src/components/recurring-invoices/list/locales/de.ts +4 -0
  547. package/src/components/recurring-invoices/list/locales/en.ts +27 -0
  548. package/src/components/recurring-invoices/list/locales/es.ts +4 -0
  549. package/src/components/recurring-invoices/list/locales/et.ts +32 -0
  550. package/src/components/recurring-invoices/list/locales/fi.ts +32 -0
  551. package/src/components/recurring-invoices/list/locales/fr.ts +4 -0
  552. package/src/components/recurring-invoices/list/locales/hr.ts +4 -0
  553. package/src/components/recurring-invoices/list/locales/is.ts +32 -0
  554. package/src/components/recurring-invoices/list/locales/it.ts +4 -0
  555. package/src/components/recurring-invoices/list/locales/nb.ts +32 -0
  556. package/src/components/recurring-invoices/list/locales/nl.ts +4 -0
  557. package/src/components/recurring-invoices/list/locales/pl.ts +4 -0
  558. package/src/components/recurring-invoices/list/locales/pt.ts +4 -0
  559. package/src/components/recurring-invoices/list/locales/sk.ts +32 -0
  560. package/src/components/recurring-invoices/list/locales/sl.ts +4 -0
  561. package/src/components/recurring-invoices/list/locales/sv.ts +32 -0
  562. package/src/components/recurring-invoices/recurring-invoices.hooks.ts +11 -8
  563. package/src/components/request-logs/request-log-detail.tsx +30 -23
  564. package/src/components/request-logs/request-log-list-table.tsx +88 -45
  565. package/src/components/table/README.md +47 -9
  566. package/src/components/table/data-table.tsx +232 -92
  567. package/src/components/table/filter-bar.tsx +1 -1
  568. package/src/components/table/filter-panel.tsx +51 -22
  569. package/src/components/table/hooks/use-table-state.ts +64 -11
  570. package/src/components/table/index.ts +3 -0
  571. package/src/components/table/locales.ts +119 -4
  572. package/src/components/table/selection-toolbar.tsx +65 -9
  573. package/src/components/table/sorting.ts +80 -0
  574. package/src/components/table/table-skeleton.tsx +15 -9
  575. package/src/components/table/types.ts +17 -0
  576. package/src/components/tax-reports/index.ts +8 -0
  577. package/src/components/tax-reports/kir-export-form.tsx +4 -5
  578. package/src/components/tax-reports/slovenia-accounting-mappings-fields.tsx +271 -0
  579. package/src/components/tax-reports/slovenia-tax-profile-step.tsx +25 -11
  580. package/src/components/tax-reports/slovenia-vod-export-form.tsx +452 -0
  581. package/src/components/tax-reports/slovenia-yearly-export-form.tsx +20 -16
  582. package/src/components/tax-reports/slovenia-yearly-review-step.tsx +42 -19
  583. package/src/components/taxes/create-tax-form/create-tax-form.tsx +48 -2
  584. package/src/components/taxes/create-tax-form/locales/bg.ts +8 -0
  585. package/src/components/taxes/create-tax-form/locales/cs.ts +8 -0
  586. package/src/components/taxes/create-tax-form/locales/et.ts +8 -0
  587. package/src/components/taxes/create-tax-form/locales/fi.ts +8 -0
  588. package/src/components/taxes/create-tax-form/locales/is.ts +8 -0
  589. package/src/components/taxes/create-tax-form/locales/nb.ts +8 -0
  590. package/src/components/taxes/create-tax-form/locales/sk.ts +8 -0
  591. package/src/components/taxes/create-tax-form/locales/sv.ts +8 -0
  592. package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +80 -11
  593. package/src/components/taxes/edit-tax-form/locales/bg.ts +6 -0
  594. package/src/components/taxes/edit-tax-form/locales/cs.ts +6 -0
  595. package/src/components/taxes/edit-tax-form/locales/en.ts +6 -0
  596. package/src/components/taxes/edit-tax-form/locales/et.ts +6 -0
  597. package/src/components/taxes/edit-tax-form/locales/fi.ts +6 -0
  598. package/src/components/taxes/edit-tax-form/locales/is.ts +6 -0
  599. package/src/components/taxes/edit-tax-form/locales/nb.ts +6 -0
  600. package/src/components/taxes/edit-tax-form/locales/sk.ts +6 -0
  601. package/src/components/taxes/edit-tax-form/locales/sv.ts +6 -0
  602. package/src/components/taxes/tax-list-table/locales/bg.ts +17 -0
  603. package/src/components/taxes/tax-list-table/locales/cs.ts +17 -0
  604. package/src/components/taxes/tax-list-table/locales/en.ts +4 -3
  605. package/src/components/taxes/tax-list-table/locales/et.ts +17 -0
  606. package/src/components/taxes/tax-list-table/locales/fi.ts +17 -0
  607. package/src/components/taxes/tax-list-table/locales/is.ts +17 -0
  608. package/src/components/taxes/tax-list-table/locales/nb.ts +17 -0
  609. package/src/components/taxes/tax-list-table/locales/sk.ts +17 -0
  610. package/src/components/taxes/tax-list-table/locales/sv.ts +17 -0
  611. package/src/components/taxes/tax-list-table/tax-list-table.tsx +53 -19
  612. package/src/components/taxes/taxes.hooks.ts +53 -12
  613. package/src/components/ui/badge.tsx +1 -1
  614. package/src/components/ui/button.tsx +1 -1
  615. package/src/components/ui/drawer.tsx +2 -2
  616. package/src/components/ui/form.tsx +118 -10
  617. package/src/components/ui/progress.tsx +6 -4
  618. package/src/components/ui/select.tsx +118 -2
  619. package/src/components/ui/sidebar.tsx +2 -2
  620. package/src/components/ui/sonner.tsx +17 -36
  621. package/src/components/ui/sticky-form-footer.tsx +6 -1
  622. package/src/components/ui/tooltip.tsx +15 -2
  623. package/src/components/webhook-logs/webhook-delivery-detail.tsx +22 -22
  624. package/src/components/webhook-logs/webhook-delivery-list-table.tsx +92 -17
  625. package/src/components/wl-subscription/locked-feature.tsx +11 -10
  626. package/src/components/wl-subscription/paywall.tsx +184 -72
  627. package/src/components/wl-subscription/upgrade-modal.tsx +28 -31
  628. package/src/generate-schemas.ts +146 -103
  629. package/src/generated/schemas/acceptentityinvitation_body.ts +4 -3
  630. package/src/generated/schemas/accountwebhook.ts +63 -0
  631. package/src/generated/schemas/addentityuser_body.ts +4 -3
  632. package/src/generated/schemas/advanceinvoice.ts +167 -168
  633. package/src/generated/schemas/authorizeshopify_body.ts +4 -3
  634. package/src/generated/schemas/calculatedocumentpreview.ts +120 -0
  635. package/src/generated/schemas/checktransactiontype.ts +35 -0
  636. package/src/generated/schemas/creditnote.ts +203 -76
  637. package/src/generated/schemas/customadvanceinvoice.ts +172 -165
  638. package/src/generated/schemas/customcreditnote.ts +183 -155
  639. package/src/generated/schemas/customdeliverynote.ts +166 -0
  640. package/src/generated/schemas/customer.ts +4 -8
  641. package/src/generated/schemas/customestimate.ts +123 -97
  642. package/src/generated/schemas/customincomingpurchasedocument.ts +142 -0
  643. package/src/generated/schemas/custominvoice.ts +183 -154
  644. package/src/generated/schemas/deliverynote.ts +124 -79
  645. package/src/generated/schemas/einvoice.ts +19 -0
  646. package/src/generated/schemas/einvoicingsettings.ts +21 -0
  647. package/src/generated/schemas/einvoicingsupplier.ts +45 -0
  648. package/src/generated/schemas/entity.ts +267 -24
  649. package/src/generated/schemas/entityapikey.ts +1 -3
  650. package/src/generated/schemas/entityuserrole.ts +1 -3
  651. package/src/generated/schemas/estimate.ts +120 -127
  652. package/src/generated/schemas/exportsloveniavodxml_body.ts +17 -0
  653. package/src/generated/schemas/exportsloveniayearlynormiranireport_body.ts +4 -3
  654. package/src/generated/schemas/finadevice.ts +15 -0
  655. package/src/generated/schemas/finalizedocument.ts +52 -0
  656. package/src/generated/schemas/finapremise.ts +15 -0
  657. package/src/generated/schemas/finasettings.ts +1 -3
  658. package/src/generated/schemas/furselectronicdevice.ts +15 -0
  659. package/src/generated/schemas/furssettings.ts +2 -3
  660. package/src/generated/schemas/image.ts +15 -0
  661. package/src/generated/schemas/incomingpurchasedocument.ts +178 -0
  662. package/src/generated/schemas/incomingpurchasedocumentattachment.ts +15 -0
  663. package/src/generated/schemas/incomingpurchasedocumentpayment.ts +36 -0
  664. package/src/generated/schemas/index.ts +30 -5
  665. package/src/generated/schemas/invoice.ts +182 -183
  666. package/src/generated/schemas/item.ts +35 -3
  667. package/src/generated/schemas/legacymigrationauth.ts +18 -0
  668. package/src/generated/schemas/me.ts +4 -22
  669. package/src/generated/schemas/migrationjob.ts +20 -0
  670. package/src/generated/schemas/order.ts +6 -8
  671. package/src/generated/schemas/orderintegration.ts +12 -12
  672. package/src/generated/schemas/payment.ts +9 -8
  673. package/src/generated/schemas/ptatcudseries.ts +28 -0
  674. package/src/generated/schemas/queryentitystats.ts +15 -0
  675. package/src/generated/schemas/recurringinvoice.ts +4 -8
  676. package/src/generated/schemas/registerfursmovablepremise_body.ts +1 -3
  677. package/src/generated/schemas/registerfursrealestatepremise_body.ts +1 -3
  678. package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +42 -16
  679. package/src/generated/schemas/rendercreditnotepreview_body.ts +42 -16
  680. package/src/generated/schemas/renderdeliverynotepreview_body.ts +19 -8
  681. package/src/generated/schemas/renderestimatepreview_body.ts +45 -8
  682. package/src/generated/schemas/renderinvoicepreview_body.ts +46 -18
  683. package/src/generated/schemas/reviewsloveniayearlynormiranireport.ts +15 -0
  684. package/src/generated/schemas/searcheinvoicingcustomer.ts +18 -0
  685. package/src/generated/schemas/senddocument_body.ts +2 -3
  686. package/src/generated/schemas/sendemail_body.ts +48 -42
  687. package/src/generated/schemas/sloveniataxprofile.ts +98 -24
  688. package/src/generated/schemas/starteslogexport_body.ts +34 -0
  689. package/src/generated/schemas/startpdfexport_body.ts +18 -81
  690. package/src/generated/schemas/stripeappconnect_body.ts +4 -3
  691. package/src/generated/schemas/stripeappcreateinvoice_body.ts +4 -6
  692. package/src/generated/schemas/stripeappmarketplaceauthorize.ts +15 -0
  693. package/src/generated/schemas/stripeappupdatesettings_body.ts +6 -6
  694. package/src/generated/schemas/supplier.ts +55 -0
  695. package/src/generated/schemas/syncshopifyorders_body.ts +21 -0
  696. package/src/generated/schemas/tax.ts +8 -8
  697. package/src/generated/schemas/uploadfile_body.ts +2 -3
  698. package/src/generated/schemas/uploadfurscertificate_body.ts +6 -6
  699. package/src/generated/schemas/userfinasettings.ts +1 -3
  700. package/src/generated/schemas/userfurssettings.ts +1 -3
  701. package/src/generated/schemas/userptsettings.ts +24 -0
  702. package/src/generated/schemas/voidinvoice_body.ts +25 -0
  703. package/src/generated/schemas/webhook.ts +6 -8
  704. package/src/generated/schemas/wlsubscriptionbillingemail.ts +17 -0
  705. package/src/hooks/create-resource-hooks.ts +22 -19
  706. package/src/hooks/use-duplicate-document.ts +71 -38
  707. package/src/hooks/use-eslog-validation.ts +5 -1
  708. package/src/hooks/use-next-document-number.ts +13 -6
  709. package/src/hooks/use-resolved-entity-id.ts +14 -0
  710. package/src/hooks/use-resource-mutation.ts +11 -30
  711. package/src/hooks/use-transaction-type-check.ts +3 -8
  712. package/src/lib/browser-cookies.ts +1 -1
  713. package/src/lib/country-capabilities.ts +114 -0
  714. package/src/lib/date-fns-locale.ts +1 -20
  715. package/src/lib/date-only.ts +58 -0
  716. package/src/lib/document-display.ts +18 -0
  717. package/src/lib/eslog-export.ts +32 -0
  718. package/src/lib/fiscalization-options.ts +21 -1
  719. package/src/lib/formatting.ts +27 -0
  720. package/src/lib/furs-error-utils.ts +29 -0
  721. package/src/lib/locale.ts +4 -0
  722. package/src/lib/payment-display.ts +97 -0
  723. package/src/lib/pt-document-input.ts +67 -0
  724. package/src/lib/schemas/shared.ts +12 -0
  725. package/src/lib/template-variables.tsx +102 -4
  726. package/src/lib/translation.ts +51 -33
  727. package/src/lib/white-label-capabilities.ts +626 -0
  728. package/src/lib/zod-validation-message.ts +291 -0
  729. package/src/providers/entities-provider.tsx +32 -14
  730. package/src/providers/sdk-provider.tsx +112 -12
  731. package/src/providers/space-invoices-provider.tsx +129 -0
  732. package/src/providers/white-label-provider.tsx +96 -4
  733. package/src/providers/wl-subscription-provider.tsx +149 -10
  734. package/src/generated/schemas/previewadvanceinvoice_body.ts +0 -354
  735. package/src/generated/schemas/previewestimate_body.ts +0 -309
  736. package/src/generated/schemas/registerfinamovablepremise_body.ts +0 -26
  737. package/src/generated/schemas/registerfinarealestatepremise_body.ts +0 -37
  738. package/src/generated/schemas/renderdocument_body.ts +0 -594
@@ -1,9 +1,10 @@
1
1
  import { AlertCircle, TriangleAlert } from "lucide-react";
2
2
  import type { ChangeEvent } from "react";
3
- import { SloveniaYearlySummary } from "./slovenia-yearly-summary";
3
+ import { getDisplayDocumentNumber } from "@/ui/lib/document-display";
4
4
  import { Alert, AlertDescription, AlertTitle } from "../ui/alert";
5
5
  import { Input } from "../ui/input";
6
6
  import { Label } from "../ui/label";
7
+ import { SloveniaYearlySummary } from "./slovenia-yearly-summary";
7
8
 
8
9
  type Warning = {
9
10
  code: string;
@@ -100,7 +101,10 @@ export function SloveniaYearlyReviewStep({
100
101
  label: t("slovenia-yearly.review.summary.normative-expenses"),
101
102
  value: formatCurrency(draft.auto_values.normative_expenses),
102
103
  },
103
- { label: t("slovenia-yearly.review.summary.income-tax"), value: formatCurrency(draft.auto_values.income_tax_amount) },
104
+ {
105
+ label: t("slovenia-yearly.review.summary.income-tax"),
106
+ value: formatCurrency(draft.auto_values.income_tax_amount),
107
+ },
104
108
  ]}
105
109
  />
106
110
 
@@ -118,13 +122,16 @@ export function SloveniaYearlyReviewStep({
118
122
  <h4 className="font-medium">{t("slovenia-yearly.review.installments.title")}</h4>
119
123
  <div className="mt-3 space-y-2 text-sm">
120
124
  <p>
121
- {t("slovenia-yearly.review.installments.advance-tax")}: {formatCurrency(draft.auto_values.advance_tax_amount)}
125
+ {t("slovenia-yearly.review.installments.advance-tax")}:{" "}
126
+ {formatCurrency(draft.auto_values.advance_tax_amount)}
122
127
  </p>
123
128
  <p>
124
- {t("slovenia-yearly.review.installments.monthly")}: {formatCurrency(draft.auto_values.monthly_installment_amount)}
129
+ {t("slovenia-yearly.review.installments.monthly")}:{" "}
130
+ {formatCurrency(draft.auto_values.monthly_installment_amount)}
125
131
  </p>
126
132
  <p>
127
- {t("slovenia-yearly.review.installments.quarterly")}: {formatCurrency(draft.auto_values.quarterly_installment_amount)}
133
+ {t("slovenia-yearly.review.installments.quarterly")}:{" "}
134
+ {formatCurrency(draft.auto_values.quarterly_installment_amount)}
128
135
  </p>
129
136
  </div>
130
137
  </div>
@@ -134,7 +141,11 @@ export function SloveniaYearlyReviewStep({
134
141
  <div className="space-y-3">
135
142
  {draft.warnings.map((warning) => (
136
143
  <Alert key={warning.code} variant={warning.severity === "warning" ? "destructive" : "default"}>
137
- {warning.severity === "warning" ? <TriangleAlert className="h-4 w-4" /> : <AlertCircle className="h-4 w-4" />}
144
+ {warning.severity === "warning" ? (
145
+ <TriangleAlert className="h-4 w-4" />
146
+ ) : (
147
+ <AlertCircle className="h-4 w-4" />
148
+ )}
138
149
  <AlertTitle>
139
150
  {warning.severity === "warning"
140
151
  ? t("slovenia-yearly.review.warnings.review-required")
@@ -158,12 +169,12 @@ export function SloveniaYearlyReviewStep({
158
169
 
159
170
  {issue.official_sources.length > 0 && (
160
171
  <div className="mt-4 space-y-2">
161
- <p className="text-sm font-medium">{t("slovenia-yearly.review.issues.official-guidance")}</p>
172
+ <p className="font-medium text-sm">{t("slovenia-yearly.review.issues.official-guidance")}</p>
162
173
  <div className="space-y-1 text-sm">
163
174
  {issue.official_sources.map((source) => (
164
175
  <a
165
176
  key={source.url}
166
- className="text-primary block underline underline-offset-4"
177
+ className="block text-primary-readable underline underline-offset-4"
167
178
  href={source.url}
168
179
  rel="noreferrer"
169
180
  target="_blank"
@@ -177,22 +188,22 @@ export function SloveniaYearlyReviewStep({
177
188
 
178
189
  {issue.affected_documents.length > 0 && (
179
190
  <div className="mt-4 space-y-3">
180
- <p className="text-sm font-medium">{t("slovenia-yearly.review.issues.affected-documents")}</p>
191
+ <p className="font-medium text-sm">{t("slovenia-yearly.review.issues.affected-documents")}</p>
181
192
  <div className="space-y-2">
182
193
  {issue.affected_documents.map((document) => (
183
194
  <div
184
195
  key={`${issue.code}-${document.id}`}
185
- className="bg-muted/40 flex flex-col gap-2 rounded-md border p-3 text-sm"
196
+ className="flex flex-col gap-2 rounded-md border bg-muted/40 p-3 text-sm"
186
197
  >
187
198
  <div className="flex flex-wrap items-center justify-between gap-2">
188
199
  <div className="font-medium">
189
- {document.number} ·{" "}
200
+ {getDisplayDocumentNumber(document, t)} ·{" "}
190
201
  {document.type === "invoice"
191
202
  ? t("slovenia-yearly.review.issues.document-type.invoice")
192
203
  : t("slovenia-yearly.review.issues.document-type.credit-note")}
193
204
  </div>
194
205
  <a
195
- className="text-primary underline underline-offset-4"
206
+ className="text-primary-readable underline underline-offset-4"
196
207
  href={document.document_path}
197
208
  rel="noreferrer"
198
209
  target="_blank"
@@ -200,18 +211,28 @@ export function SloveniaYearlyReviewStep({
200
211
  {t("slovenia-yearly.review.issues.open-document")}
201
212
  </a>
202
213
  </div>
203
- <div className="text-muted-foreground flex flex-wrap gap-x-4 gap-y-1">
204
- <span>{t("slovenia-yearly.review.issues.fields.date")}: {document.date}</span>
214
+ <div className="flex flex-wrap gap-x-4 gap-y-1 text-muted-foreground">
215
+ <span>
216
+ {t("slovenia-yearly.review.issues.fields.date")}: {document.date}
217
+ </span>
205
218
  {document.customer_name && (
206
- <span>{t("slovenia-yearly.review.issues.fields.customer")}: {document.customer_name}</span>
219
+ <span>
220
+ {t("slovenia-yearly.review.issues.fields.customer")}: {document.customer_name}
221
+ </span>
207
222
  )}
208
223
  {document.customer_country_code && (
209
- <span>{t("slovenia-yearly.review.issues.fields.country")}: {document.customer_country_code}</span>
224
+ <span>
225
+ {t("slovenia-yearly.review.issues.fields.country")}: {document.customer_country_code}
226
+ </span>
210
227
  )}
211
228
  {document.customer_tax_number && (
212
- <span>{t("slovenia-yearly.review.issues.fields.tax-number")}: {document.customer_tax_number}</span>
229
+ <span>
230
+ {t("slovenia-yearly.review.issues.fields.tax-number")}: {document.customer_tax_number}
231
+ </span>
213
232
  )}
214
- <span>{t("slovenia-yearly.review.issues.fields.currency")}: {document.currency_code}</span>
233
+ <span>
234
+ {t("slovenia-yearly.review.issues.fields.currency")}: {document.currency_code}
235
+ </span>
215
236
  </div>
216
237
  <p>{document.reason}</p>
217
238
  </div>
@@ -243,7 +264,9 @@ export function SloveniaYearlyReviewStep({
243
264
  min="0"
244
265
  step="0.01"
245
266
  value={String(manualValues[field])}
246
- onChange={(event: ChangeEvent<HTMLInputElement>) => onManualValueChange(field, Number(event.target.value) || 0)}
267
+ onChange={(event: ChangeEvent<HTMLInputElement>) =>
268
+ onManualValueChange(field, Number(event.target.value) || 0)
269
+ }
247
270
  />
248
271
  </div>
249
272
  ))}
@@ -1,10 +1,10 @@
1
1
  import { zodResolver } from "@hookform/resolvers/zod";
2
2
  import type { CreateTaxRequest, Tax } from "@spaceinvoices/js-sdk";
3
- import { useForm } from "react-hook-form";
3
+ import { useForm, useWatch } from "react-hook-form";
4
4
  import { z } from "zod";
5
5
  import { FormInput } from "@/ui/components/form";
6
6
  import { Checkbox } from "@/ui/components/ui/checkbox";
7
- import { Form, FormControl, FormField, FormItem, FormLabel } from "@/ui/components/ui/form";
7
+ import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel } from "@/ui/components/ui/form";
8
8
  import { createTaxSchema as baseCreateTaxSchema } from "@/ui/generated/schemas";
9
9
  import type { ComponentTranslationProps } from "@/ui/lib/translation";
10
10
  import { createTranslation } from "@/ui/lib/translation";
@@ -43,6 +43,7 @@ type CreateTaxFormProps = {
43
43
  onSuccess?: (tax: Tax) => void;
44
44
  onError?: (error: Error) => void;
45
45
  renderSubmitButton?: (props: { isSubmitting: boolean; submit: () => void }) => React.ReactNode;
46
+ showPortugalExemptionFields?: boolean;
46
47
  } & ComponentTranslationProps;
47
48
 
48
49
  export default function CreateTaxForm({
@@ -50,6 +51,7 @@ export default function CreateTaxForm({
50
51
  onSuccess,
51
52
  onError,
52
53
  renderSubmitButton,
54
+ showPortugalExemptionFields = false,
53
55
  ...i18nProps
54
56
  }: CreateTaxFormProps) {
55
57
  const t = createTranslation({
@@ -65,6 +67,11 @@ export default function CreateTaxForm({
65
67
  is_default: false,
66
68
  },
67
69
  });
70
+ const rate = useWatch({
71
+ control: form.control,
72
+ name: "tax_rates.0.rate",
73
+ });
74
+ const showPtFields = showPortugalExemptionFields && Number(rate ?? 0) === 0;
68
75
 
69
76
  const { mutate: createTax, isPending } = useCreateTax({
70
77
  entityId,
@@ -103,6 +110,45 @@ export default function CreateTaxForm({
103
110
  type="number"
104
111
  />
105
112
 
113
+ {showPtFields && (
114
+ <div className="space-y-4 rounded-lg border border-dashed p-4">
115
+ <div className="space-y-1">
116
+ <p className="font-medium text-sm">{t("Portugal exemption metadata")}</p>
117
+ <p className="text-muted-foreground text-sm">
118
+ {t("0% Portugal taxes require an exemption code and legal reason for SAF-T and certified documents.")}
119
+ </p>
120
+ </div>
121
+
122
+ <FormInput
123
+ control={form.control}
124
+ name="pt_exemption_code"
125
+ label={t("Exemption code")}
126
+ placeholder={t("Enter exemption code")}
127
+ />
128
+
129
+ <FormField
130
+ control={form.control}
131
+ name="pt_exemption_reason"
132
+ render={({ field }) => (
133
+ <FormItem>
134
+ <FormLabel>{t("Exemption reason")}</FormLabel>
135
+ <FormControl>
136
+ <textarea
137
+ className="flex min-h-24 w-full rounded-md border border-input bg-background px-3 py-2 text-sm"
138
+ placeholder={t("Enter exemption reason")}
139
+ value={field.value ?? ""}
140
+ onChange={(event) => field.onChange(event.target.value || undefined)}
141
+ />
142
+ </FormControl>
143
+ <FormDescription>
144
+ {t("Keep this aligned with the legal basis used on issued Portugal documents.")}
145
+ </FormDescription>
146
+ </FormItem>
147
+ )}
148
+ />
149
+ </div>
150
+ )}
151
+
106
152
  <FormField
107
153
  control={form.control}
108
154
  name="is_default"
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Име",
3
+ "Enter name": "Въведете име",
4
+ "Rate (%)": "Rate (%)",
5
+ "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
7
+ "There was an error creating the tax": "There was an error creating the tax",
8
+ } as const;
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Jméno",
3
+ "Enter name": "Zadejte jméno",
4
+ "Rate (%)": "Rate (%)",
5
+ "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
7
+ "There was an error creating the tax": "There was an error creating the tax",
8
+ } as const;
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Nimi",
3
+ "Enter name": "Sisestage nimi",
4
+ "Rate (%)": "Rate (%)",
5
+ "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
7
+ "There was an error creating the tax": "There was an error creating the tax",
8
+ } as const;
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Nimi",
3
+ "Enter name": "Kirjoita nimi",
4
+ "Rate (%)": "Rate (%)",
5
+ "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
7
+ "There was an error creating the tax": "There was an error creating the tax",
8
+ } as const;
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Nafn",
3
+ "Enter name": "Sláðu inn nafn",
4
+ "Rate (%)": "Rate (%)",
5
+ "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
7
+ "There was an error creating the tax": "There was an error creating the tax",
8
+ } as const;
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Navn",
3
+ "Enter name": "Skriv inn navn",
4
+ "Rate (%)": "Rate (%)",
5
+ "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
7
+ "There was an error creating the tax": "There was an error creating the tax",
8
+ } as const;
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Meno",
3
+ "Enter name": "Zadajte meno",
4
+ "Rate (%)": "Rate (%)",
5
+ "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
7
+ "There was an error creating the tax": "There was an error creating the tax",
8
+ } as const;
@@ -0,0 +1,8 @@
1
+ export default {
2
+ Name: "Namn",
3
+ "Enter name": "Ange namn",
4
+ "Rate (%)": "Rate (%)",
5
+ "Enter rate": "Enter rate",
6
+ "Set as default tax": "Set as default tax",
7
+ "There was an error creating the tax": "There was an error creating the tax",
8
+ } as const;
@@ -1,14 +1,14 @@
1
1
  import { zodResolver } from "@hookform/resolvers/zod";
2
2
  import type { Tax } from "@spaceinvoices/js-sdk";
3
- import { useForm } from "react-hook-form";
3
+ import { useForm, useWatch } from "react-hook-form";
4
+ import { z } from "zod";
4
5
  import { FormInput } from "@/ui/components/form";
5
6
  import { Checkbox } from "@/ui/components/ui/checkbox";
6
- import { Form, FormControl, FormField, FormItem, FormLabel } from "@/ui/components/ui/form";
7
- import type { UpdateTaxSchema } from "@/ui/generated/schemas";
8
- import { updateTaxSchema } from "@/ui/generated/schemas";
7
+ import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel } from "@/ui/components/ui/form";
8
+ import { createTaxSchema } from "@/ui/generated/schemas";
9
9
  import type { ComponentTranslationProps } from "@/ui/lib/translation";
10
10
  import { createTranslation } from "@/ui/lib/translation";
11
- import { useUpdateTax } from "../taxes.hooks";
11
+ import { useReplaceTax } from "../taxes.hooks";
12
12
  import de from "./locales/de";
13
13
  import es from "./locales/es";
14
14
  import fr from "./locales/fr";
@@ -37,30 +37,51 @@ type EditTaxFormProps = {
37
37
  onSuccess?: (tax: Tax) => void;
38
38
  onError?: (error: Error) => void;
39
39
  renderSubmitButton?: (props: { isSubmitting: boolean; submit: () => void }) => React.ReactNode;
40
+ showPortugalExemptionFields?: boolean;
40
41
  } & ComponentTranslationProps;
41
42
 
43
+ const editTaxSchema = createTaxSchema.extend({
44
+ is_default: z.boolean().optional(),
45
+ });
46
+ type EditTaxSchema = z.infer<typeof editTaxSchema>;
47
+ type PortugalAwareTax = Tax & {
48
+ pt_exemption_code?: string | null;
49
+ pt_exemption_reason?: string | null;
50
+ };
51
+
42
52
  export default function EditTaxForm({
43
53
  entityId,
44
54
  tax,
45
55
  onSuccess,
46
56
  onError,
47
57
  renderSubmitButton,
58
+ showPortugalExemptionFields = false,
48
59
  ...i18nProps
49
60
  }: EditTaxFormProps) {
50
61
  const t = createTranslation({
51
62
  ...i18nProps,
52
63
  translations,
53
64
  });
65
+ const portugalAwareTax = tax as PortugalAwareTax;
54
66
 
55
- const form = useForm<UpdateTaxSchema>({
56
- resolver: zodResolver(updateTaxSchema),
67
+ const form = useForm<EditTaxSchema>({
68
+ resolver: zodResolver(editTaxSchema),
57
69
  defaultValues: {
70
+ name: tax.name ?? "",
58
71
  tax_rates: tax.tax_rates?.map((tr) => ({ rate: tr.rate })) ?? [{ rate: 0 }],
59
72
  is_default: tax.is_default ?? false,
73
+ classification: tax.classification ?? undefined,
74
+ pt_exemption_code: portugalAwareTax.pt_exemption_code ?? undefined,
75
+ pt_exemption_reason: portugalAwareTax.pt_exemption_reason ?? undefined,
60
76
  },
61
77
  });
78
+ const rate = useWatch({
79
+ control: form.control,
80
+ name: "tax_rates.0.rate",
81
+ });
82
+ const showPtFields = showPortugalExemptionFields && Number(rate ?? 0) === 0;
62
83
 
63
- const { mutate: updateTax, isPending } = useUpdateTax({
84
+ const { mutate: replaceTax, isPending } = useReplaceTax({
64
85
  entityId,
65
86
  onSuccess: (updatedTax, _variables, _context) => {
66
87
  onSuccess?.(updatedTax);
@@ -74,10 +95,17 @@ export default function EditTaxForm({
74
95
  },
75
96
  });
76
97
 
77
- const onSubmit = async (values: UpdateTaxSchema) => {
78
- updateTax({
98
+ const onSubmit = async (values: EditTaxSchema) => {
99
+ replaceTax({
79
100
  id: tax.id,
80
- data: values,
101
+ data: {
102
+ name: values.name,
103
+ tax_rates: values.tax_rates,
104
+ is_default: values.is_default,
105
+ classification: values.classification,
106
+ pt_exemption_code: values.pt_exemption_code,
107
+ pt_exemption_reason: values.pt_exemption_reason,
108
+ } as any,
81
109
  });
82
110
  };
83
111
 
@@ -88,6 +116,8 @@ export default function EditTaxForm({
88
116
  return (
89
117
  <Form {...form}>
90
118
  <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-4">
119
+ <FormInput control={form.control} name="name" label={t("Name")} placeholder={t("Enter name")} />
120
+
91
121
  <FormInput
92
122
  control={form.control}
93
123
  name="tax_rates.0.rate"
@@ -96,6 +126,45 @@ export default function EditTaxForm({
96
126
  type="number"
97
127
  />
98
128
 
129
+ {showPtFields && (
130
+ <div className="space-y-4 rounded-lg border border-dashed p-4">
131
+ <div className="space-y-1">
132
+ <p className="font-medium text-sm">{t("Portugal exemption metadata")}</p>
133
+ <p className="text-muted-foreground text-sm">
134
+ {t("0% Portugal taxes require an exemption code and legal reason for SAF-T and certified documents.")}
135
+ </p>
136
+ </div>
137
+
138
+ <FormInput
139
+ control={form.control}
140
+ name="pt_exemption_code"
141
+ label={t("Exemption code")}
142
+ placeholder={t("Enter exemption code")}
143
+ />
144
+
145
+ <FormField
146
+ control={form.control}
147
+ name="pt_exemption_reason"
148
+ render={({ field }) => (
149
+ <FormItem>
150
+ <FormLabel>{t("Exemption reason")}</FormLabel>
151
+ <FormControl>
152
+ <textarea
153
+ className="flex min-h-24 w-full rounded-md border border-input bg-background px-3 py-2 text-sm"
154
+ placeholder={t("Enter exemption reason")}
155
+ value={field.value ?? ""}
156
+ onChange={(event) => field.onChange(event.target.value || undefined)}
157
+ />
158
+ </FormControl>
159
+ <FormDescription>
160
+ {t("Keep this aligned with the legal basis used on issued Portugal documents.")}
161
+ </FormDescription>
162
+ </FormItem>
163
+ )}
164
+ />
165
+ </div>
166
+ )}
167
+
99
168
  <FormField
100
169
  control={form.control}
101
170
  name="is_default"
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "Rate (%)": "Rate (%)",
3
+ "Enter rate": "Enter rate",
4
+ "Set as default tax": "Set as default tax",
5
+ "There was an error updating the tax": "There was an error updating the tax",
6
+ } as const;
@@ -0,0 +1,17 @@
1
+ export default {
2
+ Name: "Име",
3
+ "Tax Rates": "Данъчни ставки",
4
+ Created: "Създаден",
5
+ Default: "По подразбиране",
6
+ "Unnamed Tax": "Unnamed Tax",
7
+ "Open menu": "Отворете менюто",
8
+ Actions: "Действия",
9
+ "Copy tax ID": "Copy tax ID",
10
+ "View tax": "View tax",
11
+ "Your list is empty": "Your tax list is empty",
12
+ "Get started by creating your first entry": "Get started by creating your first tax",
13
+ "No results found": "No taxes found",
14
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
15
+ "Clear search": "Clear search",
16
+ "Clear all": "Clear all",
17
+ } as const;
@@ -0,0 +1,17 @@
1
+ export default {
2
+ Name: "Jméno",
3
+ "Tax Rates": "Daňové sazby",
4
+ Created: "Vytvořeno",
5
+ Default: "Výchozí",
6
+ "Unnamed Tax": "Unnamed Tax",
7
+ "Open menu": "Otevřít nabídku",
8
+ Actions: "Akce",
9
+ "Copy tax ID": "Copy tax ID",
10
+ "View tax": "View tax",
11
+ "Your list is empty": "Your tax list is empty",
12
+ "Get started by creating your first entry": "Get started by creating your first tax",
13
+ "No results found": "No taxes found",
14
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
15
+ "Clear search": "Clear search",
16
+ "Clear all": "Clear all",
17
+ } as const;
@@ -8,9 +8,10 @@ export default {
8
8
  Actions: "Actions",
9
9
  "Copy tax ID": "Copy tax ID",
10
10
  "View tax": "View tax",
11
- // Empty state translations
12
11
  "Your list is empty": "Your tax list is empty",
13
12
  "Get started by creating your first entry": "Get started by creating your first tax",
14
- // No results translations
15
13
  "No results found": "No taxes found",
16
- };
14
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
15
+ "Clear search": "Clear search",
16
+ "Clear all": "Clear all",
17
+ } as const;
@@ -0,0 +1,17 @@
1
+ export default {
2
+ Name: "Nimi",
3
+ "Tax Rates": "Maksumäärad",
4
+ Created: "Loodud",
5
+ Default: "Vaikimisi",
6
+ "Unnamed Tax": "Unnamed Tax",
7
+ "Open menu": "Ava menüü",
8
+ Actions: "Tegevused",
9
+ "Copy tax ID": "Copy tax ID",
10
+ "View tax": "View tax",
11
+ "Your list is empty": "Your tax list is empty",
12
+ "Get started by creating your first entry": "Get started by creating your first tax",
13
+ "No results found": "No taxes found",
14
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
15
+ "Clear search": "Clear search",
16
+ "Clear all": "Clear all",
17
+ } as const;
@@ -0,0 +1,17 @@
1
+ export default {
2
+ Name: "Nimi",
3
+ "Tax Rates": "Tax Rates",
4
+ Created: "Luotu",
5
+ Default: "Default",
6
+ "Unnamed Tax": "Unnamed Tax",
7
+ "Open menu": "Avaa valikko",
8
+ Actions: "Toiminnot",
9
+ "Copy tax ID": "Copy tax ID",
10
+ "View tax": "View tax",
11
+ "Your list is empty": "Your tax list is empty",
12
+ "Get started by creating your first entry": "Get started by creating your first tax",
13
+ "No results found": "No taxes found",
14
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
15
+ "Clear search": "Clear search",
16
+ "Clear all": "Clear all",
17
+ } as const;
@@ -0,0 +1,17 @@
1
+ export default {
2
+ Name: "Nafn",
3
+ "Tax Rates": "Skatthlutföll",
4
+ Created: "Búið til",
5
+ Default: "Sjálfgefið",
6
+ "Unnamed Tax": "Unnamed Tax",
7
+ "Open menu": "Opna valmynd",
8
+ Actions: "Aðgerðir",
9
+ "Copy tax ID": "Copy tax ID",
10
+ "View tax": "View tax",
11
+ "Your list is empty": "Your tax list is empty",
12
+ "Get started by creating your first entry": "Get started by creating your first tax",
13
+ "No results found": "No taxes found",
14
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
15
+ "Clear search": "Clear search",
16
+ "Clear all": "Clear all",
17
+ } as const;