@spaceinvoices/react-ui 0.4.10 → 0.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -8
- package/cli/dist/index.js +89 -26
- package/package.json +6 -2
- package/registry.json +30 -31
- package/spaceinvoices.schema.json +6 -1
- package/src/common/autocomplete.tsx +41 -25
- 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 +2 -3
- package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +290 -69
- package/src/components/advance-invoices/create/locales/bg.ts +48 -0
- package/src/components/advance-invoices/create/locales/cs.ts +48 -0
- package/src/components/advance-invoices/create/locales/en.ts +48 -0
- package/src/components/advance-invoices/create/locales/et.ts +48 -0
- package/src/components/advance-invoices/create/locales/fi.ts +48 -0
- package/src/components/advance-invoices/create/locales/hr.ts +17 -17
- package/src/components/advance-invoices/create/locales/is.ts +48 -0
- package/src/components/advance-invoices/create/locales/nb.ts +48 -0
- package/src/components/advance-invoices/create/locales/sk.ts +48 -0
- package/src/components/advance-invoices/create/locales/sl.ts +9 -7
- package/src/components/advance-invoices/create/locales/sv.ts +48 -0
- package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +16 -2
- package/src/components/advance-invoices/list/list-row-actions.tsx +48 -16
- package/src/components/advance-invoices/list/list-table.tsx +33 -8
- 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 +211 -22
- package/src/components/credit-notes/create/locales/bg.ts +87 -0
- package/src/components/credit-notes/create/locales/cs.ts +87 -0
- package/src/components/credit-notes/create/locales/en.ts +87 -0
- package/src/components/credit-notes/create/locales/et.ts +87 -0
- package/src/components/credit-notes/create/locales/fi.ts +87 -0
- package/src/components/credit-notes/create/locales/hr.ts +24 -24
- package/src/components/credit-notes/create/locales/is.ts +87 -0
- package/src/components/credit-notes/create/locales/nb.ts +87 -0
- package/src/components/credit-notes/create/locales/sk.ts +87 -0
- package/src/components/credit-notes/create/locales/sl.ts +9 -9
- package/src/components/credit-notes/create/locales/sv.ts +87 -0
- package/src/components/credit-notes/create/prepare-credit-note-submission.ts +32 -0
- package/src/components/credit-notes/credit-notes.hooks.ts +15 -3
- package/src/components/credit-notes/list/list-row-actions.tsx +19 -7
- package/src/components/credit-notes/list/list-table.tsx +58 -7
- 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 +61 -31
- package/src/components/delivery-notes/create/locales/bg.ts +68 -0
- package/src/components/delivery-notes/create/locales/cs.ts +68 -0
- package/src/components/delivery-notes/create/locales/en.ts +68 -0
- package/src/components/delivery-notes/create/locales/et.ts +68 -0
- package/src/components/delivery-notes/create/locales/fi.ts +68 -0
- package/src/components/delivery-notes/create/locales/hr.ts +6 -6
- package/src/components/delivery-notes/create/locales/is.ts +68 -0
- package/src/components/delivery-notes/create/locales/nb.ts +68 -0
- package/src/components/delivery-notes/create/locales/sk.ts +68 -0
- package/src/components/delivery-notes/create/locales/sl.ts +5 -5
- package/src/components/delivery-notes/create/locales/sv.ts +68 -0
- package/src/components/delivery-notes/delivery-notes.hooks.ts +20 -3
- package/src/components/delivery-notes/list/list-row-actions.tsx +62 -16
- package/src/components/delivery-notes/list/list-table.tsx +42 -9
- 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/document-add-item-form.tsx +256 -147
- package/src/components/documents/create/document-add-item-tax-rate-field.tsx +2 -1
- package/src/components/documents/create/document-details-section.tsx +30 -12
- package/src/components/documents/create/document-item-validation.ts +50 -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/linked-documents-info.tsx +4 -3
- package/src/components/documents/create/live-preview.tsx +19 -15
- package/src/components/documents/create/mark-as-paid-section.tsx +77 -20
- package/src/components/documents/create/payment-rows.ts +291 -0
- package/src/components/documents/create/prepare-document-submission.ts +24 -13
- 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 +343 -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 +241 -62
- package/src/components/documents/view/document-activities-list.tsx +23 -11
- package/src/components/documents/view/document-details-card.tsx +7 -27
- 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 +13 -0
- 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 +13 -0
- 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 +131 -75
- package/src/components/entities/entity-settings-form/input-with-preview.tsx +28 -4
- package/src/components/entities/entity-settings-form/locales/bg.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/cs.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/de.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/en.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/es.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/et.ts +198 -0
- package/src/components/entities/entity-settings-form/locales/fi.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/fr.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/hr.ts +26 -11
- package/src/components/entities/entity-settings-form/locales/is.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/it.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/nb.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/nl.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/pl.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/pt.ts +18 -3
- package/src/components/entities/entity-settings-form/locales/sk.ts +199 -0
- package/src/components/entities/entity-settings-form/locales/sl.ts +30 -15
- package/src/components/entities/entity-settings-form/locales/sv.ts +205 -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 +112 -9
- 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 +21 -6
- package/src/components/estimates/create/create-estimate-form.tsx +70 -34
- package/src/components/estimates/create/locales/bg.ts +76 -0
- package/src/components/estimates/create/locales/cs.ts +76 -0
- package/src/components/estimates/create/locales/en.ts +76 -0
- package/src/components/estimates/create/locales/et.ts +76 -0
- package/src/components/estimates/create/locales/fi.ts +76 -0
- package/src/components/estimates/create/locales/hr.ts +8 -8
- package/src/components/estimates/create/locales/is.ts +76 -0
- package/src/components/estimates/create/locales/nb.ts +76 -0
- package/src/components/estimates/create/locales/sk.ts +76 -0
- package/src/components/estimates/create/locales/sl.ts +8 -8
- package/src/components/estimates/create/locales/sv.ts +76 -0
- package/src/components/estimates/create/prepare-estimate-submission.ts +4 -1
- package/src/components/estimates/estimates.hooks.ts +15 -3
- package/src/components/estimates/list/list-row-actions.tsx +34 -7
- package/src/components/estimates/list/list-table.tsx +78 -10
- package/src/components/estimates/list/locales/bg.ts +38 -0
- package/src/components/estimates/list/locales/cs.ts +38 -0
- package/src/components/estimates/list/locales/en.ts +27 -2
- package/src/components/estimates/list/locales/et.ts +38 -0
- package/src/components/estimates/list/locales/fi.ts +38 -0
- package/src/components/estimates/list/locales/hr.ts +2 -2
- package/src/components/estimates/list/locales/is.ts +38 -0
- package/src/components/estimates/list/locales/nb.ts +38 -0
- package/src/components/estimates/list/locales/sk.ts +38 -0
- package/src/components/estimates/list/locales/sv.ts +38 -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 +294 -76
- package/src/components/invoices/create/eslog-validation.ts +97 -8
- package/src/components/invoices/create/locales/bg.ts +164 -0
- package/src/components/invoices/create/locales/cs.ts +164 -0
- package/src/components/invoices/create/locales/de.ts +24 -0
- package/src/components/invoices/create/locales/en.ts +164 -0
- package/src/components/invoices/create/locales/es.ts +24 -0
- package/src/components/invoices/create/locales/et.ts +164 -0
- package/src/components/invoices/create/locales/fi.ts +164 -0
- package/src/components/invoices/create/locales/fr.ts +23 -0
- package/src/components/invoices/create/locales/hr.ts +32 -9
- package/src/components/invoices/create/locales/is.ts +164 -0
- package/src/components/invoices/create/locales/it.ts +24 -0
- package/src/components/invoices/create/locales/nb.ts +164 -0
- package/src/components/invoices/create/locales/nl.ts +23 -0
- package/src/components/invoices/create/locales/pl.ts +23 -0
- package/src/components/invoices/create/locales/pt.ts +24 -0
- package/src/components/invoices/create/locales/sk.ts +164 -0
- package/src/components/invoices/create/locales/sl.ts +32 -9
- package/src/components/invoices/create/locales/sv.ts +166 -0
- package/src/components/invoices/create/prepare-invoice-submission.ts +19 -2
- package/src/components/invoices/invoices-furs.hooks.ts +11 -8
- package/src/components/invoices/invoices.hooks.ts +27 -10
- package/src/components/invoices/list/list-row-actions.tsx +54 -21
- package/src/components/invoices/list/list-table.tsx +92 -11
- 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 +58 -0
- package/src/components/invoices/send-email-dialog/locales/cs.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/de.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/en.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/es.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/et.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/fi.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/fr.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/hr.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/is.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/it.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/nb.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/nl.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/pl.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/pt.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/sk.ts +58 -0
- package/src/components/invoices/send-email-dialog/locales/sl.ts +39 -0
- package/src/components/invoices/send-email-dialog/locales/sv.ts +58 -0
- package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +188 -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 +51 -18
- 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 +11 -7
- package/src/components/payments/create-payment-form/index.ts +1 -0
- 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 +5 -1
- 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 +23 -17
- 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 +3 -5
- package/src/components/recurring-invoices/list/list-table.tsx +10 -7
- package/src/components/recurring-invoices/list/locales/bg.ts +28 -0
- package/src/components/recurring-invoices/list/locales/cs.ts +28 -0
- package/src/components/recurring-invoices/list/locales/en.ts +23 -0
- package/src/components/recurring-invoices/list/locales/et.ts +28 -0
- package/src/components/recurring-invoices/list/locales/fi.ts +28 -0
- package/src/components/recurring-invoices/list/locales/is.ts +28 -0
- package/src/components/recurring-invoices/list/locales/nb.ts +28 -0
- package/src/components/recurring-invoices/list/locales/sk.ts +28 -0
- package/src/components/recurring-invoices/list/locales/sv.ts +28 -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 +21 -10
- package/src/components/tax-reports/slovenia-vod-export-form.tsx +452 -0
- package/src/components/tax-reports/slovenia-yearly-export-form.tsx +17 -16
- package/src/components/tax-reports/slovenia-yearly-review-step.tsx +40 -18
- 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 -2
- package/src/components/ui/progress.tsx +6 -4
- package/src/components/ui/select.tsx +118 -1
- package/src/components/ui/sidebar.tsx +3 -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 +17 -7
- package/src/generated/schemas/account_webhook.ts +43 -0
- package/src/generated/schemas/accountwebhook.ts +67 -0
- package/src/generated/schemas/entity.ts +343 -4
- package/src/generated/schemas/exportsloveniavodxml_body.ts +16 -0
- package/src/generated/schemas/exportsloveniayearlynormiranireport_body.ts +27 -0
- package/src/generated/schemas/furssettings.ts +1 -0
- package/src/generated/schemas/incomingpurchasedocument.ts +198 -0
- package/src/generated/schemas/incomingpurchasedocumentpayment.ts +38 -0
- package/src/generated/schemas/index.ts +12 -0
- package/src/generated/schemas/item.ts +36 -0
- package/src/generated/schemas/me.ts +23 -19
- package/src/generated/schemas/order.ts +2 -0
- package/src/generated/schemas/orderintegration.ts +8 -4
- package/src/generated/schemas/payment.ts +5 -0
- package/src/generated/schemas/ptatcudseries.ts +30 -0
- package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +35 -3
- package/src/generated/schemas/rendercreditnotepreview_body.ts +35 -3
- package/src/generated/schemas/renderdeliverynotepreview_body.ts +12 -5
- package/src/generated/schemas/renderestimatepreview_body.ts +38 -5
- package/src/generated/schemas/renderinvoicepreview_body.ts +39 -5
- package/src/generated/schemas/senddocument_body.ts +1 -0
- package/src/generated/schemas/sendemail_body.ts +67 -39
- package/src/generated/schemas/sloveniataxprofile.ts +118 -0
- package/src/generated/schemas/starteslogexport_body.ts +33 -0
- package/src/generated/schemas/startpdfexport_body.ts +94 -78
- package/src/generated/schemas/supplier.ts +59 -0
- package/src/generated/schemas/syncshopifyorders_body.ts +20 -0
- package/src/generated/schemas/tax.ts +2 -0
- package/src/generated/schemas/uploadfile_body.ts +1 -0
- package/src/generated/schemas/userptsettings.ts +26 -0
- package/src/generated/schemas/voidinvoice_body.ts +20 -0
- package/src/generated/schemas/webhook.ts +2 -0
- package/src/hooks/create-resource-hooks.ts +22 -19
- package/src/hooks/use-duplicate-document.ts +10 -8
- 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/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 +95 -0
- package/src/lib/pt-document-input.ts +67 -0
- package/src/lib/schemas/shared.ts +1 -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 +144 -10
package/README.md
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
|
-
# @spaceinvoices/react-ui - Space Invoices
|
|
1
|
+
# @spaceinvoices/react-ui - Space Invoices React UI Kit
|
|
2
2
|
|
|
3
|
-
> **
|
|
3
|
+
> **Copy-paste React UI for the Space Invoices API**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
50+ installable components for building invoicing applications with the Space Invoices API. Includes forms, tables, dashboard charts, and more - all designed to be copied into your project for full customization.
|
|
6
6
|
|
|
7
7
|
## Philosophy
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
This package is a **CLI installer and source registry**, not a conventional runtime component library. The intended flow is:
|
|
10
|
+
|
|
11
|
+
1. initialize your app with the CLI
|
|
12
|
+
2. add only the components you need
|
|
13
|
+
3. own the copied source inside your app
|
|
14
|
+
|
|
15
|
+
These components are **designed to be copied**, not imported from `node_modules` at runtime:
|
|
10
16
|
|
|
11
17
|
- **Full ownership** - Modify freely without breaking changes
|
|
12
18
|
- **Complete customization** - Change behavior and structure
|
|
13
19
|
- **No version conflicts** - You control when to update
|
|
14
20
|
- **Zero lock-in** - Components work standalone in your codebase
|
|
15
21
|
|
|
16
|
-
**Note**: Components are built on **shadcn/ui primitives**. Bring your own shadcn/ui components or use any alternative. The `components/ui/`
|
|
22
|
+
**Note**: Components are built on **shadcn/ui primitives**. Bring your own shadcn/ui components or use any alternative. The CLI can copy compatible `components/ui/` primitives when needed, but teams using their own design system can swap those imports after install.
|
|
17
23
|
|
|
18
24
|
## Quick Start (CLI - Recommended)
|
|
19
25
|
|
|
@@ -36,6 +42,7 @@ The CLI will:
|
|
|
36
42
|
- Create `spaceinvoices.json` config with your preferred paths
|
|
37
43
|
- Install required dependencies (`@spaceinvoices/js-sdk`, `@tanstack/react-query`)
|
|
38
44
|
- Copy essential files (SDK provider, utilities)
|
|
45
|
+
- Copy generated Zod schemas when installed components depend on them
|
|
39
46
|
- Transform import paths to match your project structure
|
|
40
47
|
- Install npm dependencies for each component
|
|
41
48
|
|
|
@@ -101,7 +108,10 @@ cp -r react-ui/src/components/customers/ your-project/src/components/space-invoi
|
|
|
101
108
|
cp -r react-ui/src/components/table/ your-project/src/components/space-invoices/
|
|
102
109
|
# ... add more as needed
|
|
103
110
|
|
|
104
|
-
#
|
|
111
|
+
# Include generated schemas if you use form components
|
|
112
|
+
cp -r react-ui/src/generated/ your-project/src/generated/
|
|
113
|
+
|
|
114
|
+
# Optional: skip components/ui/ if you already use shadcn/ui or your own primitives
|
|
105
115
|
```
|
|
106
116
|
|
|
107
117
|
### 4. Update Import Paths
|
|
@@ -158,9 +168,13 @@ src/components/
|
|
|
158
168
|
└── table/ # Generic data table infrastructure
|
|
159
169
|
```
|
|
160
170
|
|
|
161
|
-
### UI Primitives (
|
|
171
|
+
### UI Primitives (Optional)
|
|
172
|
+
|
|
173
|
+
The `components/ui/` folder contains shadcn/ui-style components. You can:
|
|
162
174
|
|
|
163
|
-
|
|
175
|
+
- let the CLI install compatible primitives for you
|
|
176
|
+
- use shadcn/ui directly
|
|
177
|
+
- swap to your own component library after copying the feature components
|
|
164
178
|
|
|
165
179
|
```bash
|
|
166
180
|
npx shadcn@latest add button input form table dialog select
|
|
@@ -175,6 +189,8 @@ src/
|
|
|
175
189
|
├── providers/
|
|
176
190
|
│ ├── sdk-provider.tsx # SDK context (required)
|
|
177
191
|
│ └── entities-provider.tsx # Active entity context (required)
|
|
192
|
+
├── generated/
|
|
193
|
+
│ └── schemas/ # Generated Zod schemas used by form components
|
|
178
194
|
├── hooks/
|
|
179
195
|
│ └── *.ts # Shared hooks
|
|
180
196
|
└── lib/
|
package/cli/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Command } from "commander";
|
|
|
5
5
|
|
|
6
6
|
// cli/src/commands/init.ts
|
|
7
7
|
import fs4 from "fs";
|
|
8
|
-
import
|
|
8
|
+
import path5 from "path";
|
|
9
9
|
import prompts from "prompts";
|
|
10
10
|
|
|
11
11
|
// cli/src/utils/config.ts
|
|
@@ -19,7 +19,8 @@ var DEFAULT_CONFIG = {
|
|
|
19
19
|
ui: "@/components/ui",
|
|
20
20
|
lib: "@/lib",
|
|
21
21
|
hooks: "@/hooks",
|
|
22
|
-
providers: "@/providers"
|
|
22
|
+
providers: "@/providers",
|
|
23
|
+
generated: "@/generated"
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
26
|
function getConfigPath(cwd = process.cwd()) {
|
|
@@ -44,6 +45,20 @@ function writeConfig(config, cwd = process.cwd()) {
|
|
|
44
45
|
const configPath = getConfigPath(cwd);
|
|
45
46
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
|
|
46
47
|
}
|
|
48
|
+
function resolveAliasPath(alias, cwd = process.cwd()) {
|
|
49
|
+
if (path.isAbsolute(alias)) {
|
|
50
|
+
return alias;
|
|
51
|
+
}
|
|
52
|
+
if (alias.startsWith("@/")) {
|
|
53
|
+
const srcPath = path.join(cwd, "src", alias.slice(2));
|
|
54
|
+
const rootPath = path.join(cwd, alias.slice(2));
|
|
55
|
+
if (fs.existsSync(path.join(cwd, "src"))) {
|
|
56
|
+
return srcPath;
|
|
57
|
+
}
|
|
58
|
+
return rootPath;
|
|
59
|
+
}
|
|
60
|
+
return path.join(cwd, alias);
|
|
61
|
+
}
|
|
47
62
|
|
|
48
63
|
// cli/src/utils/installer.ts
|
|
49
64
|
import { spawn } from "child_process";
|
|
@@ -268,6 +283,7 @@ function getComponentsByCategory(registry) {
|
|
|
268
283
|
}
|
|
269
284
|
|
|
270
285
|
// cli/src/utils/transformer.ts
|
|
286
|
+
import path4 from "path";
|
|
271
287
|
function transformImports(source, config) {
|
|
272
288
|
let result = source;
|
|
273
289
|
const replacements = [
|
|
@@ -280,7 +296,9 @@ function transformImports(source, config) {
|
|
|
280
296
|
// Lib utilities: @/ui/lib/ -> config.aliases.lib/
|
|
281
297
|
[/@\/ui\/lib\//g, `${config.aliases.lib}/`],
|
|
282
298
|
// Hooks: @/ui/hooks/ -> config.aliases.hooks/
|
|
283
|
-
[/@\/ui\/hooks\//g, `${config.aliases.hooks}/`]
|
|
299
|
+
[/@\/ui\/hooks\//g, `${config.aliases.hooks}/`],
|
|
300
|
+
// Generated helpers: @/ui/generated/ -> config.aliases.generated/
|
|
301
|
+
[/@\/ui\/generated\//g, `${config.aliases.generated}/`]
|
|
284
302
|
];
|
|
285
303
|
for (const [pattern, replacement] of replacements) {
|
|
286
304
|
result = result.replace(pattern, replacement);
|
|
@@ -318,6 +336,12 @@ function getDestinationPath(sourcePath, config) {
|
|
|
318
336
|
category: "hooks"
|
|
319
337
|
};
|
|
320
338
|
}
|
|
339
|
+
if (sourcePath.startsWith("generated/")) {
|
|
340
|
+
return {
|
|
341
|
+
destPath: sourcePath.replace("generated/", ""),
|
|
342
|
+
category: "generated"
|
|
343
|
+
};
|
|
344
|
+
}
|
|
321
345
|
return {
|
|
322
346
|
destPath: sourcePath,
|
|
323
347
|
category: "components"
|
|
@@ -326,13 +350,7 @@ function getDestinationPath(sourcePath, config) {
|
|
|
326
350
|
function getFullDestinationPath(sourcePath, config, basePath) {
|
|
327
351
|
const { destPath, category } = getDestinationPath(sourcePath, config);
|
|
328
352
|
const alias = config.aliases[category];
|
|
329
|
-
|
|
330
|
-
if (alias.startsWith("@/")) {
|
|
331
|
-
relativePath = alias.slice(2);
|
|
332
|
-
} else {
|
|
333
|
-
relativePath = alias;
|
|
334
|
-
}
|
|
335
|
-
return `${basePath}/src/${relativePath}/${destPath}`;
|
|
353
|
+
return path4.join(resolveAliasPath(alias, basePath), destPath);
|
|
336
354
|
}
|
|
337
355
|
|
|
338
356
|
// cli/src/commands/init.ts
|
|
@@ -397,6 +415,12 @@ async function init(options = {}) {
|
|
|
397
415
|
name: "providers",
|
|
398
416
|
message: "Where should providers be installed?",
|
|
399
417
|
initial: DEFAULT_CONFIG.aliases.providers
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
type: "text",
|
|
421
|
+
name: "generated",
|
|
422
|
+
message: "Where should generated helpers (schemas) be installed?",
|
|
423
|
+
initial: DEFAULT_CONFIG.aliases.generated
|
|
400
424
|
}
|
|
401
425
|
]);
|
|
402
426
|
if (!answers.components) {
|
|
@@ -410,7 +434,8 @@ async function init(options = {}) {
|
|
|
410
434
|
ui: answers.ui,
|
|
411
435
|
lib: answers.lib,
|
|
412
436
|
hooks: answers.hooks,
|
|
413
|
-
providers: answers.providers
|
|
437
|
+
providers: answers.providers,
|
|
438
|
+
generated: answers.generated
|
|
414
439
|
}
|
|
415
440
|
};
|
|
416
441
|
}
|
|
@@ -431,16 +456,11 @@ async function init(options = {}) {
|
|
|
431
456
|
config.aliases.ui,
|
|
432
457
|
config.aliases.lib,
|
|
433
458
|
config.aliases.hooks,
|
|
434
|
-
config.aliases.providers
|
|
459
|
+
config.aliases.providers,
|
|
460
|
+
config.aliases.generated
|
|
435
461
|
];
|
|
436
462
|
for (const alias of directories) {
|
|
437
|
-
|
|
438
|
-
if (alias.startsWith("@/")) {
|
|
439
|
-
dirPath = path4.join(cwd, "src", alias.slice(2));
|
|
440
|
-
} else {
|
|
441
|
-
dirPath = path4.join(cwd, alias);
|
|
442
|
-
}
|
|
443
|
-
fs4.mkdirSync(dirPath, { recursive: true });
|
|
463
|
+
fs4.mkdirSync(resolveAliasPath(alias, cwd), { recursive: true });
|
|
444
464
|
}
|
|
445
465
|
dirSpinner.succeed("Created directories");
|
|
446
466
|
} catch (error) {
|
|
@@ -454,7 +474,7 @@ async function init(options = {}) {
|
|
|
454
474
|
const content = await fetchFile(filePath);
|
|
455
475
|
const transformed = transformImports(content, config);
|
|
456
476
|
const destPath = getFullDestinationPath(filePath, config, cwd);
|
|
457
|
-
fs4.mkdirSync(
|
|
477
|
+
fs4.mkdirSync(path5.dirname(destPath), { recursive: true });
|
|
458
478
|
fs4.writeFileSync(destPath, transformed);
|
|
459
479
|
}
|
|
460
480
|
filesSpinner.succeed(`Copied ${ESSENTIAL_FILES.length} essential files`);
|
|
@@ -488,7 +508,7 @@ async function init(options = {}) {
|
|
|
488
508
|
|
|
489
509
|
// cli/src/commands/add.ts
|
|
490
510
|
import fs5 from "fs";
|
|
491
|
-
import
|
|
511
|
+
import path6 from "path";
|
|
492
512
|
import prompts2 from "prompts";
|
|
493
513
|
|
|
494
514
|
// cli/src/utils/resolver.ts
|
|
@@ -614,6 +634,31 @@ function getInstallSummary(resolved) {
|
|
|
614
634
|
};
|
|
615
635
|
}
|
|
616
636
|
|
|
637
|
+
// cli/src/utils/file-dependencies.ts
|
|
638
|
+
var GENERATED_IMPORT_PATTERN = /from\s+["']@\/ui\/generated\/schemas(?:\/([^"']+))?["']/g;
|
|
639
|
+
var GENERATED_EXPORT_PATTERN = /from\s+['"]\.\/([^'"]+)['"]/g;
|
|
640
|
+
function normalizeGeneratedPath(subpath) {
|
|
641
|
+
return `generated/schemas/${subpath.replace(/\.ts$/, "")}.ts`;
|
|
642
|
+
}
|
|
643
|
+
function getRegistryManagedDependencies(filePath, source) {
|
|
644
|
+
const dependencies = /* @__PURE__ */ new Set();
|
|
645
|
+
if (filePath === "generated/schemas/index.ts") {
|
|
646
|
+
for (const match of source.matchAll(GENERATED_EXPORT_PATTERN)) {
|
|
647
|
+
dependencies.add(normalizeGeneratedPath(match[1]));
|
|
648
|
+
}
|
|
649
|
+
return [...dependencies];
|
|
650
|
+
}
|
|
651
|
+
for (const match of source.matchAll(GENERATED_IMPORT_PATTERN)) {
|
|
652
|
+
const subpath = match[1];
|
|
653
|
+
if (subpath) {
|
|
654
|
+
dependencies.add(normalizeGeneratedPath(subpath));
|
|
655
|
+
continue;
|
|
656
|
+
}
|
|
657
|
+
dependencies.add("generated/schemas/index.ts");
|
|
658
|
+
}
|
|
659
|
+
return [...dependencies];
|
|
660
|
+
}
|
|
661
|
+
|
|
617
662
|
// cli/src/commands/add.ts
|
|
618
663
|
async function add(componentNames, options = {}) {
|
|
619
664
|
const cwd = options.cwd ?? process.cwd();
|
|
@@ -674,6 +719,7 @@ async function add(componentNames, options = {}) {
|
|
|
674
719
|
resolveSpinner.fail("Failed to resolve dependencies");
|
|
675
720
|
throw error;
|
|
676
721
|
}
|
|
722
|
+
const fileContents = await collectRegistryFiles(resolved.allFiles);
|
|
677
723
|
const summary = getInstallSummary(resolved);
|
|
678
724
|
logger.break();
|
|
679
725
|
logger.info("The following will be installed:");
|
|
@@ -692,7 +738,7 @@ async function add(componentNames, options = {}) {
|
|
|
692
738
|
` ${highlight("npm packages:")} ${summary.npmPackages.join(", ")}`
|
|
693
739
|
);
|
|
694
740
|
}
|
|
695
|
-
logger.log(` ${highlight("Files:")} ${
|
|
741
|
+
logger.log(` ${highlight("Files:")} ${fileContents.size} files`);
|
|
696
742
|
if (!options.yes) {
|
|
697
743
|
logger.break();
|
|
698
744
|
const { proceed } = await prompts2({
|
|
@@ -712,12 +758,11 @@ async function add(componentNames, options = {}) {
|
|
|
712
758
|
const existingFiles = [];
|
|
713
759
|
const filesToWrite = [];
|
|
714
760
|
try {
|
|
715
|
-
for (const filePath of
|
|
761
|
+
for (const [filePath, content] of fileContents) {
|
|
716
762
|
const destPath = getFullDestinationPath(filePath, config, cwd);
|
|
717
763
|
if (fs5.existsSync(destPath)) {
|
|
718
764
|
existingFiles.push(destPath);
|
|
719
765
|
}
|
|
720
|
-
const content = await fetchFile(filePath);
|
|
721
766
|
const transformed = transformImports(content, config);
|
|
722
767
|
filesToWrite.push({ path: destPath, content: transformed });
|
|
723
768
|
}
|
|
@@ -753,7 +798,7 @@ async function add(componentNames, options = {}) {
|
|
|
753
798
|
}
|
|
754
799
|
try {
|
|
755
800
|
for (const { path: filePath, content } of filesToWrite) {
|
|
756
|
-
fs5.mkdirSync(
|
|
801
|
+
fs5.mkdirSync(path6.dirname(filePath), { recursive: true });
|
|
757
802
|
fs5.writeFileSync(filePath, content);
|
|
758
803
|
}
|
|
759
804
|
filesSpinner.succeed(`Installed ${filesToWrite.length} files`);
|
|
@@ -780,6 +825,24 @@ async function add(componentNames, options = {}) {
|
|
|
780
825
|
logger.success("Components installed successfully!");
|
|
781
826
|
logger.break();
|
|
782
827
|
}
|
|
828
|
+
async function collectRegistryFiles(initialFiles) {
|
|
829
|
+
const pending = [...initialFiles];
|
|
830
|
+
const contents = /* @__PURE__ */ new Map();
|
|
831
|
+
while (pending.length > 0) {
|
|
832
|
+
const filePath = pending.shift();
|
|
833
|
+
if (!filePath || contents.has(filePath)) {
|
|
834
|
+
continue;
|
|
835
|
+
}
|
|
836
|
+
const content = await fetchFile(filePath);
|
|
837
|
+
contents.set(filePath, content);
|
|
838
|
+
for (const dependency of getRegistryManagedDependencies(filePath, content)) {
|
|
839
|
+
if (!contents.has(dependency)) {
|
|
840
|
+
pending.push(dependency);
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
return contents;
|
|
845
|
+
}
|
|
783
846
|
async function selectComponents(registry) {
|
|
784
847
|
const byCategory = getComponentsByCategory(registry);
|
|
785
848
|
const choices = [];
|
|
@@ -870,7 +933,7 @@ async function list(options = {}) {
|
|
|
870
933
|
|
|
871
934
|
// cli/src/index.ts
|
|
872
935
|
var program = new Command();
|
|
873
|
-
program.name("spaceinvoices-ui").description("CLI for adding Space Invoices React UI components to your project").version("0.4.
|
|
936
|
+
program.name("spaceinvoices-ui").description("CLI for adding Space Invoices React UI components to your project").version("0.4.12");
|
|
874
937
|
program.option("--local <path>", "Use local registry from specified path (for development)");
|
|
875
938
|
program.command("init").description("Initialize Space Invoices UI in your project").option("-y, --yes", "Skip prompts and use defaults").option("-f, --force", "Overwrite existing configuration").option("--cwd <path>", "Working directory (defaults to current directory)").action(async (options) => {
|
|
876
939
|
const globalOpts = program.opts();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spaceinvoices/react-ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.12",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"description": "Space Invoices UI components - copy-paste distribution with CLI support",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@radix-ui/react-switch": "^1.2.6",
|
|
49
49
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
50
50
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
51
|
-
"@spaceinvoices/js-sdk": "^2.
|
|
51
|
+
"@spaceinvoices/js-sdk": "^2.3.2",
|
|
52
52
|
"@tanstack/react-query": "^5.72.1",
|
|
53
53
|
"@tanstack/react-query-devtools": "^5.72.1",
|
|
54
54
|
"bun-plugin-tailwind": "^0.0.14",
|
|
@@ -78,6 +78,10 @@
|
|
|
78
78
|
"zod": "^4.1.12"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
|
+
"@happy-dom/global-registrator": "^20.8.3",
|
|
82
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
83
|
+
"@testing-library/react": "^16.3.2",
|
|
84
|
+
"@testing-library/user-event": "^14.6.1",
|
|
81
85
|
"@types/bun": "latest",
|
|
82
86
|
"@types/prompts": "^2.4.9",
|
|
83
87
|
"@types/react": "^19.1.0",
|
package/registry.json
CHANGED
|
@@ -30,8 +30,7 @@
|
|
|
30
30
|
"hooks": {
|
|
31
31
|
"name": "Resource Hooks",
|
|
32
32
|
"files": ["hooks/create-resource-hooks.ts", "hooks/use-resource-mutation.ts"],
|
|
33
|
-
"
|
|
34
|
-
"description": "Factory for creating CRUD hooks with optimistic updates"
|
|
33
|
+
"description": "Factory for creating CRUD hooks from explicit modular SDK methods"
|
|
35
34
|
},
|
|
36
35
|
"string-helpers": {
|
|
37
36
|
"name": "String Helpers",
|
|
@@ -40,16 +39,16 @@
|
|
|
40
39
|
}
|
|
41
40
|
},
|
|
42
41
|
"providers": {
|
|
43
|
-
"
|
|
44
|
-
"name": "
|
|
45
|
-
"files": ["providers/
|
|
46
|
-
"description": "
|
|
42
|
+
"space-invoices-provider": {
|
|
43
|
+
"name": "Space Invoices Provider",
|
|
44
|
+
"files": ["providers/space-invoices-provider.tsx"],
|
|
45
|
+
"description": "Recommended runtime provider for modular SDK setup"
|
|
47
46
|
},
|
|
48
47
|
"entities-provider": {
|
|
49
48
|
"name": "Entities Provider",
|
|
50
49
|
"files": ["providers/entities-provider.tsx", "providers/entities-context.tsx"],
|
|
51
|
-
"dependencies": ["
|
|
52
|
-
"description": "
|
|
50
|
+
"dependencies": ["space-invoices-provider"],
|
|
51
|
+
"description": "Optional multi-tenant entity management"
|
|
53
52
|
}
|
|
54
53
|
},
|
|
55
54
|
"components": {
|
|
@@ -223,7 +222,7 @@
|
|
|
223
222
|
"components/taxes/taxes.hooks.ts"
|
|
224
223
|
],
|
|
225
224
|
"dependencies": ["form/form-input", "ui/form"],
|
|
226
|
-
"providers": ["
|
|
225
|
+
"providers": ["space-invoices-provider"],
|
|
227
226
|
"utils": ["translation", "hooks"],
|
|
228
227
|
"schemas": ["createTaxSchema"]
|
|
229
228
|
},
|
|
@@ -241,7 +240,7 @@
|
|
|
241
240
|
"components/taxes/taxes.hooks.ts"
|
|
242
241
|
],
|
|
243
242
|
"dependencies": ["table/data-table", "ui/dropdown-menu", "ui/button"],
|
|
244
|
-
"providers": ["
|
|
243
|
+
"providers": ["space-invoices-provider"],
|
|
245
244
|
"utils": ["translation", "hooks"]
|
|
246
245
|
},
|
|
247
246
|
"items/create-item-form": {
|
|
@@ -255,7 +254,7 @@
|
|
|
255
254
|
"components/items/items.hooks.ts"
|
|
256
255
|
],
|
|
257
256
|
"dependencies": ["form/form-input", "ui/form"],
|
|
258
|
-
"providers": ["
|
|
257
|
+
"providers": ["space-invoices-provider"],
|
|
259
258
|
"utils": ["translation", "hooks"],
|
|
260
259
|
"schemas": ["createItemSchema"]
|
|
261
260
|
},
|
|
@@ -273,7 +272,7 @@
|
|
|
273
272
|
"components/items/items.hooks.ts"
|
|
274
273
|
],
|
|
275
274
|
"dependencies": ["table/data-table", "ui/dropdown-menu", "ui/button"],
|
|
276
|
-
"providers": ["
|
|
275
|
+
"providers": ["space-invoices-provider"],
|
|
277
276
|
"utils": ["translation", "hooks"]
|
|
278
277
|
},
|
|
279
278
|
"payments/create-payment-form": {
|
|
@@ -287,7 +286,7 @@
|
|
|
287
286
|
"components/payments/payments.hooks.ts"
|
|
288
287
|
],
|
|
289
288
|
"dependencies": ["form/form-input", "ui/form", "ui/select"],
|
|
290
|
-
"providers": ["
|
|
289
|
+
"providers": ["space-invoices-provider"],
|
|
291
290
|
"utils": ["translation", "hooks"],
|
|
292
291
|
"schemas": ["createPaymentSchema"]
|
|
293
292
|
},
|
|
@@ -302,7 +301,7 @@
|
|
|
302
301
|
"components/customers/customers.hooks.ts"
|
|
303
302
|
],
|
|
304
303
|
"dependencies": ["form/form-input", "ui/form"],
|
|
305
|
-
"providers": ["
|
|
304
|
+
"providers": ["space-invoices-provider"],
|
|
306
305
|
"utils": ["translation", "hooks"],
|
|
307
306
|
"schemas": ["createCustomerSchema"]
|
|
308
307
|
},
|
|
@@ -320,7 +319,7 @@
|
|
|
320
319
|
"components/customers/customers.hooks.ts"
|
|
321
320
|
],
|
|
322
321
|
"dependencies": ["table/data-table", "ui/dropdown-menu", "ui/button"],
|
|
323
|
-
"providers": ["
|
|
322
|
+
"providers": ["space-invoices-provider"],
|
|
324
323
|
"utils": ["translation", "hooks"]
|
|
325
324
|
},
|
|
326
325
|
"customers/customer-combobox": {
|
|
@@ -328,7 +327,7 @@
|
|
|
328
327
|
"category": "feature",
|
|
329
328
|
"files": ["components/customers/customer-combobox.tsx", "components/customers/customers.hooks.ts"],
|
|
330
329
|
"dependencies": ["ui/popover", "ui/command", "ui/button"],
|
|
331
|
-
"providers": ["
|
|
330
|
+
"providers": ["space-invoices-provider"],
|
|
332
331
|
"utils": ["hooks"]
|
|
333
332
|
},
|
|
334
333
|
"entities/create-entity-form": {
|
|
@@ -336,7 +335,7 @@
|
|
|
336
335
|
"category": "feature",
|
|
337
336
|
"files": ["components/entities/create-entity-form.tsx", "components/entities/entities.hooks.ts"],
|
|
338
337
|
"dependencies": ["form/form-input", "ui/form", "ui/select"],
|
|
339
|
-
"providers": ["
|
|
338
|
+
"providers": ["space-invoices-provider"],
|
|
340
339
|
"utils": ["translation", "hooks"],
|
|
341
340
|
"schemas": ["createEntitySchema"]
|
|
342
341
|
},
|
|
@@ -363,7 +362,7 @@
|
|
|
363
362
|
"ui/popover",
|
|
364
363
|
"customers/customer-combobox"
|
|
365
364
|
],
|
|
366
|
-
"providers": ["
|
|
365
|
+
"providers": ["space-invoices-provider", "entities-provider"],
|
|
367
366
|
"utils": ["translation", "hooks"],
|
|
368
367
|
"schemas": ["createInvoiceSchema"]
|
|
369
368
|
},
|
|
@@ -378,7 +377,7 @@
|
|
|
378
377
|
"components/invoices/invoices.hooks.ts"
|
|
379
378
|
],
|
|
380
379
|
"dependencies": ["table/data-table", "ui/dropdown-menu", "ui/button", "ui/badge"],
|
|
381
|
-
"providers": ["
|
|
380
|
+
"providers": ["space-invoices-provider"],
|
|
382
381
|
"utils": ["translation", "hooks"]
|
|
383
382
|
},
|
|
384
383
|
"estimates/create-estimate-form": {
|
|
@@ -386,7 +385,7 @@
|
|
|
386
385
|
"category": "feature",
|
|
387
386
|
"files": ["components/estimates/create/create-estimate-form.tsx", "components/estimates/estimates.hooks.ts"],
|
|
388
387
|
"dependencies": ["form/form-input", "ui/form", "ui/card", "customers/customer-combobox"],
|
|
389
|
-
"providers": ["
|
|
388
|
+
"providers": ["space-invoices-provider", "entities-provider"],
|
|
390
389
|
"utils": ["translation", "hooks"],
|
|
391
390
|
"schemas": ["createEstimateSchema"]
|
|
392
391
|
},
|
|
@@ -401,7 +400,7 @@
|
|
|
401
400
|
"components/estimates/estimates.hooks.ts"
|
|
402
401
|
],
|
|
403
402
|
"dependencies": ["table/data-table", "ui/dropdown-menu", "ui/button", "ui/badge"],
|
|
404
|
-
"providers": ["
|
|
403
|
+
"providers": ["space-invoices-provider"],
|
|
405
404
|
"utils": ["translation", "hooks"]
|
|
406
405
|
},
|
|
407
406
|
"credit-notes/create-credit-note-form": {
|
|
@@ -412,7 +411,7 @@
|
|
|
412
411
|
"components/credit-notes/credit-notes.hooks.ts"
|
|
413
412
|
],
|
|
414
413
|
"dependencies": ["form/form-input", "ui/form", "ui/card", "customers/customer-combobox"],
|
|
415
|
-
"providers": ["
|
|
414
|
+
"providers": ["space-invoices-provider", "entities-provider"],
|
|
416
415
|
"utils": ["translation", "hooks"],
|
|
417
416
|
"schemas": ["createCreditNoteSchema"]
|
|
418
417
|
},
|
|
@@ -427,7 +426,7 @@
|
|
|
427
426
|
"components/credit-notes/credit-notes.hooks.ts"
|
|
428
427
|
],
|
|
429
428
|
"dependencies": ["table/data-table", "ui/dropdown-menu", "ui/button", "ui/badge"],
|
|
430
|
-
"providers": ["
|
|
429
|
+
"providers": ["space-invoices-provider"],
|
|
431
430
|
"utils": ["translation", "hooks"]
|
|
432
431
|
},
|
|
433
432
|
"dashboard/chart-empty-state": {
|
|
@@ -464,7 +463,7 @@
|
|
|
464
463
|
"components/dashboard/revenue-trend-chart/index.ts"
|
|
465
464
|
],
|
|
466
465
|
"dependencies": ["ui/card", "ui/chart", "dashboard/chart-empty-state", "dashboard/loading-card"],
|
|
467
|
-
"providers": ["
|
|
466
|
+
"providers": ["space-invoices-provider"],
|
|
468
467
|
"utils": ["translation"]
|
|
469
468
|
},
|
|
470
469
|
"dashboard/invoice-status-chart": {
|
|
@@ -477,7 +476,7 @@
|
|
|
477
476
|
"components/dashboard/invoice-status-chart/index.ts"
|
|
478
477
|
],
|
|
479
478
|
"dependencies": ["ui/card", "ui/chart", "dashboard/chart-empty-state", "dashboard/loading-card"],
|
|
480
|
-
"providers": ["
|
|
479
|
+
"providers": ["space-invoices-provider"],
|
|
481
480
|
"utils": ["translation"]
|
|
482
481
|
},
|
|
483
482
|
"dashboard/payment-trend-chart": {
|
|
@@ -490,7 +489,7 @@
|
|
|
490
489
|
"components/dashboard/payment-trend-chart/index.ts"
|
|
491
490
|
],
|
|
492
491
|
"dependencies": ["ui/card", "ui/chart", "dashboard/chart-empty-state", "dashboard/loading-card"],
|
|
493
|
-
"providers": ["
|
|
492
|
+
"providers": ["space-invoices-provider"],
|
|
494
493
|
"utils": ["translation"]
|
|
495
494
|
},
|
|
496
495
|
"dashboard/payment-methods-chart": {
|
|
@@ -503,7 +502,7 @@
|
|
|
503
502
|
"components/dashboard/payment-methods-chart/index.ts"
|
|
504
503
|
],
|
|
505
504
|
"dependencies": ["ui/card", "ui/chart", "dashboard/chart-empty-state", "dashboard/loading-card"],
|
|
506
|
-
"providers": ["
|
|
505
|
+
"providers": ["space-invoices-provider"],
|
|
507
506
|
"utils": ["translation"]
|
|
508
507
|
},
|
|
509
508
|
"dashboard/top-customers-chart": {
|
|
@@ -516,7 +515,7 @@
|
|
|
516
515
|
"components/dashboard/top-customers-chart/index.ts"
|
|
517
516
|
],
|
|
518
517
|
"dependencies": ["ui/card", "ui/chart", "dashboard/chart-empty-state", "dashboard/loading-card"],
|
|
519
|
-
"providers": ["
|
|
518
|
+
"providers": ["space-invoices-provider"],
|
|
520
519
|
"utils": ["translation"]
|
|
521
520
|
},
|
|
522
521
|
"dashboard/collection-rate-card": {
|
|
@@ -529,7 +528,7 @@
|
|
|
529
528
|
"components/dashboard/collection-rate-card/index.ts"
|
|
530
529
|
],
|
|
531
530
|
"dependencies": ["ui/card", "dashboard/loading-card"],
|
|
532
|
-
"providers": ["
|
|
531
|
+
"providers": ["space-invoices-provider"],
|
|
533
532
|
"utils": ["translation"]
|
|
534
533
|
},
|
|
535
534
|
"recurring-invoices/create-recurring-invoice-form": {
|
|
@@ -540,7 +539,7 @@
|
|
|
540
539
|
"components/recurring-invoices/recurring-invoices.hooks.ts"
|
|
541
540
|
],
|
|
542
541
|
"dependencies": ["form/form-input", "ui/form", "ui/card", "customers/customer-combobox"],
|
|
543
|
-
"providers": ["
|
|
542
|
+
"providers": ["space-invoices-provider", "entities-provider"],
|
|
544
543
|
"utils": ["translation", "hooks"],
|
|
545
544
|
"schemas": ["createRecurringInvoiceSchema"]
|
|
546
545
|
},
|
|
@@ -553,7 +552,7 @@
|
|
|
553
552
|
"components/recurring-invoices/recurring-invoices.hooks.ts"
|
|
554
553
|
],
|
|
555
554
|
"dependencies": ["table/data-table", "ui/dropdown-menu", "ui/button", "ui/badge"],
|
|
556
|
-
"providers": ["
|
|
555
|
+
"providers": ["space-invoices-provider"],
|
|
557
556
|
"utils": ["translation", "hooks"]
|
|
558
557
|
}
|
|
559
558
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"aliases": {
|
|
13
13
|
"type": "object",
|
|
14
14
|
"description": "Path aliases for component installation",
|
|
15
|
-
"required": ["components", "ui", "lib", "hooks", "providers"],
|
|
15
|
+
"required": ["components", "ui", "lib", "hooks", "providers", "generated"],
|
|
16
16
|
"properties": {
|
|
17
17
|
"components": {
|
|
18
18
|
"type": "string",
|
|
@@ -38,6 +38,11 @@
|
|
|
38
38
|
"type": "string",
|
|
39
39
|
"description": "Path alias for React providers (e.g., @/providers)",
|
|
40
40
|
"default": "@/providers"
|
|
41
|
+
},
|
|
42
|
+
"generated": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "Path alias for generated helpers such as Zod schemas (e.g., @/generated)",
|
|
45
|
+
"default": "@/generated"
|
|
41
46
|
}
|
|
42
47
|
},
|
|
43
48
|
"additionalProperties": false
|