@spaceinvoices/react-ui 0.4.11 → 0.4.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/dist/index.js +1 -1
- package/package.json +3 -2
- package/registry.json +30 -31
- package/src/common/autocomplete.tsx +48 -26
- package/src/components/activities/locales/bg.ts +21 -0
- package/src/components/activities/locales/cs.ts +21 -0
- package/src/components/activities/locales/en.ts +21 -0
- package/src/components/activities/locales/et.ts +21 -0
- package/src/components/activities/locales/fi.ts +21 -0
- package/src/components/activities/locales/is.ts +21 -0
- package/src/components/activities/locales/nb.ts +21 -0
- package/src/components/activities/locales/sk.ts +21 -0
- package/src/components/activities/locales/sv.ts +21 -0
- package/src/components/advance-invoices/advance-invoices.hooks.ts +36 -46
- package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +452 -115
- package/src/components/advance-invoices/create/locales/bg.ts +56 -0
- package/src/components/advance-invoices/create/locales/cs.ts +56 -0
- package/src/components/advance-invoices/create/locales/de.ts +15 -7
- package/src/components/advance-invoices/create/locales/en.ts +56 -0
- package/src/components/advance-invoices/create/locales/es.ts +15 -7
- package/src/components/advance-invoices/create/locales/et.ts +56 -0
- package/src/components/advance-invoices/create/locales/fi.ts +56 -0
- package/src/components/advance-invoices/create/locales/fr.ts +16 -8
- package/src/components/advance-invoices/create/locales/hr.ts +29 -21
- package/src/components/advance-invoices/create/locales/is.ts +56 -0
- package/src/components/advance-invoices/create/locales/it.ts +15 -7
- package/src/components/advance-invoices/create/locales/nb.ts +56 -0
- package/src/components/advance-invoices/create/locales/nl.ts +15 -7
- package/src/components/advance-invoices/create/locales/pl.ts +17 -9
- package/src/components/advance-invoices/create/locales/pt.ts +16 -8
- package/src/components/advance-invoices/create/locales/sk.ts +56 -0
- package/src/components/advance-invoices/create/locales/sl.ts +23 -12
- package/src/components/advance-invoices/create/locales/sv.ts +56 -0
- package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +62 -2
- package/src/components/advance-invoices/list/list-row-actions.tsx +48 -16
- package/src/components/advance-invoices/list/list-table.tsx +35 -9
- package/src/components/advance-invoices/list/locales/bg.ts +51 -0
- package/src/components/advance-invoices/list/locales/cs.ts +51 -0
- package/src/components/advance-invoices/list/locales/en.ts +33 -2
- package/src/components/advance-invoices/list/locales/et.ts +51 -0
- package/src/components/advance-invoices/list/locales/fi.ts +51 -0
- package/src/components/advance-invoices/list/locales/hr.ts +15 -15
- package/src/components/advance-invoices/list/locales/is.ts +51 -0
- package/src/components/advance-invoices/list/locales/nb.ts +51 -0
- package/src/components/advance-invoices/list/locales/sk.ts +51 -0
- package/src/components/advance-invoices/list/locales/sv.ts +51 -0
- package/src/components/advance-invoices/list/use-advance-invoice-download.ts +3 -5
- package/src/components/common/autocomplete-locales.ts +101 -0
- package/src/components/company-registry/company-registry.hooks.ts +3 -7
- package/src/components/credit-notes/create/create-credit-note-form.tsx +437 -80
- package/src/components/credit-notes/create/locales/bg.ts +101 -0
- package/src/components/credit-notes/create/locales/cs.ts +101 -0
- package/src/components/credit-notes/create/locales/de.ts +20 -7
- package/src/components/credit-notes/create/locales/en.ts +101 -0
- package/src/components/credit-notes/create/locales/es.ts +20 -7
- package/src/components/credit-notes/create/locales/et.ts +101 -0
- package/src/components/credit-notes/create/locales/fi.ts +101 -0
- package/src/components/credit-notes/create/locales/fr.ts +21 -8
- package/src/components/credit-notes/create/locales/hr.ts +41 -28
- package/src/components/credit-notes/create/locales/is.ts +101 -0
- package/src/components/credit-notes/create/locales/it.ts +20 -7
- package/src/components/credit-notes/create/locales/nb.ts +101 -0
- package/src/components/credit-notes/create/locales/nl.ts +20 -7
- package/src/components/credit-notes/create/locales/pl.ts +22 -9
- package/src/components/credit-notes/create/locales/pt.ts +21 -8
- package/src/components/credit-notes/create/locales/sk.ts +101 -0
- package/src/components/credit-notes/create/locales/sl.ts +28 -14
- package/src/components/credit-notes/create/locales/sv.ts +101 -0
- package/src/components/credit-notes/create/prepare-credit-note-submission.ts +66 -0
- package/src/components/credit-notes/credit-notes.hooks.ts +34 -3
- package/src/components/credit-notes/list/list-row-actions.tsx +19 -7
- package/src/components/credit-notes/list/list-table.tsx +60 -8
- package/src/components/credit-notes/list/locales/bg.ts +48 -0
- package/src/components/credit-notes/list/locales/cs.ts +48 -0
- package/src/components/credit-notes/list/locales/en.ts +31 -2
- package/src/components/credit-notes/list/locales/et.ts +48 -0
- package/src/components/credit-notes/list/locales/fi.ts +48 -0
- package/src/components/credit-notes/list/locales/hr.ts +12 -12
- package/src/components/credit-notes/list/locales/is.ts +48 -0
- package/src/components/credit-notes/list/locales/nb.ts +48 -0
- package/src/components/credit-notes/list/locales/sk.ts +48 -0
- package/src/components/credit-notes/list/locales/sv.ts +48 -0
- package/src/components/credit-notes/list/use-credit-note-download.ts +3 -5
- package/src/components/customers/create-customer-form/locales/bg.ts +21 -0
- package/src/components/customers/create-customer-form/locales/cs.ts +21 -0
- package/src/components/customers/create-customer-form/locales/en.ts +21 -0
- package/src/components/customers/create-customer-form/locales/et.ts +21 -0
- package/src/components/customers/create-customer-form/locales/fi.ts +21 -0
- package/src/components/customers/create-customer-form/locales/hr.ts +11 -11
- package/src/components/customers/create-customer-form/locales/is.ts +21 -0
- package/src/components/customers/create-customer-form/locales/nb.ts +21 -0
- package/src/components/customers/create-customer-form/locales/sk.ts +21 -0
- package/src/components/customers/create-customer-form/locales/sv.ts +21 -0
- package/src/components/customers/customer-autocomplete.tsx +32 -4
- package/src/components/customers/customer-list-table/customer-list-table.tsx +8 -6
- package/src/components/customers/customer-list-table/locales/bg.ts +25 -0
- package/src/components/customers/customer-list-table/locales/cs.ts +25 -0
- package/src/components/customers/customer-list-table/locales/en.ts +17 -2
- package/src/components/customers/customer-list-table/locales/et.ts +25 -0
- package/src/components/customers/customer-list-table/locales/fi.ts +25 -0
- package/src/components/customers/customer-list-table/locales/hr.ts +11 -11
- package/src/components/customers/customer-list-table/locales/is.ts +25 -0
- package/src/components/customers/customer-list-table/locales/nb.ts +25 -0
- package/src/components/customers/customer-list-table/locales/sk.ts +25 -0
- package/src/components/customers/customer-list-table/locales/sv.ts +25 -0
- package/src/components/customers/customers.hooks.ts +14 -17
- package/src/components/customers/edit-customer-form/locales/bg.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/cs.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/en.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/et.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/fi.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/hr.ts +5 -5
- package/src/components/customers/edit-customer-form/locales/is.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/nb.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/sk.ts +13 -0
- package/src/components/customers/edit-customer-form/locales/sv.ts +13 -0
- package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +7 -6
- package/src/components/dashboard/collection-rate-card/locales/en.ts +3 -0
- package/src/components/dashboard/collection-rate-card/use-collection-rate.ts +8 -7
- package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +7 -4
- package/src/components/dashboard/invoice-status-chart/locales/bg.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/cs.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/de.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/en.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/es.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/et.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/fi.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/fr.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/hr.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/is.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/it.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/nb.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/nl.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/pl.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/pt.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/sk.ts +5 -5
- package/src/components/dashboard/invoice-status-chart/locales/sl.ts +1 -1
- package/src/components/dashboard/invoice-status-chart/locales/sv.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/bg.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/cs.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/en.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/et.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/fi.ts +6 -6
- package/src/components/dashboard/payment-methods-chart/locales/hr.ts +3 -3
- package/src/components/dashboard/payment-methods-chart/locales/is.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/nb.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/sk.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/locales/sv.ts +5 -5
- package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +4 -3
- package/src/components/dashboard/payment-trend-chart/locales/bg.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/cs.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/en.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/et.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/fi.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/is.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/nb.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/sk.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/locales/sv.ts +1 -1
- package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +4 -3
- package/src/components/dashboard/payment-trend-chart/use-payment-trend.ts +12 -9
- package/src/components/dashboard/revenue-card.tsx +3 -3
- package/src/components/dashboard/revenue-trend-chart/locales/bg.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/cs.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/en.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/et.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/fi.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/is.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/nb.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/sk.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/locales/sv.ts +1 -1
- package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +4 -3
- package/src/components/dashboard/revenue-trend-chart/use-revenue-trend.ts +4 -3
- package/src/components/dashboard/shared/local-date.ts +11 -0
- package/src/components/dashboard/shared/use-revenue-data.ts +6 -5
- package/src/components/dashboard/shared/use-stats-query.ts +7 -11
- package/src/components/dashboard/stat-card.tsx +3 -3
- package/src/components/dashboard/tax-collected-card/tax-collected-card.tsx +11 -9
- package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +3 -2
- package/src/components/dashboard/top-customers-chart/locales/bg.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/cs.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/en.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/et.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/fi.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/is.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/nb.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/sk.ts +2 -2
- package/src/components/dashboard/top-customers-chart/locales/sv.ts +2 -2
- package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +4 -3
- package/src/components/dashboard/top-customers-chart/use-top-customers.ts +7 -20
- package/src/components/delivery-notes/create/create-delivery-note-form.tsx +179 -47
- package/src/components/delivery-notes/create/locales/bg.ts +69 -0
- package/src/components/delivery-notes/create/locales/cs.ts +69 -0
- package/src/components/delivery-notes/create/locales/de.ts +1 -0
- package/src/components/delivery-notes/create/locales/en.ts +69 -0
- package/src/components/delivery-notes/create/locales/es.ts +1 -0
- package/src/components/delivery-notes/create/locales/et.ts +69 -0
- package/src/components/delivery-notes/create/locales/fi.ts +69 -0
- package/src/components/delivery-notes/create/locales/fr.ts +1 -0
- package/src/components/delivery-notes/create/locales/hr.ts +7 -6
- package/src/components/delivery-notes/create/locales/is.ts +69 -0
- package/src/components/delivery-notes/create/locales/it.ts +1 -0
- package/src/components/delivery-notes/create/locales/nb.ts +69 -0
- package/src/components/delivery-notes/create/locales/nl.ts +1 -0
- package/src/components/delivery-notes/create/locales/pl.ts +1 -0
- package/src/components/delivery-notes/create/locales/pt.ts +1 -0
- package/src/components/delivery-notes/create/locales/sk.ts +69 -0
- package/src/components/delivery-notes/create/locales/sl.ts +6 -5
- package/src/components/delivery-notes/create/locales/sv.ts +69 -0
- package/src/components/delivery-notes/create/prepare-delivery-note-submission.ts +34 -1
- package/src/components/delivery-notes/delivery-notes.hooks.ts +34 -3
- package/src/components/delivery-notes/list/list-row-actions.tsx +62 -16
- package/src/components/delivery-notes/list/list-table.tsx +44 -10
- package/src/components/delivery-notes/list/locales/bg.ts +40 -0
- package/src/components/delivery-notes/list/locales/cs.ts +40 -0
- package/src/components/delivery-notes/list/locales/et.ts +40 -0
- package/src/components/delivery-notes/list/locales/fi.ts +40 -0
- package/src/components/delivery-notes/list/locales/is.ts +40 -0
- package/src/components/delivery-notes/list/locales/nb.ts +40 -0
- package/src/components/delivery-notes/list/locales/sk.ts +40 -0
- package/src/components/delivery-notes/list/locales/sv.ts +40 -0
- package/src/components/delivery-notes/list/use-delivery-note-download.ts +3 -5
- package/src/components/documents/create/custom-create-template.ts +114 -0
- package/src/components/documents/create/document-add-item-form.tsx +266 -153
- package/src/components/documents/create/document-add-item-tax-rate-field.tsx +3 -3
- package/src/components/documents/create/document-date-validation.ts +111 -0
- package/src/components/documents/create/document-details-section.tsx +117 -54
- package/src/components/documents/create/document-form-item.ts +67 -0
- package/src/components/documents/create/document-item-validation.ts +54 -0
- package/src/components/documents/create/document-items-section.tsx +44 -6
- package/src/components/documents/create/document-recipient-section.tsx +10 -2
- package/src/components/documents/create/form-types.ts +2 -2
- package/src/components/documents/create/linked-documents-info.tsx +6 -14
- package/src/components/documents/create/live-preview.tsx +22 -18
- package/src/components/documents/create/mark-as-paid-section.tsx +80 -20
- package/src/components/documents/create/payment-rows.ts +321 -0
- package/src/components/documents/create/prepare-document-submission.ts +160 -109
- package/src/components/documents/create/prepare-preview-data.ts +12 -0
- package/src/components/documents/create/preserved-expected-total.ts +90 -0
- package/src/components/documents/create/scroll-to-first-invalid-field.ts +27 -0
- package/src/components/documents/create/smart-code-insert-button.tsx +5 -53
- package/src/components/documents/create/use-document-customer-form.ts +74 -25
- package/src/components/documents/documents.hooks.ts +3 -5
- package/src/components/documents/index.ts +1 -0
- package/src/components/documents/public/index.ts +1 -0
- package/src/components/documents/public/public-document-summary.tsx +336 -0
- package/src/components/documents/shared/document-preview-display.tsx +65 -39
- package/src/components/documents/shared/index.ts +6 -1
- package/src/components/documents/shared/scaled-document-preview.tsx +33 -19
- package/src/components/documents/types.ts +24 -0
- package/src/components/documents/view/document-actions-bar.tsx +251 -63
- package/src/components/documents/view/document-activities-list.tsx +23 -11
- package/src/components/documents/view/document-details-card.tsx +11 -39
- package/src/components/documents/view/document-payments-list.tsx +114 -57
- package/src/components/documents/view/document-relations-list.tsx +26 -6
- package/src/components/documents/view/document-sidebar.tsx +25 -3
- package/src/components/documents/view/document-version-history.tsx +137 -0
- package/src/components/documents/view/index.ts +1 -0
- package/src/components/documents/view/locales/bg.ts +143 -0
- package/src/components/documents/view/locales/cs.ts +143 -0
- package/src/components/documents/view/locales/de.ts +13 -0
- package/src/components/documents/view/locales/en.ts +143 -0
- package/src/components/documents/view/locales/es.ts +13 -0
- package/src/components/documents/view/locales/et.ts +143 -0
- package/src/components/documents/view/locales/fi.ts +143 -0
- package/src/components/documents/view/locales/fr.ts +13 -0
- package/src/components/documents/view/locales/hr.ts +18 -5
- package/src/components/documents/view/locales/is.ts +143 -0
- package/src/components/documents/view/locales/it.ts +13 -0
- package/src/components/documents/view/locales/nb.ts +143 -0
- package/src/components/documents/view/locales/nl.ts +13 -0
- package/src/components/documents/view/locales/pl.ts +13 -0
- package/src/components/documents/view/locales/pt.ts +13 -0
- package/src/components/documents/view/locales/sk.ts +143 -0
- package/src/components/documents/view/locales/sl.ts +21 -8
- package/src/components/documents/view/locales/sv.ts +143 -0
- package/src/components/documents/view/use-document-download.ts +18 -17
- package/src/components/entities/create-entity-form.tsx +200 -12
- package/src/components/entities/entities.hooks.ts +15 -7
- package/src/components/entities/entity-settings-form/entity-settings-form.tsx +121 -65
- package/src/components/entities/entity-settings-form/input-with-preview.tsx +28 -4
- package/src/components/entities/entity-settings-form/locales/bg.ts +206 -0
- package/src/components/entities/entity-settings-form/locales/cs.ts +206 -0
- package/src/components/entities/entity-settings-form/locales/de.ts +17 -3
- package/src/components/entities/entity-settings-form/locales/en.ts +206 -0
- package/src/components/entities/entity-settings-form/locales/es.ts +15 -3
- package/src/components/entities/entity-settings-form/locales/et.ts +205 -0
- package/src/components/entities/entity-settings-form/locales/fi.ts +206 -0
- package/src/components/entities/entity-settings-form/locales/fr.ts +15 -3
- package/src/components/entities/entity-settings-form/locales/hr.ts +23 -11
- package/src/components/entities/entity-settings-form/locales/is.ts +206 -0
- package/src/components/entities/entity-settings-form/locales/it.ts +15 -3
- package/src/components/entities/entity-settings-form/locales/nb.ts +206 -0
- package/src/components/entities/entity-settings-form/locales/nl.ts +15 -3
- package/src/components/entities/entity-settings-form/locales/pl.ts +15 -3
- package/src/components/entities/entity-settings-form/locales/pt.ts +15 -3
- package/src/components/entities/entity-settings-form/locales/sk.ts +206 -0
- package/src/components/entities/entity-settings-form/locales/sl.ts +31 -18
- package/src/components/entities/entity-settings-form/locales/sv.ts +212 -0
- package/src/components/entities/fina-settings-form/fina-operator-required-dialog.tsx +34 -9
- package/src/components/entities/fina-settings-form/fina-settings-form.tsx +2 -0
- package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +14 -45
- package/src/components/entities/fina-settings-form/locales/bg.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/cs.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/et.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/fi.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/hr.ts +11 -10
- package/src/components/entities/fina-settings-form/locales/is.ts +164 -0
- package/src/components/entities/fina-settings-form/locales/nb.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/sk.ts +163 -0
- package/src/components/entities/fina-settings-form/locales/sl.ts +8 -7
- package/src/components/entities/fina-settings-form/locales/sv.ts +165 -0
- package/src/components/entities/furs-settings-form/furs-operator-required-dialog.tsx +34 -9
- package/src/components/entities/furs-settings-form/furs-settings-form.tsx +13 -1
- package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +141 -42
- package/src/components/entities/furs-settings-form/locales/bg.ts +242 -0
- package/src/components/entities/furs-settings-form/locales/cs.ts +241 -0
- package/src/components/entities/furs-settings-form/locales/de.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/en.ts +24 -0
- package/src/components/entities/furs-settings-form/locales/es.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/et.ts +242 -0
- package/src/components/entities/furs-settings-form/locales/fi.ts +243 -0
- package/src/components/entities/furs-settings-form/locales/fr.ts +43 -15
- package/src/components/entities/furs-settings-form/locales/hr.ts +44 -19
- package/src/components/entities/furs-settings-form/locales/is.ts +242 -0
- package/src/components/entities/furs-settings-form/locales/it.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/nb.ts +242 -0
- package/src/components/entities/furs-settings-form/locales/nl.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/pl.ts +40 -15
- package/src/components/entities/furs-settings-form/locales/pt.ts +42 -15
- package/src/components/entities/furs-settings-form/locales/sk.ts +243 -0
- package/src/components/entities/furs-settings-form/locales/sl.ts +34 -10
- package/src/components/entities/furs-settings-form/locales/sv.ts +242 -0
- package/src/components/entities/furs-settings-form/sections/enable-fiscalization-section.tsx +11 -0
- package/src/components/entities/furs-settings-form/sections/furs-internal-act-download-card.tsx +111 -0
- package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +27 -0
- package/src/components/entities/furs-settings-form/sections/premises-management-section.tsx +23 -16
- package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +89 -31
- package/src/components/entities/settings/branding-settings-form.tsx +11 -30
- package/src/components/entities/settings/company-settings-form.tsx +2 -1
- package/src/components/entities/settings/defaults-settings-form.tsx +106 -3
- package/src/components/entities/settings/email-settings-form.tsx +245 -3
- package/src/components/entities/settings/eslog-settings-form.tsx +2 -1
- package/src/components/entities/settings/number-format-settings-form.tsx +2 -1
- package/src/components/entities/settings/pdf-template-selector/locales/bg.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/cs.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/en.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/et.ts +19 -0
- package/src/components/entities/settings/pdf-template-selector/locales/fi.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/is.ts +19 -0
- package/src/components/entities/settings/pdf-template-selector/locales/nb.ts +19 -0
- package/src/components/entities/settings/pdf-template-selector/locales/sk.ts +20 -0
- package/src/components/entities/settings/pdf-template-selector/locales/sv.ts +19 -0
- package/src/components/entities/settings/tax-rules-settings-form.tsx +57 -6
- package/src/components/estimates/create/create-estimate-form.tsx +250 -66
- package/src/components/estimates/create/locales/bg.ts +77 -0
- package/src/components/estimates/create/locales/cs.ts +77 -0
- package/src/components/estimates/create/locales/de.ts +4 -3
- package/src/components/estimates/create/locales/en.ts +77 -0
- package/src/components/estimates/create/locales/es.ts +4 -3
- package/src/components/estimates/create/locales/et.ts +77 -0
- package/src/components/estimates/create/locales/fi.ts +77 -0
- package/src/components/estimates/create/locales/fr.ts +4 -3
- package/src/components/estimates/create/locales/hr.ts +13 -12
- package/src/components/estimates/create/locales/is.ts +77 -0
- package/src/components/estimates/create/locales/it.ts +4 -3
- package/src/components/estimates/create/locales/nb.ts +77 -0
- package/src/components/estimates/create/locales/nl.ts +4 -3
- package/src/components/estimates/create/locales/pl.ts +4 -3
- package/src/components/estimates/create/locales/pt.ts +4 -3
- package/src/components/estimates/create/locales/sk.ts +77 -0
- package/src/components/estimates/create/locales/sl.ts +13 -12
- package/src/components/estimates/create/locales/sv.ts +77 -0
- package/src/components/estimates/create/prepare-estimate-submission.ts +41 -4
- package/src/components/estimates/estimates.hooks.ts +24 -3
- package/src/components/estimates/list/list-row-actions.tsx +34 -7
- package/src/components/estimates/list/list-table.tsx +89 -11
- package/src/components/estimates/list/locales/bg.ts +40 -0
- package/src/components/estimates/list/locales/cs.ts +40 -0
- package/src/components/estimates/list/locales/de.ts +2 -0
- package/src/components/estimates/list/locales/en.ts +29 -2
- package/src/components/estimates/list/locales/es.ts +2 -0
- package/src/components/estimates/list/locales/et.ts +40 -0
- package/src/components/estimates/list/locales/fi.ts +40 -0
- package/src/components/estimates/list/locales/fr.ts +2 -0
- package/src/components/estimates/list/locales/hr.ts +9 -7
- package/src/components/estimates/list/locales/is.ts +40 -0
- package/src/components/estimates/list/locales/it.ts +2 -0
- package/src/components/estimates/list/locales/nb.ts +40 -0
- package/src/components/estimates/list/locales/nl.ts +2 -0
- package/src/components/estimates/list/locales/pl.ts +2 -0
- package/src/components/estimates/list/locales/pt.ts +2 -0
- package/src/components/estimates/list/locales/sk.ts +40 -0
- package/src/components/estimates/list/locales/sl.ts +9 -7
- package/src/components/estimates/list/locales/sv.ts +40 -0
- package/src/components/estimates/list/use-estimate-download.ts +3 -5
- package/src/components/export/document-export-form.tsx +72 -15
- package/src/components/export/sales-per-item-export-form.tsx +3 -2
- package/src/components/invoices/create/create-invoice-form.tsx +500 -112
- package/src/components/invoices/create/eslog-validation.ts +97 -8
- package/src/components/invoices/create/locales/bg.ts +173 -0
- package/src/components/invoices/create/locales/cs.ts +173 -0
- package/src/components/invoices/create/locales/de.ts +41 -9
- package/src/components/invoices/create/locales/en.ts +173 -0
- package/src/components/invoices/create/locales/es.ts +42 -9
- package/src/components/invoices/create/locales/et.ts +173 -0
- package/src/components/invoices/create/locales/fi.ts +173 -0
- package/src/components/invoices/create/locales/fr.ts +42 -11
- package/src/components/invoices/create/locales/hr.ts +50 -18
- package/src/components/invoices/create/locales/is.ts +173 -0
- package/src/components/invoices/create/locales/it.ts +43 -11
- package/src/components/invoices/create/locales/nb.ts +173 -0
- package/src/components/invoices/create/locales/nl.ts +42 -10
- package/src/components/invoices/create/locales/pl.ts +42 -11
- package/src/components/invoices/create/locales/pt.ts +43 -10
- package/src/components/invoices/create/locales/sk.ts +173 -0
- package/src/components/invoices/create/locales/sl.ts +49 -18
- package/src/components/invoices/create/locales/sv.ts +175 -0
- package/src/components/invoices/create/prepare-invoice-submission.ts +73 -2
- package/src/components/invoices/invoices-furs.hooks.ts +11 -8
- package/src/components/invoices/invoices.hooks.ts +36 -10
- package/src/components/invoices/list/list-row-actions.tsx +54 -21
- package/src/components/invoices/list/list-table.tsx +94 -12
- package/src/components/invoices/list/locales/bg.ts +49 -0
- package/src/components/invoices/list/locales/cs.ts +49 -0
- package/src/components/invoices/list/locales/en.ts +34 -2
- package/src/components/invoices/list/locales/et.ts +49 -0
- package/src/components/invoices/list/locales/fi.ts +49 -0
- package/src/components/invoices/list/locales/is.ts +49 -0
- package/src/components/invoices/list/locales/nb.ts +49 -0
- package/src/components/invoices/list/locales/sk.ts +49 -0
- package/src/components/invoices/list/locales/sv.ts +49 -0
- package/src/components/invoices/list/use-invoice-download.ts +3 -5
- package/src/components/invoices/send-email-dialog/locales/bg.ts +63 -0
- package/src/components/invoices/send-email-dialog/locales/cs.ts +63 -0
- package/src/components/invoices/send-email-dialog/locales/de.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/en.ts +63 -0
- package/src/components/invoices/send-email-dialog/locales/es.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/et.ts +63 -0
- package/src/components/invoices/send-email-dialog/locales/fi.ts +63 -0
- package/src/components/invoices/send-email-dialog/locales/fr.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/hr.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/is.ts +63 -0
- package/src/components/invoices/send-email-dialog/locales/it.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/nb.ts +63 -0
- package/src/components/invoices/send-email-dialog/locales/nl.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/pl.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/pt.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/sk.ts +63 -0
- package/src/components/invoices/send-email-dialog/locales/sl.ts +26 -0
- package/src/components/invoices/send-email-dialog/locales/sv.ts +63 -0
- package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +189 -93
- package/src/components/invoices/view/eslog-info-display.tsx +2 -0
- package/src/components/invoices/view/fiscalization-status-card.tsx +2 -0
- package/src/components/items/create-item-form/create-item-form.tsx +29 -0
- package/src/components/items/create-item-form/locales/bg.ts +13 -0
- package/src/components/items/create-item-form/locales/cs.ts +13 -0
- package/src/components/items/create-item-form/locales/et.ts +13 -0
- package/src/components/items/create-item-form/locales/fi.ts +13 -0
- package/src/components/items/create-item-form/locales/is.ts +13 -0
- package/src/components/items/create-item-form/locales/nb.ts +13 -0
- package/src/components/items/create-item-form/locales/sk.ts +13 -0
- package/src/components/items/create-item-form/locales/sv.ts +13 -0
- package/src/components/items/edit-item-form/edit-item-form.tsx +39 -1
- package/src/components/items/edit-item-form/locales/bg.ts +12 -0
- package/src/components/items/edit-item-form/locales/cs.ts +12 -0
- package/src/components/items/edit-item-form/locales/en.ts +12 -0
- package/src/components/items/edit-item-form/locales/et.ts +12 -0
- package/src/components/items/edit-item-form/locales/fi.ts +12 -0
- package/src/components/items/edit-item-form/locales/is.ts +12 -0
- package/src/components/items/edit-item-form/locales/nb.ts +12 -0
- package/src/components/items/edit-item-form/locales/sk.ts +12 -0
- package/src/components/items/edit-item-form/locales/sv.ts +12 -0
- package/src/components/items/item-combobox.tsx +55 -22
- package/src/components/items/item-list-table/item-list-table.tsx +47 -23
- package/src/components/items/item-list-table/locales/bg.ts +16 -0
- package/src/components/items/item-list-table/locales/cs.ts +16 -0
- package/src/components/items/item-list-table/locales/en.ts +4 -3
- package/src/components/items/item-list-table/locales/et.ts +16 -0
- package/src/components/items/item-list-table/locales/fi.ts +16 -0
- package/src/components/items/item-list-table/locales/is.ts +16 -0
- package/src/components/items/item-list-table/locales/nb.ts +16 -0
- package/src/components/items/item-list-table/locales/sk.ts +16 -0
- package/src/components/items/item-list-table/locales/sv.ts +16 -0
- package/src/components/items/items.hooks.ts +15 -15
- package/src/components/payments/create-payment-form/create-payment-form.tsx +16 -9
- package/src/components/payments/create-payment-form/locales/bg.ts +20 -0
- package/src/components/payments/create-payment-form/locales/cs.ts +20 -0
- package/src/components/payments/create-payment-form/locales/en.ts +20 -0
- package/src/components/payments/create-payment-form/locales/et.ts +20 -0
- package/src/components/payments/create-payment-form/locales/fi.ts +20 -0
- package/src/components/payments/create-payment-form/locales/hr.ts +2 -2
- package/src/components/payments/create-payment-form/locales/is.ts +20 -0
- package/src/components/payments/create-payment-form/locales/nb.ts +20 -0
- package/src/components/payments/create-payment-form/locales/sk.ts +20 -0
- package/src/components/payments/create-payment-form/locales/sl.ts +4 -4
- package/src/components/payments/create-payment-form/locales/sv.ts +20 -0
- package/src/components/payments/edit-payment-form/edit-payment-form.tsx +10 -2
- package/src/components/payments/edit-payment-form/locales/bg.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/cs.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/en.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/et.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/fi.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/hr.ts +2 -2
- package/src/components/payments/edit-payment-form/locales/is.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/nb.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/sk.ts +20 -0
- package/src/components/payments/edit-payment-form/locales/sl.ts +4 -4
- package/src/components/payments/edit-payment-form/locales/sv.ts +20 -0
- package/src/components/payments/list/list-row-actions.tsx +10 -2
- package/src/components/payments/list/list-table.tsx +51 -45
- package/src/components/payments/list/locales/bg.ts +42 -0
- package/src/components/payments/list/locales/cs.ts +42 -0
- package/src/components/payments/list/locales/de.ts +18 -0
- package/src/components/payments/list/locales/en.ts +37 -2
- package/src/components/payments/list/locales/es.ts +18 -0
- package/src/components/payments/list/locales/et.ts +42 -0
- package/src/components/payments/list/locales/fi.ts +42 -0
- package/src/components/payments/list/locales/fr.ts +18 -0
- package/src/components/payments/list/locales/hr.ts +18 -0
- package/src/components/payments/list/locales/is.ts +42 -0
- package/src/components/payments/list/locales/it.ts +18 -0
- package/src/components/payments/list/locales/nb.ts +42 -0
- package/src/components/payments/list/locales/nl.ts +18 -0
- package/src/components/payments/list/locales/pl.ts +18 -0
- package/src/components/payments/list/locales/pt.ts +18 -0
- package/src/components/payments/list/locales/sk.ts +42 -0
- package/src/components/payments/list/locales/sl.ts +18 -1
- package/src/components/payments/list/locales/sv.ts +42 -0
- package/src/components/payments/payments.hooks.ts +13 -6
- package/src/components/recurring-invoices/create-recurring-invoice-form/create-recurring-invoice-form.tsx +121 -39
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/bg.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/cs.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/en.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/et.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/fi.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/hr.ts +6 -6
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/is.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/nb.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sk.ts +44 -0
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sl.ts +4 -4
- package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sv.ts +44 -0
- package/src/components/recurring-invoices/list/list-row-actions.tsx +12 -6
- package/src/components/recurring-invoices/list/list-table.tsx +63 -12
- package/src/components/recurring-invoices/list/locales/bg.ts +32 -0
- package/src/components/recurring-invoices/list/locales/cs.ts +32 -0
- package/src/components/recurring-invoices/list/locales/de.ts +4 -0
- package/src/components/recurring-invoices/list/locales/en.ts +27 -0
- package/src/components/recurring-invoices/list/locales/es.ts +4 -0
- package/src/components/recurring-invoices/list/locales/et.ts +32 -0
- package/src/components/recurring-invoices/list/locales/fi.ts +32 -0
- package/src/components/recurring-invoices/list/locales/fr.ts +4 -0
- package/src/components/recurring-invoices/list/locales/hr.ts +4 -0
- package/src/components/recurring-invoices/list/locales/is.ts +32 -0
- package/src/components/recurring-invoices/list/locales/it.ts +4 -0
- package/src/components/recurring-invoices/list/locales/nb.ts +32 -0
- package/src/components/recurring-invoices/list/locales/nl.ts +4 -0
- package/src/components/recurring-invoices/list/locales/pl.ts +4 -0
- package/src/components/recurring-invoices/list/locales/pt.ts +4 -0
- package/src/components/recurring-invoices/list/locales/sk.ts +32 -0
- package/src/components/recurring-invoices/list/locales/sl.ts +4 -0
- package/src/components/recurring-invoices/list/locales/sv.ts +32 -0
- package/src/components/recurring-invoices/recurring-invoices.hooks.ts +11 -8
- package/src/components/request-logs/request-log-detail.tsx +30 -23
- package/src/components/request-logs/request-log-list-table.tsx +88 -45
- package/src/components/table/README.md +47 -9
- package/src/components/table/data-table.tsx +232 -92
- package/src/components/table/filter-bar.tsx +1 -1
- package/src/components/table/filter-panel.tsx +51 -22
- package/src/components/table/hooks/use-table-state.ts +64 -11
- package/src/components/table/index.ts +3 -0
- package/src/components/table/locales.ts +119 -4
- package/src/components/table/selection-toolbar.tsx +65 -9
- package/src/components/table/sorting.ts +80 -0
- package/src/components/table/table-skeleton.tsx +15 -9
- package/src/components/table/types.ts +17 -0
- package/src/components/tax-reports/index.ts +8 -0
- package/src/components/tax-reports/kir-export-form.tsx +4 -5
- package/src/components/tax-reports/slovenia-accounting-mappings-fields.tsx +271 -0
- package/src/components/tax-reports/slovenia-tax-profile-step.tsx +25 -11
- package/src/components/tax-reports/slovenia-vod-export-form.tsx +452 -0
- package/src/components/tax-reports/slovenia-yearly-export-form.tsx +20 -16
- package/src/components/tax-reports/slovenia-yearly-review-step.tsx +42 -19
- package/src/components/taxes/create-tax-form/create-tax-form.tsx +48 -2
- package/src/components/taxes/create-tax-form/locales/bg.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/cs.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/et.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/fi.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/is.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/nb.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/sk.ts +8 -0
- package/src/components/taxes/create-tax-form/locales/sv.ts +8 -0
- package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +80 -11
- package/src/components/taxes/edit-tax-form/locales/bg.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/cs.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/en.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/et.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/fi.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/is.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/nb.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/sk.ts +6 -0
- package/src/components/taxes/edit-tax-form/locales/sv.ts +6 -0
- package/src/components/taxes/tax-list-table/locales/bg.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/cs.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/en.ts +4 -3
- package/src/components/taxes/tax-list-table/locales/et.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/fi.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/is.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/nb.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/sk.ts +17 -0
- package/src/components/taxes/tax-list-table/locales/sv.ts +17 -0
- package/src/components/taxes/tax-list-table/tax-list-table.tsx +53 -19
- package/src/components/taxes/taxes.hooks.ts +53 -12
- package/src/components/ui/badge.tsx +1 -1
- package/src/components/ui/button.tsx +1 -1
- package/src/components/ui/drawer.tsx +2 -2
- package/src/components/ui/form.tsx +118 -10
- package/src/components/ui/progress.tsx +6 -4
- package/src/components/ui/select.tsx +118 -2
- package/src/components/ui/sidebar.tsx +2 -2
- package/src/components/ui/sonner.tsx +17 -36
- package/src/components/ui/sticky-form-footer.tsx +6 -1
- package/src/components/ui/tooltip.tsx +15 -2
- package/src/components/webhook-logs/webhook-delivery-detail.tsx +22 -22
- package/src/components/webhook-logs/webhook-delivery-list-table.tsx +92 -17
- package/src/components/wl-subscription/locked-feature.tsx +11 -10
- package/src/components/wl-subscription/paywall.tsx +184 -72
- package/src/components/wl-subscription/upgrade-modal.tsx +28 -31
- package/src/generate-schemas.ts +146 -103
- package/src/generated/schemas/acceptentityinvitation_body.ts +4 -3
- package/src/generated/schemas/accountwebhook.ts +63 -0
- package/src/generated/schemas/addentityuser_body.ts +4 -3
- package/src/generated/schemas/advanceinvoice.ts +167 -168
- package/src/generated/schemas/authorizeshopify_body.ts +4 -3
- package/src/generated/schemas/calculatedocumentpreview.ts +120 -0
- package/src/generated/schemas/checktransactiontype.ts +35 -0
- package/src/generated/schemas/creditnote.ts +203 -76
- package/src/generated/schemas/customadvanceinvoice.ts +172 -165
- package/src/generated/schemas/customcreditnote.ts +183 -155
- package/src/generated/schemas/customdeliverynote.ts +166 -0
- package/src/generated/schemas/customer.ts +4 -8
- package/src/generated/schemas/customestimate.ts +123 -97
- package/src/generated/schemas/customincomingpurchasedocument.ts +142 -0
- package/src/generated/schemas/custominvoice.ts +183 -154
- package/src/generated/schemas/deliverynote.ts +124 -79
- package/src/generated/schemas/einvoice.ts +19 -0
- package/src/generated/schemas/einvoicingsettings.ts +21 -0
- package/src/generated/schemas/einvoicingsupplier.ts +45 -0
- package/src/generated/schemas/entity.ts +267 -24
- package/src/generated/schemas/entityapikey.ts +1 -3
- package/src/generated/schemas/entityuserrole.ts +1 -3
- package/src/generated/schemas/estimate.ts +120 -127
- package/src/generated/schemas/exportsloveniavodxml_body.ts +17 -0
- package/src/generated/schemas/exportsloveniayearlynormiranireport_body.ts +4 -3
- package/src/generated/schemas/finadevice.ts +15 -0
- package/src/generated/schemas/finalizedocument.ts +52 -0
- package/src/generated/schemas/finapremise.ts +15 -0
- package/src/generated/schemas/finasettings.ts +1 -3
- package/src/generated/schemas/furselectronicdevice.ts +15 -0
- package/src/generated/schemas/furssettings.ts +2 -3
- package/src/generated/schemas/image.ts +15 -0
- package/src/generated/schemas/incomingpurchasedocument.ts +178 -0
- package/src/generated/schemas/incomingpurchasedocumentattachment.ts +15 -0
- package/src/generated/schemas/incomingpurchasedocumentpayment.ts +36 -0
- package/src/generated/schemas/index.ts +30 -5
- package/src/generated/schemas/invoice.ts +182 -183
- package/src/generated/schemas/item.ts +35 -3
- package/src/generated/schemas/legacymigrationauth.ts +18 -0
- package/src/generated/schemas/me.ts +4 -22
- package/src/generated/schemas/migrationjob.ts +20 -0
- package/src/generated/schemas/order.ts +6 -8
- package/src/generated/schemas/orderintegration.ts +12 -12
- package/src/generated/schemas/payment.ts +9 -8
- package/src/generated/schemas/ptatcudseries.ts +28 -0
- package/src/generated/schemas/queryentitystats.ts +15 -0
- package/src/generated/schemas/recurringinvoice.ts +4 -8
- package/src/generated/schemas/registerfursmovablepremise_body.ts +1 -3
- package/src/generated/schemas/registerfursrealestatepremise_body.ts +1 -3
- package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +42 -16
- package/src/generated/schemas/rendercreditnotepreview_body.ts +42 -16
- package/src/generated/schemas/renderdeliverynotepreview_body.ts +19 -8
- package/src/generated/schemas/renderestimatepreview_body.ts +45 -8
- package/src/generated/schemas/renderinvoicepreview_body.ts +46 -18
- package/src/generated/schemas/reviewsloveniayearlynormiranireport.ts +15 -0
- package/src/generated/schemas/searcheinvoicingcustomer.ts +18 -0
- package/src/generated/schemas/senddocument_body.ts +2 -3
- package/src/generated/schemas/sendemail_body.ts +48 -42
- package/src/generated/schemas/sloveniataxprofile.ts +98 -24
- package/src/generated/schemas/starteslogexport_body.ts +34 -0
- package/src/generated/schemas/startpdfexport_body.ts +18 -81
- package/src/generated/schemas/stripeappconnect_body.ts +4 -3
- package/src/generated/schemas/stripeappcreateinvoice_body.ts +4 -6
- package/src/generated/schemas/stripeappmarketplaceauthorize.ts +15 -0
- package/src/generated/schemas/stripeappupdatesettings_body.ts +6 -6
- package/src/generated/schemas/supplier.ts +55 -0
- package/src/generated/schemas/syncshopifyorders_body.ts +21 -0
- package/src/generated/schemas/tax.ts +8 -8
- package/src/generated/schemas/uploadfile_body.ts +2 -3
- package/src/generated/schemas/uploadfurscertificate_body.ts +6 -6
- package/src/generated/schemas/userfinasettings.ts +1 -3
- package/src/generated/schemas/userfurssettings.ts +1 -3
- package/src/generated/schemas/userptsettings.ts +24 -0
- package/src/generated/schemas/voidinvoice_body.ts +25 -0
- package/src/generated/schemas/webhook.ts +6 -8
- package/src/generated/schemas/wlsubscriptionbillingemail.ts +17 -0
- package/src/hooks/create-resource-hooks.ts +22 -19
- package/src/hooks/use-duplicate-document.ts +71 -38
- package/src/hooks/use-eslog-validation.ts +5 -1
- package/src/hooks/use-next-document-number.ts +13 -6
- package/src/hooks/use-resolved-entity-id.ts +14 -0
- package/src/hooks/use-resource-mutation.ts +11 -30
- package/src/hooks/use-transaction-type-check.ts +3 -8
- package/src/lib/browser-cookies.ts +1 -1
- package/src/lib/country-capabilities.ts +114 -0
- package/src/lib/date-fns-locale.ts +1 -20
- package/src/lib/date-only.ts +58 -0
- package/src/lib/document-display.ts +18 -0
- package/src/lib/eslog-export.ts +32 -0
- package/src/lib/fiscalization-options.ts +21 -1
- package/src/lib/formatting.ts +27 -0
- package/src/lib/furs-error-utils.ts +29 -0
- package/src/lib/locale.ts +4 -0
- package/src/lib/payment-display.ts +97 -0
- package/src/lib/pt-document-input.ts +67 -0
- package/src/lib/schemas/shared.ts +12 -0
- package/src/lib/template-variables.tsx +102 -4
- package/src/lib/translation.ts +51 -33
- package/src/lib/white-label-capabilities.ts +626 -0
- package/src/lib/zod-validation-message.ts +291 -0
- package/src/providers/entities-provider.tsx +32 -14
- package/src/providers/sdk-provider.tsx +112 -12
- package/src/providers/space-invoices-provider.tsx +129 -0
- package/src/providers/white-label-provider.tsx +96 -4
- package/src/providers/wl-subscription-provider.tsx +149 -10
- package/src/generated/schemas/previewadvanceinvoice_body.ts +0 -354
- package/src/generated/schemas/previewestimate_body.ts +0 -309
- package/src/generated/schemas/registerfinamovablepremise_body.ts +0 -26
- package/src/generated/schemas/registerfinarealestatepremise_body.ts +0 -37
- package/src/generated/schemas/renderdocument_body.ts +0 -594
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
"Create Estimate": "Criar orçamento",
|
|
3
|
-
"Create
|
|
3
|
+
"Create Proforma invoice": "Criar fatura proforma",
|
|
4
4
|
Estimate: "Orçamento",
|
|
5
|
-
|
|
6
|
-
"Click to switch to
|
|
5
|
+
"Proforma invoice": "Fatura proforma",
|
|
6
|
+
"Click to switch to Proforma invoice": "Clique para mudar para Fatura proforma",
|
|
7
7
|
"Click to switch to Estimate": "Clique para mudar para Orçamento",
|
|
8
8
|
Details: "Detalhes",
|
|
9
9
|
Number: "Número",
|
|
@@ -45,6 +45,7 @@ export default {
|
|
|
45
45
|
Discount: "Desconto",
|
|
46
46
|
Description: "Descrição",
|
|
47
47
|
Save: "Guardar",
|
|
48
|
+
Update: "Atualizar",
|
|
48
49
|
"Save as Draft": "Guardar como rascunho",
|
|
49
50
|
"Pick a date": "Selecionar uma data",
|
|
50
51
|
Currency: "Moeda",
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Create Estimate": "Vytvoriť cenovú ponuku",
|
|
3
|
+
"Create Proforma invoice": "Vytvoriť proforma faktúru",
|
|
4
|
+
Estimate: "Cenová ponuka",
|
|
5
|
+
"Proforma invoice": "Proforma faktúra",
|
|
6
|
+
"Click to switch to Proforma invoice": "Kliknutím prepnete na proforma faktúru",
|
|
7
|
+
"Click to switch to Estimate": "Kliknutím prepnete na cenovú ponuku",
|
|
8
|
+
Details: "Údaje",
|
|
9
|
+
Number: "Číslo",
|
|
10
|
+
Date: "Dátum",
|
|
11
|
+
"Due Date": "Dátum splatnosti",
|
|
12
|
+
"Valid Until": "Platné do",
|
|
13
|
+
Recipient: "Recipient",
|
|
14
|
+
"Search or create customer...": "Search or create customer...",
|
|
15
|
+
Clear: "Clear",
|
|
16
|
+
Name: "Meno",
|
|
17
|
+
Address: "Adresa",
|
|
18
|
+
"Address 2": "Adresa 2",
|
|
19
|
+
"Post Code": "PSC",
|
|
20
|
+
City: "Mesto",
|
|
21
|
+
State: "Kraj",
|
|
22
|
+
Country: "Krajina",
|
|
23
|
+
"Tax Number": "Daňové číslo",
|
|
24
|
+
Items: "Položky",
|
|
25
|
+
"Add item": "Add item",
|
|
26
|
+
Tax: "Tax",
|
|
27
|
+
"Tax rate": "Tax rate",
|
|
28
|
+
"Add tax": "Add tax",
|
|
29
|
+
"Select tax...": "Select tax...",
|
|
30
|
+
"Loading...": "Načítavam...",
|
|
31
|
+
"No taxes found": "No taxes found",
|
|
32
|
+
"Add new tax...": "Add new tax...",
|
|
33
|
+
Note: "Note",
|
|
34
|
+
"Insert variable": "Insert variable",
|
|
35
|
+
"Add payment instructions, terms, or other notes...": "Add payment instructions, terms, or other notes...",
|
|
36
|
+
Signature: "Podpis",
|
|
37
|
+
"Add signature text...": "Pridat text podpisu...",
|
|
38
|
+
"Payment Terms": "Payment Terms",
|
|
39
|
+
"Add payment terms...": "Add payment terms...",
|
|
40
|
+
Quantity: "Quantity",
|
|
41
|
+
Price: "Cena",
|
|
42
|
+
Unit: "Unit",
|
|
43
|
+
Discount: "Discount",
|
|
44
|
+
Description: "Popis",
|
|
45
|
+
Save: "Uložiť",
|
|
46
|
+
Update: "Aktualizovať",
|
|
47
|
+
"Save as Draft": "Save as Draft",
|
|
48
|
+
"Pick a date": "Pick a date",
|
|
49
|
+
Currency: "Mena",
|
|
50
|
+
"Select currency": "Vyberte menu",
|
|
51
|
+
"Percentage discount": "Percentage discount",
|
|
52
|
+
"Fixed amount discount": "Fixed amount discount",
|
|
53
|
+
Percentage: "Percentage",
|
|
54
|
+
"Fixed amount": "Fixed amount",
|
|
55
|
+
"Taxes disabled": "Taxes disabled",
|
|
56
|
+
"Gross price": "Gross price",
|
|
57
|
+
"Net price": "Net price",
|
|
58
|
+
"Gross price (tax included)": "Gross price (tax included)",
|
|
59
|
+
"Net price (before tax)": "Net price (before tax)",
|
|
60
|
+
"Add separator": "Add separator",
|
|
61
|
+
"Section header": "Section header",
|
|
62
|
+
"Section title...": "Section title...",
|
|
63
|
+
"Transaction type": "Transaction type",
|
|
64
|
+
Domestic: "Domestic",
|
|
65
|
+
"EU B2B": "EU B2B",
|
|
66
|
+
"EU B2C": "EU B2C",
|
|
67
|
+
"3W B2B": "3W B2B",
|
|
68
|
+
"3W B2C": "3W B2C",
|
|
69
|
+
"Determining transaction type...": "Determining transaction type...",
|
|
70
|
+
"This invoice will not be fiscalized (non-domestic transaction)":
|
|
71
|
+
"This invoice will not be fiscalized (non-domestic transaction)",
|
|
72
|
+
"Tax Clause": "Tax Clause",
|
|
73
|
+
"Add tax clause...": "Add tax clause...",
|
|
74
|
+
Footer: "Footer",
|
|
75
|
+
"Add document footer...": "Add document footer...",
|
|
76
|
+
"Reverse charge - tax exempt EU B2B sale": "Reverse charge - tax exempt EU B2B sale",
|
|
77
|
+
} as const;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export default {
|
|
2
|
-
"Create Estimate": "Ustvari
|
|
3
|
-
"Create
|
|
4
|
-
Estimate: "
|
|
5
|
-
|
|
6
|
-
"Click to switch to
|
|
7
|
-
"Click to switch to Estimate": "Kliknite za
|
|
2
|
+
"Create Estimate": "Ustvari ponudbo",
|
|
3
|
+
"Create Proforma invoice": "Ustvari predračun",
|
|
4
|
+
Estimate: "Ponudba",
|
|
5
|
+
"Proforma invoice": "Predračun",
|
|
6
|
+
"Click to switch to Proforma invoice": "Kliknite za preklop na predračun",
|
|
7
|
+
"Click to switch to Estimate": "Kliknite za preklop na ponudbo",
|
|
8
8
|
Details: "Podrobnosti",
|
|
9
9
|
Number: "Številka",
|
|
10
10
|
Date: "Datum",
|
|
11
11
|
"Due Date": "Rok plačila",
|
|
12
12
|
"Valid Until": "Veljavno do",
|
|
13
13
|
Recipient: "Prejemnik",
|
|
14
|
-
"Search or create customer...": "
|
|
14
|
+
"Search or create customer...": "Poiščite ali ustvarite stranko...",
|
|
15
15
|
Clear: "Počisti",
|
|
16
16
|
Name: "Ime",
|
|
17
17
|
Address: "Naslov",
|
|
@@ -31,15 +31,15 @@ export default {
|
|
|
31
31
|
"No taxes found": "Ni najdenih davkov",
|
|
32
32
|
"Add new tax...": "Dodaj nov davek...",
|
|
33
33
|
// Note field
|
|
34
|
-
Note: "
|
|
34
|
+
Note: "Pripis",
|
|
35
35
|
"Insert variable": "Vstavi spremenljivko",
|
|
36
|
-
"Add payment instructions, terms, or other notes...": "
|
|
36
|
+
"Add payment instructions, terms, or other notes...": "Dodaj navodila za plačilo, pogoje ali druge pripise...",
|
|
37
37
|
// Signature field
|
|
38
38
|
Signature: "Podpis",
|
|
39
39
|
"Add signature text...": "Dodaj besedilo podpisa...",
|
|
40
40
|
// Payment terms field
|
|
41
41
|
"Payment Terms": "Plačilni pogoji",
|
|
42
|
-
"Add payment terms...": "
|
|
42
|
+
"Add payment terms...": "Dodaj plačilne pogoje...",
|
|
43
43
|
// Document item fields
|
|
44
44
|
Quantity: "Količina",
|
|
45
45
|
Price: "Cena",
|
|
@@ -47,6 +47,7 @@ export default {
|
|
|
47
47
|
Discount: "Popust",
|
|
48
48
|
Description: "Opis",
|
|
49
49
|
Save: "Shrani",
|
|
50
|
+
Update: "Posodobi",
|
|
50
51
|
"Save as Draft": "Shrani kot osnutek",
|
|
51
52
|
"Pick a date": "Izberi datum",
|
|
52
53
|
// Currency
|
|
@@ -78,8 +79,8 @@ export default {
|
|
|
78
79
|
"This invoice will not be fiscalized (non-domestic transaction)":
|
|
79
80
|
"Ta račun ne bo fiskaliziran (nedomača transakcija)",
|
|
80
81
|
"Tax Clause": "Davčna klavzula",
|
|
81
|
-
"Add tax clause...": "
|
|
82
|
+
"Add tax clause...": "Dodaj davčno klavzulo...",
|
|
82
83
|
Footer: "Noga dokumenta",
|
|
83
|
-
"Add document footer...": "
|
|
84
|
+
"Add document footer...": "Dodaj nogo dokumenta...",
|
|
84
85
|
"Reverse charge - tax exempt EU B2B sale": "Obrnjena davčna obveznost - davka oproščena EU B2B prodaja",
|
|
85
86
|
} as const;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Create Estimate": "Skapa offert",
|
|
3
|
+
"Create Proforma invoice": "Skapa proformafaktura",
|
|
4
|
+
Estimate: "Offert",
|
|
5
|
+
"Proforma invoice": "Proformafaktura",
|
|
6
|
+
"Click to switch to Proforma invoice": "Klicka för att växla till proformafaktura",
|
|
7
|
+
"Click to switch to Estimate": "Klicka för att växla till offert",
|
|
8
|
+
Details: "Detaljer",
|
|
9
|
+
Number: "Nummer",
|
|
10
|
+
Date: "Datum",
|
|
11
|
+
"Due Date": "Förfallodatum",
|
|
12
|
+
"Valid Until": "Giltig till",
|
|
13
|
+
Recipient: "Recipient",
|
|
14
|
+
"Search or create customer...": "Search or create customer...",
|
|
15
|
+
Clear: "Clear",
|
|
16
|
+
Name: "Namn",
|
|
17
|
+
Address: "Adress",
|
|
18
|
+
"Address 2": "Adress 2",
|
|
19
|
+
"Post Code": "Postnummer",
|
|
20
|
+
City: "Stad",
|
|
21
|
+
State: "Län",
|
|
22
|
+
Country: "Land",
|
|
23
|
+
"Tax Number": "Skattenummer",
|
|
24
|
+
Items: "Artiklar",
|
|
25
|
+
"Add item": "Add item",
|
|
26
|
+
Tax: "Tax",
|
|
27
|
+
"Tax rate": "Tax rate",
|
|
28
|
+
"Add tax": "Add tax",
|
|
29
|
+
"Select tax...": "Select tax...",
|
|
30
|
+
"Loading...": "Laddar...",
|
|
31
|
+
"No taxes found": "No taxes found",
|
|
32
|
+
"Add new tax...": "Add new tax...",
|
|
33
|
+
Note: "Note",
|
|
34
|
+
"Insert variable": "Insert variable",
|
|
35
|
+
"Add payment instructions, terms, or other notes...": "Add payment instructions, terms, or other notes...",
|
|
36
|
+
Signature: "Signatur",
|
|
37
|
+
"Add signature text...": "Lägg till signaturtext...",
|
|
38
|
+
"Payment Terms": "Payment Terms",
|
|
39
|
+
"Add payment terms...": "Add payment terms...",
|
|
40
|
+
Quantity: "Quantity",
|
|
41
|
+
Price: "Pris",
|
|
42
|
+
Unit: "Unit",
|
|
43
|
+
Discount: "Discount",
|
|
44
|
+
Description: "Beskrivning",
|
|
45
|
+
Save: "Spara",
|
|
46
|
+
Update: "Uppdatera",
|
|
47
|
+
"Save as Draft": "Save as Draft",
|
|
48
|
+
"Pick a date": "Pick a date",
|
|
49
|
+
Currency: "Valuta",
|
|
50
|
+
"Select currency": "Välj valuta",
|
|
51
|
+
"Percentage discount": "Percentage discount",
|
|
52
|
+
"Fixed amount discount": "Fixed amount discount",
|
|
53
|
+
Percentage: "Percentage",
|
|
54
|
+
"Fixed amount": "Fixed amount",
|
|
55
|
+
"Taxes disabled": "Taxes disabled",
|
|
56
|
+
"Gross price": "Gross price",
|
|
57
|
+
"Net price": "Net price",
|
|
58
|
+
"Gross price (tax included)": "Gross price (tax included)",
|
|
59
|
+
"Net price (before tax)": "Net price (before tax)",
|
|
60
|
+
"Add separator": "Add separator",
|
|
61
|
+
"Section header": "Section header",
|
|
62
|
+
"Section title...": "Section title...",
|
|
63
|
+
"Transaction type": "Transaction type",
|
|
64
|
+
Domestic: "Domestic",
|
|
65
|
+
"EU B2B": "EU B2B",
|
|
66
|
+
"EU B2C": "EU B2C",
|
|
67
|
+
"3W B2B": "3W B2B",
|
|
68
|
+
"3W B2C": "3W B2C",
|
|
69
|
+
"Determining transaction type...": "Determining transaction type...",
|
|
70
|
+
"This invoice will not be fiscalized (non-domestic transaction)":
|
|
71
|
+
"This invoice will not be fiscalized (non-domestic transaction)",
|
|
72
|
+
"Tax Clause": "Tax Clause",
|
|
73
|
+
"Add tax clause...": "Add tax clause...",
|
|
74
|
+
Footer: "Footer",
|
|
75
|
+
"Add document footer...": "Add document footer...",
|
|
76
|
+
"Reverse charge - tax exempt EU B2B sale": "Reverse charge - tax exempt EU B2B sale",
|
|
77
|
+
} as const;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { CreateEstimateRequest } from "@spaceinvoices/js-sdk";
|
|
2
2
|
import type { CreateEstimateSchema } from "@/ui/generated/schemas";
|
|
3
|
-
import {
|
|
3
|
+
import { normalizePtDocumentInput, type PtDocumentInputForm } from "@/ui/lib/pt-document-input";
|
|
4
|
+
import {
|
|
5
|
+
buildDocumentBasePayload,
|
|
6
|
+
cleanupEmptyCustomerId,
|
|
7
|
+
prepareDocumentCustomerData,
|
|
8
|
+
prepareDocumentItems,
|
|
9
|
+
prepareDocumentSubmission,
|
|
10
|
+
} from "../../documents/create/prepare-document-submission";
|
|
4
11
|
import type { CustomerData } from "../../documents/create/use-document-customer-form";
|
|
5
12
|
|
|
6
13
|
/** Map of item index to gross price mode */
|
|
@@ -10,8 +17,8 @@ type PrepareOptions = {
|
|
|
10
17
|
originalCustomer: CustomerData | null;
|
|
11
18
|
/** Map of item index to gross price mode (collected from component state) */
|
|
12
19
|
priceModes?: PriceModesMap;
|
|
13
|
-
/** Title type: "estimate" or "
|
|
14
|
-
titleType?: "estimate" | "
|
|
20
|
+
/** Title type: "estimate" or "proforma_invoice" */
|
|
21
|
+
titleType?: "estimate" | "proforma_invoice";
|
|
15
22
|
/** Whether to save as draft (skips numbering) */
|
|
16
23
|
isDraft?: boolean;
|
|
17
24
|
};
|
|
@@ -21,9 +28,10 @@ type PrepareOptions = {
|
|
|
21
28
|
* Handles customer data transformation (no payment data for estimates)
|
|
22
29
|
*/
|
|
23
30
|
export function prepareEstimateSubmission(
|
|
24
|
-
values: CreateEstimateSchema,
|
|
31
|
+
values: CreateEstimateSchema & { pt?: PtDocumentInputForm | null },
|
|
25
32
|
options: PrepareOptions,
|
|
26
33
|
): CreateEstimateRequest {
|
|
34
|
+
const pt = normalizePtDocumentInput(values.pt);
|
|
27
35
|
const baseSubmission = prepareDocumentSubmission(values, {
|
|
28
36
|
originalCustomer: options.originalCustomer,
|
|
29
37
|
documentType: "estimate",
|
|
@@ -35,5 +43,34 @@ export function prepareEstimateSubmission(
|
|
|
35
43
|
return {
|
|
36
44
|
...baseSubmission,
|
|
37
45
|
title_type: options.titleType,
|
|
46
|
+
...(pt ? { pt } : {}),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function prepareEstimateUpdateSubmission(
|
|
51
|
+
values: CreateEstimateSchema & { pt?: PtDocumentInputForm | null },
|
|
52
|
+
options: Pick<PrepareOptions, "originalCustomer" | "priceModes" | "titleType">,
|
|
53
|
+
): Record<string, unknown> {
|
|
54
|
+
const nextValues: any = {
|
|
55
|
+
...values,
|
|
56
|
+
customer: values.customer ? { ...values.customer } : values.customer,
|
|
57
|
+
items: values.items
|
|
58
|
+
? values.items.map((item: any) => ({ ...item, taxes: item?.taxes ? [...item.taxes] : item?.taxes }))
|
|
59
|
+
: values.items,
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
prepareDocumentCustomerData(nextValues, {
|
|
63
|
+
originalCustomer: options.originalCustomer,
|
|
64
|
+
wasCustomerFormShown: true,
|
|
65
|
+
});
|
|
66
|
+
cleanupEmptyCustomerId(nextValues);
|
|
67
|
+
nextValues.items = prepareDocumentItems(nextValues.items, options.priceModes ?? {});
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
...buildDocumentBasePayload(nextValues, {
|
|
71
|
+
documentType: "estimate",
|
|
72
|
+
secondaryDate: values.date_valid_till ?? undefined,
|
|
73
|
+
}),
|
|
74
|
+
...(options.titleType ? { title_type: options.titleType } : {}),
|
|
38
75
|
};
|
|
39
76
|
}
|
|
@@ -1,15 +1,36 @@
|
|
|
1
|
-
import type { CreateEstimateRequest, Estimate } from "@spaceinvoices/js-sdk";
|
|
1
|
+
import type { CreateEstimateRequest, CustomCreateEstimate, Estimate, UpdateEstimate } from "@spaceinvoices/js-sdk";
|
|
2
|
+
import { estimates } from "@spaceinvoices/js-sdk";
|
|
2
3
|
|
|
3
4
|
import { createResourceHooks } from "@/ui/hooks/create-resource-hooks";
|
|
4
5
|
|
|
5
6
|
// Define a constant for the estimates cache key
|
|
6
7
|
export const ESTIMATES_CACHE_KEY = "estimates";
|
|
7
8
|
|
|
9
|
+
const deleteEstimate = async (): Promise<void> => {
|
|
10
|
+
throw new Error("Deleting estimates is not supported by the modular SDK.");
|
|
11
|
+
};
|
|
12
|
+
|
|
8
13
|
// Create estimate-specific hooks using the factory
|
|
9
14
|
const {
|
|
10
15
|
useCreateResource: useCreateEstimate,
|
|
11
16
|
useUpdateResource: useUpdateEstimate,
|
|
12
17
|
useDeleteResource: useDeleteEstimate,
|
|
13
|
-
} = createResourceHooks<Estimate, CreateEstimateRequest>(
|
|
18
|
+
} = createResourceHooks<Estimate, CreateEstimateRequest, UpdateEstimate>(
|
|
19
|
+
{
|
|
20
|
+
create: estimates.create,
|
|
21
|
+
update: estimates.update,
|
|
22
|
+
delete: deleteEstimate,
|
|
23
|
+
},
|
|
24
|
+
ESTIMATES_CACHE_KEY,
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
const { useCreateResource: useCreateCustomEstimate } = createResourceHooks<Estimate, CustomCreateEstimate, UpdateEstimate>(
|
|
28
|
+
{
|
|
29
|
+
create: estimates.createCustom,
|
|
30
|
+
update: estimates.update,
|
|
31
|
+
delete: deleteEstimate,
|
|
32
|
+
},
|
|
33
|
+
ESTIMATES_CACHE_KEY,
|
|
34
|
+
);
|
|
14
35
|
|
|
15
|
-
export {
|
|
36
|
+
export { useCreateCustomEstimate, useCreateEstimate, useDeleteEstimate, useUpdateEstimate };
|
|
@@ -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
|
-
{
|
|
75
|
-
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
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,9 @@ 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 { getDisplayDocumentNumber } from "@/ui/lib/document-display";
|
|
19
|
+
import { getEslogSelectionState } from "@/ui/lib/eslog-export";
|
|
17
20
|
import { createTranslation } from "@/ui/lib/translation";
|
|
18
|
-
import { useSDK } from "@/ui/providers/sdk-provider";
|
|
19
21
|
|
|
20
22
|
import EstimateListRowActions from "./list-row-actions";
|
|
21
23
|
import de from "./locales/de";
|
|
@@ -54,6 +56,11 @@ type EstimateListTableProps = {
|
|
|
54
56
|
onDownloadSuccess?: (fileName: string) => void;
|
|
55
57
|
onDownloadError?: (error: string) => void;
|
|
56
58
|
onExportSelected?: (documentIds: string[]) => void;
|
|
59
|
+
onExportEslogSelected?: (documentIds: string[]) => void;
|
|
60
|
+
pdfExportDisabled?: boolean;
|
|
61
|
+
pdfExportDisabledTooltip?: string;
|
|
62
|
+
eslogExportDisabled?: boolean;
|
|
63
|
+
eslogExportDisabledTooltip?: string;
|
|
57
64
|
onCopyToInvoice?: (documentIds: string[]) => void;
|
|
58
65
|
onCreateNew?: () => void;
|
|
59
66
|
} & ListTableProps<Estimate>;
|
|
@@ -69,28 +76,31 @@ export default function EstimateListTable({
|
|
|
69
76
|
onDownloadSuccess,
|
|
70
77
|
onDownloadError,
|
|
71
78
|
onExportSelected,
|
|
79
|
+
onExportEslogSelected,
|
|
80
|
+
pdfExportDisabled,
|
|
81
|
+
pdfExportDisabledTooltip,
|
|
82
|
+
eslogExportDisabled,
|
|
83
|
+
eslogExportDisabledTooltip,
|
|
72
84
|
onCopyToInvoice,
|
|
73
85
|
onCreateNew,
|
|
74
86
|
...i18nProps
|
|
75
87
|
}: EstimateListTableProps) {
|
|
76
88
|
const t = createTranslation({
|
|
77
|
-
translations,
|
|
78
|
-
locale: i18nProps.translationLocale ?? i18nProps.locale,
|
|
79
89
|
...i18nProps,
|
|
90
|
+
translations,
|
|
80
91
|
});
|
|
81
92
|
|
|
82
|
-
const { sdk } = useSDK();
|
|
83
93
|
const [selectedIds, setSelectedIds] = useState<Set<string>>(new Set());
|
|
84
94
|
|
|
85
95
|
const handleFetch = useTableFetch(async (params: TableQueryParams) => {
|
|
86
|
-
if (!sdk) throw new Error("SDK not initialized");
|
|
87
96
|
if (!params.entity_id) throw new Error("Entity ID required");
|
|
88
97
|
|
|
89
|
-
const response = await
|
|
98
|
+
const response = await estimates.list({
|
|
90
99
|
entity_id: params.entity_id,
|
|
91
100
|
limit: params.limit,
|
|
92
101
|
next_cursor: params.next_cursor,
|
|
93
102
|
prev_cursor: params.prev_cursor,
|
|
103
|
+
order_by: params.order_by,
|
|
94
104
|
search: params.search,
|
|
95
105
|
query: params.query,
|
|
96
106
|
});
|
|
@@ -115,6 +125,12 @@ export default function EstimateListTable({
|
|
|
115
125
|
}
|
|
116
126
|
}, [selectedIds, onExportSelected]);
|
|
117
127
|
|
|
128
|
+
const handleExportEslog = useCallback(() => {
|
|
129
|
+
if (selectedIds.size > 0 && onExportEslogSelected) {
|
|
130
|
+
onExportEslogSelected(Array.from(selectedIds));
|
|
131
|
+
}
|
|
132
|
+
}, [selectedIds, onExportEslogSelected]);
|
|
133
|
+
|
|
118
134
|
const handleCopyToInvoice = useCallback(() => {
|
|
119
135
|
if (selectedIds.size > 0 && onCopyToInvoice) {
|
|
120
136
|
onCopyToInvoice(Array.from(selectedIds));
|
|
@@ -127,32 +143,84 @@ export default function EstimateListTable({
|
|
|
127
143
|
|
|
128
144
|
const selectionToolbar = useCallback(
|
|
129
145
|
(count: number, data: Estimate[]) => {
|
|
146
|
+
const selectedDocs = data.filter((d) => selectedIds.has(d.id));
|
|
147
|
+
const eslogSelection = getEslogSelectionState(selectedDocs);
|
|
130
148
|
const hasDrafts = data.some((d) => selectedIds.has(d.id) && (d as any).is_draft);
|
|
149
|
+
const hasVoided = data.some((d) => selectedIds.has(d.id) && !!(d as any).voided_at);
|
|
150
|
+
const copyDisabled = hasDrafts || hasVoided;
|
|
151
|
+
const copyTooltip = hasDrafts
|
|
152
|
+
? t("Finalize draft documents before copying to invoice")
|
|
153
|
+
: hasVoided
|
|
154
|
+
? t("Voided documents cannot be copied to invoices")
|
|
155
|
+
: undefined;
|
|
131
156
|
|
|
132
157
|
return (
|
|
133
158
|
<SelectionToolbar
|
|
134
159
|
selectedCount={count}
|
|
135
160
|
onExportPdfs={onExportSelected ? handleExportPdfs : undefined}
|
|
161
|
+
exportPdfsDisabled={pdfExportDisabled}
|
|
162
|
+
exportPdfsTooltip={pdfExportDisabledTooltip}
|
|
163
|
+
onExportEslog={onExportEslogSelected ? handleExportEslog : undefined}
|
|
164
|
+
exportEslogDisabled={eslogExportDisabled || eslogSelection.noneEligible}
|
|
165
|
+
exportEslogTooltip={
|
|
166
|
+
eslogExportDisabled
|
|
167
|
+
? eslogExportDisabledTooltip
|
|
168
|
+
: eslogSelection.noneEligible
|
|
169
|
+
? t("None of the selected documents are valid for e-SLOG export")
|
|
170
|
+
: undefined
|
|
171
|
+
}
|
|
172
|
+
exportEslogWarning={!eslogExportDisabled && eslogSelection.partiallyEligible}
|
|
173
|
+
exportEslogWarningTooltip={
|
|
174
|
+
!eslogExportDisabled && eslogSelection.partiallyEligible
|
|
175
|
+
? t("Some selected documents are not valid for e-SLOG export and will be skipped")
|
|
176
|
+
: undefined
|
|
177
|
+
}
|
|
136
178
|
onCopyToInvoice={onCopyToInvoice ? handleCopyToInvoice : undefined}
|
|
137
|
-
copyToInvoiceDisabled={
|
|
138
|
-
copyToInvoiceTooltip={
|
|
179
|
+
copyToInvoiceDisabled={copyDisabled}
|
|
180
|
+
copyToInvoiceTooltip={copyTooltip}
|
|
139
181
|
onDeselectAll={handleDeselectAll}
|
|
140
182
|
t={t}
|
|
141
183
|
/>
|
|
142
184
|
);
|
|
143
185
|
},
|
|
144
|
-
[
|
|
186
|
+
[
|
|
187
|
+
handleExportPdfs,
|
|
188
|
+
handleExportEslog,
|
|
189
|
+
handleCopyToInvoice,
|
|
190
|
+
handleDeselectAll,
|
|
191
|
+
onExportSelected,
|
|
192
|
+
onExportEslogSelected,
|
|
193
|
+
pdfExportDisabled,
|
|
194
|
+
pdfExportDisabledTooltip,
|
|
195
|
+
eslogExportDisabled,
|
|
196
|
+
eslogExportDisabledTooltip,
|
|
197
|
+
onCopyToInvoice,
|
|
198
|
+
selectedIds,
|
|
199
|
+
t,
|
|
200
|
+
],
|
|
145
201
|
);
|
|
146
202
|
|
|
147
203
|
const columns: Column<Estimate>[] = useMemo(
|
|
148
204
|
() => [
|
|
205
|
+
{
|
|
206
|
+
id: "title_type",
|
|
207
|
+
header: t("Type"),
|
|
208
|
+
cell: (estimate) => (
|
|
209
|
+
<Badge variant="outline">
|
|
210
|
+
{estimate.title_type === "proforma_invoice" ? t("Proforma invoice") : t("Estimate")}
|
|
211
|
+
</Badge>
|
|
212
|
+
),
|
|
213
|
+
},
|
|
149
214
|
{
|
|
150
215
|
id: "number",
|
|
151
216
|
header: t("Number"),
|
|
217
|
+
sort: {
|
|
218
|
+
defaultDirection: "desc",
|
|
219
|
+
},
|
|
152
220
|
cell: (estimate) => (
|
|
153
221
|
<div className="flex items-center gap-2">
|
|
154
222
|
<Button variant="link" className="cursor-pointer py-0 underline" onClick={() => onRowClick?.(estimate)}>
|
|
155
|
-
{estimate
|
|
223
|
+
{getDisplayDocumentNumber(estimate as Estimate & { is_draft?: boolean }, t)}
|
|
156
224
|
</Button>
|
|
157
225
|
{(estimate as any).is_draft && (
|
|
158
226
|
<Badge
|
|
@@ -173,23 +241,33 @@ export default function EstimateListTable({
|
|
|
173
241
|
{
|
|
174
242
|
id: "date",
|
|
175
243
|
header: t("Date"),
|
|
244
|
+
sort: {
|
|
245
|
+
defaultDirection: "desc",
|
|
246
|
+
},
|
|
176
247
|
cell: (estimate) => <FormattedDate date={estimate.date} locale={i18nProps.locale} />,
|
|
177
248
|
},
|
|
178
249
|
{
|
|
179
250
|
id: "date_valid_till",
|
|
180
251
|
header: t("Valid Until"),
|
|
252
|
+
sort: true,
|
|
181
253
|
cell: (estimate) => <FormattedDate date={estimate.date_valid_till} locale={i18nProps.locale} />,
|
|
182
254
|
},
|
|
183
255
|
{
|
|
184
256
|
id: "total",
|
|
185
257
|
header: t("Total"),
|
|
186
258
|
align: "right",
|
|
259
|
+
sort: {
|
|
260
|
+
defaultDirection: "desc",
|
|
261
|
+
},
|
|
187
262
|
cell: (estimate) => estimate.total,
|
|
188
263
|
},
|
|
189
264
|
{
|
|
190
265
|
id: "total_with_tax",
|
|
191
266
|
header: t("Total with Tax"),
|
|
192
267
|
align: "right",
|
|
268
|
+
sort: {
|
|
269
|
+
defaultDirection: "desc",
|
|
270
|
+
},
|
|
193
271
|
cell: (estimate) => estimate.total_with_tax,
|
|
194
272
|
},
|
|
195
273
|
{
|
|
@@ -227,7 +305,7 @@ export default function EstimateListTable({
|
|
|
227
305
|
filterConfig={filterConfig}
|
|
228
306
|
t={t}
|
|
229
307
|
locale={i18nProps.locale}
|
|
230
|
-
selectable={!!(onExportSelected || onCopyToInvoice)}
|
|
308
|
+
selectable={!!(onExportSelected || onExportEslogSelected || onCopyToInvoice)}
|
|
231
309
|
selectedIds={selectedIds}
|
|
232
310
|
onSelectionChange={setSelectedIds}
|
|
233
311
|
selectionToolbar={selectionToolbar}
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
Type: "Тип",
|
|
13
|
+
Number: "Номер",
|
|
14
|
+
Customer: "Клиент",
|
|
15
|
+
Date: "Дата",
|
|
16
|
+
"Valid Until": "Valid Until",
|
|
17
|
+
Total: "Общо",
|
|
18
|
+
"Total with Tax": "Total with Tax",
|
|
19
|
+
Actions: "Действия",
|
|
20
|
+
"Open menu": "Отворете менюто",
|
|
21
|
+
"Copy estimate ID": "Copy estimate ID",
|
|
22
|
+
"View estimate": "View estimate",
|
|
23
|
+
"Download PDF": "Изтегли PDF",
|
|
24
|
+
"Downloading...": "Изтегляне...",
|
|
25
|
+
Duplicate: "Duplicate",
|
|
26
|
+
Estimate: "Оферта",
|
|
27
|
+
"Proforma invoice": "Проформа фактура",
|
|
28
|
+
"Failed to download PDF": "Неуспешно изтегляне на PDF",
|
|
29
|
+
"Search...": "Search...",
|
|
30
|
+
Filters: "Filters",
|
|
31
|
+
"Date Range": "Период",
|
|
32
|
+
From: "From",
|
|
33
|
+
To: "To",
|
|
34
|
+
"Clear filters": "Clear filters",
|
|
35
|
+
"Created At": "Created At",
|
|
36
|
+
Unshare: "Прекрати споделяне",
|
|
37
|
+
"Try adjusting your search criteria": "Try adjusting your search criteria",
|
|
38
|
+
"Clear search": "Clear search",
|
|
39
|
+
"Clear all": "Clear all",
|
|
40
|
+
} as const;
|