@spaceinvoices/react-ui 0.4.8 → 0.4.10
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 +1 -1
- package/src/common/autocomplete.tsx +69 -6
- package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +124 -285
- package/src/components/advance-invoices/list/list-table.tsx +10 -3
- package/src/components/advance-invoices/list/locales/de.ts +2 -0
- package/src/components/advance-invoices/list/locales/en.ts +1 -0
- package/src/components/advance-invoices/list/locales/es.ts +1 -0
- package/src/components/advance-invoices/list/locales/fr.ts +1 -0
- package/src/components/advance-invoices/list/locales/hr.ts +1 -0
- package/src/components/advance-invoices/list/locales/it.ts +1 -0
- package/src/components/advance-invoices/list/locales/nl.ts +1 -0
- package/src/components/advance-invoices/list/locales/pl.ts +1 -0
- package/src/components/advance-invoices/list/locales/pt.ts +1 -0
- package/src/components/advance-invoices/list/locales/sl.ts +1 -0
- package/src/components/advance-invoices/list/use-advance-invoice-download.ts +1 -12
- package/src/components/credit-notes/create/create-credit-note-form.tsx +116 -238
- package/src/components/credit-notes/list/list-table.tsx +6 -3
- package/src/components/credit-notes/list/use-credit-note-download.ts +1 -12
- package/src/components/customers/customer-autocomplete.tsx +64 -11
- package/src/components/customers/customer-list-table/customer-list-table.tsx +3 -2
- package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +9 -1
- package/src/components/dashboard/collection-rate-card/locales/bg.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/cs.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/et.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/fi.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/is.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/nb.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/sk.ts +3 -0
- package/src/components/dashboard/collection-rate-card/locales/sv.ts +3 -0
- package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +10 -2
- package/src/components/dashboard/invoice-status-chart/locales/bg.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/cs.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/de.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/es.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/et.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/fi.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/fr.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/hr.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/is.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/it.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/nb.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/nl.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/pl.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/pt.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/sk.ts +10 -0
- package/src/components/dashboard/invoice-status-chart/locales/sl.ts +1 -0
- package/src/components/dashboard/invoice-status-chart/locales/sv.ts +10 -0
- package/src/components/dashboard/payment-methods-chart/locales/bg.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/cs.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/et.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/fi.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/is.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/nb.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/sk.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/locales/sv.ts +12 -0
- package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +9 -1
- package/src/components/dashboard/payment-trend-chart/locales/bg.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/cs.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/de.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/es.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/et.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/fi.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/fr.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/hr.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/is.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/it.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/nb.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/nl.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/pl.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/pt.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/sk.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/locales/sl.ts +1 -0
- package/src/components/dashboard/payment-trend-chart/locales/sv.ts +6 -0
- package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +15 -8
- package/src/components/dashboard/revenue-trend-chart/locales/bg.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/cs.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/de.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/es.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/et.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/fi.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/fr.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/hr.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/is.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/it.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/nb.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/nl.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/pl.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/pt.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/sk.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/locales/sl.ts +1 -0
- package/src/components/dashboard/revenue-trend-chart/locales/sv.ts +6 -0
- package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +15 -8
- package/src/components/dashboard/tax-collected-card/locales.ts +110 -0
- package/src/components/dashboard/tax-collected-card/tax-collected-card.tsx +8 -2
- package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +4 -4
- package/src/components/dashboard/top-customers-chart/locales/bg.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/cs.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/de.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/es.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/et.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/fi.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/fr.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/hr.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/is.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/it.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/nb.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/nl.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/pl.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/pt.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/sk.ts +7 -0
- package/src/components/dashboard/top-customers-chart/locales/sl.ts +2 -0
- package/src/components/dashboard/top-customers-chart/locales/sv.ts +7 -0
- package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +23 -12
- package/src/components/delivery-notes/create/create-delivery-note-form.tsx +33 -20
- package/src/components/delivery-notes/list/list-table.tsx +22 -13
- package/src/components/delivery-notes/list/locales/de.ts +2 -0
- package/src/components/delivery-notes/list/locales/en.ts +1 -0
- package/src/components/delivery-notes/list/locales/es.ts +1 -0
- package/src/components/delivery-notes/list/locales/fr.ts +1 -0
- package/src/components/delivery-notes/list/locales/hr.ts +1 -0
- package/src/components/delivery-notes/list/locales/it.ts +1 -0
- package/src/components/delivery-notes/list/locales/nl.ts +1 -0
- package/src/components/delivery-notes/list/locales/pl.ts +1 -0
- package/src/components/delivery-notes/list/locales/pt.ts +1 -0
- package/src/components/delivery-notes/list/locales/sl.ts +1 -0
- package/src/components/delivery-notes/list/use-delivery-note-download.ts +1 -12
- package/src/components/documents/create/document-add-item-form.tsx +28 -16
- package/src/components/documents/create/document-add-item-tax-rate-field.tsx +12 -2
- package/src/components/documents/create/document-items-section.tsx +70 -39
- package/src/components/documents/create/document-recipient-section.tsx +10 -1
- package/src/components/documents/create/live-preview.tsx +113 -15
- package/src/components/documents/create/prepare-document-submission.ts +35 -16
- package/src/components/documents/create/use-document-customer-form.ts +14 -3
- package/src/components/documents/documents.hooks.ts +7 -2
- package/src/components/documents/shared/document-preview-display.tsx +136 -67
- package/src/components/documents/shared/scaled-document-preview.tsx +45 -5
- package/src/components/documents/view/document-actions-bar.tsx +284 -182
- package/src/components/documents/view/document-activities-list.tsx +3 -0
- package/src/components/documents/view/document-payments-list.tsx +3 -0
- package/src/components/documents/view/locales/de.ts +8 -0
- package/src/components/documents/view/locales/es.ts +8 -0
- package/src/components/documents/view/locales/fr.ts +8 -0
- package/src/components/documents/view/locales/hr.ts +8 -0
- package/src/components/documents/view/locales/it.ts +8 -0
- package/src/components/documents/view/locales/nl.ts +8 -0
- package/src/components/documents/view/locales/pl.ts +8 -0
- package/src/components/documents/view/locales/pt.ts +8 -0
- package/src/components/documents/view/locales/sl.ts +8 -0
- package/src/components/documents/view/use-document-download.ts +14 -25
- package/src/components/entities/create-entity-form.tsx +101 -16
- package/src/components/entities/fina-settings-form/fina-operator-required-dialog.tsx +3 -3
- package/src/components/entities/fina-settings-form/fina-settings-form.tsx +78 -124
- package/src/components/entities/fina-settings-form/sections/certificate-settings-section.tsx +8 -1
- package/src/components/entities/fina-settings-form/sections/premises-management-section.tsx +14 -2
- package/src/components/entities/fina-settings-form/sections/register-premise-dialog.tsx +7 -2
- package/src/components/entities/furs-settings-form/furs-settings-form.tsx +56 -130
- package/src/components/entities/furs-settings-form/sections/certificate-settings-section.tsx +8 -1
- package/src/components/entities/furs-settings-form/sections/enable-fiscalization-section.tsx +1 -0
- package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +15 -2
- package/src/components/entities/furs-settings-form/sections/premises-management-section.tsx +20 -3
- package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +38 -12
- package/src/components/entities/settings/eslog-settings-form.tsx +13 -1
- package/src/components/entities/settings/pdf-template-selector/demo-invoice-data.ts +3 -22
- package/src/components/entities/shared/fiscalization-step-flow.ts +77 -0
- package/src/components/entities/shared/fiscalization-step-tabs.tsx +71 -0
- package/src/components/estimates/create/create-estimate-form.tsx +34 -21
- package/src/components/estimates/list/list-table.tsx +23 -14
- package/src/components/estimates/list/locales/de.ts +2 -0
- package/src/components/estimates/list/locales/en.ts +1 -0
- package/src/components/estimates/list/locales/es.ts +1 -0
- package/src/components/estimates/list/locales/fr.ts +1 -0
- package/src/components/estimates/list/locales/hr.ts +1 -0
- package/src/components/estimates/list/locales/it.ts +1 -0
- package/src/components/estimates/list/locales/nl.ts +1 -0
- package/src/components/estimates/list/locales/pl.ts +1 -0
- package/src/components/estimates/list/locales/pt.ts +1 -0
- package/src/components/estimates/list/locales/sl.ts +1 -0
- package/src/components/estimates/list/use-estimate-download.ts +1 -12
- package/src/components/export/document-export-form.tsx +33 -7
- package/src/components/export/sales-per-item-export-form.tsx +23 -7
- package/src/components/invoices/create/create-invoice-form.tsx +295 -329
- package/src/components/invoices/create/prepare-invoice-submission.ts +0 -8
- package/src/components/invoices/list/list-table.tsx +7 -4
- package/src/components/invoices/list/use-invoice-download.ts +1 -11
- package/src/components/invoices/send-email-dialog/locales/de.ts +2 -0
- package/src/components/invoices/send-email-dialog/locales/es.ts +2 -0
- package/src/components/invoices/send-email-dialog/locales/fr.ts +2 -0
- package/src/components/invoices/send-email-dialog/locales/hr.ts +2 -0
- package/src/components/invoices/send-email-dialog/locales/it.ts +2 -0
- package/src/components/invoices/send-email-dialog/locales/nl.ts +2 -0
- package/src/components/invoices/send-email-dialog/locales/pl.ts +2 -0
- package/src/components/invoices/send-email-dialog/locales/pt.ts +2 -0
- package/src/components/invoices/send-email-dialog/locales/sl.ts +2 -0
- package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +77 -8
- package/src/components/invoices/view/eslog-info-display.tsx +17 -1
- package/src/components/invoices/view/fiscalization-status-card.tsx +7 -3
- package/src/components/items/item-combobox.tsx +26 -6
- package/src/components/items/item-list-table/item-list-table.tsx +5 -2
- package/src/components/payments/list/list-table.tsx +14 -4
- package/src/components/recurring-invoices/list/list-table.tsx +7 -4
- package/src/components/request-logs/locales.ts +412 -0
- package/src/components/request-logs/request-log-detail.tsx +37 -21
- package/src/components/request-logs/request-log-list-table.tsx +57 -11
- package/src/components/table/data-table.tsx +5 -2
- package/src/components/table/date-cell.tsx +3 -1
- package/src/components/table/filter-bar.tsx +14 -2
- package/src/components/table/hooks/use-table-query.ts +1 -1
- package/src/components/table/locales.ts +1116 -0
- package/src/components/table/search-input.tsx +12 -3
- package/src/components/table/selection-toolbar.tsx +23 -6
- package/src/components/table/table-empty-state.tsx +43 -3
- package/src/components/table/table-no-results.tsx +3 -3
- package/src/components/table/table-pagination.tsx +4 -3
- package/src/components/table/types.ts +1 -0
- package/src/components/tax-reports/index.ts +1 -0
- package/src/components/tax-reports/kir-export-form.tsx +46 -8
- package/src/components/tax-reports/slovenia-tax-profile-step.tsx +191 -0
- package/src/components/tax-reports/slovenia-yearly-export-form.tsx +509 -0
- package/src/components/tax-reports/slovenia-yearly-review-step.tsx +253 -0
- package/src/components/tax-reports/slovenia-yearly-summary.tsx +19 -0
- package/src/components/taxes/tax-list-table/tax-list-table.tsx +3 -2
- package/src/components/ui/sticky-form-footer.tsx +7 -1
- package/src/components/webhook-logs/index.ts +6 -0
- package/src/components/webhook-logs/locales.ts +392 -0
- package/src/components/webhook-logs/webhook-delivery-detail.tsx +255 -0
- package/src/components/webhook-logs/webhook-delivery-list-table.tsx +278 -0
- package/src/components/wl-subscription/index.ts +1 -0
- package/src/components/wl-subscription/locked-feature.tsx +1 -0
- package/src/components/wl-subscription/paywall.tsx +193 -0
- package/src/components/wl-subscription/upgrade-modal.tsx +93 -29
- package/src/generate-schemas.ts +10 -5
- package/src/generated/schemas/customer.ts +2 -0
- package/src/generated/schemas/entity.ts +34 -0
- package/src/generated/schemas/me.ts +20 -1
- package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +40 -34
- package/src/generated/schemas/rendercreditnotepreview_body.ts +42 -36
- package/src/generated/schemas/renderdeliverynotepreview_body.ts +23 -13
- package/src/generated/schemas/renderestimatepreview_body.ts +23 -13
- package/src/generated/schemas/renderinvoicepreview_body.ts +40 -34
- package/src/generated/schemas/sendemail_body.ts +44 -0
- package/src/generated/schemas/startpdfexport_body.ts +91 -1
- package/src/generated/schemas/webhook.ts +10 -0
- package/src/hooks/use-duplicate-document.ts +51 -13
- package/src/hooks/use-eslog-validation.ts +59 -0
- package/src/hooks/use-premise-selection.ts +186 -0
- package/src/lib/browser-cookies.ts +4 -4
- package/src/lib/date-fns-locale.ts +48 -0
- package/src/lib/fiscalization-options.ts +81 -0
- package/src/lib/locale.ts +38 -0
- package/src/lib/template-variables.tsx +1 -1
- package/src/lib/translation.ts +14 -3
- package/src/providers/entities-context.tsx +1 -0
- package/src/providers/entities-provider.tsx +102 -3
- package/src/providers/form-footer-context.tsx +37 -4
- package/src/providers/sdk-provider.tsx +7 -2
- package/src/providers/white-label-provider.tsx +4 -1
- package/src/providers/wl-subscription-provider.tsx +90 -3
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
ChevronDown,
|
|
7
7
|
Copy,
|
|
8
8
|
Download,
|
|
9
|
+
Ellipsis,
|
|
9
10
|
FileCode2,
|
|
10
11
|
Link2Off,
|
|
11
12
|
Loader2,
|
|
@@ -22,6 +23,7 @@ import {
|
|
|
22
23
|
DropdownMenu,
|
|
23
24
|
DropdownMenuContent,
|
|
24
25
|
DropdownMenuItem,
|
|
26
|
+
DropdownMenuSeparator,
|
|
25
27
|
DropdownMenuTrigger,
|
|
26
28
|
} from "@/ui/components/ui/dropdown-menu";
|
|
27
29
|
import { Tooltip, TooltipContent, TooltipTrigger } from "@/ui/components/ui/tooltip";
|
|
@@ -56,6 +58,14 @@ const PDF_LANGUAGE_CODES = [
|
|
|
56
58
|
{ label: "Dutch", code: "nl-NL" },
|
|
57
59
|
{ label: "Polish", code: "pl-PL" },
|
|
58
60
|
{ label: "Croatian", code: "hr-HR" },
|
|
61
|
+
{ label: "Swedish", code: "sv-SE" },
|
|
62
|
+
{ label: "Finnish", code: "fi-FI" },
|
|
63
|
+
{ label: "Estonian", code: "et-EE" },
|
|
64
|
+
{ label: "Bulgarian", code: "bg-BG" },
|
|
65
|
+
{ label: "Czech", code: "cs-CZ" },
|
|
66
|
+
{ label: "Slovak", code: "sk-SK" },
|
|
67
|
+
{ label: "Norwegian", code: "nb-NO" },
|
|
68
|
+
{ label: "Icelandic", code: "is-IS" },
|
|
59
69
|
] as const;
|
|
60
70
|
|
|
61
71
|
interface DocumentActionsBarProps extends ComponentTranslationProps {
|
|
@@ -132,7 +142,7 @@ export function DocumentActionsBar({
|
|
|
132
142
|
isVoiding,
|
|
133
143
|
...i18nProps
|
|
134
144
|
}: DocumentActionsBarProps) {
|
|
135
|
-
const t = createTranslation({ translations, locale: currentLocale
|
|
145
|
+
const t = createTranslation({ ...i18nProps, translations, locale: currentLocale });
|
|
136
146
|
const [linkCopied, setLinkCopied] = useState(false);
|
|
137
147
|
|
|
138
148
|
const { isDownloadingPdf, isDownloadingEslog, downloadPdf, downloadEslog } = useDocumentDownload({
|
|
@@ -168,208 +178,300 @@ export function DocumentActionsBar({
|
|
|
168
178
|
|
|
169
179
|
const isDraft = (document as any).is_draft === true;
|
|
170
180
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
<
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
<
|
|
186
|
-
<
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
{
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
181
|
+
// --- Primary actions (always visible) ---
|
|
182
|
+
const pdfButton = (
|
|
183
|
+
<div className="flex">
|
|
184
|
+
<Button
|
|
185
|
+
variant="outline"
|
|
186
|
+
size="sm"
|
|
187
|
+
disabled={isDownloadingPdf}
|
|
188
|
+
onClick={() => handleDownloadPdf()}
|
|
189
|
+
className="cursor-pointer rounded-r-none"
|
|
190
|
+
>
|
|
191
|
+
{isDownloadingPdf ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <Download className="mr-2 h-4 w-4" />}
|
|
192
|
+
{t("PDF")}
|
|
193
|
+
</Button>
|
|
194
|
+
<DropdownMenu>
|
|
195
|
+
<DropdownMenuTrigger asChild>
|
|
196
|
+
<Button
|
|
197
|
+
variant="outline"
|
|
198
|
+
size="sm"
|
|
199
|
+
disabled={isDownloadingPdf}
|
|
200
|
+
className="cursor-pointer rounded-l-none border-l-0 px-2"
|
|
201
|
+
>
|
|
202
|
+
<ChevronDown className="h-4 w-4" />
|
|
203
|
+
</Button>
|
|
204
|
+
</DropdownMenuTrigger>
|
|
205
|
+
<DropdownMenuContent align="end">
|
|
206
|
+
{PDF_LANGUAGE_CODES.map((lang) => (
|
|
207
|
+
<DropdownMenuItem key={lang.code} onClick={() => handleDownloadPdf(lang.code)} className="cursor-pointer">
|
|
208
|
+
{t(lang.label)}
|
|
209
|
+
</DropdownMenuItem>
|
|
210
|
+
))}
|
|
211
|
+
</DropdownMenuContent>
|
|
212
|
+
</DropdownMenu>
|
|
213
|
+
</div>
|
|
214
|
+
);
|
|
205
215
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
<FileCode2 className="mr-2 h-4 w-4" />
|
|
219
|
-
)}
|
|
220
|
-
e-SLOG
|
|
221
|
-
</Button>
|
|
222
|
-
)}
|
|
216
|
+
const eslogButton = showEslogDownload ? (
|
|
217
|
+
<Button
|
|
218
|
+
variant="outline"
|
|
219
|
+
size="sm"
|
|
220
|
+
disabled={isDownloadingEslog}
|
|
221
|
+
onClick={handleDownloadEslog}
|
|
222
|
+
className="cursor-pointer"
|
|
223
|
+
>
|
|
224
|
+
{isDownloadingEslog ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <FileCode2 className="mr-2 h-4 w-4" />}
|
|
225
|
+
e-SLOG
|
|
226
|
+
</Button>
|
|
227
|
+
) : null;
|
|
223
228
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
+
const sendButton = (
|
|
230
|
+
<Button variant="outline" size="sm" onClick={onSendEmail} className="cursor-pointer">
|
|
231
|
+
<Mail className="mr-2 h-4 w-4" />
|
|
232
|
+
{t("Send")}
|
|
233
|
+
</Button>
|
|
234
|
+
);
|
|
229
235
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
)}
|
|
236
|
+
const paymentButton = supportsPayments ? (
|
|
237
|
+
<Button variant="outline" size="sm" onClick={onAddPayment} className="cursor-pointer">
|
|
238
|
+
<Plus className="mr-2 h-4 w-4" />
|
|
239
|
+
{t("Payment")}
|
|
240
|
+
</Button>
|
|
241
|
+
) : null;
|
|
237
242
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
243
|
+
// --- Secondary actions (desktop: inline buttons, mobile: overflow menu) ---
|
|
244
|
+
const editButton = onEdit ? (
|
|
245
|
+
isEditable ? (
|
|
246
|
+
<Button variant="outline" size="sm" onClick={onEdit} className="cursor-pointer">
|
|
247
|
+
<Pencil className="mr-2 h-4 w-4" />
|
|
248
|
+
{t("Edit")}
|
|
249
|
+
</Button>
|
|
250
|
+
) : (
|
|
251
|
+
<Tooltip>
|
|
252
|
+
<TooltipTrigger asChild>
|
|
253
|
+
<Button
|
|
254
|
+
variant="outline"
|
|
255
|
+
size="sm"
|
|
256
|
+
aria-disabled="true"
|
|
257
|
+
className="pointer-events-auto opacity-50"
|
|
258
|
+
onClick={(e) => e.preventDefault()}
|
|
259
|
+
>
|
|
242
260
|
<Pencil className="mr-2 h-4 w-4" />
|
|
243
261
|
{t("Edit")}
|
|
244
262
|
</Button>
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
+
</TooltipTrigger>
|
|
264
|
+
<TooltipContent>
|
|
265
|
+
<p>{editDisabledReason}</p>
|
|
266
|
+
</TooltipContent>
|
|
267
|
+
</Tooltip>
|
|
268
|
+
)
|
|
269
|
+
) : null;
|
|
270
|
+
|
|
271
|
+
const shareButton = shareUrl ? (
|
|
272
|
+
<div className="flex">
|
|
273
|
+
<Tooltip>
|
|
274
|
+
<TooltipTrigger asChild>
|
|
275
|
+
<Button variant="outline" size="sm" onClick={handleCopyShareLink} className="cursor-pointer rounded-r-none">
|
|
276
|
+
{linkCopied ? <Check className="mr-2 h-4 w-4 text-green-600" /> : <Share2 className="mr-2 h-4 w-4" />}
|
|
277
|
+
{linkCopied ? t("Copied") : t("Share")}
|
|
278
|
+
</Button>
|
|
279
|
+
</TooltipTrigger>
|
|
280
|
+
<TooltipContent>
|
|
281
|
+
<p>{t("Copy shareable link")}</p>
|
|
282
|
+
</TooltipContent>
|
|
283
|
+
</Tooltip>
|
|
284
|
+
<DropdownMenu>
|
|
285
|
+
<DropdownMenuTrigger asChild>
|
|
286
|
+
<Button variant="outline" size="sm" className="cursor-pointer rounded-l-none border-l-0 px-2">
|
|
287
|
+
<ChevronDown className="h-4 w-4" />
|
|
288
|
+
</Button>
|
|
289
|
+
</DropdownMenuTrigger>
|
|
290
|
+
<DropdownMenuContent align="end">
|
|
291
|
+
<DropdownMenuItem onClick={handleCopyShareLink} className="cursor-pointer">
|
|
292
|
+
<Share2 className="mr-2 h-4 w-4" />
|
|
293
|
+
{t("Copy shareable link")}
|
|
294
|
+
</DropdownMenuItem>
|
|
295
|
+
<DropdownMenuItem
|
|
296
|
+
onClick={onUnshare}
|
|
297
|
+
disabled={isUnsharing}
|
|
298
|
+
className="hover:!bg-destructive hover:!text-destructive-foreground focus:!bg-destructive focus:!text-destructive-foreground cursor-pointer text-destructive"
|
|
299
|
+
>
|
|
300
|
+
{isUnsharing ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <Link2Off className="mr-2 h-4 w-4" />}
|
|
301
|
+
{t("Unshare")}
|
|
302
|
+
</DropdownMenuItem>
|
|
303
|
+
</DropdownMenuContent>
|
|
304
|
+
</DropdownMenu>
|
|
305
|
+
</div>
|
|
306
|
+
) : onShare ? (
|
|
307
|
+
<Button variant="outline" size="sm" onClick={onShare} disabled={isSharing} className="cursor-pointer">
|
|
308
|
+
{isSharing ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <Share2 className="mr-2 h-4 w-4" />}
|
|
309
|
+
{t("Share")}
|
|
310
|
+
</Button>
|
|
311
|
+
) : null;
|
|
312
|
+
|
|
313
|
+
const recurringButton = onCreateRecurring ? (
|
|
314
|
+
<Button variant="outline" size="sm" onClick={onCreateRecurring} className="cursor-pointer">
|
|
315
|
+
<RefreshCw className="mr-2 h-4 w-4" />
|
|
316
|
+
{recurringLabel || t("Recurring")}
|
|
317
|
+
</Button>
|
|
318
|
+
) : null;
|
|
319
|
+
|
|
320
|
+
const duplicateButton = onDuplicate ? (
|
|
321
|
+
<DropdownMenu>
|
|
322
|
+
<DropdownMenuTrigger asChild>
|
|
323
|
+
<Button variant="outline" size="sm" className="cursor-pointer">
|
|
324
|
+
<Copy className="mr-2 h-4 w-4" />
|
|
325
|
+
{t("Duplicate")}
|
|
326
|
+
<ChevronDown className="ml-1 h-4 w-4" />
|
|
327
|
+
</Button>
|
|
328
|
+
</DropdownMenuTrigger>
|
|
329
|
+
<DropdownMenuContent align="end">
|
|
330
|
+
{getAllowedDuplicateTargets(documentType).map((targetType) => (
|
|
331
|
+
<DropdownMenuItem key={targetType} onClick={() => onDuplicate(targetType)} className="cursor-pointer">
|
|
332
|
+
{targetType === documentType ? t(`Duplicate ${documentType}`) : t(`Create ${targetType}`)}
|
|
333
|
+
</DropdownMenuItem>
|
|
263
334
|
))}
|
|
335
|
+
</DropdownMenuContent>
|
|
336
|
+
</DropdownMenu>
|
|
337
|
+
) : null;
|
|
338
|
+
|
|
339
|
+
const voidButton =
|
|
340
|
+
!isDraft && onVoid ? (
|
|
341
|
+
<Button variant="destructive" size="sm" onClick={onVoid} disabled={isVoiding} className="cursor-pointer">
|
|
342
|
+
{isVoiding ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <Ban className="mr-2 h-4 w-4" />}
|
|
343
|
+
{isVoiding ? t("Voiding...") : t("Void")}
|
|
344
|
+
</Button>
|
|
345
|
+
) : null;
|
|
346
|
+
|
|
347
|
+
const finalizeButton =
|
|
348
|
+
isDraft && onFinalize ? (
|
|
349
|
+
<Button variant="default" size="sm" onClick={onFinalize} disabled={isFinalizing} className="cursor-pointer">
|
|
350
|
+
{isFinalizing ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <CheckCircle className="mr-2 h-4 w-4" />}
|
|
351
|
+
{t("Finalize")}
|
|
352
|
+
</Button>
|
|
353
|
+
) : null;
|
|
354
|
+
|
|
355
|
+
const deleteDraftButton =
|
|
356
|
+
isDraft && onDeleteDraft ? (
|
|
357
|
+
<Button
|
|
358
|
+
variant="destructive"
|
|
359
|
+
size="sm"
|
|
360
|
+
onClick={onDeleteDraft}
|
|
361
|
+
disabled={isDeletingDraft}
|
|
362
|
+
className="cursor-pointer"
|
|
363
|
+
>
|
|
364
|
+
{isDeletingDraft ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <Trash2 className="mr-2 h-4 w-4" />}
|
|
365
|
+
{t("Delete Draft")}
|
|
366
|
+
</Button>
|
|
367
|
+
) : null;
|
|
368
|
+
|
|
369
|
+
// Collect secondary items for the mobile overflow menu
|
|
370
|
+
const hasSecondaryActions =
|
|
371
|
+
editButton ||
|
|
372
|
+
shareButton ||
|
|
373
|
+
recurringButton ||
|
|
374
|
+
duplicateButton ||
|
|
375
|
+
voidButton ||
|
|
376
|
+
finalizeButton ||
|
|
377
|
+
deleteDraftButton;
|
|
378
|
+
|
|
379
|
+
return (
|
|
380
|
+
<div className="flex flex-wrap items-center gap-2">
|
|
381
|
+
{/* Primary actions — always visible */}
|
|
382
|
+
{pdfButton}
|
|
383
|
+
{eslogButton}
|
|
384
|
+
{sendButton}
|
|
385
|
+
{paymentButton}
|
|
386
|
+
|
|
387
|
+
{/* Secondary actions — visible on md+ screens as inline buttons */}
|
|
388
|
+
<div className="hidden flex-wrap items-center gap-2 md:flex">
|
|
389
|
+
{editButton}
|
|
390
|
+
{shareButton}
|
|
391
|
+
{recurringButton}
|
|
392
|
+
{duplicateButton}
|
|
393
|
+
{voidButton}
|
|
394
|
+
{finalizeButton}
|
|
395
|
+
{deleteDraftButton}
|
|
396
|
+
</div>
|
|
264
397
|
|
|
265
|
-
{/*
|
|
266
|
-
{
|
|
267
|
-
<
|
|
268
|
-
<
|
|
269
|
-
<
|
|
270
|
-
<
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
398
|
+
{/* Mobile overflow — visible on small screens only */}
|
|
399
|
+
{hasSecondaryActions && (
|
|
400
|
+
<DropdownMenu>
|
|
401
|
+
<DropdownMenuTrigger asChild>
|
|
402
|
+
<Button variant="outline" size="sm" className="cursor-pointer md:hidden">
|
|
403
|
+
<Ellipsis className="h-4 w-4" />
|
|
404
|
+
</Button>
|
|
405
|
+
</DropdownMenuTrigger>
|
|
406
|
+
<DropdownMenuContent align="end">
|
|
407
|
+
{onEdit && (
|
|
408
|
+
<DropdownMenuItem
|
|
409
|
+
onClick={isEditable ? onEdit : undefined}
|
|
410
|
+
disabled={!isEditable}
|
|
411
|
+
className="cursor-pointer"
|
|
275
412
|
>
|
|
276
|
-
|
|
277
|
-
{
|
|
278
|
-
</
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
<p>{t("Copy shareable link")}</p>
|
|
282
|
-
</TooltipContent>
|
|
283
|
-
</Tooltip>
|
|
284
|
-
<DropdownMenu>
|
|
285
|
-
<DropdownMenuTrigger asChild>
|
|
286
|
-
<Button variant="outline" size="sm" className="cursor-pointer rounded-l-none border-l-0 px-2">
|
|
287
|
-
<ChevronDown className="h-4 w-4" />
|
|
288
|
-
</Button>
|
|
289
|
-
</DropdownMenuTrigger>
|
|
290
|
-
<DropdownMenuContent align="end">
|
|
413
|
+
<Pencil className="mr-2 h-4 w-4" />
|
|
414
|
+
{t("Edit")}
|
|
415
|
+
</DropdownMenuItem>
|
|
416
|
+
)}
|
|
417
|
+
{shareUrl ? (
|
|
291
418
|
<DropdownMenuItem onClick={handleCopyShareLink} className="cursor-pointer">
|
|
292
419
|
<Share2 className="mr-2 h-4 w-4" />
|
|
293
|
-
{t("
|
|
420
|
+
{linkCopied ? t("Copied") : t("Share")}
|
|
421
|
+
</DropdownMenuItem>
|
|
422
|
+
) : onShare ? (
|
|
423
|
+
<DropdownMenuItem onClick={onShare} disabled={isSharing} className="cursor-pointer">
|
|
424
|
+
<Share2 className="mr-2 h-4 w-4" />
|
|
425
|
+
{t("Share")}
|
|
426
|
+
</DropdownMenuItem>
|
|
427
|
+
) : null}
|
|
428
|
+
{onCreateRecurring && (
|
|
429
|
+
<DropdownMenuItem onClick={onCreateRecurring} className="cursor-pointer">
|
|
430
|
+
<RefreshCw className="mr-2 h-4 w-4" />
|
|
431
|
+
{recurringLabel || t("Recurring")}
|
|
432
|
+
</DropdownMenuItem>
|
|
433
|
+
)}
|
|
434
|
+
{onDuplicate && (
|
|
435
|
+
<>
|
|
436
|
+
<DropdownMenuSeparator />
|
|
437
|
+
{getAllowedDuplicateTargets(documentType).map((targetType) => (
|
|
438
|
+
<DropdownMenuItem key={targetType} onClick={() => onDuplicate(targetType)} className="cursor-pointer">
|
|
439
|
+
<Copy className="mr-2 h-4 w-4" />
|
|
440
|
+
{targetType === documentType ? t(`Duplicate ${documentType}`) : t(`Create ${targetType}`)}
|
|
441
|
+
</DropdownMenuItem>
|
|
442
|
+
))}
|
|
443
|
+
</>
|
|
444
|
+
)}
|
|
445
|
+
{(voidButton || finalizeButton || deleteDraftButton) && <DropdownMenuSeparator />}
|
|
446
|
+
{isDraft && onFinalize && (
|
|
447
|
+
<DropdownMenuItem onClick={onFinalize} disabled={isFinalizing} className="cursor-pointer">
|
|
448
|
+
<CheckCircle className="mr-2 h-4 w-4" />
|
|
449
|
+
{t("Finalize")}
|
|
294
450
|
</DropdownMenuItem>
|
|
451
|
+
)}
|
|
452
|
+
{!isDraft && onVoid && (
|
|
295
453
|
<DropdownMenuItem
|
|
296
|
-
onClick={
|
|
297
|
-
disabled={
|
|
454
|
+
onClick={onVoid}
|
|
455
|
+
disabled={isVoiding}
|
|
298
456
|
className="hover:!bg-destructive hover:!text-destructive-foreground focus:!bg-destructive focus:!text-destructive-foreground cursor-pointer text-destructive"
|
|
299
457
|
>
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
) : (
|
|
303
|
-
<Link2Off className="mr-2 h-4 w-4" />
|
|
304
|
-
)}
|
|
305
|
-
{t("Unshare")}
|
|
458
|
+
<Ban className="mr-2 h-4 w-4" />
|
|
459
|
+
{t("Void")}
|
|
306
460
|
</DropdownMenuItem>
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
{/* Recurring */}
|
|
318
|
-
{onCreateRecurring && (
|
|
319
|
-
<Button variant="outline" size="sm" onClick={onCreateRecurring} className="cursor-pointer">
|
|
320
|
-
<RefreshCw className="mr-2 h-4 w-4" />
|
|
321
|
-
{recurringLabel || t("Recurring")}
|
|
322
|
-
</Button>
|
|
323
|
-
)}
|
|
324
|
-
|
|
325
|
-
{/* Duplicate/Convert */}
|
|
326
|
-
{onDuplicate && (
|
|
327
|
-
<DropdownMenu>
|
|
328
|
-
<DropdownMenuTrigger asChild>
|
|
329
|
-
<Button variant="outline" size="sm" className="cursor-pointer">
|
|
330
|
-
<Copy className="mr-2 h-4 w-4" />
|
|
331
|
-
{t("Duplicate")}
|
|
332
|
-
<ChevronDown className="ml-1 h-4 w-4" />
|
|
333
|
-
</Button>
|
|
334
|
-
</DropdownMenuTrigger>
|
|
335
|
-
<DropdownMenuContent align="end">
|
|
336
|
-
{getAllowedDuplicateTargets(documentType).map((targetType) => (
|
|
337
|
-
<DropdownMenuItem key={targetType} onClick={() => onDuplicate(targetType)} className="cursor-pointer">
|
|
338
|
-
{targetType === documentType ? t(`Duplicate ${documentType}`) : t(`Create ${targetType}`)}
|
|
461
|
+
)}
|
|
462
|
+
{isDraft && onDeleteDraft && (
|
|
463
|
+
<DropdownMenuItem
|
|
464
|
+
onClick={onDeleteDraft}
|
|
465
|
+
disabled={isDeletingDraft}
|
|
466
|
+
className="hover:!bg-destructive hover:!text-destructive-foreground focus:!bg-destructive focus:!text-destructive-foreground cursor-pointer text-destructive"
|
|
467
|
+
>
|
|
468
|
+
<Trash2 className="mr-2 h-4 w-4" />
|
|
469
|
+
{t("Delete Draft")}
|
|
339
470
|
</DropdownMenuItem>
|
|
340
|
-
)
|
|
471
|
+
)}
|
|
341
472
|
</DropdownMenuContent>
|
|
342
473
|
</DropdownMenu>
|
|
343
474
|
)}
|
|
344
|
-
|
|
345
|
-
{/* Void */}
|
|
346
|
-
{!isDraft && onVoid && (
|
|
347
|
-
<Button variant="destructive" size="sm" onClick={onVoid} disabled={isVoiding} className="cursor-pointer">
|
|
348
|
-
{isVoiding ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <Ban className="mr-2 h-4 w-4" />}
|
|
349
|
-
{isVoiding ? t("Voiding...") : t("Void")}
|
|
350
|
-
</Button>
|
|
351
|
-
)}
|
|
352
|
-
|
|
353
|
-
{/* Draft Actions */}
|
|
354
|
-
{isDraft && onFinalize && (
|
|
355
|
-
<Button variant="default" size="sm" onClick={onFinalize} disabled={isFinalizing} className="cursor-pointer">
|
|
356
|
-
{isFinalizing ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <CheckCircle className="mr-2 h-4 w-4" />}
|
|
357
|
-
{t("Finalize")}
|
|
358
|
-
</Button>
|
|
359
|
-
)}
|
|
360
|
-
|
|
361
|
-
{isDraft && onDeleteDraft && (
|
|
362
|
-
<Button
|
|
363
|
-
variant="destructive"
|
|
364
|
-
size="sm"
|
|
365
|
-
onClick={onDeleteDraft}
|
|
366
|
-
disabled={isDeletingDraft}
|
|
367
|
-
className="cursor-pointer"
|
|
368
|
-
>
|
|
369
|
-
{isDeletingDraft ? <Loader2 className="mr-2 h-4 w-4 animate-spin" /> : <Trash2 className="mr-2 h-4 w-4" />}
|
|
370
|
-
{t("Delete Draft")}
|
|
371
|
-
</Button>
|
|
372
|
-
)}
|
|
373
475
|
</div>
|
|
374
476
|
);
|
|
375
477
|
}
|
|
@@ -135,6 +135,9 @@ export function DocumentPaymentsList({
|
|
|
135
135
|
return response.data;
|
|
136
136
|
},
|
|
137
137
|
enabled: !!sdk && !!entityId && !!documentId,
|
|
138
|
+
staleTime: 30_000,
|
|
139
|
+
gcTime: 600_000,
|
|
140
|
+
refetchOnWindowFocus: false,
|
|
138
141
|
});
|
|
139
142
|
|
|
140
143
|
const payments = paymentsData || [];
|
|
@@ -124,6 +124,14 @@ export default {
|
|
|
124
124
|
Dutch: "Niederländisch",
|
|
125
125
|
Polish: "Polnisch",
|
|
126
126
|
Croatian: "Kroatisch",
|
|
127
|
+
Swedish: "Schwedisch",
|
|
128
|
+
Finnish: "Finnisch",
|
|
129
|
+
Estonian: "Estnisch",
|
|
130
|
+
Bulgarian: "Bulgarisch",
|
|
131
|
+
Czech: "Tschechisch",
|
|
132
|
+
Slovak: "Slowakisch",
|
|
133
|
+
Norwegian: "Norwegisch",
|
|
134
|
+
Icelandic: "Isländisch",
|
|
127
135
|
|
|
128
136
|
// Linked documents
|
|
129
137
|
"Linked documents": "Verknüpfte Dokumente",
|
|
@@ -122,6 +122,14 @@ export default {
|
|
|
122
122
|
Dutch: "Neerlandés",
|
|
123
123
|
Polish: "Polaco",
|
|
124
124
|
Croatian: "Croata",
|
|
125
|
+
Swedish: "Sueco",
|
|
126
|
+
Finnish: "Finlandés",
|
|
127
|
+
Estonian: "Estonio",
|
|
128
|
+
Bulgarian: "Búlgaro",
|
|
129
|
+
Czech: "Checo",
|
|
130
|
+
Slovak: "Eslovaco",
|
|
131
|
+
Norwegian: "Noruego",
|
|
132
|
+
Icelandic: "Islandés",
|
|
125
133
|
|
|
126
134
|
// Linked documents
|
|
127
135
|
"Linked documents": "Documentos vinculados",
|
|
@@ -122,6 +122,14 @@ export default {
|
|
|
122
122
|
Dutch: "Néerlandais",
|
|
123
123
|
Polish: "Polonais",
|
|
124
124
|
Croatian: "Croate",
|
|
125
|
+
Swedish: "Suédois",
|
|
126
|
+
Finnish: "Finnois",
|
|
127
|
+
Estonian: "Estonien",
|
|
128
|
+
Bulgarian: "Bulgare",
|
|
129
|
+
Czech: "Tchèque",
|
|
130
|
+
Slovak: "Slovaque",
|
|
131
|
+
Norwegian: "Norvégien",
|
|
132
|
+
Icelandic: "Islandais",
|
|
125
133
|
|
|
126
134
|
// Linked documents
|
|
127
135
|
"Linked documents": "Documents liés",
|
|
@@ -122,6 +122,14 @@ export default {
|
|
|
122
122
|
Dutch: "Nizozemski",
|
|
123
123
|
Polish: "Poljski",
|
|
124
124
|
Croatian: "Hrvatski",
|
|
125
|
+
Swedish: "Švedski",
|
|
126
|
+
Finnish: "Finski",
|
|
127
|
+
Estonian: "Estonski",
|
|
128
|
+
Bulgarian: "Bugarski",
|
|
129
|
+
Czech: "Češki",
|
|
130
|
+
Slovak: "Slovački",
|
|
131
|
+
Norwegian: "Norveški",
|
|
132
|
+
Icelandic: "Islandski",
|
|
125
133
|
|
|
126
134
|
// Linked documents
|
|
127
135
|
"Linked documents": "Povezani dokumenti",
|
|
@@ -122,6 +122,14 @@ export default {
|
|
|
122
122
|
Dutch: "Olandese",
|
|
123
123
|
Polish: "Polacco",
|
|
124
124
|
Croatian: "Croato",
|
|
125
|
+
Swedish: "Svedese",
|
|
126
|
+
Finnish: "Finlandese",
|
|
127
|
+
Estonian: "Estone",
|
|
128
|
+
Bulgarian: "Bulgaro",
|
|
129
|
+
Czech: "Ceco",
|
|
130
|
+
Slovak: "Slovacco",
|
|
131
|
+
Norwegian: "Norvegese",
|
|
132
|
+
Icelandic: "Islandese",
|
|
125
133
|
|
|
126
134
|
// Linked documents
|
|
127
135
|
"Linked documents": "Documenti collegati",
|
|
@@ -123,6 +123,14 @@ export default {
|
|
|
123
123
|
Dutch: "Nederlands",
|
|
124
124
|
Polish: "Pools",
|
|
125
125
|
Croatian: "Kroatisch",
|
|
126
|
+
Swedish: "Zweeds",
|
|
127
|
+
Finnish: "Fins",
|
|
128
|
+
Estonian: "Estlands",
|
|
129
|
+
Bulgarian: "Bulgaars",
|
|
130
|
+
Czech: "Tsjechisch",
|
|
131
|
+
Slovak: "Slowaaks",
|
|
132
|
+
Norwegian: "Noors",
|
|
133
|
+
Icelandic: "IJslands",
|
|
126
134
|
|
|
127
135
|
// Linked documents
|
|
128
136
|
"Linked documents": "Gekoppelde documenten",
|
|
@@ -122,6 +122,14 @@ export default {
|
|
|
122
122
|
Dutch: "Niderlandzki",
|
|
123
123
|
Polish: "Polski",
|
|
124
124
|
Croatian: "Chorwacki",
|
|
125
|
+
Swedish: "Szwedzki",
|
|
126
|
+
Finnish: "Fiński",
|
|
127
|
+
Estonian: "Estoński",
|
|
128
|
+
Bulgarian: "Bułgarski",
|
|
129
|
+
Czech: "Czeski",
|
|
130
|
+
Slovak: "Słowacki",
|
|
131
|
+
Norwegian: "Norweski",
|
|
132
|
+
Icelandic: "Islandzki",
|
|
125
133
|
|
|
126
134
|
// Linked documents
|
|
127
135
|
"Linked documents": "Powiązane dokumenty",
|