@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
@@ -10,6 +10,7 @@ export default {
10
10
  Items: "Postavke",
11
11
  "Add item": "Dodaj postavko",
12
12
  Save: "Shrani",
13
+ Update: "Posodobi",
13
14
  "Save as Draft": "Shrani kot osnutek",
14
15
  Quantity: "Količina",
15
16
  Price: "Cena",
@@ -24,27 +25,27 @@ export default {
24
25
  "Add new tax...": "Dodaj nov davek...",
25
26
  Description: "Opis",
26
27
  "Mark as Paid": "Označi kot plačano",
27
- Paid: "Plačano",
28
+ "Paid": "Plačano",
28
29
  "Credit note will be marked as fully paid upon creation": "Dobropis bo označen kot plačan ob ustvarjanju",
29
30
  "Payment Type": "Vrsta plačila",
30
- "Select payment type": "Izberite vrsto plačila",
31
- Cash: "Gotovina",
31
+ "Select payment type": "Izberi vrsto plačila",
32
+ "Cash": "Gotovina",
32
33
  "Bank Transfer": "Bančno nakazilo",
33
- Card: "Kartica",
34
- Check: "Ček",
35
- Other: "Drugo",
34
+ "Card": "Kartica",
35
+ "Check": "Ček",
36
+ "Other": "Drugo",
36
37
  // Note field
37
- Note: "Opomba",
38
+ Note: "Pripis",
38
39
  "Insert variable": "Vstavi spremenljivko",
39
- "Add payment instructions, terms, or other notes...": "Dodajte navodila za plačilo, pogoje ali druge opombe...",
40
+ "Add payment instructions, terms, or other notes...": "Dodaj navodila za plačilo, pogoje ali druge pripise...",
40
41
  // Signature field
41
42
  Signature: "Podpis",
42
43
  "Add signature text...": "Dodaj besedilo podpisa...",
43
44
  // Payment terms field
44
45
  "Payment Terms": "Plačilni pogoji",
45
- "Add payment terms...": "Dodajte plačilne pogoje...",
46
+ "Add payment terms...": "Dodaj plačilne pogoje...",
46
47
  // Recipient fields
47
- "Search or create customer...": "Išči ali ustvari stranko...",
48
+ "Search or create customer...": "Poiščite ali ustvarite stranko...",
48
49
  Clear: "Počisti",
49
50
  Address: "Naslov",
50
51
  "Address 2": "Naslov 2",
@@ -69,8 +70,8 @@ export default {
69
70
  "Net price (before tax)": "Neto cena (brez davka)",
70
71
  // FINA fiscalization
71
72
  "Fiscally verify": "Davčno potrdi",
72
- "Click to skip fiscalization for this credit note": "Klikni za preskok davčnega potrjevanja za ta dobropis",
73
- "Click to enable fiscalization": "Klikni za vključitev davčnega potrjevanja",
73
+ "Click to skip fiscalization for this credit note": "Kliknite za preskočitev davčnega potrjevanja za ta dobropis",
74
+ "Click to enable fiscalization": "Kliknite za omogočanje davčnega potrjevanja",
74
75
  "Cannot skip fiscalization for cash payments": "Za gotovinska plačila ni mogoče preskočiti davčnega potrjevanja",
75
76
  Premise: "Poslovni prostor",
76
77
  Device: "Naprava",
@@ -90,8 +91,21 @@ export default {
90
91
  "This invoice will not be fiscalized (non-domestic transaction)":
91
92
  "Ta račun ne bo fiskaliziran (nedomača transakcija)",
92
93
  "Tax Clause": "Davčna klavzula",
93
- "Add tax clause...": "Dodajte davčno klavzulo...",
94
+ "Add tax clause...": "Dodaj davčno klavzulo...",
94
95
  Footer: "Noga dokumenta",
95
- "Add document footer...": "Dodajte nogo dokumenta...",
96
+ "Add document footer...": "Dodaj nogo dokumenta...",
96
97
  "Reverse charge - tax exempt EU B2B sale": "Obrnjena davčna obveznost - davka oproščena EU B2B prodaja",
98
+ "Please select": "Izberi",
99
+ "Amount": "Znesek",
100
+ "Add payment": "Dodaj plačilo",
101
+ "Recorded now": "Trenutno zabeleženo",
102
+ "Remaining due": "Preostanek za plačilo",
103
+ "Remaining to allocate": "Preostanek za razporeditev",
104
+ "This document must be fully paid on creation": "Ta dokument mora biti ob ustvarjanju v celoti plačan",
105
+ "Record one or more payments on creation": "Ob ustvarjanju zabeleži eno ali več plačil",
106
+ // Service date
107
+ "Service Date": "Datum storitve",
108
+ "Service Period": "Obdobje storitve",
109
+ From: "Od",
110
+ To: "Do",
97
111
  } as const;
@@ -0,0 +1,101 @@
1
+ export default {
2
+ Recipient: "Recipient",
3
+ Name: "Namn",
4
+ Details: "Detaljer",
5
+ Number: "Nummer",
6
+ Date: "Datum",
7
+ "Pick a date": "Pick a date",
8
+ "Due Date": "Förfallodatum",
9
+ "Valid Until": "Valid Until",
10
+ Items: "Artiklar",
11
+ "Add item": "Add item",
12
+ Save: "Spara",
13
+ Update: "Uppdatera",
14
+ "Save as Draft": "Save as Draft",
15
+ Quantity: "Quantity",
16
+ Price: "Pris",
17
+ Unit: "Unit",
18
+ Discount: "Discount",
19
+ Tax: "Tax",
20
+ "Tax rate": "Tax rate",
21
+ "Add tax": "Add tax",
22
+ "Select tax...": "Select tax...",
23
+ "Loading...": "Laddar...",
24
+ "No taxes found": "No taxes found",
25
+ "Add new tax...": "Add new tax...",
26
+ Description: "Beskrivning",
27
+ "Mark as Paid": "Markera som betald",
28
+ "Paid": "Betald",
29
+ "Credit note will be marked as fully paid upon creation": "Kreditnotan markeras som fullt betald vid skapande",
30
+ "Payment Type": "Betalningstyp",
31
+ "Select payment type": "Välj betalningstyp",
32
+ "Cash": "Kontant",
33
+ "Bank Transfer": "Banköverföring",
34
+ "Card": "Kort",
35
+ "Check": "Check",
36
+ "Other": "Övrigt",
37
+ Note: "Note",
38
+ "Insert variable": "Insert variable",
39
+ "Add payment instructions, terms, or other notes...": "Add payment instructions, terms, or other notes...",
40
+ Signature: "Signatur",
41
+ "Add signature text...": "Lägg till signaturtext...",
42
+ "Payment Terms": "Payment Terms",
43
+ "Add payment terms...": "Add payment terms...",
44
+ "Search or create customer...": "Search or create customer...",
45
+ Clear: "Clear",
46
+ Address: "Adress",
47
+ "Address 2": "Adress 2",
48
+ "Post Code": "Postnummer",
49
+ City: "Stad",
50
+ State: "Län",
51
+ Country: "Land",
52
+ "Tax Number": "Skattenummer",
53
+ Currency: "Valuta",
54
+ "Select currency": "Välj valuta",
55
+ "Percentage discount": "Percentage discount",
56
+ "Fixed amount discount": "Fixed amount discount",
57
+ Percentage: "Percentage",
58
+ "Fixed amount": "Fixed amount",
59
+ "Taxes disabled": "Taxes disabled",
60
+ "Gross price": "Gross price",
61
+ "Net price": "Net price",
62
+ "Gross price (tax included)": "Gross price (tax included)",
63
+ "Net price (before tax)": "Net price (before tax)",
64
+ "Fiscally verify": "Fiscally verify",
65
+ "Click to skip fiscalization for this credit note": "Click to skip fiscalization for this credit note",
66
+ "Click to enable fiscalization": "Click to enable fiscalization",
67
+ "Cannot skip fiscalization for cash payments": "Cannot skip fiscalization for cash payments",
68
+ Premise: "Premise",
69
+ Device: "Enhet",
70
+ "FINA fiscalized invoices always use the current date": "FINA fiscalized invoices always use the current date",
71
+ "Add separator": "Add separator",
72
+ "Section header": "Section header",
73
+ "Section title...": "Section title...",
74
+ "Transaction type": "Transaction type",
75
+ Domestic: "Domestic",
76
+ "EU B2B": "EU B2B",
77
+ "EU B2C": "EU B2C",
78
+ "3W B2B": "3W B2B",
79
+ "3W B2C": "3W B2C",
80
+ "Determining transaction type...": "Determining transaction type...",
81
+ "This invoice will not be fiscalized (non-domestic transaction)":
82
+ "This invoice will not be fiscalized (non-domestic transaction)",
83
+ "Tax Clause": "Tax Clause",
84
+ "Add tax clause...": "Add tax clause...",
85
+ Footer: "Footer",
86
+ "Add document footer...": "Add document footer...",
87
+ "Reverse charge - tax exempt EU B2B sale": "Reverse charge - tax exempt EU B2B sale",
88
+ "Please select": "Välj",
89
+ "Amount": "Belopp",
90
+ "Add payment": "Lägg till betalning",
91
+ "Recorded now": "Registrerat nu",
92
+ "Remaining due": "Återstående att betala",
93
+ "Remaining to allocate": "Återstår att fördela",
94
+ "This document must be fully paid on creation": "Det här dokumentet måste vara fullt betalt vid skapande",
95
+ "Record one or more payments on creation": "Registrera en eller flera betalningar vid skapande",
96
+ // Service date
97
+ "Service Date": "Tjänstedatum",
98
+ "Service Period": "Tjänsteperiod",
99
+ From: "Från",
100
+ To: "Till",
101
+ } as const;
@@ -0,0 +1,66 @@
1
+ import type { CreateCreditNoteRequest } from "@spaceinvoices/js-sdk";
2
+ import { normalizePtDocumentInput } from "@/ui/lib/pt-document-input";
3
+ import {
4
+ buildDocumentBasePayload,
5
+ cleanupEmptyCustomerId,
6
+ prepareDocumentCustomerData,
7
+ prepareDocumentItems,
8
+ prepareDocumentSubmission,
9
+ } from "../../documents/create/prepare-document-submission";
10
+
11
+ type PrepareOptions = {
12
+ originalCustomer: any;
13
+ wasCustomerFormShown?: boolean;
14
+ markAsPaid?: boolean;
15
+ paymentTypes?: string[];
16
+ payments?: Array<{ type: string; amount?: number }>;
17
+ priceModes?: Record<number, boolean>;
18
+ isDraft?: boolean;
19
+ };
20
+
21
+ export function prepareCreditNoteSubmission(values: any, options: PrepareOptions): CreateCreditNoteRequest {
22
+ const payload = prepareDocumentSubmission(values, {
23
+ originalCustomer: options.originalCustomer,
24
+ wasCustomerFormShown: options.wasCustomerFormShown,
25
+ markAsPaid: options.markAsPaid,
26
+ paymentTypes: options.paymentTypes,
27
+ payments: options.payments,
28
+ documentType: "credit_note",
29
+ priceModes: options.priceModes,
30
+ isDraft: options.isDraft,
31
+ }) as CreateCreditNoteRequest;
32
+
33
+ const pt = normalizePtDocumentInput(values.pt);
34
+ if (pt) {
35
+ (payload as any).pt = pt;
36
+ }
37
+ return payload;
38
+ }
39
+
40
+ export function prepareCreditNoteUpdateSubmission(
41
+ values: any,
42
+ options: Pick<PrepareOptions, "originalCustomer" | "wasCustomerFormShown" | "priceModes">,
43
+ ): Record<string, unknown> {
44
+ const nextValues: any = {
45
+ ...values,
46
+ customer: values.customer ? { ...values.customer } : values.customer,
47
+ items: values.items
48
+ ? values.items.map((item: any) => ({ ...item, taxes: item?.taxes ? [...item.taxes] : item?.taxes }))
49
+ : values.items,
50
+ };
51
+
52
+ prepareDocumentCustomerData(nextValues, options);
53
+ cleanupEmptyCustomerId(nextValues);
54
+ nextValues.items = prepareDocumentItems(nextValues.items, options.priceModes ?? {});
55
+
56
+ const payload = buildDocumentBasePayload(nextValues, {
57
+ documentType: "credit_note",
58
+ });
59
+
60
+ const pt = normalizePtDocumentInput(values.pt);
61
+ if (pt) {
62
+ payload.pt = pt;
63
+ }
64
+
65
+ return payload;
66
+ }
@@ -8,18 +8,49 @@
8
8
  * - Less code duplication
9
9
  */
10
10
 
11
- import type { CreateCreditNoteRequest, CreditNote } from "@spaceinvoices/js-sdk";
11
+ import type {
12
+ CreateCreditNoteRequest,
13
+ CreditNote,
14
+ CustomCreateCreditNote,
15
+ SDKMethodOptions,
16
+ UpdateCreditNote,
17
+ } from "@spaceinvoices/js-sdk";
18
+ import { creditNotes } from "@spaceinvoices/js-sdk";
12
19
  import { createResourceHooks } from "@/ui/hooks/create-resource-hooks";
13
20
 
14
21
  export const CREDIT_NOTES_CACHE_KEY = "credit-notes";
15
22
 
23
+ const voidCreditNote = async (id: string, options?: SDKMethodOptions): Promise<void> => {
24
+ await creditNotes.void(id, {}, options);
25
+ };
26
+
16
27
  const {
17
28
  useCreateResource: useCreateCreditNote,
18
29
  useUpdateResource: useUpdateCreditNote,
19
30
  useDeleteResource: useDeleteCreditNote,
20
- } = createResourceHooks<CreditNote, CreateCreditNoteRequest>("creditNotes", CREDIT_NOTES_CACHE_KEY);
31
+ } = createResourceHooks<CreditNote, CreateCreditNoteRequest, UpdateCreditNote>(
32
+ {
33
+ create: creditNotes.create,
34
+ update: creditNotes.update,
35
+ delete: voidCreditNote,
36
+ },
37
+ CREDIT_NOTES_CACHE_KEY,
38
+ );
39
+
40
+ const { useCreateResource: useCreateCustomCreditNote } = createResourceHooks<
41
+ CreditNote,
42
+ CustomCreateCreditNote,
43
+ UpdateCreditNote
44
+ >(
45
+ {
46
+ create: creditNotes.createCustom,
47
+ update: creditNotes.update,
48
+ delete: voidCreditNote,
49
+ },
50
+ CREDIT_NOTES_CACHE_KEY,
51
+ );
21
52
 
22
- export { useCreateCreditNote, useUpdateCreditNote, useDeleteCreditNote };
53
+ export { useCreateCreditNote, useCreateCustomCreditNote, useDeleteCreditNote, useUpdateCreditNote };
23
54
 
24
55
  // ============================================================================
25
56
  // FURS Last-Used Combo (localStorage) for credit notes
@@ -9,11 +9,17 @@ import {
9
9
  DropdownMenuSeparator,
10
10
  DropdownMenuTrigger,
11
11
  } from "@/ui/components/ui/dropdown-menu";
12
- import { Tooltip, TooltipContent, TooltipTrigger } from "@/ui/components/ui/tooltip";
12
+ import { actionMenuTooltipProps, Tooltip, TooltipContent, TooltipTrigger } from "@/ui/components/ui/tooltip";
13
13
  import type { ComponentTranslationProps } from "@/ui/lib/translation";
14
14
  import { createTranslation } from "@/ui/lib/translation";
15
15
  import { useCreditNoteDownload } from "./use-credit-note-download";
16
16
 
17
+ const translations = {
18
+ sl: {
19
+ "This document is already voided.": "Ta dokument je že storniran.",
20
+ },
21
+ } as const;
22
+
17
23
  // Type for credit note - using any until SDK is regenerated
18
24
  type CreditNote = any;
19
25
 
@@ -45,7 +51,7 @@ export default function CreditNoteListRowActions({
45
51
  isVoiding,
46
52
  ...i18nProps
47
53
  }: CreditNoteListRowActionsProps) {
48
- const t = createTranslation(i18nProps);
54
+ const t = createTranslation({ ...i18nProps, translations });
49
55
  const { isDownloading, downloadPDF } = useCreditNoteDownload({
50
56
  onDownloadStart,
51
57
  onDownloadSuccess,
@@ -86,7 +92,7 @@ export default function CreditNoteListRowActions({
86
92
  </DropdownMenuItem>
87
93
  )}
88
94
  </DropdownMenuGroup>
89
- {!creditNote.paid_in_full && (
95
+ {!creditNote.paid_in_full && onAddPayment && (
90
96
  <>
91
97
  <DropdownMenuSeparator />
92
98
  <DropdownMenuGroup>
@@ -113,11 +119,15 @@ export default function CreditNoteListRowActions({
113
119
  </>
114
120
  )}
115
121
  {onVoid &&
116
- !creditNote.voided_at &&
117
122
  !creditNote.is_draft &&
118
123
  (() => {
119
124
  const isFiscalized = !!(creditNote.furs || creditNote.fina);
120
- const voidDisabled = isVoiding || isFiscalized;
125
+ const disabledReason = creditNote.voided_at
126
+ ? t("This document is already voided.")
127
+ : isFiscalized
128
+ ? t("Cannot void a fiscalized credit note")
129
+ : undefined;
130
+ const voidDisabled = isVoiding || !!disabledReason;
121
131
  const voidItem = (
122
132
  <DropdownMenuItem
123
133
  className={
@@ -136,12 +146,14 @@ export default function CreditNoteListRowActions({
136
146
  <>
137
147
  <DropdownMenuSeparator />
138
148
  <DropdownMenuGroup>
139
- {isFiscalized ? (
149
+ {disabledReason ? (
140
150
  <Tooltip>
141
151
  <TooltipTrigger asChild>
142
152
  <div>{voidItem}</div>
143
153
  </TooltipTrigger>
144
- <TooltipContent side="left">{t("Cannot void a fiscalized credit note")}</TooltipContent>
154
+ <TooltipContent side="left" {...actionMenuTooltipProps}>
155
+ {disabledReason}
156
+ </TooltipContent>
145
157
  </Tooltip>
146
158
  ) : (
147
159
  voidItem
@@ -1,4 +1,5 @@
1
1
  import type { CreditNote } from "@spaceinvoices/js-sdk";
2
+ import { creditNotes } from "@spaceinvoices/js-sdk";
2
3
  import { AlertTriangle } from "lucide-react";
3
4
  import { useCallback, useMemo, useState } from "react";
4
5
  import { DataTable } from "@/ui/components/table/data-table";
@@ -16,9 +17,10 @@ import type {
16
17
  import { Badge } from "@/ui/components/ui/badge";
17
18
  import { Button } from "@/ui/components/ui/button";
18
19
  import { Tooltip, TooltipContent, TooltipTrigger } from "@/ui/components/ui/tooltip";
20
+ import { getDisplayDocumentNumber } from "@/ui/lib/document-display";
21
+ import { getEslogSelectionState } from "@/ui/lib/eslog-export";
19
22
  import { getFiscalizationFailureType } from "@/ui/lib/fiscalization";
20
23
  import { createTranslation } from "@/ui/lib/translation";
21
- import { useSDK } from "@/ui/providers/sdk-provider";
22
24
 
23
25
  import CreditNoteListRowActions from "./list-row-actions";
24
26
  import de from "./locales/de";
@@ -58,6 +60,11 @@ type CreditNoteListTableProps = {
58
60
  onDownloadSuccess?: (fileName: string) => void;
59
61
  onDownloadError?: (error: string) => void;
60
62
  onExportSelected?: (documentIds: string[]) => void;
63
+ onExportEslogSelected?: (documentIds: string[]) => void;
64
+ pdfExportDisabled?: boolean;
65
+ pdfExportDisabledTooltip?: string;
66
+ eslogExportDisabled?: boolean;
67
+ eslogExportDisabledTooltip?: string;
61
68
  onRetryFiscalization?: (documentIds: string[]) => void;
62
69
  fiscalizationFeatures?: ("furs" | "fina")[];
63
70
  onCreateNew?: () => void;
@@ -77,6 +84,11 @@ export default function CreditNoteListTable({
77
84
  onDownloadSuccess,
78
85
  onDownloadError,
79
86
  onExportSelected,
87
+ onExportEslogSelected,
88
+ pdfExportDisabled,
89
+ pdfExportDisabledTooltip,
90
+ eslogExportDisabled,
91
+ eslogExportDisabledTooltip,
80
92
  onRetryFiscalization,
81
93
  fiscalizationFeatures,
82
94
  onCreateNew,
@@ -85,23 +97,21 @@ export default function CreditNoteListTable({
85
97
  ...i18nProps
86
98
  }: CreditNoteListTableProps) {
87
99
  const t = createTranslation({
88
- translations,
89
- locale: i18nProps.translationLocale ?? i18nProps.locale,
90
100
  ...i18nProps,
101
+ translations,
91
102
  });
92
103
 
93
- const { sdk } = useSDK();
94
104
  const [selectedIds, setSelectedIds] = useState<Set<string>>(new Set());
95
105
 
96
106
  const handleFetch = useTableFetch(async (params: TableQueryParams) => {
97
- if (!sdk) throw new Error("SDK not initialized");
98
107
  if (!params.entity_id) throw new Error("Entity ID required");
99
108
 
100
- const response = await sdk.creditNotes.list({
109
+ const response = await creditNotes.list({
101
110
  entity_id: params.entity_id,
102
111
  limit: params.limit,
103
112
  next_cursor: params.next_cursor,
104
113
  prev_cursor: params.prev_cursor,
114
+ order_by: params.order_by,
105
115
  search: params.search,
106
116
  query: params.query,
107
117
  include: "document_relations",
@@ -126,6 +136,12 @@ export default function CreditNoteListTable({
126
136
  }
127
137
  }, [selectedIds, onExportSelected]);
128
138
 
139
+ const handleExportEslog = useCallback(() => {
140
+ if (selectedIds.size > 0 && onExportEslogSelected) {
141
+ onExportEslogSelected(Array.from(selectedIds));
142
+ }
143
+ }, [selectedIds, onExportEslogSelected]);
144
+
129
145
  const handleDeselectAll = useCallback(() => {
130
146
  setSelectedIds(new Set());
131
147
  }, []);
@@ -133,6 +149,7 @@ export default function CreditNoteListTable({
133
149
  const selectionToolbar = useCallback(
134
150
  (count: number, data: CreditNote[]) => {
135
151
  const selectedDocs = data.filter((d) => selectedIds.has(d.id));
152
+ const eslogSelection = getEslogSelectionState(selectedDocs);
136
153
  const failedDocs = selectedDocs.filter((d) => {
137
154
  const failureType = getFiscalizationFailureType(d as any);
138
155
  return failureType && fiscalizationFeatures?.includes(failureType);
@@ -148,6 +165,23 @@ export default function CreditNoteListTable({
148
165
  <SelectionToolbar
149
166
  selectedCount={count}
150
167
  onExportPdfs={onExportSelected ? handleExportPdfs : undefined}
168
+ exportPdfsDisabled={pdfExportDisabled}
169
+ exportPdfsTooltip={pdfExportDisabledTooltip}
170
+ onExportEslog={onExportEslogSelected ? handleExportEslog : undefined}
171
+ exportEslogDisabled={eslogExportDisabled || eslogSelection.noneEligible}
172
+ exportEslogTooltip={
173
+ eslogExportDisabled
174
+ ? eslogExportDisabledTooltip
175
+ : eslogSelection.noneEligible
176
+ ? t("None of the selected documents are valid for e-SLOG export")
177
+ : undefined
178
+ }
179
+ exportEslogWarning={!eslogExportDisabled && eslogSelection.partiallyEligible}
180
+ exportEslogWarningTooltip={
181
+ !eslogExportDisabled && eslogSelection.partiallyEligible
182
+ ? t("Some selected documents are not valid for e-SLOG export and will be skipped")
183
+ : undefined
184
+ }
151
185
  onRetryFiscalization={showRetry ? () => onRetryFiscalization(failedDocs.map((d) => d.id)) : undefined}
152
186
  retryFiscalizationDisabled={someFailed && !allFailed}
153
187
  retryFiscalizationTooltip={
@@ -160,8 +194,14 @@ export default function CreditNoteListTable({
160
194
  },
161
195
  [
162
196
  handleExportPdfs,
197
+ handleExportEslog,
163
198
  handleDeselectAll,
164
199
  onExportSelected,
200
+ onExportEslogSelected,
201
+ pdfExportDisabled,
202
+ pdfExportDisabledTooltip,
203
+ eslogExportDisabled,
204
+ eslogExportDisabledTooltip,
165
205
  onRetryFiscalization,
166
206
  fiscalizationFeatures,
167
207
  selectedIds,
@@ -174,13 +214,16 @@ export default function CreditNoteListTable({
174
214
  {
175
215
  id: "number",
176
216
  header: t("Number"),
217
+ sort: {
218
+ defaultDirection: "desc",
219
+ },
177
220
  cell: (creditNote) => {
178
221
  const failureType = getFiscalizationFailureType(creditNote as any);
179
222
  const showWarning = failureType && fiscalizationFeatures?.includes(failureType);
180
223
  return (
181
224
  <div className="flex items-center gap-2">
182
225
  <Button variant="link" className="cursor-pointer py-0 underline" onClick={() => onRowClick?.(creditNote)}>
183
- {creditNote.number}
226
+ {getDisplayDocumentNumber(creditNote as CreditNote & { is_draft?: boolean }, t)}
184
227
  </Button>
185
228
  {(creditNote as any).is_draft && (
186
229
  <Badge
@@ -212,18 +255,27 @@ export default function CreditNoteListTable({
212
255
  {
213
256
  id: "date",
214
257
  header: t("Date"),
258
+ sort: {
259
+ defaultDirection: "desc",
260
+ },
215
261
  cell: (creditNote) => <FormattedDate date={creditNote.date} locale={i18nProps.locale} />,
216
262
  },
217
263
  {
218
264
  id: "total",
219
265
  header: t("Total"),
220
266
  align: "right",
267
+ sort: {
268
+ defaultDirection: "desc",
269
+ },
221
270
  cell: (creditNote) => -creditNote.total,
222
271
  },
223
272
  {
224
273
  id: "total_with_tax",
225
274
  header: t("Total with Tax"),
226
275
  align: "right",
276
+ sort: {
277
+ defaultDirection: "desc",
278
+ },
227
279
  cell: (creditNote) => -creditNote.total_with_tax,
228
280
  },
229
281
  {
@@ -282,7 +334,7 @@ export default function CreditNoteListTable({
282
334
  filterConfig={filterConfig}
283
335
  t={t}
284
336
  locale={i18nProps.locale}
285
- selectable={!!(onExportSelected || onRetryFiscalization)}
337
+ selectable={!!(onExportSelected || onExportEslogSelected || onRetryFiscalization)}
286
338
  selectedIds={selectedIds}
287
339
  onSelectionChange={setSelectedIds}
288
340
  selectionToolbar={selectionToolbar}
@@ -0,0 +1,48 @@
1
+ export default {
2
+ "Your list is empty": "Your credit note list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first credit note",
4
+ "Create new": "Create credit note",
5
+ "No results found": "No credit notes found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Partially Paid": "Partially Paid",
10
+ Voided: "Анулирана",
11
+ "FURS fiscalization failed": "FURS fiscalization failed",
12
+ "FINA fiscalization failed": "FINA fiscalization failed",
13
+ "Retry Fiscalization": "Retry Fiscalization",
14
+ "Some selected documents don't have failed fiscalization": "Some selected documents don't have failed fiscalization",
15
+ Void: "Void",
16
+ "Cannot void a fiscalized credit note": "Cannot void a fiscalized credit note",
17
+ Draft: "Draft",
18
+ Number: "Номер",
19
+ Customer: "Клиент",
20
+ Date: "Дата",
21
+ Total: "Общо",
22
+ "Total with Tax": "Total with Tax",
23
+ Status: "Статус",
24
+ Actions: "Действия",
25
+ "Open menu": "Отворете менюто",
26
+ "Copy credit note ID": "Copy credit note ID",
27
+ "View credit note": "View credit note",
28
+ "Download PDF": "Изтегли PDF",
29
+ "Downloading...": "Изтегляне...",
30
+ "Add Payment": "Добави плащане",
31
+ Duplicate: "Duplicate",
32
+ "Failed to download PDF": "Неуспешно изтегляне на PDF",
33
+ "Credit Note": "Кредитно известие",
34
+ "Search...": "Search...",
35
+ Filters: "Filters",
36
+ "Date Range": "Период",
37
+ From: "From",
38
+ To: "To",
39
+ "Clear filters": "Clear filters",
40
+ Paid: "Платено",
41
+ Unpaid: "Unpaid",
42
+ Overdue: "Просрочени",
43
+ "Created At": "Created At",
44
+ Unshare: "Прекрати споделяне",
45
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
46
+ "Clear search": "Clear search",
47
+ "Clear all": "Clear all",
48
+ } as const;
@@ -0,0 +1,48 @@
1
+ export default {
2
+ "Your list is empty": "Your credit note list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first credit note",
4
+ "Create new": "Create credit note",
5
+ "No results found": "No credit notes found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Partially Paid": "Partially Paid",
10
+ Voided: "Stornováno",
11
+ "FURS fiscalization failed": "FURS fiscalization failed",
12
+ "FINA fiscalization failed": "FINA fiscalization failed",
13
+ "Retry Fiscalization": "Retry Fiscalization",
14
+ "Some selected documents don't have failed fiscalization": "Some selected documents don't have failed fiscalization",
15
+ Void: "Void",
16
+ "Cannot void a fiscalized credit note": "Cannot void a fiscalized credit note",
17
+ Draft: "Draft",
18
+ Number: "Číslo",
19
+ Customer: "Zákazník",
20
+ Date: "Datum",
21
+ Total: "Celkem",
22
+ "Total with Tax": "Total with Tax",
23
+ Status: "Stav",
24
+ Actions: "Akce",
25
+ "Open menu": "Otevřít nabídku",
26
+ "Copy credit note ID": "Copy credit note ID",
27
+ "View credit note": "View credit note",
28
+ "Download PDF": "Stáhnout PDF",
29
+ "Downloading...": "Stahování...",
30
+ "Add Payment": "Přidat platbu",
31
+ Duplicate: "Duplicate",
32
+ "Failed to download PDF": "Stažení PDF se nezdařilo",
33
+ "Credit Note": "Dobropis",
34
+ "Search...": "Search...",
35
+ Filters: "Filters",
36
+ "Date Range": "Časový rozsah",
37
+ From: "From",
38
+ To: "To",
39
+ "Clear filters": "Clear filters",
40
+ Paid: "Zaplaceno",
41
+ Unpaid: "Unpaid",
42
+ Overdue: "Po splatnosti",
43
+ "Created At": "Created At",
44
+ Unshare: "Zrušit sdílení",
45
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
46
+ "Clear search": "Clear search",
47
+ "Clear all": "Clear all",
48
+ } as const;