@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,5 +1,6 @@
|
|
|
1
1
|
import { zodResolver } from "@hookform/resolvers/zod";
|
|
2
2
|
import type { Entity } from "@spaceinvoices/js-sdk";
|
|
3
|
+
import { files, upload } from "@spaceinvoices/js-sdk";
|
|
3
4
|
import { CreditCard, FileText, Globe, Mail, Palette, QrCode, Sparkles } from "lucide-react";
|
|
4
5
|
import { useEffect, useRef, useState } from "react";
|
|
5
6
|
import { useForm } from "react-hook-form";
|
|
@@ -25,7 +26,6 @@ import { patchEntitySchema } from "@/ui/generated/schemas/entity";
|
|
|
25
26
|
import { CURRENCY_CODES } from "@/ui/lib/constants";
|
|
26
27
|
import type { ComponentTranslationProps } from "@/ui/lib/translation";
|
|
27
28
|
import { createTranslation } from "@/ui/lib/translation";
|
|
28
|
-
import { useSDK } from "@/ui/providers/sdk-provider";
|
|
29
29
|
import ButtonLoader from "../../button-loader";
|
|
30
30
|
import { useUpdateEntity } from "../entities.hooks";
|
|
31
31
|
import { EmailTemplateVariablesInfo } from "./email-template-variables-info";
|
|
@@ -116,6 +116,7 @@ const entitySettingsFormSchema = patchEntitySchema
|
|
|
116
116
|
message: "Must be a valid hex color (e.g., #5c6ac4)",
|
|
117
117
|
})
|
|
118
118
|
.optional(),
|
|
119
|
+
logo_scale_percent: z.union([z.number().int().min(30).max(100), z.null()]).optional(),
|
|
119
120
|
has_logo: z.boolean().nullable().optional(),
|
|
120
121
|
has_signature: z.boolean().nullable().optional(),
|
|
121
122
|
email: z
|
|
@@ -150,13 +151,13 @@ const entitySettingsFormSchema = patchEntitySchema
|
|
|
150
151
|
.optional(),
|
|
151
152
|
// EPC QR settings (EU + CH)
|
|
152
153
|
epc_qr_enabled: z.union([z.boolean(), z.null()]).optional(),
|
|
154
|
+
show_payment_amounts: z.union([z.boolean(), z.null()]).optional(),
|
|
153
155
|
});
|
|
154
156
|
|
|
155
157
|
export type EntitySettingsFormSchema = z.infer<typeof entitySettingsFormSchema>;
|
|
156
158
|
|
|
157
159
|
export type EntitySettingsFormProps = {
|
|
158
160
|
entity: Entity;
|
|
159
|
-
cloudinaryCloudName?: string;
|
|
160
161
|
onSuccess?: (data: Entity) => void;
|
|
161
162
|
onError?: (error: unknown) => void;
|
|
162
163
|
onUploadSuccess?: () => void;
|
|
@@ -164,10 +165,10 @@ export type EntitySettingsFormProps = {
|
|
|
164
165
|
|
|
165
166
|
export function EntitySettingsForm({
|
|
166
167
|
entity,
|
|
167
|
-
cloudinaryCloudName,
|
|
168
168
|
t: translateProp,
|
|
169
169
|
namespace,
|
|
170
170
|
locale,
|
|
171
|
+
translationLocale,
|
|
171
172
|
onSuccess,
|
|
172
173
|
onError,
|
|
173
174
|
onUploadSuccess,
|
|
@@ -176,13 +177,11 @@ export function EntitySettingsForm({
|
|
|
176
177
|
t: translateProp,
|
|
177
178
|
namespace,
|
|
178
179
|
locale,
|
|
180
|
+
translationLocale,
|
|
179
181
|
translations,
|
|
180
182
|
});
|
|
181
|
-
const { sdk } = useSDK();
|
|
182
183
|
const [isUploading, setIsUploading] = useState(false);
|
|
183
184
|
const [isUploadingSignature, setIsUploadingSignature] = useState(false);
|
|
184
|
-
const [logoTimestamp, setLogoTimestamp] = useState(Date.now());
|
|
185
|
-
const [signatureTimestamp, setSignatureTimestamp] = useState(Date.now());
|
|
186
185
|
const [uploadedLogoUrl, setUploadedLogoUrl] = useState<string | null>(null);
|
|
187
186
|
const [uploadedSignatureUrl, setUploadedSignatureUrl] = useState<string | null>(null);
|
|
188
187
|
const [fetchedLogoUrl, setFetchedLogoUrl] = useState<string | null>(null);
|
|
@@ -204,6 +203,7 @@ export function EntitySettingsForm({
|
|
|
204
203
|
currency_code: entity.currency_code || undefined,
|
|
205
204
|
locale: entity.locale || "en-US",
|
|
206
205
|
primary_color: currentSettings.primary_color || null,
|
|
206
|
+
logo_scale_percent: currentSettings.logo_scale_percent ?? 100,
|
|
207
207
|
has_logo: currentSettings.has_logo || null,
|
|
208
208
|
has_signature: currentSettings.has_signature || null,
|
|
209
209
|
email: currentSettings.email || null,
|
|
@@ -221,6 +221,7 @@ export function EntitySettingsForm({
|
|
|
221
221
|
upn_qr_display_mode: currentSettings.upn_qr?.display_mode || "qr_only",
|
|
222
222
|
upn_qr_purpose_code: currentSettings.upn_qr?.purpose_code || "OTHR",
|
|
223
223
|
epc_qr_enabled: currentSettings.epc_qr?.enabled || false,
|
|
224
|
+
show_payment_amounts: currentSettings.show_payment_amounts || false,
|
|
224
225
|
},
|
|
225
226
|
});
|
|
226
227
|
|
|
@@ -237,10 +238,10 @@ export function EntitySettingsForm({
|
|
|
237
238
|
async function fetchFileUrls() {
|
|
238
239
|
try {
|
|
239
240
|
// SDK auto-unwraps response, returns data array directly
|
|
240
|
-
const
|
|
241
|
+
const entityFiles = await files.list({ entity_id: entity.id });
|
|
241
242
|
|
|
242
|
-
const logoFile =
|
|
243
|
-
const signatureFile =
|
|
243
|
+
const logoFile = entityFiles.data.find((f: { category: string }) => f.category === "logo");
|
|
244
|
+
const signatureFile = entityFiles.data.find((f: { category: string }) => f.category === "signature");
|
|
244
245
|
|
|
245
246
|
if (logoFile) {
|
|
246
247
|
setFetchedLogoUrl(logoFile.secureUrl);
|
|
@@ -263,29 +264,14 @@ export function EntitySettingsForm({
|
|
|
263
264
|
}
|
|
264
265
|
|
|
265
266
|
fetchFileUrls();
|
|
266
|
-
}, [entity.id,
|
|
267
|
+
}, [entity.id, form]);
|
|
267
268
|
|
|
268
269
|
// Watch the has_logo and has_signature form fields for changes
|
|
269
270
|
const hasLogo = form.watch("has_logo");
|
|
270
271
|
const hasSignature = form.watch("has_signature");
|
|
271
272
|
|
|
272
|
-
|
|
273
|
-
const
|
|
274
|
-
const logoUrl =
|
|
275
|
-
hasLogo && cloudinaryCloudName
|
|
276
|
-
? uploadedLogoUrl ||
|
|
277
|
-
fetchedLogoUrl ||
|
|
278
|
-
`https://res.cloudinary.com/${cloudinaryCloudName}/image/upload/leka/entities/${entity.id}/logos/logo_${entity.id}.png?v=${entityTimestamp}`
|
|
279
|
-
: undefined;
|
|
280
|
-
|
|
281
|
-
// Signature URL priority: freshly uploaded > fetched from API > constructed fallback
|
|
282
|
-
const signatureEntityTimestamp = entity.updated_at ? new Date(entity.updated_at).getTime() : signatureTimestamp;
|
|
283
|
-
const signatureUrl =
|
|
284
|
-
hasSignature && cloudinaryCloudName
|
|
285
|
-
? uploadedSignatureUrl ||
|
|
286
|
-
fetchedSignatureUrl ||
|
|
287
|
-
`https://res.cloudinary.com/${cloudinaryCloudName}/image/upload/leka/entities/${entity.id}/signatures/signature_${entity.id}.png?v=${signatureEntityTimestamp}`
|
|
288
|
-
: undefined;
|
|
273
|
+
const logoUrl = hasLogo ? uploadedLogoUrl || fetchedLogoUrl || undefined : undefined;
|
|
274
|
+
const signatureUrl = hasSignature ? uploadedSignatureUrl || fetchedSignatureUrl || undefined : undefined;
|
|
289
275
|
|
|
290
276
|
const { mutate: updateEntity, isPending } = useUpdateEntity({
|
|
291
277
|
entityId: entity.id,
|
|
@@ -301,19 +287,16 @@ export function EntitySettingsForm({
|
|
|
301
287
|
setIsUploading(true);
|
|
302
288
|
try {
|
|
303
289
|
// SDK expects { file: Blob } as first arg, SDKMethodOptions as last
|
|
304
|
-
const result = await
|
|
290
|
+
const result = await upload.uploadImage({ file }, { entity_id: entity.id });
|
|
305
291
|
|
|
306
292
|
// Note: The upload endpoint automatically sets has_logo=true in entity settings
|
|
307
293
|
// We just need to update the form state
|
|
308
294
|
form.setValue("has_logo", true);
|
|
309
295
|
|
|
310
|
-
// Use the freshly uploaded URL
|
|
311
|
-
// This ensures immediate preview update without waiting for
|
|
296
|
+
// Use the freshly uploaded URL immediately instead of waiting for a refetch.
|
|
297
|
+
// This ensures immediate preview update without waiting for a refetch.
|
|
312
298
|
setUploadedLogoUrl(result.secureUrl);
|
|
313
299
|
|
|
314
|
-
// Update timestamp to bust cache for future loads
|
|
315
|
-
setLogoTimestamp(Date.now());
|
|
316
|
-
|
|
317
300
|
// Trigger entity refetch to get the updated has_logo from database
|
|
318
301
|
onUploadSuccess?.();
|
|
319
302
|
|
|
@@ -331,7 +314,7 @@ export function EntitySettingsForm({
|
|
|
331
314
|
setIsUploadingSignature(true);
|
|
332
315
|
try {
|
|
333
316
|
// SDK expects { file, category } as first arg, SDKMethodOptions as last
|
|
334
|
-
const result = await
|
|
317
|
+
const result = await files.uploadFile({ file, category: "signature" }, { entity_id: entity.id });
|
|
335
318
|
|
|
336
319
|
// Update form state
|
|
337
320
|
form.setValue("has_signature", true);
|
|
@@ -339,9 +322,6 @@ export function EntitySettingsForm({
|
|
|
339
322
|
// Use the freshly uploaded URL
|
|
340
323
|
setUploadedSignatureUrl(result.secureUrl);
|
|
341
324
|
|
|
342
|
-
// Update timestamp to bust cache
|
|
343
|
-
setSignatureTimestamp(Date.now());
|
|
344
|
-
|
|
345
325
|
// Trigger entity refetch
|
|
346
326
|
onUploadSuccess?.();
|
|
347
327
|
|
|
@@ -362,6 +342,7 @@ export function EntitySettingsForm({
|
|
|
362
342
|
settings: {
|
|
363
343
|
...currentSettings,
|
|
364
344
|
primary_color: values.primary_color || undefined,
|
|
345
|
+
logo_scale_percent: values.logo_scale_percent ?? 100,
|
|
365
346
|
has_logo: values.has_logo || undefined,
|
|
366
347
|
has_signature: values.has_signature || undefined,
|
|
367
348
|
email: values.email || undefined,
|
|
@@ -384,6 +365,7 @@ export function EntitySettingsForm({
|
|
|
384
365
|
// EPC QR settings - only include if enabled or was previously enabled
|
|
385
366
|
epc_qr:
|
|
386
367
|
values.epc_qr_enabled || currentSettings.epc_qr ? { enabled: values.epc_qr_enabled || false } : undefined,
|
|
368
|
+
show_payment_amounts: values.show_payment_amounts ?? undefined,
|
|
387
369
|
// Bank accounts - store in array format (preserving other accounts if any)
|
|
388
370
|
bank_accounts: values.bank_account_iban
|
|
389
371
|
? [
|
|
@@ -705,29 +687,72 @@ export function EntitySettingsForm({
|
|
|
705
687
|
)}
|
|
706
688
|
/>
|
|
707
689
|
|
|
708
|
-
<
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
<
|
|
714
|
-
|
|
715
|
-
<
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
690
|
+
<div className="space-y-6">
|
|
691
|
+
<FormField
|
|
692
|
+
control={form.control}
|
|
693
|
+
name="logo_scale_percent"
|
|
694
|
+
render={({ field }) => (
|
|
695
|
+
<FormItem className="max-w-xs">
|
|
696
|
+
<FormLabel className="font-medium text-base">{translate("Logo size (%)")}</FormLabel>
|
|
697
|
+
<FormControl>
|
|
698
|
+
<div className="space-y-3">
|
|
699
|
+
<input
|
|
700
|
+
type="range"
|
|
701
|
+
min={30}
|
|
702
|
+
max={100}
|
|
703
|
+
step={1}
|
|
704
|
+
value={field.value ?? 100}
|
|
705
|
+
onChange={(e) => field.onChange(Number.parseInt(e.target.value, 10))}
|
|
706
|
+
className="h-2 w-full cursor-pointer accent-primary"
|
|
707
|
+
/>
|
|
708
|
+
<div className="flex items-center gap-3">
|
|
709
|
+
<Input
|
|
710
|
+
type="number"
|
|
711
|
+
min={30}
|
|
712
|
+
max={100}
|
|
713
|
+
step={1}
|
|
714
|
+
value={field.value ?? 100}
|
|
715
|
+
onChange={(e) =>
|
|
716
|
+
field.onChange(e.target.value === "" ? null : Number.parseInt(e.target.value, 10))
|
|
717
|
+
}
|
|
718
|
+
className="h-10 w-24"
|
|
719
|
+
/>
|
|
720
|
+
<span className="text-muted-foreground text-sm">{field.value ?? 100}%</span>
|
|
721
|
+
</div>
|
|
722
|
+
</div>
|
|
723
|
+
</FormControl>
|
|
724
|
+
<FormDescription className="text-xs">
|
|
725
|
+
{translate("Scale the PDF logo relative to the default template size")}
|
|
726
|
+
</FormDescription>
|
|
727
|
+
<FormMessage />
|
|
728
|
+
</FormItem>
|
|
729
|
+
)}
|
|
730
|
+
/>
|
|
731
|
+
|
|
732
|
+
<FormField
|
|
733
|
+
control={form.control}
|
|
734
|
+
name="has_signature"
|
|
735
|
+
render={({ field }) => (
|
|
736
|
+
<FormItem>
|
|
737
|
+
<FormLabel className="font-medium text-base">{translate("Signature")}</FormLabel>
|
|
738
|
+
<FormControl>
|
|
739
|
+
<ImageUploadWithCrop
|
|
740
|
+
value={signatureUrl || ""}
|
|
741
|
+
onChange={(url) => field.onChange(!!url)}
|
|
742
|
+
onUpload={handleSignatureUpload}
|
|
743
|
+
translate={translate}
|
|
744
|
+
isUploading={isUploadingSignature}
|
|
745
|
+
imageType="signature"
|
|
746
|
+
/>
|
|
747
|
+
</FormControl>
|
|
748
|
+
<FormDescription className="text-xs">
|
|
749
|
+
{translate("Upload a signature image for PDFs (optional)")}
|
|
750
|
+
</FormDescription>
|
|
751
|
+
<FormMessage />
|
|
752
|
+
</FormItem>
|
|
753
|
+
)}
|
|
754
|
+
/>
|
|
755
|
+
</div>
|
|
731
756
|
</div>
|
|
732
757
|
</div>
|
|
733
758
|
</div>
|
|
@@ -1148,10 +1173,9 @@ export function EntitySettingsForm({
|
|
|
1148
1173
|
ref={defaultInvoiceNoteRef}
|
|
1149
1174
|
value={field.value || ""}
|
|
1150
1175
|
onChange={field.onChange}
|
|
1151
|
-
placeholder={translate(
|
|
1152
|
-
"Payment due by {document_due_date}. Please reference invoice {document_number}.",
|
|
1153
|
-
)}
|
|
1176
|
+
placeholder={translate("Optional note for the document.")}
|
|
1154
1177
|
entity={entity}
|
|
1178
|
+
translatePreviewLabel={translate}
|
|
1155
1179
|
multiline
|
|
1156
1180
|
rows={3}
|
|
1157
1181
|
className="resize-y"
|
|
@@ -1164,6 +1188,30 @@ export function EntitySettingsForm({
|
|
|
1164
1188
|
</FormItem>
|
|
1165
1189
|
)}
|
|
1166
1190
|
/>
|
|
1191
|
+
|
|
1192
|
+
<div className="border-t pt-6">
|
|
1193
|
+
<FormField
|
|
1194
|
+
control={form.control}
|
|
1195
|
+
name="show_payment_amounts"
|
|
1196
|
+
render={({ field }) => (
|
|
1197
|
+
<FormItem className="flex flex-row items-center justify-between rounded-lg border p-4">
|
|
1198
|
+
<div className="space-y-0.5 pr-6">
|
|
1199
|
+
<FormLabel className="font-medium text-base">
|
|
1200
|
+
{translate("Show payment amounts on rendered documents")}
|
|
1201
|
+
</FormLabel>
|
|
1202
|
+
<FormDescription className="text-xs">
|
|
1203
|
+
{translate(
|
|
1204
|
+
"Off by default. When enabled, payment and refund rows show the payment type on the left and the paid amount on the right.",
|
|
1205
|
+
)}
|
|
1206
|
+
</FormDescription>
|
|
1207
|
+
</div>
|
|
1208
|
+
<FormControl>
|
|
1209
|
+
<Switch checked={field.value || false} onCheckedChange={field.onChange} />
|
|
1210
|
+
</FormControl>
|
|
1211
|
+
</FormItem>
|
|
1212
|
+
)}
|
|
1213
|
+
/>
|
|
1214
|
+
</div>
|
|
1167
1215
|
</div>
|
|
1168
1216
|
</div>
|
|
1169
1217
|
|
|
@@ -1276,6 +1324,7 @@ export function EntitySettingsForm({
|
|
|
1276
1324
|
onChange={field.onChange}
|
|
1277
1325
|
placeholder="Invoice {document_number} from {entity_name}"
|
|
1278
1326
|
entity={entity}
|
|
1327
|
+
translatePreviewLabel={translate}
|
|
1279
1328
|
className="h-10"
|
|
1280
1329
|
/>
|
|
1281
1330
|
</FormControl>
|
|
@@ -1306,8 +1355,11 @@ export function EntitySettingsForm({
|
|
|
1306
1355
|
ref={invoiceEmailBodyRef}
|
|
1307
1356
|
value={field.value || ""}
|
|
1308
1357
|
onChange={field.onChange}
|
|
1309
|
-
placeholder=
|
|
1358
|
+
placeholder={
|
|
1359
|
+
"Please find invoice {document_number} attached.\nDue date: {document_due_date}."
|
|
1360
|
+
}
|
|
1310
1361
|
entity={entity}
|
|
1362
|
+
translatePreviewLabel={translate}
|
|
1311
1363
|
multiline
|
|
1312
1364
|
className="min-h-[200px] resize-none"
|
|
1313
1365
|
rows={8}
|
|
@@ -1344,6 +1396,7 @@ export function EntitySettingsForm({
|
|
|
1344
1396
|
onChange={field.onChange}
|
|
1345
1397
|
placeholder="Estimate {document_number} from {entity_name}"
|
|
1346
1398
|
entity={entity}
|
|
1399
|
+
translatePreviewLabel={translate}
|
|
1347
1400
|
className="h-10"
|
|
1348
1401
|
/>
|
|
1349
1402
|
</FormControl>
|
|
@@ -1374,8 +1427,11 @@ export function EntitySettingsForm({
|
|
|
1374
1427
|
ref={estimateEmailBodyRef}
|
|
1375
1428
|
value={field.value || ""}
|
|
1376
1429
|
onChange={field.onChange}
|
|
1377
|
-
placeholder=
|
|
1430
|
+
placeholder={
|
|
1431
|
+
"Please find estimate {document_number} attached.\nValid until: {document_valid_until}."
|
|
1432
|
+
}
|
|
1378
1433
|
entity={entity}
|
|
1434
|
+
translatePreviewLabel={translate}
|
|
1379
1435
|
multiline
|
|
1380
1436
|
className="min-h-[200px] resize-none"
|
|
1381
1437
|
rows={8}
|
|
@@ -1,30 +1,54 @@
|
|
|
1
|
-
import type { Entity
|
|
1
|
+
import type { Entity } from "@spaceinvoices/js-sdk";
|
|
2
2
|
import { forwardRef, useState } from "react";
|
|
3
3
|
import { Input } from "@/ui/components/ui/input";
|
|
4
4
|
import { Textarea } from "@/ui/components/ui/textarea";
|
|
5
5
|
import { replaceTemplateVariablesForPreview } from "@/ui/lib/template-variables";
|
|
6
6
|
import { cn } from "@/ui/lib/utils";
|
|
7
7
|
|
|
8
|
+
type PreviewDocument = {
|
|
9
|
+
id?: string;
|
|
10
|
+
number?: string | null;
|
|
11
|
+
date?: string | Date | null;
|
|
12
|
+
date_due?: string | Date | null;
|
|
13
|
+
date_valid_till?: string | Date | null;
|
|
14
|
+
total_with_tax?: number | null;
|
|
15
|
+
currency_code?: string | null;
|
|
16
|
+
customer?: { name?: string | null; email?: string | null } | null;
|
|
17
|
+
customer_id?: string | null;
|
|
18
|
+
};
|
|
19
|
+
|
|
8
20
|
interface InputWithPreviewProps {
|
|
9
21
|
value: string;
|
|
10
22
|
onChange: (value: string) => void;
|
|
11
23
|
placeholder?: string;
|
|
12
24
|
entity: Entity;
|
|
13
|
-
document?:
|
|
25
|
+
document?: PreviewDocument | null;
|
|
14
26
|
multiline?: boolean;
|
|
15
27
|
className?: string;
|
|
16
28
|
rows?: number;
|
|
17
29
|
disabled?: boolean;
|
|
30
|
+
translatePreviewLabel?: (key: string) => string;
|
|
18
31
|
}
|
|
19
32
|
|
|
20
33
|
export const InputWithPreview = forwardRef<HTMLInputElement | HTMLTextAreaElement, InputWithPreviewProps>(
|
|
21
34
|
function InputWithPreview(
|
|
22
|
-
{
|
|
35
|
+
{
|
|
36
|
+
value,
|
|
37
|
+
onChange,
|
|
38
|
+
placeholder,
|
|
39
|
+
entity,
|
|
40
|
+
document,
|
|
41
|
+
multiline = false,
|
|
42
|
+
className,
|
|
43
|
+
rows,
|
|
44
|
+
disabled = false,
|
|
45
|
+
translatePreviewLabel,
|
|
46
|
+
},
|
|
23
47
|
ref,
|
|
24
48
|
) {
|
|
25
49
|
const [isFocused, setIsFocused] = useState(false);
|
|
26
50
|
|
|
27
|
-
const preview = replaceTemplateVariablesForPreview(value, entity, document);
|
|
51
|
+
const preview = replaceTemplateVariablesForPreview(value, entity, document, translatePreviewLabel);
|
|
28
52
|
const hasValue = Boolean(value);
|
|
29
53
|
|
|
30
54
|
const showPreview = !isFocused && hasValue && !disabled;
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"Tax subject": "Данъчно задължено лице",
|
|
3
|
+
"Tax ID 2": "Данъчен номер 2",
|
|
4
|
+
"Secondary tax identification number (optional)": "Втори данъчен идентификационен номер (незадължително)",
|
|
5
|
+
"Company Information": "Информация за фирмата",
|
|
6
|
+
"Basic information about your company": "Basic information about your company",
|
|
7
|
+
Branding: "Брандинг",
|
|
8
|
+
"Primary Color": "Основен цвят",
|
|
9
|
+
Logo: "Лого",
|
|
10
|
+
"Logo URL": "Logo URL",
|
|
11
|
+
"Enter the URL of your company logo": "Enter the URL of your company logo",
|
|
12
|
+
"Upload your company logo for invoices": "Качете логото на фирмата за фактури",
|
|
13
|
+
"Upload Logo": "Качи лого",
|
|
14
|
+
"Change Logo": "Промени лого",
|
|
15
|
+
"Current logo (displayed on invoices)": "Текущо лого (показвано на фактури)",
|
|
16
|
+
"Logo preview": "Преглед на лого",
|
|
17
|
+
"Crop Your Logo": "Изрежете логото си",
|
|
18
|
+
Signature: "Подпис",
|
|
19
|
+
"Upload a signature image for PDFs (optional)": "Качете изображение на подпис за PDF (незадължително)",
|
|
20
|
+
"Upload Signature": "Качи подпис",
|
|
21
|
+
"Change Signature": "Промени подпис",
|
|
22
|
+
"Current signature (for PDF documents)": "Текущ подпис (за PDF документи)",
|
|
23
|
+
"Signature preview": "Преглед на подпис",
|
|
24
|
+
"Crop Your Signature": "Изрежете подписа си",
|
|
25
|
+
"Adjust the crop area or upload the full image": "Настройте областта за изрязване или качете пълното изображение",
|
|
26
|
+
"Upload failed. Please try again.": "Качването е неуспешно. Моля, опитайте отново.",
|
|
27
|
+
"Uploading...": "Качване...",
|
|
28
|
+
"Upload & Save": "Качи и запази",
|
|
29
|
+
Cancel: "Отказ",
|
|
30
|
+
Localization: "Локализация",
|
|
31
|
+
"Currency Code": "Currency Code",
|
|
32
|
+
"ISO 4217 currency code (e.g., USD, EUR, GBP)": "ISO 4217 currency code (e.g., USD, EUR, GBP)",
|
|
33
|
+
Locale: "Локал",
|
|
34
|
+
"BCP 47 language tag (e.g., en-US, de-DE, sl-SI)": "BCP 47 language tag (e.g., en-US, de-DE, sl-SI)",
|
|
35
|
+
"Select currency": "Изберете валута",
|
|
36
|
+
"Select locale": "Изберете локал",
|
|
37
|
+
"Configure entity localization": "Конфигурирайте локализацията на организацията",
|
|
38
|
+
"English (US)": "English (US)",
|
|
39
|
+
"German (DE)": "German (DE)",
|
|
40
|
+
"Italian (IT)": "Italian (IT)",
|
|
41
|
+
"French (FR)": "French (FR)",
|
|
42
|
+
"Spanish (ES)": "Spanish (ES)",
|
|
43
|
+
"Portuguese (Portugal)": "Portuguese (Portugal)",
|
|
44
|
+
Dutch: "Нидерландски",
|
|
45
|
+
Polish: "Полски",
|
|
46
|
+
Croatian: "Хърватски",
|
|
47
|
+
"Slovenian (SI)": "Slovenian (SI)",
|
|
48
|
+
"Email Settings": "Настройки за имейл",
|
|
49
|
+
"Configure email settings for invoices": "Configure email settings for invoices",
|
|
50
|
+
"Email Address": "Имейл адрес",
|
|
51
|
+
"Email address to send invoices to": "Email address to send invoices to",
|
|
52
|
+
"Email Subject": "Тема на имейл",
|
|
53
|
+
"Subject line for email invoices": "Subject line for email invoices",
|
|
54
|
+
"Email Body": "Съдържание на имейл",
|
|
55
|
+
"Body content for email invoices": "Body content for email invoices",
|
|
56
|
+
"Save Settings": "Запази настройки",
|
|
57
|
+
"Document Defaults": "Настройки по подразбиране за документи",
|
|
58
|
+
"Default values for new documents": "Default values for new documents",
|
|
59
|
+
"Default Note": "Default Note",
|
|
60
|
+
"Default Invoice Note": "Default Invoice Note",
|
|
61
|
+
"This note will be pre-filled when creating new invoices": "This note will be pre-filled when creating new invoices",
|
|
62
|
+
"This note will be pre-filled when creating new estimates":
|
|
63
|
+
"This note will be pre-filled when creating new estimates",
|
|
64
|
+
"This note will be pre-filled when creating new credit notes":
|
|
65
|
+
"This note will be pre-filled when creating new credit notes",
|
|
66
|
+
"Payment terms pre-filled when creating new invoices": "Payment terms pre-filled when creating new invoices",
|
|
67
|
+
"Payment terms pre-filled when creating new estimates": "Payment terms pre-filled when creating new estimates",
|
|
68
|
+
"Payment terms pre-filled when creating new credit notes": "Payment terms pre-filled when creating new credit notes",
|
|
69
|
+
"Optional note for the document.": "Optional note for the document.",
|
|
70
|
+
"Please remit payment using the bank details shown on the document.":
|
|
71
|
+
"Please remit payment using the bank details shown on the document.",
|
|
72
|
+
"This estimate is valid until {document_valid_until}.": "This estimate is valid until {document_valid_until}.",
|
|
73
|
+
"Payment due upon acceptance.": "Payment due upon acceptance.",
|
|
74
|
+
"Credit note for invoice {document_number}.": "Credit note for invoice {document_number}.",
|
|
75
|
+
"Credit will be applied to your account.": "Credit will be applied to your account.",
|
|
76
|
+
"Invoice Notes": "Invoice Notes",
|
|
77
|
+
"Smart Template Variables": "Интелигентни променливи за шаблони",
|
|
78
|
+
"Use variables to personalize your notes automatically": "Use variables to personalize your notes automatically",
|
|
79
|
+
"Set a default note that will appear on all new invoices. Use template variables to personalize the note automatically.":
|
|
80
|
+
"Set a default note that will appear on all new invoices. Use template variables to personalize the note automatically.",
|
|
81
|
+
"Insert variable": "Insert variable",
|
|
82
|
+
Entity: "Организация",
|
|
83
|
+
Document: "Фактура",
|
|
84
|
+
Customer: "Клиент",
|
|
85
|
+
Other: "Друго",
|
|
86
|
+
"Company name": "Company name",
|
|
87
|
+
"Email address": "Имейл адрес",
|
|
88
|
+
"Invoice number": "Номер на фактура",
|
|
89
|
+
"Invoice date": "Invoice date",
|
|
90
|
+
"Due date": "Краен срок",
|
|
91
|
+
"Total amount": "Total amount",
|
|
92
|
+
Currency: "Валута",
|
|
93
|
+
"Customer name": "Customer name",
|
|
94
|
+
"Customer email": "Customer email",
|
|
95
|
+
"Today's date": "Today's date",
|
|
96
|
+
"Current year": "Current year",
|
|
97
|
+
"Default Payment Terms": "Default Payment Terms",
|
|
98
|
+
"This payment terms will be pre-filled when creating new documents":
|
|
99
|
+
"This payment terms will be pre-filled when creating new documents",
|
|
100
|
+
"Payment Terms": "Payment Terms",
|
|
101
|
+
"Add payment terms...": "Add payment terms...",
|
|
102
|
+
"Document Footer": "Document Footer",
|
|
103
|
+
"Footer text displayed at the bottom of PDF documents": "Footer text displayed at the bottom of PDF documents",
|
|
104
|
+
"Footer text displayed at the bottom of all PDF documents":
|
|
105
|
+
"Footer text displayed at the bottom of all PDF documents",
|
|
106
|
+
"{entity_name} | Due Date: {document_due_date} | Invoice #{document_number}":
|
|
107
|
+
"{entity_name} | Due Date: {document_due_date} | Invoice #{document_number}",
|
|
108
|
+
"Document Signature": "Подпис на документ",
|
|
109
|
+
"Signature text displayed on all PDF documents": "Signature text displayed on all PDF documents",
|
|
110
|
+
"Add signature text...": "Добавете текст за подпис...",
|
|
111
|
+
"Delivery Note": "Доставна бележка",
|
|
112
|
+
"Default note for advance invoices": "Default note for advance invoices",
|
|
113
|
+
"Default note for all new advance invoices": "Default note for all new advance invoices",
|
|
114
|
+
"Default note for delivery notes": "Default note for delivery notes",
|
|
115
|
+
"Default note for all new delivery notes": "Default note for all new delivery notes",
|
|
116
|
+
"Overdue Notifications": "Overdue Notifications",
|
|
117
|
+
"Automatically remind customers about overdue invoices": "Automatically remind customers about overdue invoices",
|
|
118
|
+
"Enable Notifications": "Enable Notifications",
|
|
119
|
+
"Send automatic payment reminder emails to customers with overdue invoices":
|
|
120
|
+
"Send automatic payment reminder emails to customers with overdue invoices",
|
|
121
|
+
"Reminder Days": "Reminder Days",
|
|
122
|
+
"Days after due date to send reminders (comma-separated). E.g., '7, 14, 30' sends reminders at 7, 14, and 30 days overdue.":
|
|
123
|
+
"Days after due date to send reminders (comma-separated). E.g., '7, 14, 30' sends reminders at 7, 14, and 30 days overdue.",
|
|
124
|
+
"Custom Reminder Templates": "Custom Reminder Templates",
|
|
125
|
+
"Subject line for overdue notification emails": "Subject line for overdue notification emails",
|
|
126
|
+
"Body content for overdue emails. Use {invoice_list} to include the invoice table, or it will be auto-appended.":
|
|
127
|
+
"Body content for overdue emails. Use {invoice_list} to include the invoice table, or it will be auto-appended.",
|
|
128
|
+
"Dear {customer_name},\n\nThis is a reminder about your overdue invoices...":
|
|
129
|
+
"Dear {customer_name},\n\nThis is a reminder about your overdue invoices...",
|
|
130
|
+
"Payment Reminders": "Payment Reminders",
|
|
131
|
+
"When enabled, customers will automatically receive email reminders when their invoices become overdue. Emails are sent on the exact day each threshold is reached.":
|
|
132
|
+
"When enabled, customers will automatically receive email reminders when their invoices become overdue. Emails are sent on the exact day each threshold is reached.",
|
|
133
|
+
"Available Variables": "Available Variables",
|
|
134
|
+
"{customer_name}, {entity_name}, {entity_email}, {invoice_list}, {total_amount}, {overdue_count}":
|
|
135
|
+
"{customer_name}, {entity_name}, {entity_email}, {invoice_list}, {total_amount}, {overdue_count}",
|
|
136
|
+
"UPN QR Payment": "UPN QR Payment",
|
|
137
|
+
"Configure UPN QR payment slip for invoices": "Configure UPN QR payment slip for invoices",
|
|
138
|
+
IBAN: "IBAN",
|
|
139
|
+
"Bank account IBAN for receiving payments": "Bank account IBAN for receiving payments",
|
|
140
|
+
"Enable UPN QR on invoices": "Активирай UPN QR на фактури",
|
|
141
|
+
"Show payment QR code on PDF invoices for easy mobile banking payments":
|
|
142
|
+
"Показване на QR код за плащане на PDF фактури за лесни мобилни банкови плащания",
|
|
143
|
+
"Display Mode": "Режим на показване",
|
|
144
|
+
"QR code only": "Само QR код",
|
|
145
|
+
"Shows compact QR code inline with invoice content": "Показва компактен QR код в съдържанието на фактурата",
|
|
146
|
+
"Full UPN payment slip": "Пълен UPN платежен документ",
|
|
147
|
+
"Shows complete payment slip at bottom of page": "Показва пълен платежен документ в долната част на страницата",
|
|
148
|
+
"Purpose Code": "Код на основание",
|
|
149
|
+
"OTHR - Other": "OTHR - Друго",
|
|
150
|
+
"GDSV - Goods and Services": "GDSV - Стоки и услуги",
|
|
151
|
+
"SUPP - Supplier Payment": "SUPP - Плащане към доставчик",
|
|
152
|
+
"Payment purpose code (ISO 20022)": "Код на основание за плащане (ISO 20022)",
|
|
153
|
+
"UPN QR Payments": "UPN QR Payments",
|
|
154
|
+
"UPN QR is a Slovenian standard for payment slips. When enabled, your invoices will include a QR code that customers can scan with their mobile banking app to pay instantly.":
|
|
155
|
+
"UPN QR is a Slovenian standard for payment slips. When enabled, your invoices will include a QR code that customers can scan with their mobile banking app to pay instantly.",
|
|
156
|
+
Invoice: "Фактура",
|
|
157
|
+
Estimate: "Оферта",
|
|
158
|
+
"Credit Note": "Кредитно известие",
|
|
159
|
+
"Advance Invoice": "Авансова фактура",
|
|
160
|
+
"Number Format": "Формат на номерация",
|
|
161
|
+
Preview: "Преглед",
|
|
162
|
+
"EU Tax Rules": "EU Tax Rules",
|
|
163
|
+
"Automatic tax handling for cross-border transactions": "Automatic tax handling for cross-border transactions",
|
|
164
|
+
"tax-rules.vies_validate_vat.label": "tax-rules.vies_validate_vat.label",
|
|
165
|
+
"tax-rules.vies_validate_vat.description": "tax-rules.vies_validate_vat.description",
|
|
166
|
+
"tax-rules.auto_reverse_charge.label": "tax-rules.auto_reverse_charge.label",
|
|
167
|
+
"tax-rules.auto_reverse_charge.description": "tax-rules.auto_reverse_charge.description",
|
|
168
|
+
"tax-rules.auto_remove_tax_export.label": "tax-rules.auto_remove_tax_export.label",
|
|
169
|
+
"tax-rules.auto_remove_tax_export.description": "tax-rules.auto_remove_tax_export.description",
|
|
170
|
+
"tax-rules.require_gross_prices.label": "tax-rules.require_gross_prices.label",
|
|
171
|
+
"tax-rules.require_gross_prices.description": "tax-rules.require_gross_prices.description",
|
|
172
|
+
"tax-rules.calculation_mode.label": "Calculation mode",
|
|
173
|
+
"tax-rules.calculation_mode.description": "Choose how discounts and VAT are ordered when document totals are calculated.",
|
|
174
|
+
"tax-rules.calculation_mode.b2b_standard.label": "B2B standard",
|
|
175
|
+
"tax-rules.calculation_mode.b2b_standard.description": "Discounts reduce the net line amount first, then VAT is calculated.",
|
|
176
|
+
"tax-rules.calculation_mode.b2c_gross_discount.label": "B2C gross discount",
|
|
177
|
+
"tax-rules.calculation_mode.b2c_gross_discount.description":
|
|
178
|
+
"Discounts reduce the final gross payable amount, then net and VAT are derived from that result.",
|
|
179
|
+
"Default Tax Clauses": "Default Tax Clauses",
|
|
180
|
+
"Set default tax clauses that are automatically added to documents based on transaction type":
|
|
181
|
+
"Set default tax clauses that are automatically added to documents based on transaction type",
|
|
182
|
+
"tax-clauses.other-title": "tax-clauses.other-title",
|
|
183
|
+
"tax-clauses.other-description": "tax-clauses.other-description",
|
|
184
|
+
"tax-clauses.intra_eu_b2b.label": "tax-clauses.intra_eu_b2b.label",
|
|
185
|
+
"tax-clauses.intra_eu_b2b.description": "tax-clauses.intra_eu_b2b.description",
|
|
186
|
+
"Enter reverse charge clause...": "Enter reverse charge clause...",
|
|
187
|
+
"tax-clauses.3w_b2b.label": "tax-clauses.3w_b2b.label",
|
|
188
|
+
"tax-clauses.3w_b2b.description": "tax-clauses.3w_b2b.description",
|
|
189
|
+
"tax-clauses.3w_b2c.label": "tax-clauses.3w_b2c.label",
|
|
190
|
+
"tax-clauses.3w_b2c.description": "tax-clauses.3w_b2c.description",
|
|
191
|
+
"Enter export exemption clause...": "Enter export exemption clause...",
|
|
192
|
+
"tax-clauses.domestic.label": "tax-clauses.domestic.label",
|
|
193
|
+
"tax-clauses.domestic.description": "tax-clauses.domestic.description",
|
|
194
|
+
"Enter default tax clause...": "Enter default tax clause...",
|
|
195
|
+
"tax-clauses.intra_eu_b2c.label": "tax-clauses.intra_eu_b2c.label",
|
|
196
|
+
"Enter EU consumer sales clause...": "Enter EU consumer sales clause...",
|
|
197
|
+
"tax-clauses.other.description": "tax-clauses.other.description",
|
|
198
|
+
"EPC QR Payment": "EPC QR Payment",
|
|
199
|
+
"SEPA credit transfer QR code for invoices": "SEPA credit transfer QR code for invoices",
|
|
200
|
+
"Enable EPC QR on invoices": "Активирай EPC QR на фактури",
|
|
201
|
+
"Show SEPA QR code on EUR invoices for easy bank payments":
|
|
202
|
+
"Показване на SEPA QR код на EUR фактури за лесни банкови плащания",
|
|
203
|
+
"EPC QR Payments": "EPC QR Payments",
|
|
204
|
+
"EPC QR is a European standard for SEPA credit transfers. When enabled, EUR invoices include a QR code that customers can scan with their banking app to pay instantly.":
|
|
205
|
+
"EPC QR is a European standard for SEPA credit transfers. When enabled, EUR invoices include a QR code that customers can scan with their banking app to pay instantly.",
|
|
206
|
+
} as const;
|