@spaceinvoices/react-ui 0.4.10 → 0.4.12

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 (638) hide show
  1. package/README.md +24 -8
  2. package/cli/dist/index.js +89 -26
  3. package/package.json +6 -2
  4. package/registry.json +30 -31
  5. package/spaceinvoices.schema.json +6 -1
  6. package/src/common/autocomplete.tsx +41 -25
  7. package/src/components/activities/locales/bg.ts +21 -0
  8. package/src/components/activities/locales/cs.ts +21 -0
  9. package/src/components/activities/locales/en.ts +21 -0
  10. package/src/components/activities/locales/et.ts +21 -0
  11. package/src/components/activities/locales/fi.ts +21 -0
  12. package/src/components/activities/locales/is.ts +21 -0
  13. package/src/components/activities/locales/nb.ts +21 -0
  14. package/src/components/activities/locales/sk.ts +21 -0
  15. package/src/components/activities/locales/sv.ts +21 -0
  16. package/src/components/advance-invoices/advance-invoices.hooks.ts +2 -3
  17. package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +290 -69
  18. package/src/components/advance-invoices/create/locales/bg.ts +48 -0
  19. package/src/components/advance-invoices/create/locales/cs.ts +48 -0
  20. package/src/components/advance-invoices/create/locales/en.ts +48 -0
  21. package/src/components/advance-invoices/create/locales/et.ts +48 -0
  22. package/src/components/advance-invoices/create/locales/fi.ts +48 -0
  23. package/src/components/advance-invoices/create/locales/hr.ts +17 -17
  24. package/src/components/advance-invoices/create/locales/is.ts +48 -0
  25. package/src/components/advance-invoices/create/locales/nb.ts +48 -0
  26. package/src/components/advance-invoices/create/locales/sk.ts +48 -0
  27. package/src/components/advance-invoices/create/locales/sl.ts +9 -7
  28. package/src/components/advance-invoices/create/locales/sv.ts +48 -0
  29. package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +16 -2
  30. package/src/components/advance-invoices/list/list-row-actions.tsx +48 -16
  31. package/src/components/advance-invoices/list/list-table.tsx +33 -8
  32. package/src/components/advance-invoices/list/locales/bg.ts +51 -0
  33. package/src/components/advance-invoices/list/locales/cs.ts +51 -0
  34. package/src/components/advance-invoices/list/locales/en.ts +33 -2
  35. package/src/components/advance-invoices/list/locales/et.ts +51 -0
  36. package/src/components/advance-invoices/list/locales/fi.ts +51 -0
  37. package/src/components/advance-invoices/list/locales/hr.ts +15 -15
  38. package/src/components/advance-invoices/list/locales/is.ts +51 -0
  39. package/src/components/advance-invoices/list/locales/nb.ts +51 -0
  40. package/src/components/advance-invoices/list/locales/sk.ts +51 -0
  41. package/src/components/advance-invoices/list/locales/sv.ts +51 -0
  42. package/src/components/advance-invoices/list/use-advance-invoice-download.ts +3 -5
  43. package/src/components/common/autocomplete-locales.ts +101 -0
  44. package/src/components/company-registry/company-registry.hooks.ts +3 -7
  45. package/src/components/credit-notes/create/create-credit-note-form.tsx +211 -22
  46. package/src/components/credit-notes/create/locales/bg.ts +87 -0
  47. package/src/components/credit-notes/create/locales/cs.ts +87 -0
  48. package/src/components/credit-notes/create/locales/en.ts +87 -0
  49. package/src/components/credit-notes/create/locales/et.ts +87 -0
  50. package/src/components/credit-notes/create/locales/fi.ts +87 -0
  51. package/src/components/credit-notes/create/locales/hr.ts +24 -24
  52. package/src/components/credit-notes/create/locales/is.ts +87 -0
  53. package/src/components/credit-notes/create/locales/nb.ts +87 -0
  54. package/src/components/credit-notes/create/locales/sk.ts +87 -0
  55. package/src/components/credit-notes/create/locales/sl.ts +9 -9
  56. package/src/components/credit-notes/create/locales/sv.ts +87 -0
  57. package/src/components/credit-notes/create/prepare-credit-note-submission.ts +32 -0
  58. package/src/components/credit-notes/credit-notes.hooks.ts +15 -3
  59. package/src/components/credit-notes/list/list-row-actions.tsx +19 -7
  60. package/src/components/credit-notes/list/list-table.tsx +58 -7
  61. package/src/components/credit-notes/list/locales/bg.ts +48 -0
  62. package/src/components/credit-notes/list/locales/cs.ts +48 -0
  63. package/src/components/credit-notes/list/locales/en.ts +31 -2
  64. package/src/components/credit-notes/list/locales/et.ts +48 -0
  65. package/src/components/credit-notes/list/locales/fi.ts +48 -0
  66. package/src/components/credit-notes/list/locales/hr.ts +12 -12
  67. package/src/components/credit-notes/list/locales/is.ts +48 -0
  68. package/src/components/credit-notes/list/locales/nb.ts +48 -0
  69. package/src/components/credit-notes/list/locales/sk.ts +48 -0
  70. package/src/components/credit-notes/list/locales/sv.ts +48 -0
  71. package/src/components/credit-notes/list/use-credit-note-download.ts +3 -5
  72. package/src/components/customers/create-customer-form/locales/bg.ts +21 -0
  73. package/src/components/customers/create-customer-form/locales/cs.ts +21 -0
  74. package/src/components/customers/create-customer-form/locales/en.ts +21 -0
  75. package/src/components/customers/create-customer-form/locales/et.ts +21 -0
  76. package/src/components/customers/create-customer-form/locales/fi.ts +21 -0
  77. package/src/components/customers/create-customer-form/locales/hr.ts +11 -11
  78. package/src/components/customers/create-customer-form/locales/is.ts +21 -0
  79. package/src/components/customers/create-customer-form/locales/nb.ts +21 -0
  80. package/src/components/customers/create-customer-form/locales/sk.ts +21 -0
  81. package/src/components/customers/create-customer-form/locales/sv.ts +21 -0
  82. package/src/components/customers/customer-autocomplete.tsx +32 -4
  83. package/src/components/customers/customer-list-table/customer-list-table.tsx +8 -6
  84. package/src/components/customers/customer-list-table/locales/bg.ts +25 -0
  85. package/src/components/customers/customer-list-table/locales/cs.ts +25 -0
  86. package/src/components/customers/customer-list-table/locales/en.ts +17 -2
  87. package/src/components/customers/customer-list-table/locales/et.ts +25 -0
  88. package/src/components/customers/customer-list-table/locales/fi.ts +25 -0
  89. package/src/components/customers/customer-list-table/locales/hr.ts +11 -11
  90. package/src/components/customers/customer-list-table/locales/is.ts +25 -0
  91. package/src/components/customers/customer-list-table/locales/nb.ts +25 -0
  92. package/src/components/customers/customer-list-table/locales/sk.ts +25 -0
  93. package/src/components/customers/customer-list-table/locales/sv.ts +25 -0
  94. package/src/components/customers/customers.hooks.ts +14 -17
  95. package/src/components/customers/edit-customer-form/locales/bg.ts +13 -0
  96. package/src/components/customers/edit-customer-form/locales/cs.ts +13 -0
  97. package/src/components/customers/edit-customer-form/locales/en.ts +13 -0
  98. package/src/components/customers/edit-customer-form/locales/et.ts +13 -0
  99. package/src/components/customers/edit-customer-form/locales/fi.ts +13 -0
  100. package/src/components/customers/edit-customer-form/locales/hr.ts +5 -5
  101. package/src/components/customers/edit-customer-form/locales/is.ts +13 -0
  102. package/src/components/customers/edit-customer-form/locales/nb.ts +13 -0
  103. package/src/components/customers/edit-customer-form/locales/sk.ts +13 -0
  104. package/src/components/customers/edit-customer-form/locales/sv.ts +13 -0
  105. package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +7 -6
  106. package/src/components/dashboard/collection-rate-card/locales/en.ts +3 -0
  107. package/src/components/dashboard/collection-rate-card/use-collection-rate.ts +8 -7
  108. package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +7 -4
  109. package/src/components/dashboard/invoice-status-chart/locales/bg.ts +5 -5
  110. package/src/components/dashboard/invoice-status-chart/locales/cs.ts +5 -5
  111. package/src/components/dashboard/invoice-status-chart/locales/de.ts +1 -1
  112. package/src/components/dashboard/invoice-status-chart/locales/en.ts +10 -0
  113. package/src/components/dashboard/invoice-status-chart/locales/es.ts +1 -1
  114. package/src/components/dashboard/invoice-status-chart/locales/et.ts +5 -5
  115. package/src/components/dashboard/invoice-status-chart/locales/fi.ts +5 -5
  116. package/src/components/dashboard/invoice-status-chart/locales/fr.ts +1 -1
  117. package/src/components/dashboard/invoice-status-chart/locales/hr.ts +5 -5
  118. package/src/components/dashboard/invoice-status-chart/locales/is.ts +5 -5
  119. package/src/components/dashboard/invoice-status-chart/locales/it.ts +1 -1
  120. package/src/components/dashboard/invoice-status-chart/locales/nb.ts +5 -5
  121. package/src/components/dashboard/invoice-status-chart/locales/nl.ts +1 -1
  122. package/src/components/dashboard/invoice-status-chart/locales/pl.ts +1 -1
  123. package/src/components/dashboard/invoice-status-chart/locales/pt.ts +1 -1
  124. package/src/components/dashboard/invoice-status-chart/locales/sk.ts +5 -5
  125. package/src/components/dashboard/invoice-status-chart/locales/sl.ts +1 -1
  126. package/src/components/dashboard/invoice-status-chart/locales/sv.ts +5 -5
  127. package/src/components/dashboard/payment-methods-chart/locales/bg.ts +5 -5
  128. package/src/components/dashboard/payment-methods-chart/locales/cs.ts +5 -5
  129. package/src/components/dashboard/payment-methods-chart/locales/en.ts +12 -0
  130. package/src/components/dashboard/payment-methods-chart/locales/et.ts +5 -5
  131. package/src/components/dashboard/payment-methods-chart/locales/fi.ts +6 -6
  132. package/src/components/dashboard/payment-methods-chart/locales/hr.ts +3 -3
  133. package/src/components/dashboard/payment-methods-chart/locales/is.ts +5 -5
  134. package/src/components/dashboard/payment-methods-chart/locales/nb.ts +5 -5
  135. package/src/components/dashboard/payment-methods-chart/locales/sk.ts +5 -5
  136. package/src/components/dashboard/payment-methods-chart/locales/sv.ts +5 -5
  137. package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +4 -3
  138. package/src/components/dashboard/payment-trend-chart/locales/bg.ts +1 -1
  139. package/src/components/dashboard/payment-trend-chart/locales/cs.ts +1 -1
  140. package/src/components/dashboard/payment-trend-chart/locales/en.ts +6 -0
  141. package/src/components/dashboard/payment-trend-chart/locales/et.ts +1 -1
  142. package/src/components/dashboard/payment-trend-chart/locales/fi.ts +1 -1
  143. package/src/components/dashboard/payment-trend-chart/locales/is.ts +1 -1
  144. package/src/components/dashboard/payment-trend-chart/locales/nb.ts +1 -1
  145. package/src/components/dashboard/payment-trend-chart/locales/sk.ts +1 -1
  146. package/src/components/dashboard/payment-trend-chart/locales/sv.ts +1 -1
  147. package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +4 -3
  148. package/src/components/dashboard/payment-trend-chart/use-payment-trend.ts +12 -9
  149. package/src/components/dashboard/revenue-card.tsx +3 -3
  150. package/src/components/dashboard/revenue-trend-chart/locales/bg.ts +1 -1
  151. package/src/components/dashboard/revenue-trend-chart/locales/cs.ts +1 -1
  152. package/src/components/dashboard/revenue-trend-chart/locales/en.ts +6 -0
  153. package/src/components/dashboard/revenue-trend-chart/locales/et.ts +1 -1
  154. package/src/components/dashboard/revenue-trend-chart/locales/fi.ts +1 -1
  155. package/src/components/dashboard/revenue-trend-chart/locales/is.ts +1 -1
  156. package/src/components/dashboard/revenue-trend-chart/locales/nb.ts +1 -1
  157. package/src/components/dashboard/revenue-trend-chart/locales/sk.ts +1 -1
  158. package/src/components/dashboard/revenue-trend-chart/locales/sv.ts +1 -1
  159. package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +4 -3
  160. package/src/components/dashboard/revenue-trend-chart/use-revenue-trend.ts +4 -3
  161. package/src/components/dashboard/shared/local-date.ts +11 -0
  162. package/src/components/dashboard/shared/use-revenue-data.ts +6 -5
  163. package/src/components/dashboard/shared/use-stats-query.ts +7 -11
  164. package/src/components/dashboard/stat-card.tsx +3 -3
  165. package/src/components/dashboard/tax-collected-card/tax-collected-card.tsx +11 -9
  166. package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +3 -2
  167. package/src/components/dashboard/top-customers-chart/locales/bg.ts +2 -2
  168. package/src/components/dashboard/top-customers-chart/locales/cs.ts +2 -2
  169. package/src/components/dashboard/top-customers-chart/locales/en.ts +7 -0
  170. package/src/components/dashboard/top-customers-chart/locales/et.ts +2 -2
  171. package/src/components/dashboard/top-customers-chart/locales/fi.ts +2 -2
  172. package/src/components/dashboard/top-customers-chart/locales/is.ts +2 -2
  173. package/src/components/dashboard/top-customers-chart/locales/nb.ts +2 -2
  174. package/src/components/dashboard/top-customers-chart/locales/sk.ts +2 -2
  175. package/src/components/dashboard/top-customers-chart/locales/sv.ts +2 -2
  176. package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +4 -3
  177. package/src/components/dashboard/top-customers-chart/use-top-customers.ts +7 -20
  178. package/src/components/delivery-notes/create/create-delivery-note-form.tsx +61 -31
  179. package/src/components/delivery-notes/create/locales/bg.ts +68 -0
  180. package/src/components/delivery-notes/create/locales/cs.ts +68 -0
  181. package/src/components/delivery-notes/create/locales/en.ts +68 -0
  182. package/src/components/delivery-notes/create/locales/et.ts +68 -0
  183. package/src/components/delivery-notes/create/locales/fi.ts +68 -0
  184. package/src/components/delivery-notes/create/locales/hr.ts +6 -6
  185. package/src/components/delivery-notes/create/locales/is.ts +68 -0
  186. package/src/components/delivery-notes/create/locales/nb.ts +68 -0
  187. package/src/components/delivery-notes/create/locales/sk.ts +68 -0
  188. package/src/components/delivery-notes/create/locales/sl.ts +5 -5
  189. package/src/components/delivery-notes/create/locales/sv.ts +68 -0
  190. package/src/components/delivery-notes/delivery-notes.hooks.ts +20 -3
  191. package/src/components/delivery-notes/list/list-row-actions.tsx +62 -16
  192. package/src/components/delivery-notes/list/list-table.tsx +42 -9
  193. package/src/components/delivery-notes/list/locales/bg.ts +40 -0
  194. package/src/components/delivery-notes/list/locales/cs.ts +40 -0
  195. package/src/components/delivery-notes/list/locales/et.ts +40 -0
  196. package/src/components/delivery-notes/list/locales/fi.ts +40 -0
  197. package/src/components/delivery-notes/list/locales/is.ts +40 -0
  198. package/src/components/delivery-notes/list/locales/nb.ts +40 -0
  199. package/src/components/delivery-notes/list/locales/sk.ts +40 -0
  200. package/src/components/delivery-notes/list/locales/sv.ts +40 -0
  201. package/src/components/delivery-notes/list/use-delivery-note-download.ts +3 -5
  202. package/src/components/documents/create/document-add-item-form.tsx +256 -147
  203. package/src/components/documents/create/document-add-item-tax-rate-field.tsx +2 -1
  204. package/src/components/documents/create/document-details-section.tsx +30 -12
  205. package/src/components/documents/create/document-item-validation.ts +50 -0
  206. package/src/components/documents/create/document-items-section.tsx +44 -6
  207. package/src/components/documents/create/document-recipient-section.tsx +10 -2
  208. package/src/components/documents/create/linked-documents-info.tsx +4 -3
  209. package/src/components/documents/create/live-preview.tsx +19 -15
  210. package/src/components/documents/create/mark-as-paid-section.tsx +77 -20
  211. package/src/components/documents/create/payment-rows.ts +291 -0
  212. package/src/components/documents/create/prepare-document-submission.ts +24 -13
  213. package/src/components/documents/create/scroll-to-first-invalid-field.ts +27 -0
  214. package/src/components/documents/create/smart-code-insert-button.tsx +5 -53
  215. package/src/components/documents/create/use-document-customer-form.ts +74 -25
  216. package/src/components/documents/documents.hooks.ts +3 -5
  217. package/src/components/documents/index.ts +1 -0
  218. package/src/components/documents/public/index.ts +1 -0
  219. package/src/components/documents/public/public-document-summary.tsx +343 -0
  220. package/src/components/documents/shared/document-preview-display.tsx +65 -39
  221. package/src/components/documents/shared/index.ts +6 -1
  222. package/src/components/documents/shared/scaled-document-preview.tsx +33 -19
  223. package/src/components/documents/types.ts +24 -0
  224. package/src/components/documents/view/document-actions-bar.tsx +241 -62
  225. package/src/components/documents/view/document-activities-list.tsx +23 -11
  226. package/src/components/documents/view/document-details-card.tsx +7 -27
  227. package/src/components/documents/view/document-payments-list.tsx +114 -57
  228. package/src/components/documents/view/document-relations-list.tsx +26 -6
  229. package/src/components/documents/view/document-sidebar.tsx +25 -3
  230. package/src/components/documents/view/document-version-history.tsx +137 -0
  231. package/src/components/documents/view/index.ts +1 -0
  232. package/src/components/documents/view/locales/bg.ts +143 -0
  233. package/src/components/documents/view/locales/cs.ts +143 -0
  234. package/src/components/documents/view/locales/de.ts +13 -0
  235. package/src/components/documents/view/locales/en.ts +143 -0
  236. package/src/components/documents/view/locales/es.ts +13 -0
  237. package/src/components/documents/view/locales/et.ts +143 -0
  238. package/src/components/documents/view/locales/fi.ts +143 -0
  239. package/src/components/documents/view/locales/fr.ts +13 -0
  240. package/src/components/documents/view/locales/hr.ts +13 -0
  241. package/src/components/documents/view/locales/is.ts +143 -0
  242. package/src/components/documents/view/locales/it.ts +13 -0
  243. package/src/components/documents/view/locales/nb.ts +143 -0
  244. package/src/components/documents/view/locales/nl.ts +13 -0
  245. package/src/components/documents/view/locales/pl.ts +13 -0
  246. package/src/components/documents/view/locales/pt.ts +13 -0
  247. package/src/components/documents/view/locales/sk.ts +143 -0
  248. package/src/components/documents/view/locales/sl.ts +13 -0
  249. package/src/components/documents/view/locales/sv.ts +143 -0
  250. package/src/components/documents/view/use-document-download.ts +18 -17
  251. package/src/components/entities/create-entity-form.tsx +200 -12
  252. package/src/components/entities/entities.hooks.ts +15 -7
  253. package/src/components/entities/entity-settings-form/entity-settings-form.tsx +131 -75
  254. package/src/components/entities/entity-settings-form/input-with-preview.tsx +28 -4
  255. package/src/components/entities/entity-settings-form/locales/bg.ts +199 -0
  256. package/src/components/entities/entity-settings-form/locales/cs.ts +199 -0
  257. package/src/components/entities/entity-settings-form/locales/de.ts +18 -3
  258. package/src/components/entities/entity-settings-form/locales/en.ts +199 -0
  259. package/src/components/entities/entity-settings-form/locales/es.ts +18 -3
  260. package/src/components/entities/entity-settings-form/locales/et.ts +198 -0
  261. package/src/components/entities/entity-settings-form/locales/fi.ts +199 -0
  262. package/src/components/entities/entity-settings-form/locales/fr.ts +18 -3
  263. package/src/components/entities/entity-settings-form/locales/hr.ts +26 -11
  264. package/src/components/entities/entity-settings-form/locales/is.ts +199 -0
  265. package/src/components/entities/entity-settings-form/locales/it.ts +18 -3
  266. package/src/components/entities/entity-settings-form/locales/nb.ts +199 -0
  267. package/src/components/entities/entity-settings-form/locales/nl.ts +18 -3
  268. package/src/components/entities/entity-settings-form/locales/pl.ts +18 -3
  269. package/src/components/entities/entity-settings-form/locales/pt.ts +18 -3
  270. package/src/components/entities/entity-settings-form/locales/sk.ts +199 -0
  271. package/src/components/entities/entity-settings-form/locales/sl.ts +30 -15
  272. package/src/components/entities/entity-settings-form/locales/sv.ts +205 -0
  273. package/src/components/entities/fina-settings-form/fina-operator-required-dialog.tsx +34 -9
  274. package/src/components/entities/fina-settings-form/fina-settings-form.tsx +2 -0
  275. package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +14 -45
  276. package/src/components/entities/fina-settings-form/locales/bg.ts +163 -0
  277. package/src/components/entities/fina-settings-form/locales/cs.ts +163 -0
  278. package/src/components/entities/fina-settings-form/locales/et.ts +163 -0
  279. package/src/components/entities/fina-settings-form/locales/fi.ts +163 -0
  280. package/src/components/entities/fina-settings-form/locales/hr.ts +11 -10
  281. package/src/components/entities/fina-settings-form/locales/is.ts +164 -0
  282. package/src/components/entities/fina-settings-form/locales/nb.ts +163 -0
  283. package/src/components/entities/fina-settings-form/locales/sk.ts +163 -0
  284. package/src/components/entities/fina-settings-form/locales/sl.ts +8 -7
  285. package/src/components/entities/fina-settings-form/locales/sv.ts +165 -0
  286. package/src/components/entities/furs-settings-form/furs-operator-required-dialog.tsx +34 -9
  287. package/src/components/entities/furs-settings-form/furs-settings-form.tsx +13 -1
  288. package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +141 -42
  289. package/src/components/entities/furs-settings-form/locales/bg.ts +242 -0
  290. package/src/components/entities/furs-settings-form/locales/cs.ts +241 -0
  291. package/src/components/entities/furs-settings-form/locales/de.ts +42 -15
  292. package/src/components/entities/furs-settings-form/locales/en.ts +24 -0
  293. package/src/components/entities/furs-settings-form/locales/es.ts +42 -15
  294. package/src/components/entities/furs-settings-form/locales/et.ts +242 -0
  295. package/src/components/entities/furs-settings-form/locales/fi.ts +243 -0
  296. package/src/components/entities/furs-settings-form/locales/fr.ts +43 -15
  297. package/src/components/entities/furs-settings-form/locales/hr.ts +44 -19
  298. package/src/components/entities/furs-settings-form/locales/is.ts +242 -0
  299. package/src/components/entities/furs-settings-form/locales/it.ts +42 -15
  300. package/src/components/entities/furs-settings-form/locales/nb.ts +242 -0
  301. package/src/components/entities/furs-settings-form/locales/nl.ts +42 -15
  302. package/src/components/entities/furs-settings-form/locales/pl.ts +40 -15
  303. package/src/components/entities/furs-settings-form/locales/pt.ts +42 -15
  304. package/src/components/entities/furs-settings-form/locales/sk.ts +243 -0
  305. package/src/components/entities/furs-settings-form/locales/sl.ts +34 -10
  306. package/src/components/entities/furs-settings-form/locales/sv.ts +242 -0
  307. package/src/components/entities/furs-settings-form/sections/enable-fiscalization-section.tsx +11 -0
  308. package/src/components/entities/furs-settings-form/sections/furs-internal-act-download-card.tsx +111 -0
  309. package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +27 -0
  310. package/src/components/entities/furs-settings-form/sections/premises-management-section.tsx +23 -16
  311. package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +89 -31
  312. package/src/components/entities/settings/branding-settings-form.tsx +11 -30
  313. package/src/components/entities/settings/company-settings-form.tsx +2 -1
  314. package/src/components/entities/settings/defaults-settings-form.tsx +112 -9
  315. package/src/components/entities/settings/email-settings-form.tsx +245 -3
  316. package/src/components/entities/settings/eslog-settings-form.tsx +2 -1
  317. package/src/components/entities/settings/number-format-settings-form.tsx +2 -1
  318. package/src/components/entities/settings/pdf-template-selector/locales/bg.ts +20 -0
  319. package/src/components/entities/settings/pdf-template-selector/locales/cs.ts +20 -0
  320. package/src/components/entities/settings/pdf-template-selector/locales/en.ts +20 -0
  321. package/src/components/entities/settings/pdf-template-selector/locales/et.ts +19 -0
  322. package/src/components/entities/settings/pdf-template-selector/locales/fi.ts +20 -0
  323. package/src/components/entities/settings/pdf-template-selector/locales/is.ts +19 -0
  324. package/src/components/entities/settings/pdf-template-selector/locales/nb.ts +19 -0
  325. package/src/components/entities/settings/pdf-template-selector/locales/sk.ts +20 -0
  326. package/src/components/entities/settings/pdf-template-selector/locales/sv.ts +19 -0
  327. package/src/components/entities/settings/tax-rules-settings-form.tsx +21 -6
  328. package/src/components/estimates/create/create-estimate-form.tsx +70 -34
  329. package/src/components/estimates/create/locales/bg.ts +76 -0
  330. package/src/components/estimates/create/locales/cs.ts +76 -0
  331. package/src/components/estimates/create/locales/en.ts +76 -0
  332. package/src/components/estimates/create/locales/et.ts +76 -0
  333. package/src/components/estimates/create/locales/fi.ts +76 -0
  334. package/src/components/estimates/create/locales/hr.ts +8 -8
  335. package/src/components/estimates/create/locales/is.ts +76 -0
  336. package/src/components/estimates/create/locales/nb.ts +76 -0
  337. package/src/components/estimates/create/locales/sk.ts +76 -0
  338. package/src/components/estimates/create/locales/sl.ts +8 -8
  339. package/src/components/estimates/create/locales/sv.ts +76 -0
  340. package/src/components/estimates/create/prepare-estimate-submission.ts +4 -1
  341. package/src/components/estimates/estimates.hooks.ts +15 -3
  342. package/src/components/estimates/list/list-row-actions.tsx +34 -7
  343. package/src/components/estimates/list/list-table.tsx +78 -10
  344. package/src/components/estimates/list/locales/bg.ts +38 -0
  345. package/src/components/estimates/list/locales/cs.ts +38 -0
  346. package/src/components/estimates/list/locales/en.ts +27 -2
  347. package/src/components/estimates/list/locales/et.ts +38 -0
  348. package/src/components/estimates/list/locales/fi.ts +38 -0
  349. package/src/components/estimates/list/locales/hr.ts +2 -2
  350. package/src/components/estimates/list/locales/is.ts +38 -0
  351. package/src/components/estimates/list/locales/nb.ts +38 -0
  352. package/src/components/estimates/list/locales/sk.ts +38 -0
  353. package/src/components/estimates/list/locales/sv.ts +38 -0
  354. package/src/components/estimates/list/use-estimate-download.ts +3 -5
  355. package/src/components/export/document-export-form.tsx +72 -15
  356. package/src/components/export/sales-per-item-export-form.tsx +3 -2
  357. package/src/components/invoices/create/create-invoice-form.tsx +294 -76
  358. package/src/components/invoices/create/eslog-validation.ts +97 -8
  359. package/src/components/invoices/create/locales/bg.ts +164 -0
  360. package/src/components/invoices/create/locales/cs.ts +164 -0
  361. package/src/components/invoices/create/locales/de.ts +24 -0
  362. package/src/components/invoices/create/locales/en.ts +164 -0
  363. package/src/components/invoices/create/locales/es.ts +24 -0
  364. package/src/components/invoices/create/locales/et.ts +164 -0
  365. package/src/components/invoices/create/locales/fi.ts +164 -0
  366. package/src/components/invoices/create/locales/fr.ts +23 -0
  367. package/src/components/invoices/create/locales/hr.ts +32 -9
  368. package/src/components/invoices/create/locales/is.ts +164 -0
  369. package/src/components/invoices/create/locales/it.ts +24 -0
  370. package/src/components/invoices/create/locales/nb.ts +164 -0
  371. package/src/components/invoices/create/locales/nl.ts +23 -0
  372. package/src/components/invoices/create/locales/pl.ts +23 -0
  373. package/src/components/invoices/create/locales/pt.ts +24 -0
  374. package/src/components/invoices/create/locales/sk.ts +164 -0
  375. package/src/components/invoices/create/locales/sl.ts +32 -9
  376. package/src/components/invoices/create/locales/sv.ts +166 -0
  377. package/src/components/invoices/create/prepare-invoice-submission.ts +19 -2
  378. package/src/components/invoices/invoices-furs.hooks.ts +11 -8
  379. package/src/components/invoices/invoices.hooks.ts +27 -10
  380. package/src/components/invoices/list/list-row-actions.tsx +54 -21
  381. package/src/components/invoices/list/list-table.tsx +92 -11
  382. package/src/components/invoices/list/locales/bg.ts +49 -0
  383. package/src/components/invoices/list/locales/cs.ts +49 -0
  384. package/src/components/invoices/list/locales/en.ts +34 -2
  385. package/src/components/invoices/list/locales/et.ts +49 -0
  386. package/src/components/invoices/list/locales/fi.ts +49 -0
  387. package/src/components/invoices/list/locales/is.ts +49 -0
  388. package/src/components/invoices/list/locales/nb.ts +49 -0
  389. package/src/components/invoices/list/locales/sk.ts +49 -0
  390. package/src/components/invoices/list/locales/sv.ts +49 -0
  391. package/src/components/invoices/list/use-invoice-download.ts +3 -5
  392. package/src/components/invoices/send-email-dialog/locales/bg.ts +58 -0
  393. package/src/components/invoices/send-email-dialog/locales/cs.ts +58 -0
  394. package/src/components/invoices/send-email-dialog/locales/de.ts +39 -0
  395. package/src/components/invoices/send-email-dialog/locales/en.ts +58 -0
  396. package/src/components/invoices/send-email-dialog/locales/es.ts +39 -0
  397. package/src/components/invoices/send-email-dialog/locales/et.ts +58 -0
  398. package/src/components/invoices/send-email-dialog/locales/fi.ts +58 -0
  399. package/src/components/invoices/send-email-dialog/locales/fr.ts +39 -0
  400. package/src/components/invoices/send-email-dialog/locales/hr.ts +39 -0
  401. package/src/components/invoices/send-email-dialog/locales/is.ts +58 -0
  402. package/src/components/invoices/send-email-dialog/locales/it.ts +39 -0
  403. package/src/components/invoices/send-email-dialog/locales/nb.ts +58 -0
  404. package/src/components/invoices/send-email-dialog/locales/nl.ts +39 -0
  405. package/src/components/invoices/send-email-dialog/locales/pl.ts +39 -0
  406. package/src/components/invoices/send-email-dialog/locales/pt.ts +39 -0
  407. package/src/components/invoices/send-email-dialog/locales/sk.ts +58 -0
  408. package/src/components/invoices/send-email-dialog/locales/sl.ts +39 -0
  409. package/src/components/invoices/send-email-dialog/locales/sv.ts +58 -0
  410. package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +188 -93
  411. package/src/components/invoices/view/eslog-info-display.tsx +2 -0
  412. package/src/components/invoices/view/fiscalization-status-card.tsx +2 -0
  413. package/src/components/items/create-item-form/create-item-form.tsx +29 -0
  414. package/src/components/items/create-item-form/locales/bg.ts +13 -0
  415. package/src/components/items/create-item-form/locales/cs.ts +13 -0
  416. package/src/components/items/create-item-form/locales/et.ts +13 -0
  417. package/src/components/items/create-item-form/locales/fi.ts +13 -0
  418. package/src/components/items/create-item-form/locales/is.ts +13 -0
  419. package/src/components/items/create-item-form/locales/nb.ts +13 -0
  420. package/src/components/items/create-item-form/locales/sk.ts +13 -0
  421. package/src/components/items/create-item-form/locales/sv.ts +13 -0
  422. package/src/components/items/edit-item-form/edit-item-form.tsx +39 -1
  423. package/src/components/items/edit-item-form/locales/bg.ts +12 -0
  424. package/src/components/items/edit-item-form/locales/cs.ts +12 -0
  425. package/src/components/items/edit-item-form/locales/en.ts +12 -0
  426. package/src/components/items/edit-item-form/locales/et.ts +12 -0
  427. package/src/components/items/edit-item-form/locales/fi.ts +12 -0
  428. package/src/components/items/edit-item-form/locales/is.ts +12 -0
  429. package/src/components/items/edit-item-form/locales/nb.ts +12 -0
  430. package/src/components/items/edit-item-form/locales/sk.ts +12 -0
  431. package/src/components/items/edit-item-form/locales/sv.ts +12 -0
  432. package/src/components/items/item-combobox.tsx +51 -18
  433. package/src/components/items/item-list-table/item-list-table.tsx +47 -23
  434. package/src/components/items/item-list-table/locales/bg.ts +16 -0
  435. package/src/components/items/item-list-table/locales/cs.ts +16 -0
  436. package/src/components/items/item-list-table/locales/en.ts +4 -3
  437. package/src/components/items/item-list-table/locales/et.ts +16 -0
  438. package/src/components/items/item-list-table/locales/fi.ts +16 -0
  439. package/src/components/items/item-list-table/locales/is.ts +16 -0
  440. package/src/components/items/item-list-table/locales/nb.ts +16 -0
  441. package/src/components/items/item-list-table/locales/sk.ts +16 -0
  442. package/src/components/items/item-list-table/locales/sv.ts +16 -0
  443. package/src/components/items/items.hooks.ts +15 -15
  444. package/src/components/payments/create-payment-form/create-payment-form.tsx +11 -7
  445. package/src/components/payments/create-payment-form/index.ts +1 -0
  446. package/src/components/payments/create-payment-form/locales/bg.ts +20 -0
  447. package/src/components/payments/create-payment-form/locales/cs.ts +20 -0
  448. package/src/components/payments/create-payment-form/locales/en.ts +20 -0
  449. package/src/components/payments/create-payment-form/locales/et.ts +20 -0
  450. package/src/components/payments/create-payment-form/locales/fi.ts +20 -0
  451. package/src/components/payments/create-payment-form/locales/hr.ts +2 -2
  452. package/src/components/payments/create-payment-form/locales/is.ts +20 -0
  453. package/src/components/payments/create-payment-form/locales/nb.ts +20 -0
  454. package/src/components/payments/create-payment-form/locales/sk.ts +20 -0
  455. package/src/components/payments/create-payment-form/locales/sl.ts +4 -4
  456. package/src/components/payments/create-payment-form/locales/sv.ts +20 -0
  457. package/src/components/payments/edit-payment-form/edit-payment-form.tsx +5 -1
  458. package/src/components/payments/edit-payment-form/locales/bg.ts +20 -0
  459. package/src/components/payments/edit-payment-form/locales/cs.ts +20 -0
  460. package/src/components/payments/edit-payment-form/locales/en.ts +20 -0
  461. package/src/components/payments/edit-payment-form/locales/et.ts +20 -0
  462. package/src/components/payments/edit-payment-form/locales/fi.ts +20 -0
  463. package/src/components/payments/edit-payment-form/locales/hr.ts +2 -2
  464. package/src/components/payments/edit-payment-form/locales/is.ts +20 -0
  465. package/src/components/payments/edit-payment-form/locales/nb.ts +20 -0
  466. package/src/components/payments/edit-payment-form/locales/sk.ts +20 -0
  467. package/src/components/payments/edit-payment-form/locales/sl.ts +4 -4
  468. package/src/components/payments/edit-payment-form/locales/sv.ts +20 -0
  469. package/src/components/payments/list/list-row-actions.tsx +10 -2
  470. package/src/components/payments/list/list-table.tsx +51 -45
  471. package/src/components/payments/list/locales/bg.ts +42 -0
  472. package/src/components/payments/list/locales/cs.ts +42 -0
  473. package/src/components/payments/list/locales/de.ts +18 -0
  474. package/src/components/payments/list/locales/en.ts +37 -2
  475. package/src/components/payments/list/locales/es.ts +18 -0
  476. package/src/components/payments/list/locales/et.ts +42 -0
  477. package/src/components/payments/list/locales/fi.ts +42 -0
  478. package/src/components/payments/list/locales/fr.ts +18 -0
  479. package/src/components/payments/list/locales/hr.ts +18 -0
  480. package/src/components/payments/list/locales/is.ts +42 -0
  481. package/src/components/payments/list/locales/it.ts +18 -0
  482. package/src/components/payments/list/locales/nb.ts +42 -0
  483. package/src/components/payments/list/locales/nl.ts +18 -0
  484. package/src/components/payments/list/locales/pl.ts +18 -0
  485. package/src/components/payments/list/locales/pt.ts +18 -0
  486. package/src/components/payments/list/locales/sk.ts +42 -0
  487. package/src/components/payments/list/locales/sl.ts +18 -1
  488. package/src/components/payments/list/locales/sv.ts +42 -0
  489. package/src/components/payments/payments.hooks.ts +13 -6
  490. package/src/components/recurring-invoices/create-recurring-invoice-form/create-recurring-invoice-form.tsx +23 -17
  491. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/bg.ts +44 -0
  492. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/cs.ts +44 -0
  493. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/en.ts +44 -0
  494. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/et.ts +44 -0
  495. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/fi.ts +44 -0
  496. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/hr.ts +6 -6
  497. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/is.ts +44 -0
  498. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/nb.ts +44 -0
  499. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sk.ts +44 -0
  500. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sl.ts +4 -4
  501. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sv.ts +44 -0
  502. package/src/components/recurring-invoices/list/list-row-actions.tsx +3 -5
  503. package/src/components/recurring-invoices/list/list-table.tsx +10 -7
  504. package/src/components/recurring-invoices/list/locales/bg.ts +28 -0
  505. package/src/components/recurring-invoices/list/locales/cs.ts +28 -0
  506. package/src/components/recurring-invoices/list/locales/en.ts +23 -0
  507. package/src/components/recurring-invoices/list/locales/et.ts +28 -0
  508. package/src/components/recurring-invoices/list/locales/fi.ts +28 -0
  509. package/src/components/recurring-invoices/list/locales/is.ts +28 -0
  510. package/src/components/recurring-invoices/list/locales/nb.ts +28 -0
  511. package/src/components/recurring-invoices/list/locales/sk.ts +28 -0
  512. package/src/components/recurring-invoices/list/locales/sv.ts +28 -0
  513. package/src/components/recurring-invoices/recurring-invoices.hooks.ts +11 -8
  514. package/src/components/request-logs/request-log-detail.tsx +30 -23
  515. package/src/components/request-logs/request-log-list-table.tsx +88 -45
  516. package/src/components/table/README.md +47 -9
  517. package/src/components/table/data-table.tsx +232 -92
  518. package/src/components/table/filter-bar.tsx +1 -1
  519. package/src/components/table/filter-panel.tsx +51 -22
  520. package/src/components/table/hooks/use-table-state.ts +64 -11
  521. package/src/components/table/index.ts +3 -0
  522. package/src/components/table/locales.ts +119 -4
  523. package/src/components/table/selection-toolbar.tsx +65 -9
  524. package/src/components/table/sorting.ts +80 -0
  525. package/src/components/table/table-skeleton.tsx +15 -9
  526. package/src/components/table/types.ts +17 -0
  527. package/src/components/tax-reports/index.ts +8 -0
  528. package/src/components/tax-reports/kir-export-form.tsx +4 -5
  529. package/src/components/tax-reports/slovenia-accounting-mappings-fields.tsx +271 -0
  530. package/src/components/tax-reports/slovenia-tax-profile-step.tsx +21 -10
  531. package/src/components/tax-reports/slovenia-vod-export-form.tsx +452 -0
  532. package/src/components/tax-reports/slovenia-yearly-export-form.tsx +17 -16
  533. package/src/components/tax-reports/slovenia-yearly-review-step.tsx +40 -18
  534. package/src/components/taxes/create-tax-form/create-tax-form.tsx +48 -2
  535. package/src/components/taxes/create-tax-form/locales/bg.ts +8 -0
  536. package/src/components/taxes/create-tax-form/locales/cs.ts +8 -0
  537. package/src/components/taxes/create-tax-form/locales/et.ts +8 -0
  538. package/src/components/taxes/create-tax-form/locales/fi.ts +8 -0
  539. package/src/components/taxes/create-tax-form/locales/is.ts +8 -0
  540. package/src/components/taxes/create-tax-form/locales/nb.ts +8 -0
  541. package/src/components/taxes/create-tax-form/locales/sk.ts +8 -0
  542. package/src/components/taxes/create-tax-form/locales/sv.ts +8 -0
  543. package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +80 -11
  544. package/src/components/taxes/edit-tax-form/locales/bg.ts +6 -0
  545. package/src/components/taxes/edit-tax-form/locales/cs.ts +6 -0
  546. package/src/components/taxes/edit-tax-form/locales/en.ts +6 -0
  547. package/src/components/taxes/edit-tax-form/locales/et.ts +6 -0
  548. package/src/components/taxes/edit-tax-form/locales/fi.ts +6 -0
  549. package/src/components/taxes/edit-tax-form/locales/is.ts +6 -0
  550. package/src/components/taxes/edit-tax-form/locales/nb.ts +6 -0
  551. package/src/components/taxes/edit-tax-form/locales/sk.ts +6 -0
  552. package/src/components/taxes/edit-tax-form/locales/sv.ts +6 -0
  553. package/src/components/taxes/tax-list-table/locales/bg.ts +17 -0
  554. package/src/components/taxes/tax-list-table/locales/cs.ts +17 -0
  555. package/src/components/taxes/tax-list-table/locales/en.ts +4 -3
  556. package/src/components/taxes/tax-list-table/locales/et.ts +17 -0
  557. package/src/components/taxes/tax-list-table/locales/fi.ts +17 -0
  558. package/src/components/taxes/tax-list-table/locales/is.ts +17 -0
  559. package/src/components/taxes/tax-list-table/locales/nb.ts +17 -0
  560. package/src/components/taxes/tax-list-table/locales/sk.ts +17 -0
  561. package/src/components/taxes/tax-list-table/locales/sv.ts +17 -0
  562. package/src/components/taxes/tax-list-table/tax-list-table.tsx +53 -19
  563. package/src/components/taxes/taxes.hooks.ts +53 -12
  564. package/src/components/ui/badge.tsx +1 -1
  565. package/src/components/ui/button.tsx +1 -1
  566. package/src/components/ui/drawer.tsx +2 -2
  567. package/src/components/ui/form.tsx +118 -2
  568. package/src/components/ui/progress.tsx +6 -4
  569. package/src/components/ui/select.tsx +118 -1
  570. package/src/components/ui/sidebar.tsx +3 -2
  571. package/src/components/ui/sonner.tsx +17 -36
  572. package/src/components/ui/sticky-form-footer.tsx +6 -1
  573. package/src/components/ui/tooltip.tsx +15 -2
  574. package/src/components/webhook-logs/webhook-delivery-detail.tsx +22 -22
  575. package/src/components/webhook-logs/webhook-delivery-list-table.tsx +92 -17
  576. package/src/components/wl-subscription/locked-feature.tsx +11 -10
  577. package/src/components/wl-subscription/paywall.tsx +184 -72
  578. package/src/components/wl-subscription/upgrade-modal.tsx +28 -31
  579. package/src/generate-schemas.ts +17 -7
  580. package/src/generated/schemas/account_webhook.ts +43 -0
  581. package/src/generated/schemas/accountwebhook.ts +67 -0
  582. package/src/generated/schemas/entity.ts +343 -4
  583. package/src/generated/schemas/exportsloveniavodxml_body.ts +16 -0
  584. package/src/generated/schemas/exportsloveniayearlynormiranireport_body.ts +27 -0
  585. package/src/generated/schemas/furssettings.ts +1 -0
  586. package/src/generated/schemas/incomingpurchasedocument.ts +198 -0
  587. package/src/generated/schemas/incomingpurchasedocumentpayment.ts +38 -0
  588. package/src/generated/schemas/index.ts +12 -0
  589. package/src/generated/schemas/item.ts +36 -0
  590. package/src/generated/schemas/me.ts +23 -19
  591. package/src/generated/schemas/order.ts +2 -0
  592. package/src/generated/schemas/orderintegration.ts +8 -4
  593. package/src/generated/schemas/payment.ts +5 -0
  594. package/src/generated/schemas/ptatcudseries.ts +30 -0
  595. package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +35 -3
  596. package/src/generated/schemas/rendercreditnotepreview_body.ts +35 -3
  597. package/src/generated/schemas/renderdeliverynotepreview_body.ts +12 -5
  598. package/src/generated/schemas/renderestimatepreview_body.ts +38 -5
  599. package/src/generated/schemas/renderinvoicepreview_body.ts +39 -5
  600. package/src/generated/schemas/senddocument_body.ts +1 -0
  601. package/src/generated/schemas/sendemail_body.ts +67 -39
  602. package/src/generated/schemas/sloveniataxprofile.ts +118 -0
  603. package/src/generated/schemas/starteslogexport_body.ts +33 -0
  604. package/src/generated/schemas/startpdfexport_body.ts +94 -78
  605. package/src/generated/schemas/supplier.ts +59 -0
  606. package/src/generated/schemas/syncshopifyorders_body.ts +20 -0
  607. package/src/generated/schemas/tax.ts +2 -0
  608. package/src/generated/schemas/uploadfile_body.ts +1 -0
  609. package/src/generated/schemas/userptsettings.ts +26 -0
  610. package/src/generated/schemas/voidinvoice_body.ts +20 -0
  611. package/src/generated/schemas/webhook.ts +2 -0
  612. package/src/hooks/create-resource-hooks.ts +22 -19
  613. package/src/hooks/use-duplicate-document.ts +10 -8
  614. package/src/hooks/use-eslog-validation.ts +5 -1
  615. package/src/hooks/use-next-document-number.ts +13 -6
  616. package/src/hooks/use-resolved-entity-id.ts +14 -0
  617. package/src/hooks/use-resource-mutation.ts +11 -30
  618. package/src/hooks/use-transaction-type-check.ts +3 -8
  619. package/src/lib/browser-cookies.ts +1 -1
  620. package/src/lib/country-capabilities.ts +114 -0
  621. package/src/lib/date-fns-locale.ts +1 -20
  622. package/src/lib/eslog-export.ts +32 -0
  623. package/src/lib/fiscalization-options.ts +21 -1
  624. package/src/lib/formatting.ts +27 -0
  625. package/src/lib/furs-error-utils.ts +29 -0
  626. package/src/lib/locale.ts +4 -0
  627. package/src/lib/payment-display.ts +95 -0
  628. package/src/lib/pt-document-input.ts +67 -0
  629. package/src/lib/schemas/shared.ts +1 -0
  630. package/src/lib/template-variables.tsx +102 -4
  631. package/src/lib/translation.ts +51 -33
  632. package/src/lib/white-label-capabilities.ts +626 -0
  633. package/src/lib/zod-validation-message.ts +291 -0
  634. package/src/providers/entities-provider.tsx +32 -14
  635. package/src/providers/sdk-provider.tsx +112 -12
  636. package/src/providers/space-invoices-provider.tsx +129 -0
  637. package/src/providers/white-label-provider.tsx +96 -4
  638. package/src/providers/wl-subscription-provider.tsx +144 -10
@@ -11,10 +11,17 @@ import {
11
11
  DropdownMenuSeparator,
12
12
  DropdownMenuTrigger,
13
13
  } from "@/ui/components/ui/dropdown-menu";
14
+ import { actionMenuTooltipProps, Tooltip, TooltipContent, TooltipTrigger } from "@/ui/components/ui/tooltip";
14
15
  import type { ComponentTranslationProps } from "@/ui/lib/translation";
15
16
  import { createTranslation } from "@/ui/lib/translation";
16
17
  import { useEstimateDownload } from "./use-estimate-download";
17
18
 
19
+ const translations = {
20
+ sl: {
21
+ "Create invoice": "Ustvari račun",
22
+ },
23
+ } as const;
24
+
18
25
  type EstimateListRowActionsProps = {
19
26
  estimate: Estimate;
20
27
  onView?: (estimate: Estimate) => void;
@@ -37,13 +44,26 @@ export default function EstimateListRowActions({
37
44
  isUnsharing,
38
45
  ...i18nProps
39
46
  }: EstimateListRowActionsProps) {
40
- const t = createTranslation(i18nProps);
47
+ const t = createTranslation({ ...i18nProps, translations });
41
48
  const { isDownloading, downloadPDF } = useEstimateDownload({
42
49
  onDownloadStart,
43
50
  onDownloadSuccess,
44
51
  onDownloadError,
45
52
  ...i18nProps,
46
53
  });
54
+ const createInvoiceDisabledReason = estimate.voided_at
55
+ ? t("documents-list-page.copy-to-invoice-voided-not-allowed")
56
+ : undefined;
57
+ const createInvoiceItem = onDuplicate ? (
58
+ <DropdownMenuItem
59
+ className="cursor-pointer"
60
+ onClick={createInvoiceDisabledReason ? undefined : () => onDuplicate(estimate)}
61
+ disabled={!!createInvoiceDisabledReason}
62
+ >
63
+ <Copy className="h-4 w-4" />
64
+ {t("Create invoice")}
65
+ </DropdownMenuItem>
66
+ ) : null;
47
67
 
48
68
  return (
49
69
  <DropdownMenu>
@@ -71,12 +91,19 @@ export default function EstimateListRowActions({
71
91
  <Download className="h-4 w-4" />
72
92
  {isDownloading ? t("Downloading...") : t("Download PDF")}
73
93
  </DropdownMenuItem>
74
- {onDuplicate && (
75
- <DropdownMenuItem className="cursor-pointer" onClick={() => onDuplicate(estimate)}>
76
- <Copy className="h-4 w-4" />
77
- {t("Duplicate")}
78
- </DropdownMenuItem>
79
- )}
94
+ {createInvoiceItem &&
95
+ (createInvoiceDisabledReason ? (
96
+ <Tooltip>
97
+ <TooltipTrigger asChild>
98
+ <div>{createInvoiceItem}</div>
99
+ </TooltipTrigger>
100
+ <TooltipContent side="left" {...actionMenuTooltipProps}>
101
+ {createInvoiceDisabledReason}
102
+ </TooltipContent>
103
+ </Tooltip>
104
+ ) : (
105
+ createInvoiceItem
106
+ ))}
80
107
  </DropdownMenuGroup>
81
108
  {estimate.shareable_id && onUnshare && (
82
109
  <>
@@ -1,4 +1,5 @@
1
1
  import type { Estimate } from "@spaceinvoices/js-sdk";
2
+ import { estimates } from "@spaceinvoices/js-sdk";
2
3
  import { useCallback, useMemo, useState } from "react";
3
4
  import { DataTable } from "@/ui/components/table/data-table";
4
5
  import { FormattedDate } from "@/ui/components/table/date-cell";
@@ -14,8 +15,8 @@ import type {
14
15
  } from "@/ui/components/table/types";
15
16
  import { Badge } from "@/ui/components/ui/badge";
16
17
  import { Button } from "@/ui/components/ui/button";
18
+ import { getEslogSelectionState } from "@/ui/lib/eslog-export";
17
19
  import { createTranslation } from "@/ui/lib/translation";
18
- import { useSDK } from "@/ui/providers/sdk-provider";
19
20
 
20
21
  import EstimateListRowActions from "./list-row-actions";
21
22
  import de from "./locales/de";
@@ -54,6 +55,11 @@ type EstimateListTableProps = {
54
55
  onDownloadSuccess?: (fileName: string) => void;
55
56
  onDownloadError?: (error: string) => void;
56
57
  onExportSelected?: (documentIds: string[]) => void;
58
+ onExportEslogSelected?: (documentIds: string[]) => void;
59
+ pdfExportDisabled?: boolean;
60
+ pdfExportDisabledTooltip?: string;
61
+ eslogExportDisabled?: boolean;
62
+ eslogExportDisabledTooltip?: string;
57
63
  onCopyToInvoice?: (documentIds: string[]) => void;
58
64
  onCreateNew?: () => void;
59
65
  } & ListTableProps<Estimate>;
@@ -69,28 +75,31 @@ export default function EstimateListTable({
69
75
  onDownloadSuccess,
70
76
  onDownloadError,
71
77
  onExportSelected,
78
+ onExportEslogSelected,
79
+ pdfExportDisabled,
80
+ pdfExportDisabledTooltip,
81
+ eslogExportDisabled,
82
+ eslogExportDisabledTooltip,
72
83
  onCopyToInvoice,
73
84
  onCreateNew,
74
85
  ...i18nProps
75
86
  }: EstimateListTableProps) {
76
87
  const t = createTranslation({
77
- translations,
78
- locale: i18nProps.translationLocale ?? i18nProps.locale,
79
88
  ...i18nProps,
89
+ translations,
80
90
  });
81
91
 
82
- const { sdk } = useSDK();
83
92
  const [selectedIds, setSelectedIds] = useState<Set<string>>(new Set());
84
93
 
85
94
  const handleFetch = useTableFetch(async (params: TableQueryParams) => {
86
- if (!sdk) throw new Error("SDK not initialized");
87
95
  if (!params.entity_id) throw new Error("Entity ID required");
88
96
 
89
- const response = await sdk.estimates.list({
97
+ const response = await estimates.list({
90
98
  entity_id: params.entity_id,
91
99
  limit: params.limit,
92
100
  next_cursor: params.next_cursor,
93
101
  prev_cursor: params.prev_cursor,
102
+ order_by: params.order_by,
94
103
  search: params.search,
95
104
  query: params.query,
96
105
  });
@@ -115,6 +124,12 @@ export default function EstimateListTable({
115
124
  }
116
125
  }, [selectedIds, onExportSelected]);
117
126
 
127
+ const handleExportEslog = useCallback(() => {
128
+ if (selectedIds.size > 0 && onExportEslogSelected) {
129
+ onExportEslogSelected(Array.from(selectedIds));
130
+ }
131
+ }, [selectedIds, onExportEslogSelected]);
132
+
118
133
  const handleCopyToInvoice = useCallback(() => {
119
134
  if (selectedIds.size > 0 && onCopyToInvoice) {
120
135
  onCopyToInvoice(Array.from(selectedIds));
@@ -127,21 +142,61 @@ export default function EstimateListTable({
127
142
 
128
143
  const selectionToolbar = useCallback(
129
144
  (count: number, data: Estimate[]) => {
145
+ const selectedDocs = data.filter((d) => selectedIds.has(d.id));
146
+ const eslogSelection = getEslogSelectionState(selectedDocs);
130
147
  const hasDrafts = data.some((d) => selectedIds.has(d.id) && (d as any).is_draft);
148
+ const hasVoided = data.some((d) => selectedIds.has(d.id) && !!(d as any).voided_at);
149
+ const copyDisabled = hasDrafts || hasVoided;
150
+ const copyTooltip = hasDrafts
151
+ ? t("Finalize draft documents before copying to invoice")
152
+ : hasVoided
153
+ ? t("Voided documents cannot be copied to invoices")
154
+ : undefined;
131
155
 
132
156
  return (
133
157
  <SelectionToolbar
134
158
  selectedCount={count}
135
159
  onExportPdfs={onExportSelected ? handleExportPdfs : undefined}
160
+ exportPdfsDisabled={pdfExportDisabled}
161
+ exportPdfsTooltip={pdfExportDisabledTooltip}
162
+ onExportEslog={onExportEslogSelected ? handleExportEslog : undefined}
163
+ exportEslogDisabled={eslogExportDisabled || eslogSelection.noneEligible}
164
+ exportEslogTooltip={
165
+ eslogExportDisabled
166
+ ? eslogExportDisabledTooltip
167
+ : eslogSelection.noneEligible
168
+ ? t("None of the selected documents are valid for e-SLOG export")
169
+ : undefined
170
+ }
171
+ exportEslogWarning={!eslogExportDisabled && eslogSelection.partiallyEligible}
172
+ exportEslogWarningTooltip={
173
+ !eslogExportDisabled && eslogSelection.partiallyEligible
174
+ ? t("Some selected documents are not valid for e-SLOG export and will be skipped")
175
+ : undefined
176
+ }
136
177
  onCopyToInvoice={onCopyToInvoice ? handleCopyToInvoice : undefined}
137
- copyToInvoiceDisabled={hasDrafts}
138
- copyToInvoiceTooltip={hasDrafts ? t("Finalize draft documents before copying to invoice") : undefined}
178
+ copyToInvoiceDisabled={copyDisabled}
179
+ copyToInvoiceTooltip={copyTooltip}
139
180
  onDeselectAll={handleDeselectAll}
140
181
  t={t}
141
182
  />
142
183
  );
143
184
  },
144
- [handleExportPdfs, handleCopyToInvoice, handleDeselectAll, onExportSelected, onCopyToInvoice, selectedIds, t],
185
+ [
186
+ handleExportPdfs,
187
+ handleExportEslog,
188
+ handleCopyToInvoice,
189
+ handleDeselectAll,
190
+ onExportSelected,
191
+ onExportEslogSelected,
192
+ pdfExportDisabled,
193
+ pdfExportDisabledTooltip,
194
+ eslogExportDisabled,
195
+ eslogExportDisabledTooltip,
196
+ onCopyToInvoice,
197
+ selectedIds,
198
+ t,
199
+ ],
145
200
  );
146
201
 
147
202
  const columns: Column<Estimate>[] = useMemo(
@@ -149,6 +204,9 @@ export default function EstimateListTable({
149
204
  {
150
205
  id: "number",
151
206
  header: t("Number"),
207
+ sort: {
208
+ defaultDirection: "desc",
209
+ },
152
210
  cell: (estimate) => (
153
211
  <div className="flex items-center gap-2">
154
212
  <Button variant="link" className="cursor-pointer py-0 underline" onClick={() => onRowClick?.(estimate)}>
@@ -173,23 +231,33 @@ export default function EstimateListTable({
173
231
  {
174
232
  id: "date",
175
233
  header: t("Date"),
234
+ sort: {
235
+ defaultDirection: "desc",
236
+ },
176
237
  cell: (estimate) => <FormattedDate date={estimate.date} locale={i18nProps.locale} />,
177
238
  },
178
239
  {
179
240
  id: "date_valid_till",
180
241
  header: t("Valid Until"),
242
+ sort: true,
181
243
  cell: (estimate) => <FormattedDate date={estimate.date_valid_till} locale={i18nProps.locale} />,
182
244
  },
183
245
  {
184
246
  id: "total",
185
247
  header: t("Total"),
186
248
  align: "right",
249
+ sort: {
250
+ defaultDirection: "desc",
251
+ },
187
252
  cell: (estimate) => estimate.total,
188
253
  },
189
254
  {
190
255
  id: "total_with_tax",
191
256
  header: t("Total with Tax"),
192
257
  align: "right",
258
+ sort: {
259
+ defaultDirection: "desc",
260
+ },
193
261
  cell: (estimate) => estimate.total_with_tax,
194
262
  },
195
263
  {
@@ -227,7 +295,7 @@ export default function EstimateListTable({
227
295
  filterConfig={filterConfig}
228
296
  t={t}
229
297
  locale={i18nProps.locale}
230
- selectable={!!(onExportSelected || onCopyToInvoice)}
298
+ selectable={!!(onExportSelected || onExportEslogSelected || onCopyToInvoice)}
231
299
  selectedIds={selectedIds}
232
300
  onSelectionChange={setSelectedIds}
233
301
  selectionToolbar={selectionToolbar}
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "Your list is empty": "Your estimate list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first estimate",
4
+ "Create new": "Създайте оценка",
5
+ "No results found": "No estimates found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Copy to Invoice": "Copy to Invoice",
10
+ "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Номер",
13
+ Customer: "Клиент",
14
+ Date: "Дата",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Общо",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Действия",
19
+ "Open menu": "Отворете менюто",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Изтегли PDF",
23
+ "Downloading...": "Изтегляне...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Оферта",
26
+ "Failed to download PDF": "Неуспешно изтегляне на PDF",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Период",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Прекрати споделяне",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
38
+ } as const;
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "Your list is empty": "Your estimate list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first estimate",
4
+ "Create new": "Vytvořte odhad",
5
+ "No results found": "No estimates found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Copy to Invoice": "Copy to Invoice",
10
+ "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Číslo",
13
+ Customer: "Zákazník",
14
+ Date: "Datum",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Celkem",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Akce",
19
+ "Open menu": "Otevřít nabídku",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Stáhnout PDF",
23
+ "Downloading...": "Stahování...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Nabídka",
26
+ "Failed to download PDF": "Stažení PDF se nezdařilo",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Časový rozsah",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Zrušit sdílení",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
38
+ } as const;
@@ -1,13 +1,38 @@
1
1
  export default {
2
- // Empty state translations
3
2
  "Your list is empty": "Your estimate list is empty",
4
3
  "Get started by creating your first entry": "Get started by creating your first estimate",
5
4
  "Create new": "Create estimate",
6
- // No results translations
7
5
  "No results found": "No estimates found",
8
6
  selected: "selected",
9
7
  "Export PDFs": "Export PDFs",
10
8
  "Deselect all": "Deselect all",
11
9
  "Copy to Invoice": "Copy to Invoice",
12
10
  "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Number",
13
+ Customer: "Customer",
14
+ Date: "Date",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Total",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Actions",
19
+ "Open menu": "Open menu",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Download PDF",
23
+ "Downloading...": "Downloading...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Estimate",
26
+ "Failed to download PDF": "Failed to download PDF",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Date Range",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Unshare",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
13
38
  } as const;
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "Your list is empty": "Your estimate list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first estimate",
4
+ "Create new": "Loo prognoos",
5
+ "No results found": "No estimates found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Copy to Invoice": "Copy to Invoice",
10
+ "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Number",
13
+ Customer: "Klient",
14
+ Date: "Kuupäev",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Kokku",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Tegevused",
19
+ "Open menu": "Ava menüü",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Laadi PDF alla",
23
+ "Downloading...": "Allalaadimine...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Hinnapakkumine",
26
+ "Failed to download PDF": "PDF-i allalaadimine ebaõnnestus",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Kuupäevavahemik",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Lõpeta jagamine",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
38
+ } as const;
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "Your list is empty": "Your estimate list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first estimate",
4
+ "Create new": "Luo arvio",
5
+ "No results found": "No estimates found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Copy to Invoice": "Copy to Invoice",
10
+ "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Number",
13
+ Customer: "Asiakas",
14
+ Date: "Päivämäärä",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Total",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Toiminnot",
19
+ "Open menu": "Avaa valikko",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Lataa PDF",
23
+ "Downloading...": "Ladataan...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Tarjous",
26
+ "Failed to download PDF": "PDF:n lataaminen epäonnistui",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Date Range",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Poista jakaminen",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
38
+ } as const;
@@ -24,8 +24,8 @@ export default {
24
24
  "Created At": "Kreirano",
25
25
  Unshare: "Ukloni dijeljenje",
26
26
  "Your list is empty": "Vaš popis predračuna je prazan",
27
- "Get started by creating your first entry": "Započnite kreiranjem prvog predračuna",
28
- "Create new": "Kreiraj predračun",
27
+ "Get started by creating your first entry": "Započnite izradom prve ponude",
28
+ "Create new": "Izradi ponudu",
29
29
  "No results found": "Nisu pronađeni predračuni",
30
30
  "Try adjusting your search criteria": "Pokušajte prilagoditi kriterije pretraživanja",
31
31
  "Clear search": "Očisti pretraživanje",
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "Your list is empty": "Your estimate list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first estimate",
4
+ "Create new": "Búðu til áætlun",
5
+ "No results found": "No estimates found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Copy to Invoice": "Copy to Invoice",
10
+ "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Númer",
13
+ Customer: "Viðskiptavinur",
14
+ Date: "Dagsetning",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Samtals",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Aðgerðir",
19
+ "Open menu": "Opna valmynd",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Hlaða niður PDF",
23
+ "Downloading...": "Hleður niður...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Tilboð",
26
+ "Failed to download PDF": "Ekki tókst að hlaða niður PDF",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Dagsetningarbil",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Hætta deilingu",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
38
+ } as const;
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "Your list is empty": "Your estimate list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first estimate",
4
+ "Create new": "Lag estimat",
5
+ "No results found": "No estimates found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Copy to Invoice": "Copy to Invoice",
10
+ "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Nummer",
13
+ Customer: "Kunde",
14
+ Date: "Dato",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Totalt",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Handlinger",
19
+ "Open menu": "Åpne menyen",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Last ned PDF",
23
+ "Downloading...": "Laster ned...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Tilbud",
26
+ "Failed to download PDF": "Kunne ikke laste ned PDF",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Datointervall",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Fjern deling",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
38
+ } as const;
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "Your list is empty": "Your estimate list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first estimate",
4
+ "Create new": "Vytvorte odhad",
5
+ "No results found": "No estimates found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Copy to Invoice": "Copy to Invoice",
10
+ "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Číslo",
13
+ Customer: "Zákazník",
14
+ Date: "Dátum",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Celkom",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Akcie",
19
+ "Open menu": "Otvoriť menu",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Stiahnut PDF",
23
+ "Downloading...": "Sťahujem...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Cenová ponuka",
26
+ "Failed to download PDF": "Nepodarilo sa stiahnuť PDF",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Rozsah dátumov",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Zrušiť zdieľanie",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
38
+ } as const;
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "Your list is empty": "Your estimate list is empty",
3
+ "Get started by creating your first entry": "Get started by creating your first estimate",
4
+ "Create new": "Skapa uppskattning",
5
+ "No results found": "No estimates found",
6
+ selected: "selected",
7
+ "Export PDFs": "Export PDFs",
8
+ "Deselect all": "Deselect all",
9
+ "Copy to Invoice": "Copy to Invoice",
10
+ "Finalize draft documents before copying to invoice": "Finalize draft documents before copying to invoice",
11
+ Draft: "Draft",
12
+ Number: "Nummer",
13
+ Customer: "Kund",
14
+ Date: "Datum",
15
+ "Valid Until": "Valid Until",
16
+ Total: "Totalt",
17
+ "Total with Tax": "Total with Tax",
18
+ Actions: "Åtgärder",
19
+ "Open menu": "Öppna menyn",
20
+ "Copy estimate ID": "Copy estimate ID",
21
+ "View estimate": "View estimate",
22
+ "Download PDF": "Ladda ner PDF",
23
+ "Downloading...": "Laddar ner...",
24
+ Duplicate: "Duplicate",
25
+ Estimate: "Offert",
26
+ "Failed to download PDF": "Kunde inte ladda ner PDF",
27
+ "Search...": "Search...",
28
+ Filters: "Filters",
29
+ "Date Range": "Datumintervall",
30
+ From: "From",
31
+ To: "To",
32
+ "Clear filters": "Clear filters",
33
+ "Created At": "Created At",
34
+ Unshare: "Sluta dela",
35
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
36
+ "Clear search": "Clear search",
37
+ "Clear all": "Clear all",
38
+ } as const;
@@ -1,9 +1,9 @@
1
1
  import type { Estimate } from "@spaceinvoices/js-sdk";
2
+ import { invoices } from "@spaceinvoices/js-sdk";
2
3
  import { useState } from "react";
3
4
  import type { ComponentTranslationProps } from "@/ui/lib/translation";
4
5
  import { createTranslation } from "@/ui/lib/translation";
5
6
  import { useEntities } from "@/ui/providers/entities-context";
6
- import { useSDK } from "@/ui/providers/sdk-provider";
7
7
 
8
8
  type UseEstimateDownloadProps = {
9
9
  onDownloadStart?: () => void;
@@ -19,12 +19,10 @@ export function useEstimateDownload({
19
19
  }: UseEstimateDownloadProps) {
20
20
  const [isDownloading, setIsDownloading] = useState(false);
21
21
  const { activeEntity } = useEntities();
22
- const { sdk } = useSDK();
23
22
  const t = createTranslation(i18nProps);
24
23
 
25
24
  const downloadPDF = async (estimate: Estimate) => {
26
- if (!activeEntity?.id || !sdk) {
27
- console.error("Missing SDK or active entity for PDF download");
25
+ if (!activeEntity?.id) {
28
26
  onDownloadError?.(t("Failed to download PDF"));
29
27
  return;
30
28
  }
@@ -34,7 +32,7 @@ export function useEstimateDownload({
34
32
 
35
33
  try {
36
34
  const fileName = `${t("Estimate")} ${estimate.number}.pdf`;
37
- await sdk.invoices.downloadPdf(estimate.id, fileName, {}, { entity_id: activeEntity.id });
35
+ await invoices.downloadPdf(estimate.id, fileName, {}, { entity_id: activeEntity.id });
38
36
 
39
37
  onDownloadSuccess?.(fileName);
40
38
  } catch (error) {