@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
@@ -17,8 +17,10 @@ import { Input } from "@/ui/components/ui/input";
17
17
  import { Tooltip, TooltipContent, TooltipTrigger } from "@/ui/components/ui/tooltip";
18
18
  import type { CreateItemSchema } from "@/ui/generated/schemas";
19
19
  import { createItemSchema } from "@/ui/generated/schemas";
20
+ import { getEntityCountryCapabilities } from "@/ui/lib/country-capabilities";
20
21
  import type { ComponentTranslationProps } from "@/ui/lib/translation";
21
22
  import { createTranslation } from "@/ui/lib/translation";
23
+ import { useEntities } from "@/ui/providers/entities-context";
22
24
 
23
25
  import { useUpdateItem } from "../items.hooks";
24
26
  import de from "./locales/de";
@@ -63,12 +65,16 @@ export default function EditItemForm({
63
65
  ...i18nProps,
64
66
  translations,
65
67
  });
68
+ const { activeEntity } = useEntities();
69
+ const countryCapabilities = getEntityCountryCapabilities(activeEntity);
70
+ const lockPortugalSavedItemFields = !countryCapabilities.allowSavedItemFullEdit;
66
71
 
67
72
  const [isGrossPrice, setIsGrossPrice] = useState(item.gross_price != null);
68
73
 
69
74
  const form = useForm<CreateItemSchema>({
70
75
  resolver: zodResolver(createItemSchema),
71
76
  defaultValues: {
77
+ classification: item.classification ?? undefined,
72
78
  name: item.name ?? "",
73
79
  description: item.description ?? "",
74
80
  price: isGrossPrice ? (item.gross_price ?? 0) : item.price,
@@ -111,15 +117,47 @@ export default function EditItemForm({
111
117
  return (
112
118
  <Form {...form}>
113
119
  <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-4">
114
- <FormInput control={form.control} name="name" label={t("Name")} placeholder={t("Enter name")} />
120
+ <FormInput
121
+ control={form.control}
122
+ name="name"
123
+ label={t("Name")}
124
+ placeholder={t("Enter name")}
125
+ disabled={lockPortugalSavedItemFields}
126
+ />
115
127
 
116
128
  <FormInput
117
129
  control={form.control}
118
130
  name="description"
119
131
  label={t("Description")}
120
132
  placeholder={t("Enter description")}
133
+ disabled={lockPortugalSavedItemFields}
121
134
  />
122
135
 
136
+ {countryCapabilities.isPortugal && (
137
+ <FormField
138
+ control={form.control}
139
+ name="classification"
140
+ render={({ field }) => (
141
+ <FormItem>
142
+ <FormLabel>{t("Classification")}</FormLabel>
143
+ <FormControl>
144
+ <select
145
+ className="flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background"
146
+ value={field.value ?? "product"}
147
+ onChange={(event) => field.onChange(event.target.value)}
148
+ disabled={lockPortugalSavedItemFields}
149
+ >
150
+ <option value="product">{t("Product")}</option>
151
+ <option value="service">{t("Service")}</option>
152
+ <option value="advance">{t("Advance")}</option>
153
+ </select>
154
+ </FormControl>
155
+ <FormMessage />
156
+ </FormItem>
157
+ )}
158
+ />
159
+ )}
160
+
123
161
  <FormField
124
162
  control={form.control}
125
163
  name="price"
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Име",
3
+ "Enter name": "Въведете име",
4
+ Description: "Описание",
5
+ "Enter description": "Enter description",
6
+ Price: "Цена",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Jméno",
3
+ "Enter name": "Zadejte jméno",
4
+ Description: "Popis",
5
+ "Enter description": "Enter description",
6
+ Price: "Cena",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Name",
3
+ "Enter name": "Enter name",
4
+ Description: "Description",
5
+ "Enter description": "Enter description",
6
+ Price: "Price",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Nimi",
3
+ "Enter name": "Sisestage nimi",
4
+ Description: "Kirjeldus",
5
+ "Enter description": "Enter description",
6
+ Price: "Hind",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Nimi",
3
+ "Enter name": "Kirjoita nimi",
4
+ Description: "Description",
5
+ "Enter description": "Enter description",
6
+ Price: "Price",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Nafn",
3
+ "Enter name": "Sláðu inn nafn",
4
+ Description: "Lýsing",
5
+ "Enter description": "Enter description",
6
+ Price: "Verð",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Navn",
3
+ "Enter name": "Skriv inn navn",
4
+ Description: "Beskrivelse",
5
+ "Enter description": "Enter description",
6
+ Price: "Pris",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Meno",
3
+ "Enter name": "Zadajte meno",
4
+ Description: "Popis",
5
+ "Enter description": "Enter description",
6
+ Price: "Cena",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default {
2
+ Name: "Namn",
3
+ "Enter name": "Ange namn",
4
+ Description: "Beskrivning",
5
+ "Enter description": "Enter description",
6
+ Price: "Pris",
7
+ "There was an error updating the item": "There was an error updating the item",
8
+ "Gross price": "Gross price",
9
+ "Net price": "Net price",
10
+ "Gross price (tax included)": "Gross price (tax included)",
11
+ "Net price (before tax)": "Net price (before tax)",
12
+ } as const;
@@ -5,7 +5,10 @@ import { useEffect, useMemo, useState } from "react";
5
5
 
6
6
  import { Autocomplete } from "@/ui/common/autocomplete";
7
7
  import { useDebounce } from "@/ui/hooks/use-debounce";
8
+ import type { ComponentTranslationProps } from "@/ui/lib/translation";
9
+ import { createTranslation } from "@/ui/lib/translation";
8
10
 
11
+ import { autocompleteTranslations } from "../common/autocomplete-locales";
9
12
  import { useItemSearch, useRecentItems } from "./items.hooks";
10
13
 
11
14
  type ItemComboboxProps = {
@@ -13,13 +16,15 @@ type ItemComboboxProps = {
13
16
  value?: string;
14
17
  onSelect?: (item: Item | null, customName?: string) => void;
15
18
  onCommitInlineName?: (value: string) => void;
19
+ onInlineInputChange?: (value: string) => void;
16
20
  commitOnBlurMode?: "create" | "update-inline";
17
21
  placeholder?: string;
18
22
  className?: string;
19
23
  disabled?: boolean;
20
- locale?: string;
21
24
  inputTestId?: string;
22
- };
25
+ inputDataDemo?: string;
26
+ ariaInvalid?: boolean;
27
+ } & ComponentTranslationProps;
23
28
 
24
29
  /**
25
30
  * Autocomplete for selecting saved catalog items
@@ -30,16 +35,30 @@ export function ItemCombobox({
30
35
  value,
31
36
  onSelect,
32
37
  onCommitInlineName,
38
+ onInlineInputChange,
33
39
  commitOnBlurMode = "create",
34
40
  placeholder = "Search or enter item name...",
35
41
  className,
36
42
  disabled,
37
- locale,
43
+ ariaInvalid = false,
44
+ locale = "en",
45
+ translationLocale,
38
46
  inputTestId,
47
+ inputDataDemo,
48
+ t: translationFn,
49
+ namespace,
39
50
  }: ItemComboboxProps) {
51
+ const t = createTranslation({
52
+ t: translationFn,
53
+ namespace,
54
+ locale,
55
+ translationLocale,
56
+ translations: autocompleteTranslations,
57
+ });
40
58
  const [search, setSearch] = useState("");
41
59
  const [displayValue, setDisplayValue] = useState(value || "");
42
60
  const debouncedSearch = useDebounce(search, 300);
61
+ const resolvedPlaceholder = placeholder ? t(placeholder) : placeholder;
43
62
 
44
63
  // Fetch recent items (non-blocking, cached)
45
64
  const { data: recentData } = useRecentItems(entityId);
@@ -64,18 +83,27 @@ export function ItemCombobox({
64
83
  return ` - ${new Intl.NumberFormat(locale, { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(price)}`;
65
84
  };
66
85
 
67
- const options = items.map((item) => ({
68
- value: item.id,
69
- label: (
70
- <div className="flex flex-col overflow-hidden">
71
- <span className="truncate">{item.name}</span>
72
- <span className="truncate text-muted-foreground text-xs">
73
- {formatPrice(item)}
74
- {item.description && ` · ${item.description}`}
75
- </span>
76
- </div>
77
- ),
78
- }));
86
+ const options = items.map((item) => {
87
+ const itemIndex = items.findIndex((entry) => entry.id === item.id);
88
+ return {
89
+ value: item.id,
90
+ ...(itemIndex === 0
91
+ ? {
92
+ testId: "marketing-demo-item-option-0",
93
+ dataDemo: "marketing-demo-item-option-0",
94
+ }
95
+ : {}),
96
+ label: (
97
+ <div className="flex flex-col overflow-hidden">
98
+ <span className="truncate">{item.name}</span>
99
+ <span className="truncate text-muted-foreground text-xs">
100
+ {formatPrice(item)}
101
+ {item.description && ` · ${item.description}`}
102
+ </span>
103
+ </div>
104
+ ),
105
+ };
106
+ });
79
107
 
80
108
  // Add "Use custom name" option when there's search text
81
109
  if (debouncedSearch?.trim()) {
@@ -84,7 +112,7 @@ export function ItemCombobox({
84
112
  label: (
85
113
  <span className="flex items-center gap-2">
86
114
  <Plus className="size-4" />
87
- Use "{debouncedSearch}"
115
+ {t("Use")} "{debouncedSearch}"
88
116
  </span>
89
117
  ),
90
118
  });
@@ -92,6 +120,9 @@ export function ItemCombobox({
92
120
 
93
121
  const handleSearch = (value: string) => {
94
122
  setSearch(value);
123
+ if (commitOnBlurMode === "update-inline") {
124
+ onInlineInputChange?.(value);
125
+ }
95
126
  // Clear displayValue when user starts typing
96
127
  if (displayValue && value !== displayValue) {
97
128
  setDisplayValue("");
@@ -156,14 +187,16 @@ export function ItemCombobox({
156
187
  onCommitUnselectedInput={commitCustomName}
157
188
  commitUnselectedOnBlur={true}
158
189
  options={options}
159
- placeholder={placeholder}
190
+ placeholder={resolvedPlaceholder}
160
191
  className={className}
161
192
  disabled={disabled}
162
193
  loading={isLoading}
163
- emptyText={debouncedSearch ? "No items found" : "Recent items"}
194
+ emptyText={debouncedSearch ? t("No items found") : t("Recent items")}
164
195
  displayValue={displayValue}
165
196
  inputTestId={inputTestId}
197
+ inputDataDemo={inputDataDemo}
166
198
  committedDisplayValue={value}
199
+ ariaInvalid={ariaInvalid}
167
200
  />
168
201
  );
169
202
  }
@@ -1,14 +1,15 @@
1
1
  import type { Item } from "@spaceinvoices/js-sdk";
2
-
3
- import { withTableTranslations } from "../../table/locales";
2
+ import { items } from "@spaceinvoices/js-sdk";
3
+ import { Package } from "lucide-react";
4
+ import { useMemo } from "react";
5
+ import { Button } from "@/ui/components/ui/button";
4
6
  import { createTranslation } from "@/ui/lib/translation";
5
- import { useSDK } from "@/ui/providers/sdk-provider";
6
7
  import { DataTable } from "../../table/data-table";
7
8
  import { useTableFetch } from "../../table/hooks/use-table-fetch";
8
- import type { ListTableProps, TableQueryParams } from "../../table/types";
9
+ import { withTableTranslations } from "../../table/locales";
10
+ import type { Column, ListTableProps, TableQueryParams } from "../../table/types";
9
11
  import { ITEMS_CACHE_KEY } from "../items.hooks";
10
- import ItemListHeader from "./item-list-header";
11
- import ItemListRow from "./item-list-row";
12
+ import ItemListRowActions from "./item-list-row-actions";
12
13
  import de from "./locales/de";
13
14
  import en from "./locales/en";
14
15
  import es from "./locales/es";
@@ -52,30 +53,53 @@ export default function ItemListTable({
52
53
  ...i18nProps
53
54
  }: ItemListTableProps) {
54
55
  const t = createTranslation({
55
- translations,
56
- locale: i18nProps.translationLocale ?? i18nProps.locale,
57
56
  ...i18nProps,
57
+ translations,
58
58
  });
59
- const { sdk } = useSDK();
60
-
61
59
  const handleFetch = useTableFetch((params: TableQueryParams) => {
62
- if (!sdk) throw new Error("SDK not initialized");
63
- return sdk.items.list(params as any);
60
+ return items.list(params as any);
64
61
  }, entityId);
65
62
 
63
+ const columns: Column<Item>[] = useMemo(
64
+ () => [
65
+ {
66
+ id: "name",
67
+ header: t("Name"),
68
+ sort: true,
69
+ cell: (item) => (
70
+ <Button variant="link" className="py-0 underline" onClick={() => onRowClick?.(item)}>
71
+ <Package className="h-4 w-4 flex-shrink-0" />
72
+ {item.name}
73
+ </Button>
74
+ ),
75
+ },
76
+ {
77
+ id: "description",
78
+ header: t("Description"),
79
+ cell: (item) => item.description,
80
+ },
81
+ {
82
+ id: "price",
83
+ header: t("Price"),
84
+ align: "right",
85
+ sort: {
86
+ defaultDirection: "desc",
87
+ },
88
+ cell: (item) => item.price,
89
+ },
90
+ {
91
+ id: "actions",
92
+ header: "",
93
+ align: "right",
94
+ cell: (item) => <ItemListRowActions item={item} onView={onView} t={t} />,
95
+ },
96
+ ],
97
+ [t, onRowClick, onView],
98
+ );
99
+
66
100
  return (
67
101
  <DataTable
68
- columns={[
69
- { id: "name", header: t("Name") },
70
- { id: "description", header: t("Description") },
71
- { id: "unit", header: t("Unit") },
72
- { id: "price", header: t("Price"), align: "right" },
73
- { id: "actions", header: "", align: "right" },
74
- ]}
75
- renderRow={(item) => (
76
- <ItemListRow item={item} key={item.id} onRowClick={(item) => onRowClick?.(item)} onView={onView} t={t} />
77
- )}
78
- renderHeader={() => <ItemListHeader t={t} />}
102
+ columns={columns}
79
103
  queryParams={queryParams}
80
104
  resourceName="item"
81
105
  cacheKey={ITEMS_CACHE_KEY}
@@ -0,0 +1,16 @@
1
+ export default {
2
+ Name: "Име",
3
+ Description: "Описание",
4
+ Unit: "Unit",
5
+ Price: "Цена",
6
+ "Open menu": "Отворете менюто",
7
+ Actions: "Действия",
8
+ "Copy item ID": "Copy item ID",
9
+ "View item": "View item",
10
+ "Your list is empty": "Your item list is empty",
11
+ "Get started by creating your first entry": "Get started by creating your first item",
12
+ "No results found": "No items found",
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -0,0 +1,16 @@
1
+ export default {
2
+ Name: "Jméno",
3
+ Description: "Popis",
4
+ Unit: "Unit",
5
+ Price: "Cena",
6
+ "Open menu": "Otevřít nabídku",
7
+ Actions: "Akce",
8
+ "Copy item ID": "Copy item ID",
9
+ "View item": "View item",
10
+ "Your list is empty": "Your item list is empty",
11
+ "Get started by creating your first entry": "Get started by creating your first item",
12
+ "No results found": "No items found",
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -7,9 +7,10 @@ export default {
7
7
  Actions: "Actions",
8
8
  "Copy item ID": "Copy item ID",
9
9
  "View item": "View item",
10
- // Empty state translations
11
10
  "Your list is empty": "Your item list is empty",
12
11
  "Get started by creating your first entry": "Get started by creating your first item",
13
- // No results translations
14
12
  "No results found": "No items found",
15
- };
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -0,0 +1,16 @@
1
+ export default {
2
+ Name: "Nimi",
3
+ Description: "Kirjeldus",
4
+ Unit: "Unit",
5
+ Price: "Hind",
6
+ "Open menu": "Ava menüü",
7
+ Actions: "Tegevused",
8
+ "Copy item ID": "Copy item ID",
9
+ "View item": "View item",
10
+ "Your list is empty": "Your item list is empty",
11
+ "Get started by creating your first entry": "Get started by creating your first item",
12
+ "No results found": "No items found",
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -0,0 +1,16 @@
1
+ export default {
2
+ Name: "Nimi",
3
+ Description: "Description",
4
+ Unit: "Unit",
5
+ Price: "Price",
6
+ "Open menu": "Avaa valikko",
7
+ Actions: "Toiminnot",
8
+ "Copy item ID": "Copy item ID",
9
+ "View item": "View item",
10
+ "Your list is empty": "Your item list is empty",
11
+ "Get started by creating your first entry": "Get started by creating your first item",
12
+ "No results found": "No items found",
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -0,0 +1,16 @@
1
+ export default {
2
+ Name: "Nafn",
3
+ Description: "Lýsing",
4
+ Unit: "Unit",
5
+ Price: "Verð",
6
+ "Open menu": "Opna valmynd",
7
+ Actions: "Aðgerðir",
8
+ "Copy item ID": "Copy item ID",
9
+ "View item": "View item",
10
+ "Your list is empty": "Your item list is empty",
11
+ "Get started by creating your first entry": "Get started by creating your first item",
12
+ "No results found": "No items found",
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -0,0 +1,16 @@
1
+ export default {
2
+ Name: "Navn",
3
+ Description: "Beskrivelse",
4
+ Unit: "Unit",
5
+ Price: "Pris",
6
+ "Open menu": "Åpne menyen",
7
+ Actions: "Handlinger",
8
+ "Copy item ID": "Copy item ID",
9
+ "View item": "View item",
10
+ "Your list is empty": "Your item list is empty",
11
+ "Get started by creating your first entry": "Get started by creating your first item",
12
+ "No results found": "No items found",
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -0,0 +1,16 @@
1
+ export default {
2
+ Name: "Meno",
3
+ Description: "Popis",
4
+ Unit: "Unit",
5
+ Price: "Cena",
6
+ "Open menu": "Otvoriť menu",
7
+ Actions: "Akcie",
8
+ "Copy item ID": "Copy item ID",
9
+ "View item": "View item",
10
+ "Your list is empty": "Your item list is empty",
11
+ "Get started by creating your first entry": "Get started by creating your first item",
12
+ "No results found": "No items found",
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -0,0 +1,16 @@
1
+ export default {
2
+ Name: "Namn",
3
+ Description: "Beskrivning",
4
+ Unit: "Unit",
5
+ Price: "Pris",
6
+ "Open menu": "Öppna menyn",
7
+ Actions: "Åtgärder",
8
+ "Copy item ID": "Copy item ID",
9
+ "View item": "View item",
10
+ "Your list is empty": "Your item list is empty",
11
+ "Get started by creating your first entry": "Get started by creating your first item",
12
+ "No results found": "No items found",
13
+ "Try adjusting your search criteria": "Try adjusting your search criteria",
14
+ "Clear search": "Clear search",
15
+ "Clear all": "Clear all",
16
+ } as const;
@@ -1,9 +1,7 @@
1
- import type { CreateItemRequest, Item } from "@spaceinvoices/js-sdk";
2
-
1
+ import type { CreateItemRequest, Item, UpdateItemBody } from "@spaceinvoices/js-sdk";
2
+ import { items } from "@spaceinvoices/js-sdk";
3
3
  import { useQuery } from "@tanstack/react-query";
4
-
5
4
  import { createResourceHooks } from "@/ui/hooks/create-resource-hooks";
6
- import { useSDK } from "@/ui/providers/sdk-provider";
7
5
 
8
6
  // Define a constant for the items cache key
9
7
  export const ITEMS_CACHE_KEY = "items";
@@ -15,25 +13,29 @@ const {
15
13
  useDeleteResource: useDeleteItem,
16
14
  useRestoreResource: useRestoreItem,
17
15
  usePermanentDeleteResource: usePermanentDeleteItem,
18
- } = createResourceHooks<Item, CreateItemRequest>("items", ITEMS_CACHE_KEY, {
19
- restoreMethodName: "restoreItem",
20
- permanentDeleteMethodName: "permanentDeleteItem",
21
- });
16
+ } = createResourceHooks<Item, CreateItemRequest, UpdateItemBody>(
17
+ {
18
+ create: items.create,
19
+ update: items.update,
20
+ delete: items.delete,
21
+ restore: items.restoreItem,
22
+ permanentDelete: items.permanentDeleteItem,
23
+ },
24
+ ITEMS_CACHE_KEY,
25
+ );
22
26
 
23
- export { useCreateItem, useDeleteItem, useUpdateItem, useRestoreItem, usePermanentDeleteItem };
27
+ export { useCreateItem, useDeleteItem, usePermanentDeleteItem, useRestoreItem, useUpdateItem };
24
28
 
25
29
  /**
26
30
  * Hook to search items by name
27
31
  */
28
32
  export const useItemSearch = (entityId: string, search: string) => {
29
- const { sdk } = useSDK();
30
-
31
33
  return useQuery({
32
34
  queryKey: [ITEMS_CACHE_KEY, "search", entityId, search],
33
35
  queryFn: async () => {
34
36
  if (!search) return { data: [] };
35
37
 
36
- const response = await sdk.items.list({
38
+ const response = await items.list({
37
39
  entity_id: entityId,
38
40
  search,
39
41
  limit: 10,
@@ -49,12 +51,10 @@ export const useItemSearch = (entityId: string, search: string) => {
49
51
  * Hook to fetch recent items for an entity
50
52
  */
51
53
  export const useRecentItems = (entityId: string) => {
52
- const { sdk } = useSDK();
53
-
54
54
  return useQuery({
55
55
  queryKey: [ITEMS_CACHE_KEY, "recent", entityId],
56
56
  queryFn: async () => {
57
- const response = await sdk.items.list({
57
+ const response = await items.list({
58
58
  entity_id: entityId,
59
59
  limit: 5,
60
60
  order_by: "-created_at",