From 6f83ceb0b46ad59abc219625e6cd35faccc1dfdc Mon Sep 17 00:00:00 2001 From: David Date: Fri, 9 Oct 2026 18:00:41 +0200 Subject: [PATCH] =?UTF-8?q?Separaci=C3=B3n=20y=20reorganizaci=C3=B3n=20de?= =?UTF-8?q?=20componentes=20visuales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/server/src/brands.integration.ts | 47 + apps/server/src/identity.test.ts | 6 + apps/web/src/global.css | 1 + docs/catalogo-global-de-marcas.md | 10 +- docs/componentes-de-interfaz.md | 32 +- docs/inventario-de-modales.md | 8 +- modules/assets/package.json | 1 + modules/assets/src/api/domain/brand.test.ts | 36 +- .../api/infrastructure/http/brand.routes.ts | 6 +- .../persistence/sequelize-brand.repository.ts | 6 + .../end/ui/end-relationship-dialog.tsx | 2 +- .../shared/ui/relationship-editor-dialog.tsx | 2 +- .../shared/ui/relationship-form.tsx | 6 +- .../ui/workstation-asset-create-dialog.tsx | 2 +- .../assets/detail/ui/asset-detail-dialog.tsx | 2 +- .../src/web/assets/list/ui/inventory-page.tsx | 4 +- .../ui/asset-characteristic-control.tsx | 2 +- .../assets/shared/ui/asset-editor-dialog.tsx | 2 +- .../src/web/assets/shared/ui/asset-form.tsx | 6 +- .../use-delete-brand-controller.ts | 2 +- .../brands/delete/ui/delete-brand-dialog.tsx | 7 +- .../src/web/brands/list/ui/brands-page.tsx | 8 +- .../src/web/brands/shared/api/brand-api.ts | 10 +- .../src/web/brands/shared/brands.test.tsx | 35 +- .../brands/shared/ui/brand-editor-dialog.tsx | 2 +- .../src/web/brands/shared/ui/brand-form.tsx | 4 +- .../src/web/brands/shared/ui/brand-select.tsx | 2 +- .../create/ui/catalog-field-create-dialog.tsx | 2 +- .../catalog-fields/shared/ui/catalog-form.tsx | 4 +- .../ui/catalog-relation-create-dialog.tsx | 2 +- .../shared/ui/catalog-relation-form.tsx | 2 +- .../ui/catalog-template-create-dialog.tsx | 2 +- .../shared/ui/catalog-template-form.tsx | 4 +- .../detail/ui/catalog-definition-dialog.tsx | 2 +- .../src/web/catalog/list/ui/catalog-cell.tsx | 2 +- .../src/web/catalog/list/ui/catalog-page.tsx | 2 +- .../catalog/list/ui/catalog-row-actions.tsx | 2 +- .../shared/ui/catalog-editor-dialog.tsx | 2 +- .../web/catalog/shared/ui/catalog-help.tsx | 2 +- .../history/ui/support-history-dialog.tsx | 2 +- .../ui/support-connection-editor-dialog.tsx | 2 +- .../shared/ui/support-form.tsx | 4 +- .../shared/ui/support-help.tsx | 2 +- .../list/ui/support-tools-dialog.tsx | 2 +- .../support-tools/list/ui/support-tools.tsx | 4 +- .../shared/ui/support-tool-editor-dialog.tsx | 2 +- .../shared/ui/support-tool-form.tsx | 2 +- .../history/ui/workstation-history-dialog.tsx | 2 +- .../list/ui/workstations-page.tsx | 4 +- .../shared/ui/workstation-editor-dialog.tsx | 2 +- .../shared/ui/workstation-form.tsx | 6 +- modules/companies/package.json | 1 + .../access/create/ui/access-quick-editor.tsx | 2 +- .../access/create/ui/quick-create-dialog.tsx | 2 +- .../web/access/help/ui/access-help-dialog.tsx | 2 +- .../src/web/access/help/ui/entity-help.tsx | 2 +- .../web/access/history/ui/access-history.tsx | 2 +- .../src/web/access/list/ui/access-row.tsx | 2 +- .../web/access/list/ui/access-workspace.tsx | 2 +- .../src/web/access/list/ui/entry-state.tsx | 2 +- .../access/shared/ui/access-editor-dialog.tsx | 2 +- .../access/shared/ui/access-field-control.tsx | 4 +- .../access/shared/ui/access-form-fields.tsx | 2 +- .../create/ui/application-quick-editor.tsx | 2 +- .../history/ui/application-history-dialog.tsx | 2 +- .../ui/application-configurations-page.tsx | 4 +- ...pplication-configuration-editor-dialog.tsx | 2 +- .../ui/application-configuration-form.tsx | 6 +- .../history/ui/assignment-history-dialog.tsx | 2 +- .../shared/ui/assignment-editor-dialog.tsx | 2 +- .../assignments/shared/ui/assignment-form.tsx | 4 +- .../create/ui/certificate-quick-editor.tsx | 2 +- .../history/ui/certificate-history-dialog.tsx | 2 +- .../ui/certificate-configurations-page.tsx | 4 +- ...ertificate-configuration-editor-dialog.tsx | 2 +- .../ui/certificate-configuration-form.tsx | 6 +- .../companies/detail/ui/company-detail.tsx | 4 +- .../ui/inventory-quick-create-dialog.tsx | 2 +- .../web/companies/list/ui/companies-page.tsx | 4 +- .../shared/ui/company-editor-dialog.tsx | 2 +- .../web/companies/shared/ui/company-form.tsx | 2 +- .../companies/shared/ui/company-select.tsx | 4 +- .../create/ui/dashboard-quick-create.tsx | 4 +- .../detail/ui/dashboard-details-dialog.tsx | 6 +- .../shared/helpers/dashboard-kind-icons.ts | 2 +- .../dashboard/shared/ui/dashboard-panel.tsx | 2 +- .../view/ui/dashboard-activity-panel.tsx | 2 +- .../view/ui/dashboard-attention-panel.tsx | 2 +- .../view/ui/dashboard-companies-panel.tsx | 2 +- .../web/dashboard/view/ui/dashboard-page.tsx | 2 +- .../view/ui/dashboard-statistics.tsx | 4 +- .../view/ui/dashboard-work-panel.tsx | 2 +- .../list/ui/department-section.tsx | 4 +- .../shared/ui/department-editor-dialog.tsx | 2 +- .../departments/shared/ui/department-form.tsx | 2 +- .../create/ui/folder-quick-editor.tsx | 2 +- .../ui/folder-mapping-history-dialog.tsx | 2 +- .../list/ui/folder-mappings-page.tsx | 4 +- .../ui/folder-mapping-editor-dialog.tsx | 2 +- .../shared/ui/folder-mapping-form.tsx | 6 +- .../shared/ui/folder-mapping-targets.tsx | 2 +- .../intervention-template-create-dialog.tsx | 2 +- .../list/ui/templates-page.tsx | 6 +- .../intervention-template-editor-dialog.tsx | 2 +- .../shared/ui/template-form.tsx | 2 +- .../shared/ui/template-help.tsx | 2 +- .../create/ui/ticket-intervention-dialog.tsx | 2 +- .../detail/ui/intervention-detail-dialog.tsx | 2 +- .../list/ui/interventions-page.tsx | 6 +- .../shared/ui/intervention-editor-dialog.tsx | 2 +- .../shared/ui/intervention-fields.tsx | 2 +- .../shared/ui/intervention-form.tsx | 4 +- .../shared/ui/intervention-help.tsx | 2 +- .../ui/intervention-procedure-fields.tsx | 2 +- .../shared/ui/intervention-steps.tsx | 2 +- .../create/ui/mail-quick-editor.tsx | 2 +- .../ui/mail-configuration-history-dialog.tsx | 2 +- .../list/ui/mail-configurations-page.tsx | 4 +- .../ui/mail-configuration-editor-dialog.tsx | 2 +- .../shared/ui/mail-configuration-form.tsx | 4 +- .../shared/ui/mail-configuration-targets.tsx | 2 +- .../shared/ui/mailbox-use-editor-dialog.tsx | 2 +- .../shared/ui/mailbox-use-form.tsx | 6 +- .../create/ui/mailbox-create-dialog.tsx | 2 +- .../web/people/detail/ui/person-details.tsx | 6 +- .../src/web/people/list/ui/people-section.tsx | 6 +- .../people/shared/ui/person-editor-dialog.tsx | 2 +- .../src/web/people/shared/ui/person-form.tsx | 2 +- .../ui/printer-profile-create-dialog.tsx | 2 +- .../history/ui/printer-history-dialog.tsx | 2 +- .../list/ui/printer-configurations-page.tsx | 4 +- .../printer-configuration-editor-dialog.tsx | 2 +- .../shared/ui/printer-configuration-form.tsx | 6 +- .../list/ui/process-templates-page.tsx | 4 +- .../ui/process-template-editor-dialog.tsx | 2 +- .../shared/ui/process-template-form.tsx | 4 +- .../create/ui/process-quick-create-dialog.tsx | 2 +- .../web/processes/list/ui/processes-page.tsx | 4 +- .../web/processes/shared/ui/process-help.tsx | 2 +- .../start/ui/process-start-dialog.tsx | 2 +- .../processes/start/ui/process-start-form.tsx | 4 +- .../update/ui/process-edit-dialog.tsx | 2 +- .../processes/update/ui/process-edit-form.tsx | 4 +- .../update/ui/process-task-field.tsx | 2 +- .../create/ui/remote-quick-editor.tsx | 2 +- .../ui/remote-connection-history-dialog.tsx | 2 +- .../list/ui/remote-connections-page.tsx | 4 +- .../ui/remote-connection-editor-dialog.tsx | 2 +- .../shared/ui/remote-connection-form.tsx | 6 +- .../shared/ui/remote-endpoint-fields.tsx | 2 +- .../shared/ui/configuration-quick-editor.tsx | 2 +- .../src/web/sites/list/ui/site-section.tsx | 4 +- .../sites/shared/ui/site-editor-dialog.tsx | 2 +- .../src/web/sites/shared/ui/site-form.tsx | 2 +- .../telework-authorization-history-dialog.tsx | 2 +- .../list/ui/telework-authorizations-page.tsx | 4 +- .../telework-authorization-editor-dialog.tsx | 2 +- .../shared/ui/telework-authorization-form.tsx | 6 +- .../ui/intervention-ticket-create-dialog.tsx | 2 +- .../tickets/create/ui/ticket-quick-editor.tsx | 2 +- .../tickets/create/ui/ticket-quick-forms.tsx | 2 +- .../create/ui/ticket-target-create-dialog.tsx | 2 +- .../detail/ui/ticket-detail-dialog.tsx | 2 +- .../src/web/tickets/list/ui/tickets-page.tsx | 6 +- .../ui/ticket-classification-fields.tsx | 2 +- .../shared/ui/ticket-editor-dialog.tsx | 2 +- .../src/web/tickets/shared/ui/ticket-form.tsx | 4 +- .../src/web/tickets/shared/ui/ticket-help.tsx | 2 +- .../web/tickets/shared/ui/ticket-targets.tsx | 2 +- .../ui/work-profile-history-dialog.tsx | 2 +- .../list/ui/work-profiles-page.tsx | 4 +- .../shared/ui/work-profile-editor-dialog.tsx | 2 +- .../shared/ui/work-profile-form.tsx | 6 +- .../settings/ui/workspace-settings-dialog.tsx | 2 +- .../workspace/view/ui/workspace-header.tsx | 2 +- .../workspace/view/ui/workspace-sidebar.tsx | 2 +- modules/identity/package.json | 1 + .../change/ui/account-password-dialog.tsx | 2 +- .../web/passwords/shared/ui/password-form.tsx | 2 +- .../users/list/ui/user-management-dialog.tsx | 2 +- .../src/web/users/list/ui/user-management.tsx | 4 +- .../users/shared/ui/user-editor-dialog.tsx | 2 +- .../src/web/users/shared/ui/user-form.tsx | 2 +- modules/resources/package.json | 1 + .../create/ui/catalog-field-create-dialog.tsx | 2 +- .../catalog-fields/shared/ui/catalog-form.tsx | 4 +- .../ui/catalog-template-create-dialog.tsx | 2 +- .../shared/ui/catalog-template-form.tsx | 4 +- .../detail/ui/catalog-definition-dialog.tsx | 2 +- .../src/web/catalog/list/ui/catalog-cell.tsx | 2 +- .../src/web/catalog/list/ui/catalog-page.tsx | 2 +- .../catalog/list/ui/catalog-row-actions.tsx | 2 +- .../shared/ui/catalog-editor-dialog.tsx | 2 +- .../web/catalog/shared/ui/catalog-help.tsx | 2 +- .../detail/ui/resource-detail-dialog.tsx | 2 +- .../web/resources/list/ui/resources-page.tsx | 4 +- .../ui/resource-characteristic-control.tsx | 2 +- .../shared/ui/resource-editor-dialog.tsx | 2 +- .../web/resources/shared/ui/resource-form.tsx | 6 +- .../shared/ui/resource-integration-fields.tsx | 2 +- packages/rdx-ui/package.json | 36 + .../rdx-ui/src/components/button-group.tsx | 78 ++ .../src/components/context-help.tsx | 0 .../src/components/entity-list-controls.tsx | 2 +- .../src/components/entity-list.tsx | 4 +- .../components/entity-table-configuration.tsx | 4 +- .../src/components/entity-table-content.tsx | 11 +- .../src/components/form-dialog.tsx | 16 +- .../src/components/select-with-action.tsx | 10 +- packages/rdx-ui/src/components/separator.tsx | 18 + .../src/components/statistic-card.tsx | 0 .../src/entity-list.test.tsx | 0 .../src/hooks/use-entity-table.ts | 0 .../src/lib/entity-list.ts | 0 .../{shadcn-ui => rdx-ui}/src/lib/icons.ts | 0 .../{shadcn-ui => rdx-ui}/src/locales/en.json | 0 .../{shadcn-ui => rdx-ui}/src/locales/es.json | 0 .../src/select-with-action.test.tsx | 0 packages/rdx-ui/tsconfig.json | 9 + packages/shadcn-ui/components.json | 4 +- packages/shadcn-ui/package.json | 20 +- .../shadcn-ui/src/components/accordion.tsx | 71 ++ .../shadcn-ui/src/components/alert-dialog.tsx | 185 ++++ packages/shadcn-ui/src/components/alert.tsx | 75 ++ .../shadcn-ui/src/components/aspect-ratio.tsx | 22 + .../shadcn-ui/src/components/attachment.tsx | 207 ++++ packages/shadcn-ui/src/components/avatar.tsx | 106 ++ packages/shadcn-ui/src/components/badge.tsx | 51 + .../shadcn-ui/src/components/breadcrumb.tsx | 124 +++ packages/shadcn-ui/src/components/bubble.tsx | 127 +++ .../shadcn-ui/src/components/button-group.tsx | 48 +- packages/shadcn-ui/src/components/button.tsx | 15 +- .../shadcn-ui/src/components/calendar.tsx | 221 +++++ packages/shadcn-ui/src/components/card.tsx | 47 +- .../shadcn-ui/src/components/carousel.tsx | 240 +++++ packages/shadcn-ui/src/components/chart.tsx | 370 +++++++ .../shadcn-ui/src/components/checkbox.tsx | 19 +- .../shadcn-ui/src/components/collapsible.tsx | 19 + .../shadcn-ui/src/components/combobox.tsx | 295 ++++++ packages/shadcn-ui/src/components/command.tsx | 196 ++++ .../shadcn-ui/src/components/context-menu.tsx | 270 ++++++ packages/shadcn-ui/src/components/dialog.tsx | 87 +- .../shadcn-ui/src/components/direction.tsx | 4 + packages/shadcn-ui/src/components/drawer.tsx | 224 +++++ .../src/components/dropdown-menu.tsx | 265 +++++ packages/shadcn-ui/src/components/empty.tsx | 103 ++ packages/shadcn-ui/src/components/field.tsx | 236 +++++ .../shadcn-ui/src/components/hover-card.tsx | 50 + .../shadcn-ui/src/components/input-group.tsx | 158 +++ .../shadcn-ui/src/components/input-otp.tsx | 84 ++ packages/shadcn-ui/src/components/input.tsx | 14 +- packages/shadcn-ui/src/components/item.tsx | 201 ++++ packages/shadcn-ui/src/components/kbd.tsx | 26 + packages/shadcn-ui/src/components/label.tsx | 19 +- packages/shadcn-ui/src/components/marker.tsx | 70 ++ packages/shadcn-ui/src/components/menubar.tsx | 280 ++++++ .../src/components/message-scroller.tsx | 129 +++ packages/shadcn-ui/src/components/message.tsx | 91 ++ .../src/components/native-select.tsx | 60 ++ .../src/components/navigation-menu.tsx | 167 ++++ .../shadcn-ui/src/components/pagination.tsx | 130 +++ packages/shadcn-ui/src/components/popover.tsx | 87 ++ .../shadcn-ui/src/components/progress.tsx | 82 ++ .../src/components/questionnaire.tsx | 324 +++++++ .../shadcn-ui/src/components/radio-group.tsx | 35 + .../shadcn-ui/src/components/resizable.tsx | 49 + .../shadcn-ui/src/components/scroll-area.tsx | 52 + packages/shadcn-ui/src/components/select.tsx | 93 +- .../shadcn-ui/src/components/separator.tsx | 18 +- packages/shadcn-ui/src/components/sheet.tsx | 133 +++ packages/shadcn-ui/src/components/sidebar.tsx | 723 ++++++++++++++ .../shadcn-ui/src/components/skeleton.tsx | 13 + packages/shadcn-ui/src/components/slider.tsx | 51 + packages/shadcn-ui/src/components/spinner.tsx | 10 + packages/shadcn-ui/src/components/switch.tsx | 31 + packages/shadcn-ui/src/components/table.tsx | 69 +- packages/shadcn-ui/src/components/tabs.tsx | 81 ++ .../shadcn-ui/src/components/textarea.tsx | 10 +- packages/shadcn-ui/src/components/toast.tsx | 234 +++++ .../shadcn-ui/src/components/toggle-group.tsx | 87 ++ packages/shadcn-ui/src/components/toggle.tsx | 42 + packages/shadcn-ui/src/components/tooltip.tsx | 65 ++ packages/shadcn-ui/src/hooks/use-mobile.ts | 19 + packages/shadcn-ui/src/styles/globals.css | 88 +- packages/shadcn-ui/tsconfig.json | 3 +- pnpm-lock.yaml | 902 +++++++++++++++++- 286 files changed, 8816 insertions(+), 529 deletions(-) create mode 100644 packages/rdx-ui/package.json create mode 100644 packages/rdx-ui/src/components/button-group.tsx rename packages/{shadcn-ui => rdx-ui}/src/components/context-help.tsx (100%) rename packages/{shadcn-ui => rdx-ui}/src/components/entity-list-controls.tsx (98%) rename packages/{shadcn-ui => rdx-ui}/src/components/entity-list.tsx (97%) rename packages/{shadcn-ui => rdx-ui}/src/components/entity-table-configuration.tsx (95%) rename packages/{shadcn-ui => rdx-ui}/src/components/entity-table-content.tsx (96%) rename packages/{shadcn-ui => rdx-ui}/src/components/form-dialog.tsx (85%) rename packages/{shadcn-ui => rdx-ui}/src/components/select-with-action.tsx (92%) create mode 100644 packages/rdx-ui/src/components/separator.tsx rename packages/{shadcn-ui => rdx-ui}/src/components/statistic-card.tsx (100%) rename packages/{shadcn-ui => rdx-ui}/src/entity-list.test.tsx (100%) rename packages/{shadcn-ui => rdx-ui}/src/hooks/use-entity-table.ts (100%) rename packages/{shadcn-ui => rdx-ui}/src/lib/entity-list.ts (100%) rename packages/{shadcn-ui => rdx-ui}/src/lib/icons.ts (100%) rename packages/{shadcn-ui => rdx-ui}/src/locales/en.json (100%) rename packages/{shadcn-ui => rdx-ui}/src/locales/es.json (100%) rename packages/{shadcn-ui => rdx-ui}/src/select-with-action.test.tsx (100%) create mode 100644 packages/rdx-ui/tsconfig.json create mode 100644 packages/shadcn-ui/src/components/accordion.tsx create mode 100644 packages/shadcn-ui/src/components/alert-dialog.tsx create mode 100644 packages/shadcn-ui/src/components/alert.tsx create mode 100644 packages/shadcn-ui/src/components/aspect-ratio.tsx create mode 100644 packages/shadcn-ui/src/components/attachment.tsx create mode 100644 packages/shadcn-ui/src/components/avatar.tsx create mode 100644 packages/shadcn-ui/src/components/badge.tsx create mode 100644 packages/shadcn-ui/src/components/breadcrumb.tsx create mode 100644 packages/shadcn-ui/src/components/bubble.tsx create mode 100644 packages/shadcn-ui/src/components/calendar.tsx create mode 100644 packages/shadcn-ui/src/components/carousel.tsx create mode 100644 packages/shadcn-ui/src/components/chart.tsx create mode 100644 packages/shadcn-ui/src/components/collapsible.tsx create mode 100644 packages/shadcn-ui/src/components/combobox.tsx create mode 100644 packages/shadcn-ui/src/components/command.tsx create mode 100644 packages/shadcn-ui/src/components/context-menu.tsx create mode 100644 packages/shadcn-ui/src/components/direction.tsx create mode 100644 packages/shadcn-ui/src/components/drawer.tsx create mode 100644 packages/shadcn-ui/src/components/dropdown-menu.tsx create mode 100644 packages/shadcn-ui/src/components/empty.tsx create mode 100644 packages/shadcn-ui/src/components/field.tsx create mode 100644 packages/shadcn-ui/src/components/hover-card.tsx create mode 100644 packages/shadcn-ui/src/components/input-group.tsx create mode 100644 packages/shadcn-ui/src/components/input-otp.tsx create mode 100644 packages/shadcn-ui/src/components/item.tsx create mode 100644 packages/shadcn-ui/src/components/kbd.tsx create mode 100644 packages/shadcn-ui/src/components/marker.tsx create mode 100644 packages/shadcn-ui/src/components/menubar.tsx create mode 100644 packages/shadcn-ui/src/components/message-scroller.tsx create mode 100644 packages/shadcn-ui/src/components/message.tsx create mode 100644 packages/shadcn-ui/src/components/native-select.tsx create mode 100644 packages/shadcn-ui/src/components/navigation-menu.tsx create mode 100644 packages/shadcn-ui/src/components/pagination.tsx create mode 100644 packages/shadcn-ui/src/components/popover.tsx create mode 100644 packages/shadcn-ui/src/components/progress.tsx create mode 100644 packages/shadcn-ui/src/components/questionnaire.tsx create mode 100644 packages/shadcn-ui/src/components/radio-group.tsx create mode 100644 packages/shadcn-ui/src/components/resizable.tsx create mode 100644 packages/shadcn-ui/src/components/scroll-area.tsx create mode 100644 packages/shadcn-ui/src/components/sheet.tsx create mode 100644 packages/shadcn-ui/src/components/sidebar.tsx create mode 100644 packages/shadcn-ui/src/components/skeleton.tsx create mode 100644 packages/shadcn-ui/src/components/slider.tsx create mode 100644 packages/shadcn-ui/src/components/spinner.tsx create mode 100644 packages/shadcn-ui/src/components/switch.tsx create mode 100644 packages/shadcn-ui/src/components/tabs.tsx create mode 100644 packages/shadcn-ui/src/components/toast.tsx create mode 100644 packages/shadcn-ui/src/components/toggle-group.tsx create mode 100644 packages/shadcn-ui/src/components/toggle.tsx create mode 100644 packages/shadcn-ui/src/components/tooltip.tsx create mode 100644 packages/shadcn-ui/src/hooks/use-mobile.ts diff --git a/apps/server/src/brands.integration.ts b/apps/server/src/brands.integration.ts index 7746594..6a8b7ff 100644 --- a/apps/server/src/brands.integration.ts +++ b/apps/server/src/brands.integration.ts @@ -88,6 +88,30 @@ export async function verifyBrands( .status, 403 ); + await error(`${path}/${builtin.id}/delete`, {}, 409, "BUILTIN_PROTECTED"); + await error(`${path}/invalid/delete`, {}, 400, "INVALID_REQUEST"); + await error(`${path}/${randomUUID()}/delete`, {}, 404, "BRAND_NOT_FOUND"); + for (const active of [true, false]) { + const unused = await save({ name: `Eliminar ${randomUUID()}`, active, logoSvg }); + const url = `${path}/${unused.id}/delete`; + await error(url, { unexpected: true }, 400, "INVALID_REQUEST"); + await error(`${url}?unexpected=true`, {}, 400, "INVALID_REQUEST"); + assert.equal((await request(url, {}, undefined, "invalid")).status, 403); + assert.ok((await list()).some((brand) => brand.id === unused.id)); + const response = await request(url, {}); + assert.equal(response.status, 200, await response.clone().text()); + assert.deepEqual(BrandResponseSchema.parse(await response.json()).brand, unused); + await error(url, {}, 404, "BRAND_NOT_FOUND"); + await migrateBrands(database); + await importLegacyBrands(database); + assert.equal( + (await list()).some((brand) => brand.id === unused.id), + false + ); + const recreated = await save({ name: unused.name, active }); + assert.notEqual(recreated.id, unused.id); + assert.equal((await request(`${path}/${recreated.id}/delete`, {})).status, 200); + } const name = `Marca prueba ${randomUUID()}`; const created = await save({ name: ` ${name} `, active: true, logoSvg }); assert.equal(created.name, name); @@ -137,6 +161,8 @@ export async function verifyBrands( assert.ok(foreignTemplate); const second = await asset(otherId, { ...values, templateId: foreignTemplate.id }); assert.equal(second.values.brandId, created.id); + await error(`${path}/${created.id}/delete`, {}, 409, "BRAND_IN_USE"); + assert.ok((await list()).some((brand) => brand.id === created.id)); await save({ name, active: false }, created.id); assert.equal((await list()).find((brand) => brand.id === created.id)?.logoSvg, logoSvg); await error(`/assets/${companyId}`, { values }, 409, "BRAND_UNAVAILABLE"); @@ -207,4 +233,25 @@ export async function verifyBrands( assert.equal((await list()).find((brand) => brand.id === builtin.id)?.logoSvg, null); assert.equal((await list()).length, new Set((await list()).map((brand) => brand.id)).size); await save({ name: builtin.name, active: true, logoSvg: builtin.logoSvg }, builtin.id); + // El historial sigue protegiendo la marca aunque ningún activo la use actualmente. + await asset(companyId, { ...renamed.values, brandId: null }, first.id); + await asset(otherId, { ...second.values, brandId: null }, second.id); + await error(`${path}/${created.id}/delete`, {}, 409, "BRAND_IN_USE"); + assert.ok((await list()).some((brand) => brand.id === created.id)); + const racing = await save({ name: `Concurrente eliminación ${randomUUID()}`, active: true }); + const [association, deletion] = await Promise.all([ + request(`/assets/${companyId}`, { values: { ...values, brandId: racing.id } }), + request(`${path}/${racing.id}/delete`, {}), + ]); + if (deletion.status === 200) { + assert.equal(association.status, 409, await association.clone().text()); + assert.equal( + (await list()).some((brand) => brand.id === racing.id), + false + ); + } else { + assert.equal(association.status, 201, await association.clone().text()); + assert.equal(deletion.status, 409, await deletion.clone().text()); + assert.equal(z.object({ code: z.string() }).parse(await deletion.json()).code, "BRAND_IN_USE"); + } } diff --git a/apps/server/src/identity.test.ts b/apps/server/src/identity.test.ts index d078a03..ced56f5 100644 --- a/apps/server/src/identity.test.ts +++ b/apps/server/src/identity.test.ts @@ -1,4 +1,5 @@ import assert from "node:assert/strict"; +import { randomUUID } from "node:crypto"; import { once } from "node:events"; import { test } from "node:test"; @@ -211,6 +212,11 @@ test("HTTP y MariaDB: configuración única, usuarios, sesiones y protección de await competitor.session(); await expectError(await admin.request("/users"), 401, "UNAUTHENTICATED"); await expectError(await admin.request("/asset-catalog/global"), 401, "UNAUTHENTICATED"); + await expectError( + await admin.request(`/asset-brands/${randomUUID()}/delete`, {}), + 401, + "UNAUTHENTICATED" + ); await expectError(await admin.request("/resource-catalog/global"), 401, "UNAUTHENTICATED"); const first = { name: "Admin test", diff --git a/apps/web/src/global.css b/apps/web/src/global.css index f8bf14c..50522ee 100644 --- a/apps/web/src/global.css +++ b/apps/web/src/global.css @@ -1,6 +1,7 @@ @import "@repo/shadcn-ui/globals.css"; @source "../../../modules"; +@source "../../../packages/rdx-ui/src"; @source "../../../packages/shadcn-ui/src/components"; /* El shell conserva su identidad visual sin alterar los tokens semánticos del vendor. */ diff --git a/docs/catalogo-global-de-marcas.md b/docs/catalogo-global-de-marcas.md index 891002f..1c68eb7 100644 --- a/docs/catalogo-global-de-marcas.md +++ b/docs/catalogo-global-de-marcas.md @@ -14,7 +14,8 @@ Se incluyen 24 marcas habituales: Acer, Apple, ASUS, Brother, Canon, Clónico, D - Renombrar y activar/desactivar marcas personalizadas. - Activar/desactivar marcas de serie, conservando su nombre protegido. - Añadir, sustituir o quitar el logotipo de cualquier marca, incluidas las de serie. -- No hay borrado físico ni conversión de origen. +- Eliminar marcas personalizadas sin referencias en activos ni revisiones, previa confirmación. Las marcas de serie no se eliminan; no hay conversión de origen. +- Una referencia histórica impide borrar la marca aunque ya no la use ningún activo. En ese caso se puede desactivar, sin modificar activos ni historial. - Una marca desactivada queda fuera de nuevas selecciones. Los activos que ya la tienen pueden conservarla, cambiarla o retirarla. - Marca continúa siendo opcional, salvo que una plantilla marque expresamente este campo obligatorio. @@ -30,6 +31,8 @@ En un activo, el campo de serie Marca usa BrandSelect, adaptador funcional de Se El botón de añadir abre el mismo BrandForm, mantiene el borrador del activo y selecciona el nuevo UUID. En este contexto la marca se crea activa. Cancelar el activo no elimina una marca que se haya guardado. Se respeta el límite existente de una sola alta anidada. Carga, error, reintento, etiqueta accesible y español/inglés siguen los componentes existentes. +La eliminación aparece únicamente en las acciones de marcas personalizadas. DeleteBrandDialog, en `web/brands/delete/ui`, confirma la marca y mantiene los errores dentro del modal. Cancelar no modifica datos; durante la petición se bloquean acciones duplicadas y cierre. Tras el éxito se actualiza e invalida únicamente la consulta de marcas, también compartida por los selectores. + La biblioteca genérica sigue independiente del dominio; consultas, DTO y reglas de marcas permanecen en el módulo assets. ## Dominio, persistencia e historial @@ -59,8 +62,9 @@ Un marcador transaccional evita que reinicios posteriores vuelvan a crear nombre - GET /api/asset-brands: listado global. - POST /api/asset-brands: alta con { values: { name, active, logoSvg } }. - POST /api/asset-brands/:id/update: actualización del mismo contrato. +- POST /api/asset-brands/:id/delete: eliminación de una marca personalizada no referenciada, con cuerpo vacío `{}` y respuesta BrandResponseSchema de la marca eliminada. -Respuestas BrandsResponseSchema y BrandResponseSchema; parámetros, cuerpo y consultas estrictos. Duplicados y protección de serie devuelven 409, entrada inválida 400 y marca ausente 404. No se incorporan endpoints de eliminación ni nuevos permisos. +Respuestas BrandsResponseSchema y BrandResponseSchema; parámetros, cuerpo y consultas estrictos. Duplicados, protección de serie y BRAND_IN_USE devuelven 409, entrada inválida 400 y marca ausente 404. La eliminación conserva autenticación y CSRF; no introduce nuevos permisos. Comprobar referencias y borrar se hace en una transacción, conservando las claves foráneas RESTRICT. Primero se bloquea el catálogo global de activos y después el catálogo de marcas, en el mismo orden que las escrituras del inventario, para evitar asociaciones concurrentes y lecturas con instantáneas anteriores al borrado en MariaDB. Repetir la eliminación devuelve 404 sin efectos adicionales; las migraciones no recrean marcas personalizadas eliminadas. logoSvg contiene el SVG o null para ausencia/eliminación. Si se omite en una actualización, se conserva el logotipo: cambiar el estado o el nombre no debe borrarlo de forma implícita. En altas, la omisión significa ausencia. Las respuestas incluyen siempre logoSvg, nullable. Los permisos de sesión y CSRF existentes también protegen este campo. @@ -70,6 +74,8 @@ Pruebas de dominio y mappers: normalización, límites, UUID v7, origen protegid La integración HTTP/MariaDB cubre autenticación y CSRF, unicidad concurrente, uso global en compañías diferentes, referencias válidas, nombre canónico, conservación de marca inactiva, revisión histórica tras renombrado, importación sin cambios del historial y semillas idempotentes. +La eliminación se prueba en marcas personalizadas activas e inactivas, con entradas inválidas, CSRF, protección de serie, referencias actuales e históricas, repetición, reutilización del nombre y asociación concurrente de un activo. No se borran marcas de la base de desarrollo durante las pruebas. + ### Resultado de la entrega (7 de octubre de 2026) diff --git a/docs/componentes-de-interfaz.md b/docs/componentes-de-interfaz.md index 544c267..6861ff0 100644 --- a/docs/componentes-de-interfaz.md +++ b/docs/componentes-de-interfaz.md @@ -1,8 +1,13 @@ # Componentes de interfaz Metis Desk usa shadcn/ui, con Base UI y el estilo base-vega, siguiendo la organización de factuges-erp. -Los componentes viven en packages/shadcn-ui y se consumen mediante el paquete @repo/shadcn-ui. -El código se genera desde el registro oficial y queda versionado en este repositorio, sin depender del ERP. +`packages/shadcn-ui` contiene únicamente el código del registro oficial y no se adapta ni se +extiende desde este proyecto. Se consume mediante `@repo/shadcn-ui`. + +Los componentes genéricos compuestos o reutilizables propios viven en `packages/rdx-ui` y se +consumen mediante `@repo/rdx-ui`. Los componentes que conocen contratos, textos, consultas o +reglas de Metis viven en el módulo o aplicación que los utiliza; nunca en ninguno de los dos +paquetes genéricos. ## Componentes actuales @@ -13,7 +18,8 @@ El código se genera desde el registro oficial y queda versionado en este reposi - Checkbox: estado activo de usuarios, compañías, personas y departamentos. - Table: listados de usuarios, compañías, personas y departamentos. - Textarea: dirección opcional de las sedes, con varias líneas. -- Dialog: formularios de alta y edición, con foco y cierre por teclado. FormDialog comparte el título y la cancelación traducidos. +- Dialog: primitiva de shadcn/ui, con foco y cierre por teclado. +- RDX UI: FormDialog, FormActions, ContextHelp, SelectWithAction, EntityTable y StatisticCard. ## Convención de navegación @@ -30,8 +36,9 @@ El paquete exporta componentes individuales. Importar solo el componente necesar import { Button } from "@repo/shadcn-ui/components/button"; ``` -El tema se define una sola vez en packages/shadcn-ui/src/styles/globals.css. -La aplicación importa ese CSS y declara las fuentes de Tailwind de los módulos y del paquete compartido. +El tema base se define en `packages/shadcn-ui/src/styles/globals.css`; las extensiones propias +se declaran fuera del vendor. La aplicación importa ese CSS y declara las fuentes de Tailwind de +los módulos y de `packages/rdx-ui`. Usar tokens semánticos como bg-background, text-foreground y border-border en vez de repetir colores por pantalla. ## Añadir componentes @@ -50,8 +57,8 @@ y los componentes equivalentes existentes. Ubicar cada componente en la entidad responsables, o en su ámbito compartido cuando tenga varios consumidores reales. Los componentes específicos de Metis Desk no pertenecen al paquete visual genérico. -La incorporación de primitivas al paquete vendor requiere una instrucción explícita del -usuario según `AGENTS.md`. En ese caso, utilizar el procedimiento siguiente. +La incorporación o actualización de primitivas en el paquete vendor requiere una instrucción +explícita del usuario según `AGENTS.md`. En ese caso, utilizar el procedimiento siguiente. Desde la raíz del proyecto, dentro de WSL: @@ -85,7 +92,10 @@ La ayuda de los formularios se coloca en su parte inferior, inmediatamente antes ## SelectWithAction: desplegable con acción integrada -El componente compartido vive en `@repo/shadcn-ui/components/select-with-action`. Compone Select, Button y ButtonGroup de shadcn/ui (Base UI, Vega). Presenta selección y botón «+» como un único grupo visual, manteniendo controles separados para teclado y lectores de pantalla. ButtonGroup utiliza fieldset para expresar semánticamente la agrupación. +El componente compartido vive en `@repo/rdx-ui/components/select-with-action`. Compone Select, +Button y ButtonGroup de shadcn/ui (Base UI, Vega). Presenta selección y botón «+» como un único +grupo visual, manteniendo controles separados para teclado y lectores de pantalla. ButtonGroup +utiliza fieldset para expresar semánticamente la agrupación. Su contrato recibe id, etiqueta, opciones, placeholder, valor controlado y callback de selección. La acción es opcional y contiene etiqueta accesible, callback y estado deshabilitado. Admite opciones deshabilitadas, estado inválido, descripción accesible y obligatoriedad. Deshabilitar el selector también deshabilita la acción. El botón usa type=button y no envía el formulario. @@ -112,7 +122,7 @@ El inventario añade altas rápidas de plantilla, sede y persona en los activos. ## Listados de entidades -El estándar se define en [Patrón de listados de entidades](patron-de-listados-de-entidades.md), con inventario de pantallas y excepciones. EntityListHeader, EntityTable, EntityRowActions, EntityAction y EntityStatus viven en @repo/shadcn-ui/components/entity-list. +El estándar se define en [Patrón de listados de entidades](patron-de-listados-de-entidades.md), con inventario de pantallas y excepciones. EntityListHeader, EntityTable, EntityRowActions, EntityAction y EntityStatus viven en @repo/rdx-ui/components/entity-list. EntityTable recibe datos y columnas tipadas; utiliza TanStack Table para búsqueda, ordenación, visibilidad y paginación local. Admite búsqueda y filtros controlados por el módulo, conservando su semántica y ámbito. Las columnas de identificación y acciones quedan visibles. Los menús utilizan Base UI y conservan los callbacks de las acciones originales. No realiza peticiones ni conoce DTO de negocio. @@ -129,6 +139,8 @@ BrandCatalogPage reutiliza EntityListHeader/EntityTable con búsqueda, filtro de BrandLogo y BrandLogoField muestran y permiten seleccionar SVG estáticos locales, con vista previa, errores de campo y acción de quitar. La columna de logotipo reutiliza esa presentación. Los límites, validación y fuentes se describen en [Catálogo global de marcas](catalogo-global-de-marcas.md). +DeleteBrandDialog compone FormDialog y DialogFooter para confirmar la eliminación de una marca personalizada. El listado solo coordina selección y cierre; el controller de `brands/delete` gestiona mutación y caché. Conserva cancelación y Escape, bloquea cierre y botones durante la petición y mantiene errores en el modal. Las referencias actuales o históricas se protegen en el servidor. + BrandSelect, dentro del módulo assets, adapta SelectWithAction al catálogo remoto: filtra marcas activas, conserva la selección inactiva actual y textos anteriores, ofrece alta rápida y respeta una sola anidación. El borrador padre se conserva y la nueva marca se selecciona por UUID. El componente genérico no conoce BrandDTO, consultas ni endpoints. Véase [Catálogo global de marcas](catalogo-global-de-marcas.md). @@ -158,7 +170,7 @@ EntityRowActions muestra un botón icon-sm con EllipsisIcon, etiqueta accesible ## Tarjetas de indicadores -StatisticCard (`@repo/shadcn-ui/components/statistic-card`) representa un indicador con etiqueta, valor, icono y tinte discreto. Admite carga/error, evita sustituir datos desconocidos por cero y utiliza un botón con foco visible cuando hay navegación. No depende de DTO ni endpoints. Inicio la reutiliza para sus cinco KPI; la organización de bloques y sus estados permanece local al dashboard. +StatisticCard (`@repo/rdx-ui/components/statistic-card`) representa un indicador con etiqueta, valor, icono y tinte discreto. Admite carga/error, evita sustituir datos desconocidos por cero y utiliza un botón con foco visible cuando hay navegación. No depende de DTO ni endpoints. Inicio la reutiliza para sus cinco KPI; la organización de bloques y sus estados permanece local al dashboard. ## Shell global diff --git a/docs/inventario-de-modales.md b/docs/inventario-de-modales.md index a1646e5..7f798b5 100644 --- a/docs/inventario-de-modales.md +++ b/docs/inventario-de-modales.md @@ -6,11 +6,16 @@ Drawer, FormDialog, portales, elementos dialog, aria-modal y roles dialog/alertd La búsqueda no dependió del nombre de los componentes. El código propio contiene **81 componentes que construyen una interacción modal**. Todos -usan FormDialog de @repo/shadcn-ui y tienen un componente principal por fichero. Un componente +usan FormDialog de @repo/rdx-ui y tienen un componente principal por fichero. Un componente puede representar variantes de alta, edición o copia, y catálogos con distintos tipos; el número no es un recuento de todos los estados posibles de las ventanas. No se encontraron otras implementaciones propias con AlertDialog, Sheet, Drawer ni diálogos HTML/manuales. +Actualización de 2026-10-09: se añade DeleteBrandDialog para confirmar la eliminación de +marcas personalizadas; el inventario pasa a 82 componentes. Se ha comprobado esta operación +en navegador con API simulada: Cancelar/Escape, errores, bloqueo durante el envío, éxito, +español/inglés y anchura móvil. Esta comprobación no amplía la revisión al resto de modales. + La implementación vendor de packages/shadcn-ui queda fuera de la refactorización según AGENTS.md. Sus primitivas y el diálogo de configuración de tablas se consultan y consumen, no se duplican ni reorganizan. Los popovers de selectores y menús de acciones no se contabilizan como formularios @@ -42,6 +47,7 @@ Las rutas reflejan la [estructura por entidades y operaciones](estructura-web-po - [AssetDetailDialog](../modules/assets/src/web/assets/detail/ui/asset-detail-dialog.tsx) - [AssetEditorDialog](../modules/assets/src/web/assets/shared/ui/asset-editor-dialog.tsx) - [BrandEditorDialog](../modules/assets/src/web/brands/shared/ui/brand-editor-dialog.tsx) +- [DeleteBrandDialog](../modules/assets/src/web/brands/delete/ui/delete-brand-dialog.tsx) - [CatalogDefinitionDialog](../modules/assets/src/web/catalog/detail/ui/catalog-definition-dialog.tsx) - [CatalogEditorDialog](../modules/assets/src/web/catalog/shared/ui/catalog-editor-dialog.tsx) - [CatalogFieldCreateDialog](../modules/assets/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx) diff --git a/modules/assets/package.json b/modules/assets/package.json index 97d805d..054f6e1 100644 --- a/modules/assets/package.json +++ b/modules/assets/package.json @@ -16,6 +16,7 @@ "@hookform/resolvers": "5.2.2", "@metis/core": "workspace:*", "@repo/rdx-ddd": "workspace:*", + "@repo/rdx-ui": "workspace:*", "@repo/rdx-utils": "workspace:*", "@repo/shadcn-ui": "workspace:*", "@tanstack/react-table": "8.21.3", diff --git a/modules/assets/src/api/domain/brand.test.ts b/modules/assets/src/api/domain/brand.test.ts index 4b63d05..de81ea9 100644 --- a/modules/assets/src/api/domain/brand.test.ts +++ b/modules/assets/src/api/domain/brand.test.ts @@ -1,6 +1,8 @@ import assert from "node:assert/strict"; import { test } from "node:test"; +import { UniqueID } from "@repo/rdx-ddd"; + import type { IBrandRepository } from "../application/brand.repository"; import { BrandUseCases } from "../application/brand.use-cases"; import { mapBrandInput } from "../application/brand-input.mapper"; @@ -152,10 +154,17 @@ test("Marcas: mapper bidireccional conserva identidad y rechaza persistencia inv assert.throws(() => mapper.toDomain({ ...row, id: "invalid" })); assert.throws(() => mapper.toDomain({ ...row, name: " " })); }); -test("Marcas: catálogo rechaza duplicados, también inactivos, y permite renombrar personalizados", async () => { +test("Marcas: unicidad, edición y eliminación de personalizadas, con protección de serie", async () => { let brands: Brand[] = [brand(), brand("Propia", false)]; const repository: IBrandRepository = { list: async () => brands, + remove: async (action) => { + const result = action(brands); + if (result.isSuccess) { + brands = brands.filter((item) => !item.id.equals(result.data.id)); + } + return result; + }, save: async (action) => { const result = action(brands); if (result.isSuccess) { @@ -182,4 +191,29 @@ test("Marcas: catálogo rechaza duplicados, también inactivos, y permite renomb assert.equal(renamed.data.id.toPrimitive(), existing.id.toPrimitive()); const invalid = await useCases.save("invalid", { name: "Nueva", active: true }); assert.equal(invalid.isSuccess, false); + const builtin = brands.find((item) => item.builtin); + assert.ok(builtin); + for (const [id, code] of [ + ["invalid", "INVALID_REQUEST"], + [UniqueID.generateNewID().toPrimitive(), "BRAND_NOT_FOUND"], + [builtin.id.toPrimitive(), "BUILTIN_PROTECTED"], + ]) { + assert.ok(id); + const result = await useCases.remove(id); + assert.equal(result.isSuccess, false); + if (!result.isSuccess) { + assert.equal(result.error.code, code); + } + assert.equal(brands.length, 2); + } + const removed = await useCases.remove(existing.id.toPrimitive().toUpperCase()); + assert.ok(removed.isSuccess); + assert.ok(removed.data.id.equals(existing.id)); + assert.deepEqual(brands, [builtin]); + const repeated = await useCases.remove(existing.id.toPrimitive()); + assert.equal(repeated.isSuccess, false); + if (!repeated.isSuccess) { + assert.equal(repeated.error.code, "BRAND_NOT_FOUND"); + } + assert.deepEqual(brands, [builtin]); }); diff --git a/modules/assets/src/api/infrastructure/http/brand.routes.ts b/modules/assets/src/api/infrastructure/http/brand.routes.ts index 241562c..87b488f 100644 --- a/modules/assets/src/api/infrastructure/http/brand.routes.ts +++ b/modules/assets/src/api/infrastructure/http/brand.routes.ts @@ -31,7 +31,11 @@ export function registerBrandRoutes( router.post("/:id/delete", (request, response, next) => { const params = z.strictObject({ id: z.uuid() }).safeParse(request.params); if ( - !(params.success && Empty.safeParse(request.body).success && Empty.safeParse(request.query).success) + !( + params.success && + Empty.safeParse(request.body).success && + Empty.safeParse(request.query).success + ) ) { fail(response, "INVALID_REQUEST"); return; diff --git a/modules/assets/src/api/infrastructure/persistence/sequelize-brand.repository.ts b/modules/assets/src/api/infrastructure/persistence/sequelize-brand.repository.ts index 4b61975..e3b4ba9 100644 --- a/modules/assets/src/api/infrastructure/persistence/sequelize-brand.repository.ts +++ b/modules/assets/src/api/infrastructure/persistence/sequelize-brand.repository.ts @@ -26,6 +26,12 @@ export class SequelizeBrandRepository implements IBrandRepository { } remove(action: Parameters[0]) { return this.database.transaction(async (transaction) => { + // El catálogo se bloquea antes que las marcas, igual que al escribir el inventario. + // Evita que una lectura iniciada antes del borrado mezcle instantáneas de MariaDB. + await this.database.query( + "SELECT id FROM asset_catalogs WHERE catalogKey='global' FOR UPDATE", + { transaction, type: QueryTypes.SELECT } + ); const result = action(await readBrands(this.database, transaction, true)); if (!result.isSuccess) { return result; diff --git a/modules/assets/src/web/asset-relationships/end/ui/end-relationship-dialog.tsx b/modules/assets/src/web/asset-relationships/end/ui/end-relationship-dialog.tsx index 9bc5f7b..e6db3c5 100644 --- a/modules/assets/src/web/asset-relationships/end/ui/end-relationship-dialog.tsx +++ b/modules/assets/src/web/asset-relationships/end/ui/end-relationship-dialog.tsx @@ -1,5 +1,5 @@ +import { FormActions, FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions, FormDialog } from "@repo/shadcn-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { InventoryFeedback } from "../../../shared"; diff --git a/modules/assets/src/web/asset-relationships/shared/ui/relationship-editor-dialog.tsx b/modules/assets/src/web/asset-relationships/shared/ui/relationship-editor-dialog.tsx index 8b09f72..3b366fd 100644 --- a/modules/assets/src/web/asset-relationships/shared/ui/relationship-editor-dialog.tsx +++ b/modules/assets/src/web/asset-relationships/shared/ui/relationship-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { RelationshipForm } from "./relationship-form"; diff --git a/modules/assets/src/web/asset-relationships/shared/ui/relationship-form.tsx b/modules/assets/src/web/asset-relationships/shared/ui/relationship-form.tsx index cb150a4..3ca2529 100644 --- a/modules/assets/src/web/asset-relationships/shared/ui/relationship-form.tsx +++ b/modules/assets/src/web/asset-relationships/shared/ui/relationship-form.tsx @@ -1,8 +1,8 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/assets/create/ui/workstation-asset-create-dialog.tsx b/modules/assets/src/web/assets/create/ui/workstation-asset-create-dialog.tsx index 741fe09..80f7852 100644 --- a/modules/assets/src/web/assets/create/ui/workstation-asset-create-dialog.tsx +++ b/modules/assets/src/web/assets/create/ui/workstation-asset-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/assets/detail/ui/asset-detail-dialog.tsx b/modules/assets/src/web/assets/detail/ui/asset-detail-dialog.tsx index 55000a8..3d11dd1 100644 --- a/modules/assets/src/web/assets/detail/ui/asset-detail-dialog.tsx +++ b/modules/assets/src/web/assets/detail/ui/asset-detail-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/assets/list/ui/inventory-page.tsx b/modules/assets/src/web/assets/list/ui/inventory-page.tsx index 76734b3..88dc2b2 100644 --- a/modules/assets/src/web/assets/list/ui/inventory-page.tsx +++ b/modules/assets/src/web/assets/list/ui/inventory-page.tsx @@ -1,12 +1,12 @@ import { BrowserLink, EntityNotFound } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { CatalogError } from "../../../catalog"; diff --git a/modules/assets/src/web/assets/shared/ui/asset-characteristic-control.tsx b/modules/assets/src/web/assets/shared/ui/asset-characteristic-control.tsx index 9738ce8..7015e9b 100644 --- a/modules/assets/src/web/assets/shared/ui/asset-characteristic-control.tsx +++ b/modules/assets/src/web/assets/shared/ui/asset-characteristic-control.tsx @@ -1,6 +1,6 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useTranslation } from "react-i18next"; import type { AssetCharacteristic, AssetInput } from "../../../../common/inventory"; diff --git a/modules/assets/src/web/assets/shared/ui/asset-editor-dialog.tsx b/modules/assets/src/web/assets/shared/ui/asset-editor-dialog.tsx index 4383040..3971e07 100644 --- a/modules/assets/src/web/assets/shared/ui/asset-editor-dialog.tsx +++ b/modules/assets/src/web/assets/shared/ui/asset-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/assets/shared/ui/asset-form.tsx b/modules/assets/src/web/assets/shared/ui/asset-form.tsx index b162d5a..6d6d970 100644 --- a/modules/assets/src/web/assets/shared/ui/asset-form.tsx +++ b/modules/assets/src/web/assets/shared/ui/asset-form.tsx @@ -1,9 +1,9 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/brands/delete/controllers/use-delete-brand-controller.ts b/modules/assets/src/web/brands/delete/controllers/use-delete-brand-controller.ts index 11b0971..c6b806d 100644 --- a/modules/assets/src/web/brands/delete/controllers/use-delete-brand-controller.ts +++ b/modules/assets/src/web/brands/delete/controllers/use-delete-brand-controller.ts @@ -1,7 +1,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; +import type { z } from "zod/v4"; import type { BrandsResponseSchema } from "../../../../common/brands"; -import type { z } from "zod/v4"; import { brandApi, brandKeys } from "../../shared/api"; import type { DeleteBrandDialogProps } from "../types"; diff --git a/modules/assets/src/web/brands/delete/ui/delete-brand-dialog.tsx b/modules/assets/src/web/brands/delete/ui/delete-brand-dialog.tsx index ef40841..2beef9a 100644 --- a/modules/assets/src/web/brands/delete/ui/delete-brand-dialog.tsx +++ b/modules/assets/src/web/brands/delete/ui/delete-brand-dialog.tsx @@ -1,6 +1,6 @@ +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; import { DialogFooter } from "@repo/shadcn-ui/components/dialog"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { BrandApiError } from "../../shared/api"; @@ -11,13 +11,14 @@ export function DeleteBrandDialog(props: DeleteBrandDialogProps) { const { brand, onClose } = props; const mutation = useDeleteBrandController(props); const { t } = useTranslation("assets"); - const errorCode = mutation.error instanceof BrandApiError ? mutation.error.code : "INTERNAL_ERROR"; + const errorCode = + mutation.error instanceof BrandApiError ? mutation.error.code : "INTERNAL_ERROR"; return ( { - if (!open && !mutation.isPending) { + if (!(open || mutation.isPending)) { onClose(); } }} diff --git a/modules/assets/src/web/brands/list/ui/brands-page.tsx b/modules/assets/src/web/brands/list/ui/brands-page.tsx index 559ad73..0ee57b1 100644 --- a/modules/assets/src/web/brands/list/ui/brands-page.tsx +++ b/modules/assets/src/web/brands/list/ui/brands-page.tsx @@ -1,17 +1,17 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; +} from "@repo/rdx-ui/components/entity-list"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useId } from "react"; import { useTranslation } from "react-i18next"; -import { BrandEditorDialog } from "../../shared"; import { DeleteBrandDialog } from "../../delete"; +import { BrandEditorDialog } from "../../shared"; import { BrandLogo } from "../../shared/ui"; import { useBrandCatalogPageController } from "../controllers"; import type { BrandCatalogPageProps } from "../types"; diff --git a/modules/assets/src/web/brands/shared/api/brand-api.ts b/modules/assets/src/web/brands/shared/api/brand-api.ts index cd62741..440fe9a 100644 --- a/modules/assets/src/web/brands/shared/api/brand-api.ts +++ b/modules/assets/src/web/brands/shared/api/brand-api.ts @@ -8,14 +8,16 @@ export class BrandApiError extends Error { super(code); } } -async function request(path = "", body?: { values: BrandInput } | Record, token?: string) { +async function request( + path = "", + body?: { values: BrandInput } | Record, + token?: string +) { const response = await fetch(`/api/asset-brands${path}`, { method: body === undefined ? "GET" : "POST", credentials: "same-origin", headers: - body === undefined - ? {} - : { "content-type": "application/json", "x-csrf-token": token ?? "" }, + body === undefined ? {} : { "content-type": "application/json", "x-csrf-token": token ?? "" }, ...(body === undefined ? {} : { body: JSON.stringify(body) }), }); const data: unknown = await response.json(); diff --git a/modules/assets/src/web/brands/shared/brands.test.tsx b/modules/assets/src/web/brands/shared/brands.test.tsx index 99a5038..3d58cfa 100644 --- a/modules/assets/src/web/brands/shared/brands.test.tsx +++ b/modules/assets/src/web/brands/shared/brands.test.tsx @@ -16,7 +16,7 @@ import { AssetForm } from "../../assets"; import { assetsEnglish, assetsSpanish } from "../../shared"; import { BrandCatalogPage } from "../list"; -import { brandKeys } from "./api"; +import { BrandApiError, brandApi, brandKeys } from "./api"; import { BrandForm, BrandSelect } from "./ui"; const brand = { @@ -74,6 +74,39 @@ test("Marcas: nombre de serie protegido y ayuda inferior; alta rápida siempre a assert.equal(quick.includes('type="checkbox"'), false); assert.ok(quick.includes("Global scope")); }); +test("Marcas: eliminar envía CSRF y cuerpo vacío, valida la respuesta y propaga conflictos", async () => { + const originalFetch = globalThis.fetch; + let status = 200; + let response: unknown = { brand: { ...brand, builtin: false } }; + globalThis.fetch = async (input, options) => { + assert.equal(input, `/api/asset-brands/${brand.id}/delete`); + assert.equal(options?.method, "POST"); + assert.equal(options?.credentials, "same-origin"); + assert.equal(options?.body, "{}"); + const headers = new Headers(options?.headers); + assert.equal(headers.get("x-csrf-token"), "test"); + assert.equal(headers.get("content-type"), "application/json"); + return new Response(JSON.stringify(response), { + status, + headers: { "content-type": "application/json" }, + }); + }; + try { + assert.deepEqual(await brandApi.remove(brand.id, "test"), response); + response = { brand: { id: "invalid" } }; + await assert.rejects(() => brandApi.remove(brand.id, "test")); + for (const code of ["BRAND_IN_USE", "BUILTIN_PROTECTED", "BRAND_NOT_FOUND"]) { + status = code === "BRAND_NOT_FOUND" ? 404 : 409; + response = { code }; + await assert.rejects( + () => brandApi.remove(brand.id, "test"), + (error: unknown) => error instanceof BrandApiError && error.code === code + ); + } + } finally { + globalThis.fetch = originalFetch; + } +}); test("Marcas: selector mantiene valores antiguos e inactivos y respeta el límite de alta anidada", async () => { const props = { id: "brand", diff --git a/modules/assets/src/web/brands/shared/ui/brand-editor-dialog.tsx b/modules/assets/src/web/brands/shared/ui/brand-editor-dialog.tsx index 556a58c..4ae3da8 100644 --- a/modules/assets/src/web/brands/shared/ui/brand-editor-dialog.tsx +++ b/modules/assets/src/web/brands/shared/ui/brand-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/brands/shared/ui/brand-form.tsx b/modules/assets/src/web/brands/shared/ui/brand-form.tsx index d0d3092..835f893 100644 --- a/modules/assets/src/web/brands/shared/ui/brand-form.tsx +++ b/modules/assets/src/web/brands/shared/ui/brand-form.tsx @@ -1,6 +1,6 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; diff --git a/modules/assets/src/web/brands/shared/ui/brand-select.tsx b/modules/assets/src/web/brands/shared/ui/brand-select.tsx index 44a67ff..30b1b8a 100644 --- a/modules/assets/src/web/brands/shared/ui/brand-select.tsx +++ b/modules/assets/src/web/brands/shared/ui/brand-select.tsx @@ -1,6 +1,6 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useTranslation } from "react-i18next"; import { useBrandSelectController } from "../controllers"; diff --git a/modules/assets/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx b/modules/assets/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx index 6888d0e..cd96c21 100644 --- a/modules/assets/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx +++ b/modules/assets/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { CatalogFieldForm } from "../../shared"; diff --git a/modules/assets/src/web/catalog-fields/shared/ui/catalog-form.tsx b/modules/assets/src/web/catalog-fields/shared/ui/catalog-form.tsx index 6d501d8..dfc0114 100644 --- a/modules/assets/src/web/catalog-fields/shared/ui/catalog-form.tsx +++ b/modules/assets/src/web/catalog-fields/shared/ui/catalog-form.tsx @@ -1,8 +1,8 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/catalog-relations/create/ui/catalog-relation-create-dialog.tsx b/modules/assets/src/web/catalog-relations/create/ui/catalog-relation-create-dialog.tsx index 1e64b5f..f89632d 100644 --- a/modules/assets/src/web/catalog-relations/create/ui/catalog-relation-create-dialog.tsx +++ b/modules/assets/src/web/catalog-relations/create/ui/catalog-relation-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { CatalogRelationForm } from "../../shared"; diff --git a/modules/assets/src/web/catalog-relations/shared/ui/catalog-relation-form.tsx b/modules/assets/src/web/catalog-relations/shared/ui/catalog-relation-form.tsx index 9867298..53a2a13 100644 --- a/modules/assets/src/web/catalog-relations/shared/ui/catalog-relation-form.tsx +++ b/modules/assets/src/web/catalog-relations/shared/ui/catalog-relation-form.tsx @@ -1,5 +1,5 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; diff --git a/modules/assets/src/web/catalog-templates/create/ui/catalog-template-create-dialog.tsx b/modules/assets/src/web/catalog-templates/create/ui/catalog-template-create-dialog.tsx index a727e1b..b794da5 100644 --- a/modules/assets/src/web/catalog-templates/create/ui/catalog-template-create-dialog.tsx +++ b/modules/assets/src/web/catalog-templates/create/ui/catalog-template-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/catalog-templates/shared/ui/catalog-template-form.tsx b/modules/assets/src/web/catalog-templates/shared/ui/catalog-template-form.tsx index 0cfef5a..811887e 100644 --- a/modules/assets/src/web/catalog-templates/shared/ui/catalog-template-form.tsx +++ b/modules/assets/src/web/catalog-templates/shared/ui/catalog-template-form.tsx @@ -1,9 +1,9 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/catalog/detail/ui/catalog-definition-dialog.tsx b/modules/assets/src/web/catalog/detail/ui/catalog-definition-dialog.tsx index 9a472a8..7d4d863 100644 --- a/modules/assets/src/web/catalog/detail/ui/catalog-definition-dialog.tsx +++ b/modules/assets/src/web/catalog/detail/ui/catalog-definition-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CatalogItemDTO } from "../../../../common"; diff --git a/modules/assets/src/web/catalog/list/ui/catalog-cell.tsx b/modules/assets/src/web/catalog/list/ui/catalog-cell.tsx index 7378d18..d929dcc 100644 --- a/modules/assets/src/web/catalog/list/ui/catalog-cell.tsx +++ b/modules/assets/src/web/catalog/list/ui/catalog-cell.tsx @@ -1,4 +1,4 @@ -import { EntityRowActions, EntityStatus } from "@repo/shadcn-ui/components/entity-list"; +import { EntityRowActions, EntityStatus } from "@repo/rdx-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import type { CatalogItemDTO } from "../../../../common"; diff --git a/modules/assets/src/web/catalog/list/ui/catalog-page.tsx b/modules/assets/src/web/catalog/list/ui/catalog-page.tsx index 1a67509..c322ec2 100644 --- a/modules/assets/src/web/catalog/list/ui/catalog-page.tsx +++ b/modules/assets/src/web/catalog/list/ui/catalog-page.tsx @@ -1,5 +1,5 @@ +import { EntityListHeader, EntityTable } from "@repo/rdx-ui/components/entity-list"; import { Button } from "@repo/shadcn-ui/components/button"; -import { EntityListHeader, EntityTable } from "@repo/shadcn-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import { CatalogDefinitionDialog } from "../../detail"; diff --git a/modules/assets/src/web/catalog/list/ui/catalog-row-actions.tsx b/modules/assets/src/web/catalog/list/ui/catalog-row-actions.tsx index 20ff9bf..c00c422 100644 --- a/modules/assets/src/web/catalog/list/ui/catalog-row-actions.tsx +++ b/modules/assets/src/web/catalog/list/ui/catalog-row-actions.tsx @@ -1,4 +1,4 @@ -import { EntityAction } from "@repo/shadcn-ui/components/entity-list"; +import { EntityAction } from "@repo/rdx-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import type { CatalogItemDTO } from "../../../../common"; diff --git a/modules/assets/src/web/catalog/shared/ui/catalog-editor-dialog.tsx b/modules/assets/src/web/catalog/shared/ui/catalog-editor-dialog.tsx index 1751954..f81628a 100644 --- a/modules/assets/src/web/catalog/shared/ui/catalog-editor-dialog.tsx +++ b/modules/assets/src/web/catalog/shared/ui/catalog-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CatalogItemDTO } from "../../../../common"; diff --git a/modules/assets/src/web/catalog/shared/ui/catalog-help.tsx b/modules/assets/src/web/catalog/shared/ui/catalog-help.tsx index 3ade50f..f823023 100644 --- a/modules/assets/src/web/catalog/shared/ui/catalog-help.tsx +++ b/modules/assets/src/web/catalog/shared/ui/catalog-help.tsx @@ -1,4 +1,4 @@ -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; import { useTranslation } from "react-i18next"; export function CatalogHelp({ kind, diff --git a/modules/assets/src/web/support-connections/history/ui/support-history-dialog.tsx b/modules/assets/src/web/support-connections/history/ui/support-history-dialog.tsx index 0834cf8..fab4df2 100644 --- a/modules/assets/src/web/support-connections/history/ui/support-history-dialog.tsx +++ b/modules/assets/src/web/support-connections/history/ui/support-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { SupportConnectionDTO, SupportToolDTO } from "../../../../common/support"; diff --git a/modules/assets/src/web/support-connections/shared/ui/support-connection-editor-dialog.tsx b/modules/assets/src/web/support-connections/shared/ui/support-connection-editor-dialog.tsx index c2a5e65..dbb439a 100644 --- a/modules/assets/src/web/support-connections/shared/ui/support-connection-editor-dialog.tsx +++ b/modules/assets/src/web/support-connections/shared/ui/support-connection-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/support-connections/shared/ui/support-form.tsx b/modules/assets/src/web/support-connections/shared/ui/support-form.tsx index a478b0a..6d2b144 100644 --- a/modules/assets/src/web/support-connections/shared/ui/support-form.tsx +++ b/modules/assets/src/web/support-connections/shared/ui/support-form.tsx @@ -1,8 +1,8 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/support-connections/shared/ui/support-help.tsx b/modules/assets/src/web/support-connections/shared/ui/support-help.tsx index 63cca2a..cf38d97 100644 --- a/modules/assets/src/web/support-connections/shared/ui/support-help.tsx +++ b/modules/assets/src/web/support-connections/shared/ui/support-help.tsx @@ -1,4 +1,4 @@ -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; import { useTranslation } from "react-i18next"; export function SupportHelp({ tool = false }: { tool?: boolean }) { diff --git a/modules/assets/src/web/support-tools/list/ui/support-tools-dialog.tsx b/modules/assets/src/web/support-tools/list/ui/support-tools-dialog.tsx index 65e9046..c1ea4c3 100644 --- a/modules/assets/src/web/support-tools/list/ui/support-tools-dialog.tsx +++ b/modules/assets/src/web/support-tools/list/ui/support-tools-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { SupportTools } from "./support-tools"; diff --git a/modules/assets/src/web/support-tools/list/ui/support-tools.tsx b/modules/assets/src/web/support-tools/list/ui/support-tools.tsx index 0281e8a..cda4da4 100644 --- a/modules/assets/src/web/support-tools/list/ui/support-tools.tsx +++ b/modules/assets/src/web/support-tools/list/ui/support-tools.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { SupportToolEditorDialog } from "../../shared"; diff --git a/modules/assets/src/web/support-tools/shared/ui/support-tool-editor-dialog.tsx b/modules/assets/src/web/support-tools/shared/ui/support-tool-editor-dialog.tsx index 2adde63..a585a35 100644 --- a/modules/assets/src/web/support-tools/shared/ui/support-tool-editor-dialog.tsx +++ b/modules/assets/src/web/support-tools/shared/ui/support-tool-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/support-tools/shared/ui/support-tool-form.tsx b/modules/assets/src/web/support-tools/shared/ui/support-tool-form.tsx index a1496ae..477d7e4 100644 --- a/modules/assets/src/web/support-tools/shared/ui/support-tool-form.tsx +++ b/modules/assets/src/web/support-tools/shared/ui/support-tool-form.tsx @@ -1,5 +1,5 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; diff --git a/modules/assets/src/web/workstations/history/ui/workstation-history-dialog.tsx b/modules/assets/src/web/workstations/history/ui/workstation-history-dialog.tsx index e085892..109f706 100644 --- a/modules/assets/src/web/workstations/history/ui/workstation-history-dialog.tsx +++ b/modules/assets/src/web/workstations/history/ui/workstation-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { WorkstationDTO } from "../../../../common"; diff --git a/modules/assets/src/web/workstations/list/ui/workstations-page.tsx b/modules/assets/src/web/workstations/list/ui/workstations-page.tsx index 476cb02..089aa58 100644 --- a/modules/assets/src/web/workstations/list/ui/workstations-page.tsx +++ b/modules/assets/src/web/workstations/list/ui/workstations-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { InventoryFeedback } from "../../../shared"; diff --git a/modules/assets/src/web/workstations/shared/ui/workstation-editor-dialog.tsx b/modules/assets/src/web/workstations/shared/ui/workstation-editor-dialog.tsx index b4d5204..7a61c6c 100644 --- a/modules/assets/src/web/workstations/shared/ui/workstation-editor-dialog.tsx +++ b/modules/assets/src/web/workstations/shared/ui/workstation-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/assets/src/web/workstations/shared/ui/workstation-form.tsx b/modules/assets/src/web/workstations/shared/ui/workstation-form.tsx index a41e2ae..203793f 100644 --- a/modules/assets/src/web/workstations/shared/ui/workstation-form.tsx +++ b/modules/assets/src/web/workstations/shared/ui/workstation-form.tsx @@ -1,9 +1,9 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/package.json b/modules/companies/package.json index 3543f13..02fc492 100644 --- a/modules/companies/package.json +++ b/modules/companies/package.json @@ -18,6 +18,7 @@ "@metis/assets": "workspace:*", "@metis/resources": "workspace:*", "@repo/rdx-ddd": "workspace:*", + "@repo/rdx-ui": "workspace:*", "@repo/rdx-utils": "workspace:*", "@repo/shadcn-ui": "workspace:*", "@tanstack/react-table": "8.21.3", diff --git a/modules/companies/src/web/access/create/ui/access-quick-editor.tsx b/modules/companies/src/web/access/create/ui/access-quick-editor.tsx index df4a4b7..ba12488 100644 --- a/modules/companies/src/web/access/create/ui/access-quick-editor.tsx +++ b/modules/companies/src/web/access/create/ui/access-quick-editor.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { PersonForm } from "../../../people"; diff --git a/modules/companies/src/web/access/create/ui/quick-create-dialog.tsx b/modules/companies/src/web/access/create/ui/quick-create-dialog.tsx index 9ab7ccd..733b99c 100644 --- a/modules/companies/src/web/access/create/ui/quick-create-dialog.tsx +++ b/modules/companies/src/web/access/create/ui/quick-create-dialog.tsx @@ -1,5 +1,5 @@ +import { FormActions, FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions, FormDialog } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; diff --git a/modules/companies/src/web/access/help/ui/access-help-dialog.tsx b/modules/companies/src/web/access/help/ui/access-help-dialog.tsx index 7bfe737..8eb236b 100644 --- a/modules/companies/src/web/access/help/ui/access-help-dialog.tsx +++ b/modules/companies/src/web/access/help/ui/access-help-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { AccessKind } from "../../../../common"; diff --git a/modules/companies/src/web/access/help/ui/entity-help.tsx b/modules/companies/src/web/access/help/ui/entity-help.tsx index 366822d..22aea00 100644 --- a/modules/companies/src/web/access/help/ui/entity-help.tsx +++ b/modules/companies/src/web/access/help/ui/entity-help.tsx @@ -1,4 +1,4 @@ -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; import { useTranslation } from "react-i18next"; import type { HelpKind } from "../../shared/i18n"; diff --git a/modules/companies/src/web/access/history/ui/access-history.tsx b/modules/companies/src/web/access/history/ui/access-history.tsx index 52b3c4f..c8eac88 100644 --- a/modules/companies/src/web/access/history/ui/access-history.tsx +++ b/modules/companies/src/web/access/history/ui/access-history.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { AccessItemDTO, PersonDTO } from "../../../../common"; diff --git a/modules/companies/src/web/access/list/ui/access-row.tsx b/modules/companies/src/web/access/list/ui/access-row.tsx index a695a34..9f1afbf 100644 --- a/modules/companies/src/web/access/list/ui/access-row.tsx +++ b/modules/companies/src/web/access/list/ui/access-row.tsx @@ -1,4 +1,4 @@ -import { EntityAction, EntityRowActions } from "@repo/shadcn-ui/components/entity-list"; +import { EntityAction, EntityRowActions } from "@repo/rdx-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import type { AccessItemDTO, AccessResponseDTO, PersonDTO } from "../../../../common"; diff --git a/modules/companies/src/web/access/list/ui/access-workspace.tsx b/modules/companies/src/web/access/list/ui/access-workspace.tsx index e5515aa..fb324ad 100644 --- a/modules/companies/src/web/access/list/ui/access-workspace.tsx +++ b/modules/companies/src/web/access/list/ui/access-workspace.tsx @@ -1,5 +1,5 @@ +import { EntityListHeader, EntityTable } from "@repo/rdx-ui/components/entity-list"; import { Button } from "@repo/shadcn-ui/components/button"; -import { EntityListHeader, EntityTable } from "@repo/shadcn-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import { AccessHelpDialog } from "../../help"; diff --git a/modules/companies/src/web/access/list/ui/entry-state.tsx b/modules/companies/src/web/access/list/ui/entry-state.tsx index 146baf9..1ca5ea2 100644 --- a/modules/companies/src/web/access/list/ui/entry-state.tsx +++ b/modules/companies/src/web/access/list/ui/entry-state.tsx @@ -1,4 +1,4 @@ -import { EntityStatus } from "@repo/shadcn-ui/components/entity-list"; +import { EntityStatus } from "@repo/rdx-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import type { AccessFieldsDTO } from "../../../../common"; diff --git a/modules/companies/src/web/access/shared/ui/access-editor-dialog.tsx b/modules/companies/src/web/access/shared/ui/access-editor-dialog.tsx index 4ed85e5..4d2ac91 100644 --- a/modules/companies/src/web/access/shared/ui/access-editor-dialog.tsx +++ b/modules/companies/src/web/access/shared/ui/access-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/access/shared/ui/access-field-control.tsx b/modules/companies/src/web/access/shared/ui/access-field-control.tsx index fd334e1..2eaa2d1 100644 --- a/modules/companies/src/web/access/shared/ui/access-field-control.tsx +++ b/modules/companies/src/web/access/shared/ui/access-field-control.tsx @@ -1,8 +1,8 @@ +import type { SelectAction } from "@repo/rdx-ui/components/select-with-action"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import type { SelectAction } from "@repo/shadcn-ui/components/select-with-action"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import type { UseFormReturn } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/access/shared/ui/access-form-fields.tsx b/modules/companies/src/web/access/shared/ui/access-form-fields.tsx index 7ddf924..d43b66c 100644 --- a/modules/companies/src/web/access/shared/ui/access-form-fields.tsx +++ b/modules/companies/src/web/access/shared/ui/access-form-fields.tsx @@ -1,5 +1,5 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import type { ComponentType } from "react"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/application-configurations/create/ui/application-quick-editor.tsx b/modules/companies/src/web/application-configurations/create/ui/application-quick-editor.tsx index 4623d51..2b24cc8 100644 --- a/modules/companies/src/web/application-configurations/create/ui/application-quick-editor.tsx +++ b/modules/companies/src/web/application-configurations/create/ui/application-quick-editor.tsx @@ -1,5 +1,5 @@ import { ResourceEditor } from "@metis/resources/client"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; diff --git a/modules/companies/src/web/application-configurations/history/ui/application-history-dialog.tsx b/modules/companies/src/web/application-configurations/history/ui/application-history-dialog.tsx index 7022f30..23678c9 100644 --- a/modules/companies/src/web/application-configurations/history/ui/application-history-dialog.tsx +++ b/modules/companies/src/web/application-configurations/history/ui/application-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { ApplicationConfigurationDTO } from "../../../../common"; diff --git a/modules/companies/src/web/application-configurations/list/ui/application-configurations-page.tsx b/modules/companies/src/web/application-configurations/list/ui/application-configurations-page.tsx index f1b1e68..15b8aae 100644 --- a/modules/companies/src/web/application-configurations/list/ui/application-configurations-page.tsx +++ b/modules/companies/src/web/application-configurations/list/ui/application-configurations-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { ApplicationHistoryDialog } from "../../history"; diff --git a/modules/companies/src/web/application-configurations/shared/ui/application-configuration-editor-dialog.tsx b/modules/companies/src/web/application-configurations/shared/ui/application-configuration-editor-dialog.tsx index ccac913..ae4917d 100644 --- a/modules/companies/src/web/application-configurations/shared/ui/application-configuration-editor-dialog.tsx +++ b/modules/companies/src/web/application-configurations/shared/ui/application-configuration-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/application-configurations/shared/ui/application-configuration-form.tsx b/modules/companies/src/web/application-configurations/shared/ui/application-configuration-form.tsx index ee9cf86..e4e9622 100644 --- a/modules/companies/src/web/application-configurations/shared/ui/application-configuration-form.tsx +++ b/modules/companies/src/web/application-configurations/shared/ui/application-configuration-form.tsx @@ -1,9 +1,9 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/assignments/history/ui/assignment-history-dialog.tsx b/modules/companies/src/web/assignments/history/ui/assignment-history-dialog.tsx index 2768533..116deaf 100644 --- a/modules/companies/src/web/assignments/history/ui/assignment-history-dialog.tsx +++ b/modules/companies/src/web/assignments/history/ui/assignment-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; diff --git a/modules/companies/src/web/assignments/shared/ui/assignment-editor-dialog.tsx b/modules/companies/src/web/assignments/shared/ui/assignment-editor-dialog.tsx index 5a323a3..79365f4 100644 --- a/modules/companies/src/web/assignments/shared/ui/assignment-editor-dialog.tsx +++ b/modules/companies/src/web/assignments/shared/ui/assignment-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/assignments/shared/ui/assignment-form.tsx b/modules/companies/src/web/assignments/shared/ui/assignment-form.tsx index 7686020..4646aae 100644 --- a/modules/companies/src/web/assignments/shared/ui/assignment-form.tsx +++ b/modules/companies/src/web/assignments/shared/ui/assignment-form.tsx @@ -1,9 +1,9 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/certificate-configurations/create/ui/certificate-quick-editor.tsx b/modules/companies/src/web/certificate-configurations/create/ui/certificate-quick-editor.tsx index 2652828..22f07e3 100644 --- a/modules/companies/src/web/certificate-configurations/create/ui/certificate-quick-editor.tsx +++ b/modules/companies/src/web/certificate-configurations/create/ui/certificate-quick-editor.tsx @@ -1,5 +1,5 @@ import { ResourceEditor } from "@metis/resources/client"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; diff --git a/modules/companies/src/web/certificate-configurations/history/ui/certificate-history-dialog.tsx b/modules/companies/src/web/certificate-configurations/history/ui/certificate-history-dialog.tsx index 87280da..9eb879f 100644 --- a/modules/companies/src/web/certificate-configurations/history/ui/certificate-history-dialog.tsx +++ b/modules/companies/src/web/certificate-configurations/history/ui/certificate-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CertificateConfigurationDTO } from "../../../../common"; diff --git a/modules/companies/src/web/certificate-configurations/list/ui/certificate-configurations-page.tsx b/modules/companies/src/web/certificate-configurations/list/ui/certificate-configurations-page.tsx index 5efb5e4..231aa60 100644 --- a/modules/companies/src/web/certificate-configurations/list/ui/certificate-configurations-page.tsx +++ b/modules/companies/src/web/certificate-configurations/list/ui/certificate-configurations-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { CertificateHistoryDialog } from "../../history"; diff --git a/modules/companies/src/web/certificate-configurations/shared/ui/certificate-configuration-editor-dialog.tsx b/modules/companies/src/web/certificate-configurations/shared/ui/certificate-configuration-editor-dialog.tsx index 19f174b..07e75ed 100644 --- a/modules/companies/src/web/certificate-configurations/shared/ui/certificate-configuration-editor-dialog.tsx +++ b/modules/companies/src/web/certificate-configurations/shared/ui/certificate-configuration-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/certificate-configurations/shared/ui/certificate-configuration-form.tsx b/modules/companies/src/web/certificate-configurations/shared/ui/certificate-configuration-form.tsx index 74f8135..5734869 100644 --- a/modules/companies/src/web/certificate-configurations/shared/ui/certificate-configuration-form.tsx +++ b/modules/companies/src/web/certificate-configurations/shared/ui/certificate-configuration-form.tsx @@ -1,9 +1,9 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/companies/detail/ui/company-detail.tsx b/modules/companies/src/web/companies/detail/ui/company-detail.tsx index 7f4b805..867a9e7 100644 --- a/modules/companies/src/web/companies/detail/ui/company-detail.tsx +++ b/modules/companies/src/web/companies/detail/ui/company-detail.tsx @@ -1,5 +1,4 @@ import { BrowserLink } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; import { BoxIcon, BriefcaseIcon, @@ -11,7 +10,8 @@ import { MailIcon, MapPinIcon, UsersIcon, -} from "@repo/shadcn-ui/lib/icons"; +} from "@repo/rdx-ui/lib/icons"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { companySectionHref } from "../../../workspace/shared/helpers"; diff --git a/modules/companies/src/web/companies/detail/ui/inventory-quick-create-dialog.tsx b/modules/companies/src/web/companies/detail/ui/inventory-quick-create-dialog.tsx index 1a89c4b..c3eec22 100644 --- a/modules/companies/src/web/companies/detail/ui/inventory-quick-create-dialog.tsx +++ b/modules/companies/src/web/companies/detail/ui/inventory-quick-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { PersonForm } from "../../../people"; diff --git a/modules/companies/src/web/companies/list/ui/companies-page.tsx b/modules/companies/src/web/companies/list/ui/companies-page.tsx index 2ed6024..c0a43cd 100644 --- a/modules/companies/src/web/companies/list/ui/companies-page.tsx +++ b/modules/companies/src/web/companies/list/ui/companies-page.tsx @@ -1,12 +1,12 @@ import { BrowserLink } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { companySectionHref } from "../../../workspace/shared/helpers"; diff --git a/modules/companies/src/web/companies/shared/ui/company-editor-dialog.tsx b/modules/companies/src/web/companies/shared/ui/company-editor-dialog.tsx index a13383e..7fd4c4d 100644 --- a/modules/companies/src/web/companies/shared/ui/company-editor-dialog.tsx +++ b/modules/companies/src/web/companies/shared/ui/company-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/companies/shared/ui/company-form.tsx b/modules/companies/src/web/companies/shared/ui/company-form.tsx index 821aea5..7fb4d89 100644 --- a/modules/companies/src/web/companies/shared/ui/company-form.tsx +++ b/modules/companies/src/web/companies/shared/ui/company-form.tsx @@ -1,6 +1,6 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; diff --git a/modules/companies/src/web/companies/shared/ui/company-select.tsx b/modules/companies/src/web/companies/shared/ui/company-select.tsx index a92260b..a0e2f81 100644 --- a/modules/companies/src/web/companies/shared/ui/company-select.tsx +++ b/modules/companies/src/web/companies/shared/ui/company-select.tsx @@ -1,5 +1,6 @@ +import { ButtonGroup } from "@repo/rdx-ui/components/button-group"; +import type { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ButtonGroup } from "@repo/shadcn-ui/components/button-group"; import { Select, SelectContent, @@ -7,7 +8,6 @@ import { SelectTrigger, SelectValue, } from "@repo/shadcn-ui/components/select"; -import type { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import type { ComponentProps } from "react"; import { CompanyIdentity } from "./company-identity"; diff --git a/modules/companies/src/web/dashboard/create/ui/dashboard-quick-create.tsx b/modules/companies/src/web/dashboard/create/ui/dashboard-quick-create.tsx index 9660623..86e5e1a 100644 --- a/modules/companies/src/web/dashboard/create/ui/dashboard-quick-create.tsx +++ b/modules/companies/src/web/dashboard/create/ui/dashboard-quick-create.tsx @@ -1,6 +1,6 @@ +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useTranslation } from "react-i18next"; import { CompanyEditorDialog } from "../../../companies/shared/ui/company-editor-dialog"; diff --git a/modules/companies/src/web/dashboard/detail/ui/dashboard-details-dialog.tsx b/modules/companies/src/web/dashboard/detail/ui/dashboard-details-dialog.tsx index ecc5667..82ad75c 100644 --- a/modules/companies/src/web/dashboard/detail/ui/dashboard-details-dialog.tsx +++ b/modules/companies/src/web/dashboard/detail/ui/dashboard-details-dialog.tsx @@ -1,7 +1,7 @@ +import { EntityTable } from "@repo/rdx-ui/components/entity-list"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; +import { entityListLabels } from "@repo/rdx-ui/lib/entity-list"; import { Button } from "@repo/shadcn-ui/components/button"; -import { EntityTable } from "@repo/shadcn-ui/components/entity-list"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; -import { entityListLabels } from "@repo/shadcn-ui/lib/entity-list"; import { useTranslation } from "react-i18next"; import { CompanyIdentity } from "../../../companies/shared/ui/company-identity"; diff --git a/modules/companies/src/web/dashboard/shared/helpers/dashboard-kind-icons.ts b/modules/companies/src/web/dashboard/shared/helpers/dashboard-kind-icons.ts index fb65a05..98fed26 100644 --- a/modules/companies/src/web/dashboard/shared/helpers/dashboard-kind-icons.ts +++ b/modules/companies/src/web/dashboard/shared/helpers/dashboard-kind-icons.ts @@ -4,7 +4,7 @@ import { TicketIcon, UsersIcon, WrenchIcon, -} from "@repo/shadcn-ui/lib/icons"; +} from "@repo/rdx-ui/lib/icons"; export const KIND_ICONS = { ticket: TicketIcon, intervention: WrenchIcon, diff --git a/modules/companies/src/web/dashboard/shared/ui/dashboard-panel.tsx b/modules/companies/src/web/dashboard/shared/ui/dashboard-panel.tsx index dd312f0..68bdabd 100644 --- a/modules/companies/src/web/dashboard/shared/ui/dashboard-panel.tsx +++ b/modules/companies/src/web/dashboard/shared/ui/dashboard-panel.tsx @@ -1,5 +1,5 @@ +import { ChevronRightIcon } from "@repo/rdx-ui/lib/icons"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ChevronRightIcon } from "@repo/shadcn-ui/lib/icons"; import type { ReactNode } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/dashboard/view/ui/dashboard-activity-panel.tsx b/modules/companies/src/web/dashboard/view/ui/dashboard-activity-panel.tsx index e7f902c..2fab710 100644 --- a/modules/companies/src/web/dashboard/view/ui/dashboard-activity-panel.tsx +++ b/modules/companies/src/web/dashboard/view/ui/dashboard-activity-panel.tsx @@ -1,4 +1,4 @@ -import { ClockIcon } from "@repo/shadcn-ui/lib/icons"; +import { ClockIcon } from "@repo/rdx-ui/lib/icons"; import { useQuery } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/dashboard/view/ui/dashboard-attention-panel.tsx b/modules/companies/src/web/dashboard/view/ui/dashboard-attention-panel.tsx index 28fd268..608e99a 100644 --- a/modules/companies/src/web/dashboard/view/ui/dashboard-attention-panel.tsx +++ b/modules/companies/src/web/dashboard/view/ui/dashboard-attention-panel.tsx @@ -5,7 +5,7 @@ import { TriangleAlertIcon, UserRoundXIcon, UsersIcon, -} from "@repo/shadcn-ui/lib/icons"; +} from "@repo/rdx-ui/lib/icons"; import { useQuery } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/dashboard/view/ui/dashboard-companies-panel.tsx b/modules/companies/src/web/dashboard/view/ui/dashboard-companies-panel.tsx index d84af26..fbdedc5 100644 --- a/modules/companies/src/web/dashboard/view/ui/dashboard-companies-panel.tsx +++ b/modules/companies/src/web/dashboard/view/ui/dashboard-companies-panel.tsx @@ -1,4 +1,4 @@ -import { Building2Icon } from "@repo/shadcn-ui/lib/icons"; +import { Building2Icon } from "@repo/rdx-ui/lib/icons"; import { useQuery } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/dashboard/view/ui/dashboard-page.tsx b/modules/companies/src/web/dashboard/view/ui/dashboard-page.tsx index f3ae98d..41be9b7 100644 --- a/modules/companies/src/web/dashboard/view/ui/dashboard-page.tsx +++ b/modules/companies/src/web/dashboard/view/ui/dashboard-page.tsx @@ -1,5 +1,5 @@ +import { Building2Icon } from "@repo/rdx-ui/lib/icons"; import { Button } from "@repo/shadcn-ui/components/button"; -import { Building2Icon } from "@repo/shadcn-ui/lib/icons"; import { useTranslation } from "react-i18next"; import { DashboardQuickCreate } from "../../create"; diff --git a/modules/companies/src/web/dashboard/view/ui/dashboard-statistics.tsx b/modules/companies/src/web/dashboard/view/ui/dashboard-statistics.tsx index ef6394a..bae08e2 100644 --- a/modules/companies/src/web/dashboard/view/ui/dashboard-statistics.tsx +++ b/modules/companies/src/web/dashboard/view/ui/dashboard-statistics.tsx @@ -1,11 +1,11 @@ -import { StatisticCard } from "@repo/shadcn-ui/components/statistic-card"; +import { StatisticCard } from "@repo/rdx-ui/components/statistic-card"; import { Building2Icon, DatabaseIcon, LaptopIcon, TicketIcon, WrenchIcon, -} from "@repo/shadcn-ui/lib/icons"; +} from "@repo/rdx-ui/lib/icons"; import type { UseQueryResult } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/dashboard/view/ui/dashboard-work-panel.tsx b/modules/companies/src/web/dashboard/view/ui/dashboard-work-panel.tsx index 6811478..4725452 100644 --- a/modules/companies/src/web/dashboard/view/ui/dashboard-work-panel.tsx +++ b/modules/companies/src/web/dashboard/view/ui/dashboard-work-panel.tsx @@ -1,4 +1,4 @@ -import { TicketIcon } from "@repo/shadcn-ui/lib/icons"; +import { TicketIcon } from "@repo/rdx-ui/lib/icons"; import { useQuery } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/departments/list/ui/department-section.tsx b/modules/companies/src/web/departments/list/ui/department-section.tsx index be30c62..d509c3a 100644 --- a/modules/companies/src/web/departments/list/ui/department-section.tsx +++ b/modules/companies/src/web/departments/list/ui/department-section.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/departments/shared/ui/department-editor-dialog.tsx b/modules/companies/src/web/departments/shared/ui/department-editor-dialog.tsx index 90029cf..34b430d 100644 --- a/modules/companies/src/web/departments/shared/ui/department-editor-dialog.tsx +++ b/modules/companies/src/web/departments/shared/ui/department-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/departments/shared/ui/department-form.tsx b/modules/companies/src/web/departments/shared/ui/department-form.tsx index da910b1..7f44766 100644 --- a/modules/companies/src/web/departments/shared/ui/department-form.tsx +++ b/modules/companies/src/web/departments/shared/ui/department-form.tsx @@ -1,6 +1,6 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; diff --git a/modules/companies/src/web/folder-mappings/create/ui/folder-quick-editor.tsx b/modules/companies/src/web/folder-mappings/create/ui/folder-quick-editor.tsx index 445e3ef..92602b5 100644 --- a/modules/companies/src/web/folder-mappings/create/ui/folder-quick-editor.tsx +++ b/modules/companies/src/web/folder-mappings/create/ui/folder-quick-editor.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { AccessResponseDTO, CompanyDTO, WorkProfileDTO } from "../../../../common"; diff --git a/modules/companies/src/web/folder-mappings/history/ui/folder-mapping-history-dialog.tsx b/modules/companies/src/web/folder-mappings/history/ui/folder-mapping-history-dialog.tsx index ac21980..ee69a11 100644 --- a/modules/companies/src/web/folder-mappings/history/ui/folder-mapping-history-dialog.tsx +++ b/modules/companies/src/web/folder-mappings/history/ui/folder-mapping-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { FolderMappingDTO } from "../../../../common/folder-mappings"; diff --git a/modules/companies/src/web/folder-mappings/list/ui/folder-mappings-page.tsx b/modules/companies/src/web/folder-mappings/list/ui/folder-mappings-page.tsx index be6c691..844bbc2 100644 --- a/modules/companies/src/web/folder-mappings/list/ui/folder-mappings-page.tsx +++ b/modules/companies/src/web/folder-mappings/list/ui/folder-mappings-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { FolderMappingHistoryDialog } from "../../history"; diff --git a/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-editor-dialog.tsx b/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-editor-dialog.tsx index 0e75d17..e27c1e9 100644 --- a/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-editor-dialog.tsx +++ b/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-form.tsx b/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-form.tsx index 93640d9..0df81ba 100644 --- a/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-form.tsx +++ b/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-form.tsx @@ -1,9 +1,9 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-targets.tsx b/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-targets.tsx index d755781..4be20ef 100644 --- a/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-targets.tsx +++ b/modules/companies/src/web/folder-mappings/shared/ui/folder-mapping-targets.tsx @@ -1,5 +1,5 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import type { UseFormReturn } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/intervention-templates/create/ui/intervention-template-create-dialog.tsx b/modules/companies/src/web/intervention-templates/create/ui/intervention-template-create-dialog.tsx index 51b975a..b646f54 100644 --- a/modules/companies/src/web/intervention-templates/create/ui/intervention-template-create-dialog.tsx +++ b/modules/companies/src/web/intervention-templates/create/ui/intervention-template-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { InterventionTemplateForm } from "../../shared"; diff --git a/modules/companies/src/web/intervention-templates/list/ui/templates-page.tsx b/modules/companies/src/web/intervention-templates/list/ui/templates-page.tsx index 2a2a278..40ceeb3 100644 --- a/modules/companies/src/web/intervention-templates/list/ui/templates-page.tsx +++ b/modules/companies/src/web/intervention-templates/list/ui/templates-page.tsx @@ -1,12 +1,12 @@ -import { Button } from "@repo/shadcn-ui/components/button"; -import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; +import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/intervention-templates/shared/ui/intervention-template-editor-dialog.tsx b/modules/companies/src/web/intervention-templates/shared/ui/intervention-template-editor-dialog.tsx index 9c5eb79..de4ad2b 100644 --- a/modules/companies/src/web/intervention-templates/shared/ui/intervention-template-editor-dialog.tsx +++ b/modules/companies/src/web/intervention-templates/shared/ui/intervention-template-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/intervention-templates/shared/ui/template-form.tsx b/modules/companies/src/web/intervention-templates/shared/ui/template-form.tsx index 367fee4..586e831 100644 --- a/modules/companies/src/web/intervention-templates/shared/ui/template-form.tsx +++ b/modules/companies/src/web/intervention-templates/shared/ui/template-form.tsx @@ -1,6 +1,6 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; diff --git a/modules/companies/src/web/intervention-templates/shared/ui/template-help.tsx b/modules/companies/src/web/intervention-templates/shared/ui/template-help.tsx index 37a380b..74803d6 100644 --- a/modules/companies/src/web/intervention-templates/shared/ui/template-help.tsx +++ b/modules/companies/src/web/intervention-templates/shared/ui/template-help.tsx @@ -1,4 +1,4 @@ -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; import { useTranslation } from "react-i18next"; export function InterventionTemplateHelp() { diff --git a/modules/companies/src/web/interventions/create/ui/ticket-intervention-dialog.tsx b/modules/companies/src/web/interventions/create/ui/ticket-intervention-dialog.tsx index 8a1d63f..0a32901 100644 --- a/modules/companies/src/web/interventions/create/ui/ticket-intervention-dialog.tsx +++ b/modules/companies/src/web/interventions/create/ui/ticket-intervention-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/interventions/detail/ui/intervention-detail-dialog.tsx b/modules/companies/src/web/interventions/detail/ui/intervention-detail-dialog.tsx index e0c387a..d25ee3d 100644 --- a/modules/companies/src/web/interventions/detail/ui/intervention-detail-dialog.tsx +++ b/modules/companies/src/web/interventions/detail/ui/intervention-detail-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/interventions/list/ui/interventions-page.tsx b/modules/companies/src/web/interventions/list/ui/interventions-page.tsx index c658994..b20ca30 100644 --- a/modules/companies/src/web/interventions/list/ui/interventions-page.tsx +++ b/modules/companies/src/web/interventions/list/ui/interventions-page.tsx @@ -1,13 +1,13 @@ import { BrowserLink, EntityNotFound } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; +} from "@repo/rdx-ui/components/entity-list"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { InterventionStateSchema } from "../../../../common/interventions"; diff --git a/modules/companies/src/web/interventions/shared/ui/intervention-editor-dialog.tsx b/modules/companies/src/web/interventions/shared/ui/intervention-editor-dialog.tsx index d3379aa..ba76293 100644 --- a/modules/companies/src/web/interventions/shared/ui/intervention-editor-dialog.tsx +++ b/modules/companies/src/web/interventions/shared/ui/intervention-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/interventions/shared/ui/intervention-fields.tsx b/modules/companies/src/web/interventions/shared/ui/intervention-fields.tsx index f5c7050..dd4e0b1 100644 --- a/modules/companies/src/web/interventions/shared/ui/intervention-fields.tsx +++ b/modules/companies/src/web/interventions/shared/ui/intervention-fields.tsx @@ -1,6 +1,6 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import type { UseFormReturn } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/interventions/shared/ui/intervention-form.tsx b/modules/companies/src/web/interventions/shared/ui/intervention-form.tsx index 7615f83..c23296d 100644 --- a/modules/companies/src/web/interventions/shared/ui/intervention-form.tsx +++ b/modules/companies/src/web/interventions/shared/ui/intervention-form.tsx @@ -1,8 +1,8 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/interventions/shared/ui/intervention-help.tsx b/modules/companies/src/web/interventions/shared/ui/intervention-help.tsx index 28679ec..0118d81 100644 --- a/modules/companies/src/web/interventions/shared/ui/intervention-help.tsx +++ b/modules/companies/src/web/interventions/shared/ui/intervention-help.tsx @@ -1,4 +1,4 @@ -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; import { useTranslation } from "react-i18next"; export function InterventionHelp() { diff --git a/modules/companies/src/web/interventions/shared/ui/intervention-procedure-fields.tsx b/modules/companies/src/web/interventions/shared/ui/intervention-procedure-fields.tsx index a4c9a54..3ed5c9f 100644 --- a/modules/companies/src/web/interventions/shared/ui/intervention-procedure-fields.tsx +++ b/modules/companies/src/web/interventions/shared/ui/intervention-procedure-fields.tsx @@ -1,6 +1,6 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useTranslation } from "react-i18next"; import type { diff --git a/modules/companies/src/web/interventions/shared/ui/intervention-steps.tsx b/modules/companies/src/web/interventions/shared/ui/intervention-steps.tsx index db3f917..222ad48 100644 --- a/modules/companies/src/web/interventions/shared/ui/intervention-steps.tsx +++ b/modules/companies/src/web/interventions/shared/ui/intervention-steps.tsx @@ -1,9 +1,9 @@ import { UniqueID } from "@repo/rdx-ddd"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import type { UseFormReturn } from "react-hook-form"; import { useFieldArray } from "react-hook-form"; diff --git a/modules/companies/src/web/mail-configurations/create/ui/mail-quick-editor.tsx b/modules/companies/src/web/mail-configurations/create/ui/mail-quick-editor.tsx index f3aab3d..6d9f6ed 100644 --- a/modules/companies/src/web/mail-configurations/create/ui/mail-quick-editor.tsx +++ b/modules/companies/src/web/mail-configurations/create/ui/mail-quick-editor.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; diff --git a/modules/companies/src/web/mail-configurations/history/ui/mail-configuration-history-dialog.tsx b/modules/companies/src/web/mail-configurations/history/ui/mail-configuration-history-dialog.tsx index 4b36dd8..672b5d0 100644 --- a/modules/companies/src/web/mail-configurations/history/ui/mail-configuration-history-dialog.tsx +++ b/modules/companies/src/web/mail-configurations/history/ui/mail-configuration-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { MailConfigurationDTO } from "../../../../common/mail-configurations"; diff --git a/modules/companies/src/web/mail-configurations/list/ui/mail-configurations-page.tsx b/modules/companies/src/web/mail-configurations/list/ui/mail-configurations-page.tsx index 71bdd78..344ce46 100644 --- a/modules/companies/src/web/mail-configurations/list/ui/mail-configurations-page.tsx +++ b/modules/companies/src/web/mail-configurations/list/ui/mail-configurations-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { MailConfigurationHistoryDialog } from "../../history"; diff --git a/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-editor-dialog.tsx b/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-editor-dialog.tsx index a206662..3a5e2a8 100644 --- a/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-editor-dialog.tsx +++ b/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-form.tsx b/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-form.tsx index 974187f..43fb431 100644 --- a/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-form.tsx +++ b/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-form.tsx @@ -1,6 +1,6 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Label } from "@repo/shadcn-ui/components/label"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; diff --git a/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-targets.tsx b/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-targets.tsx index d30c9fb..28af7c1 100644 --- a/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-targets.tsx +++ b/modules/companies/src/web/mail-configurations/shared/ui/mail-configuration-targets.tsx @@ -1,5 +1,5 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import type { UseFormReturn } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/mailbox-uses/shared/ui/mailbox-use-editor-dialog.tsx b/modules/companies/src/web/mailbox-uses/shared/ui/mailbox-use-editor-dialog.tsx index eae7387..dacc5e7 100644 --- a/modules/companies/src/web/mailbox-uses/shared/ui/mailbox-use-editor-dialog.tsx +++ b/modules/companies/src/web/mailbox-uses/shared/ui/mailbox-use-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/mailbox-uses/shared/ui/mailbox-use-form.tsx b/modules/companies/src/web/mailbox-uses/shared/ui/mailbox-use-form.tsx index 11d8f9a..5b67caf 100644 --- a/modules/companies/src/web/mailbox-uses/shared/ui/mailbox-use-form.tsx +++ b/modules/companies/src/web/mailbox-uses/shared/ui/mailbox-use-form.tsx @@ -1,9 +1,9 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/mailboxes/create/ui/mailbox-create-dialog.tsx b/modules/companies/src/web/mailboxes/create/ui/mailbox-create-dialog.tsx index e9b3994..f41d98e 100644 --- a/modules/companies/src/web/mailboxes/create/ui/mailbox-create-dialog.tsx +++ b/modules/companies/src/web/mailboxes/create/ui/mailbox-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; diff --git a/modules/companies/src/web/people/detail/ui/person-details.tsx b/modules/companies/src/web/people/detail/ui/person-details.tsx index 02a40ba..b220175 100644 --- a/modules/companies/src/web/people/detail/ui/person-details.tsx +++ b/modules/companies/src/web/people/detail/ui/person-details.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; -import { Card, CardContent } from "@repo/shadcn-ui/components/card"; import { EntityAction, EntityListHeader, EntityRowActions, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; +import { Card, CardContent } from "@repo/shadcn-ui/components/card"; import { useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/people/list/ui/people-section.tsx b/modules/companies/src/web/people/list/ui/people-section.tsx index f1216b8..1657401 100644 --- a/modules/companies/src/web/people/list/ui/people-section.tsx +++ b/modules/companies/src/web/people/list/ui/people-section.tsx @@ -1,13 +1,13 @@ import { BrowserLink, EntityNotFound, useEntityNavigation } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; -import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; +import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/people/shared/ui/person-editor-dialog.tsx b/modules/companies/src/web/people/shared/ui/person-editor-dialog.tsx index 1e6cdeb..e89dfbf 100644 --- a/modules/companies/src/web/people/shared/ui/person-editor-dialog.tsx +++ b/modules/companies/src/web/people/shared/ui/person-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/people/shared/ui/person-form.tsx b/modules/companies/src/web/people/shared/ui/person-form.tsx index fae5aa2..d481e09 100644 --- a/modules/companies/src/web/people/shared/ui/person-form.tsx +++ b/modules/companies/src/web/people/shared/ui/person-form.tsx @@ -1,6 +1,6 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; diff --git a/modules/companies/src/web/printer-configurations/create/ui/printer-profile-create-dialog.tsx b/modules/companies/src/web/printer-configurations/create/ui/printer-profile-create-dialog.tsx index 6ddb758..489bc2e 100644 --- a/modules/companies/src/web/printer-configurations/create/ui/printer-profile-create-dialog.tsx +++ b/modules/companies/src/web/printer-configurations/create/ui/printer-profile-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; diff --git a/modules/companies/src/web/printer-configurations/history/ui/printer-history-dialog.tsx b/modules/companies/src/web/printer-configurations/history/ui/printer-history-dialog.tsx index b763768..757386b 100644 --- a/modules/companies/src/web/printer-configurations/history/ui/printer-history-dialog.tsx +++ b/modules/companies/src/web/printer-configurations/history/ui/printer-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { PrinterConfigurationDTO } from "../../../../common"; diff --git a/modules/companies/src/web/printer-configurations/list/ui/printer-configurations-page.tsx b/modules/companies/src/web/printer-configurations/list/ui/printer-configurations-page.tsx index fd8666b..5108485 100644 --- a/modules/companies/src/web/printer-configurations/list/ui/printer-configurations-page.tsx +++ b/modules/companies/src/web/printer-configurations/list/ui/printer-configurations-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { PrinterHistoryDialog } from "../../history"; diff --git a/modules/companies/src/web/printer-configurations/shared/ui/printer-configuration-editor-dialog.tsx b/modules/companies/src/web/printer-configurations/shared/ui/printer-configuration-editor-dialog.tsx index 1925b40..0694170 100644 --- a/modules/companies/src/web/printer-configurations/shared/ui/printer-configuration-editor-dialog.tsx +++ b/modules/companies/src/web/printer-configurations/shared/ui/printer-configuration-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/printer-configurations/shared/ui/printer-configuration-form.tsx b/modules/companies/src/web/printer-configurations/shared/ui/printer-configuration-form.tsx index 1172c7c..9badd8a 100644 --- a/modules/companies/src/web/printer-configurations/shared/ui/printer-configuration-form.tsx +++ b/modules/companies/src/web/printer-configurations/shared/ui/printer-configuration-form.tsx @@ -1,8 +1,8 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/process-templates/list/ui/process-templates-page.tsx b/modules/companies/src/web/process-templates/list/ui/process-templates-page.tsx index b253ec8..8baa049 100644 --- a/modules/companies/src/web/process-templates/list/ui/process-templates-page.tsx +++ b/modules/companies/src/web/process-templates/list/ui/process-templates-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { ProcessFeedback } from "../../../processes/shared"; diff --git a/modules/companies/src/web/process-templates/shared/ui/process-template-editor-dialog.tsx b/modules/companies/src/web/process-templates/shared/ui/process-template-editor-dialog.tsx index 758bc2d..ce82c2e 100644 --- a/modules/companies/src/web/process-templates/shared/ui/process-template-editor-dialog.tsx +++ b/modules/companies/src/web/process-templates/shared/ui/process-template-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/process-templates/shared/ui/process-template-form.tsx b/modules/companies/src/web/process-templates/shared/ui/process-template-form.tsx index 0bae4b4..727893f 100644 --- a/modules/companies/src/web/process-templates/shared/ui/process-template-form.tsx +++ b/modules/companies/src/web/process-templates/shared/ui/process-template-form.tsx @@ -1,9 +1,9 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/processes/create/ui/process-quick-create-dialog.tsx b/modules/companies/src/web/processes/create/ui/process-quick-create-dialog.tsx index 8399d4e..dc36f21 100644 --- a/modules/companies/src/web/processes/create/ui/process-quick-create-dialog.tsx +++ b/modules/companies/src/web/processes/create/ui/process-quick-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { PersonForm } from "../../../people"; diff --git a/modules/companies/src/web/processes/list/ui/processes-page.tsx b/modules/companies/src/web/processes/list/ui/processes-page.tsx index 51f8da0..6632a48 100644 --- a/modules/companies/src/web/processes/list/ui/processes-page.tsx +++ b/modules/companies/src/web/processes/list/ui/processes-page.tsx @@ -1,12 +1,12 @@ import { BrowserLink, EntityNotFound } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { ProcessDetail } from "../../detail"; diff --git a/modules/companies/src/web/processes/shared/ui/process-help.tsx b/modules/companies/src/web/processes/shared/ui/process-help.tsx index 787af2e..9216352 100644 --- a/modules/companies/src/web/processes/shared/ui/process-help.tsx +++ b/modules/companies/src/web/processes/shared/ui/process-help.tsx @@ -1,4 +1,4 @@ -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; import { useTranslation } from "react-i18next"; export function ProcessHelp({ template = false }: { template?: boolean }) { const { t } = useTranslation("companies"); diff --git a/modules/companies/src/web/processes/start/ui/process-start-dialog.tsx b/modules/companies/src/web/processes/start/ui/process-start-dialog.tsx index c24015c..a4a6d65 100644 --- a/modules/companies/src/web/processes/start/ui/process-start-dialog.tsx +++ b/modules/companies/src/web/processes/start/ui/process-start-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/processes/start/ui/process-start-form.tsx b/modules/companies/src/web/processes/start/ui/process-start-form.tsx index b64b41a..a9fc04f 100644 --- a/modules/companies/src/web/processes/start/ui/process-start-form.tsx +++ b/modules/companies/src/web/processes/start/ui/process-start-form.tsx @@ -1,8 +1,8 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/processes/update/ui/process-edit-dialog.tsx b/modules/companies/src/web/processes/update/ui/process-edit-dialog.tsx index 9c46746..d345bd0 100644 --- a/modules/companies/src/web/processes/update/ui/process-edit-dialog.tsx +++ b/modules/companies/src/web/processes/update/ui/process-edit-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/processes/update/ui/process-edit-form.tsx b/modules/companies/src/web/processes/update/ui/process-edit-form.tsx index ee8f662..96ec29e 100644 --- a/modules/companies/src/web/processes/update/ui/process-edit-form.tsx +++ b/modules/companies/src/web/processes/update/ui/process-edit-form.tsx @@ -1,8 +1,8 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/processes/update/ui/process-task-field.tsx b/modules/companies/src/web/processes/update/ui/process-task-field.tsx index dc592bf..1002dd1 100644 --- a/modules/companies/src/web/processes/update/ui/process-task-field.tsx +++ b/modules/companies/src/web/processes/update/ui/process-task-field.tsx @@ -1,5 +1,5 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import type { UseFormReturn } from "react-hook-form"; diff --git a/modules/companies/src/web/remote-connections/create/ui/remote-quick-editor.tsx b/modules/companies/src/web/remote-connections/create/ui/remote-quick-editor.tsx index 8f9a5c3..9f7923b 100644 --- a/modules/companies/src/web/remote-connections/create/ui/remote-quick-editor.tsx +++ b/modules/companies/src/web/remote-connections/create/ui/remote-quick-editor.tsx @@ -1,5 +1,5 @@ import { ResourceEditor } from "@metis/resources/client"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; diff --git a/modules/companies/src/web/remote-connections/history/ui/remote-connection-history-dialog.tsx b/modules/companies/src/web/remote-connections/history/ui/remote-connection-history-dialog.tsx index 1772136..1ca7b25 100644 --- a/modules/companies/src/web/remote-connections/history/ui/remote-connection-history-dialog.tsx +++ b/modules/companies/src/web/remote-connections/history/ui/remote-connection-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; diff --git a/modules/companies/src/web/remote-connections/list/ui/remote-connections-page.tsx b/modules/companies/src/web/remote-connections/list/ui/remote-connections-page.tsx index 3f67eda..593bcb5 100644 --- a/modules/companies/src/web/remote-connections/list/ui/remote-connections-page.tsx +++ b/modules/companies/src/web/remote-connections/list/ui/remote-connections-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { RemoteSummary } from "../../detail"; diff --git a/modules/companies/src/web/remote-connections/shared/ui/remote-connection-editor-dialog.tsx b/modules/companies/src/web/remote-connections/shared/ui/remote-connection-editor-dialog.tsx index b5ce462..621e926 100644 --- a/modules/companies/src/web/remote-connections/shared/ui/remote-connection-editor-dialog.tsx +++ b/modules/companies/src/web/remote-connections/shared/ui/remote-connection-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/remote-connections/shared/ui/remote-connection-form.tsx b/modules/companies/src/web/remote-connections/shared/ui/remote-connection-form.tsx index 44ba0e5..520fcff 100644 --- a/modules/companies/src/web/remote-connections/shared/ui/remote-connection-form.tsx +++ b/modules/companies/src/web/remote-connections/shared/ui/remote-connection-form.tsx @@ -1,10 +1,10 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/remote-connections/shared/ui/remote-endpoint-fields.tsx b/modules/companies/src/web/remote-connections/shared/ui/remote-endpoint-fields.tsx index bb27e7d..77c54a6 100644 --- a/modules/companies/src/web/remote-connections/shared/ui/remote-endpoint-fields.tsx +++ b/modules/companies/src/web/remote-connections/shared/ui/remote-endpoint-fields.tsx @@ -1,5 +1,5 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import type { UseFormReturn } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/shared/ui/configuration-quick-editor.tsx b/modules/companies/src/web/shared/ui/configuration-quick-editor.tsx index ac3cc7e..78da3e7 100644 --- a/modules/companies/src/web/shared/ui/configuration-quick-editor.tsx +++ b/modules/companies/src/web/shared/ui/configuration-quick-editor.tsx @@ -1,5 +1,5 @@ import { AssetForm } from "@metis/assets/client"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { AccessForm } from "../../access"; diff --git a/modules/companies/src/web/sites/list/ui/site-section.tsx b/modules/companies/src/web/sites/list/ui/site-section.tsx index be587b8..90a2938 100644 --- a/modules/companies/src/web/sites/list/ui/site-section.tsx +++ b/modules/companies/src/web/sites/list/ui/site-section.tsx @@ -1,10 +1,10 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/sites/shared/ui/site-editor-dialog.tsx b/modules/companies/src/web/sites/shared/ui/site-editor-dialog.tsx index 8d6860d..bba0837 100644 --- a/modules/companies/src/web/sites/shared/ui/site-editor-dialog.tsx +++ b/modules/companies/src/web/sites/shared/ui/site-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/sites/shared/ui/site-form.tsx b/modules/companies/src/web/sites/shared/ui/site-form.tsx index c147595..2249f81 100644 --- a/modules/companies/src/web/sites/shared/ui/site-form.tsx +++ b/modules/companies/src/web/sites/shared/ui/site-form.tsx @@ -1,5 +1,5 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; diff --git a/modules/companies/src/web/telework-authorizations/history/ui/telework-authorization-history-dialog.tsx b/modules/companies/src/web/telework-authorizations/history/ui/telework-authorization-history-dialog.tsx index 7902eae..e5f2a2a 100644 --- a/modules/companies/src/web/telework-authorizations/history/ui/telework-authorization-history-dialog.tsx +++ b/modules/companies/src/web/telework-authorizations/history/ui/telework-authorization-history-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { TeleworkAuthorizationDTO } from "../../../../common/telework-authorizations"; diff --git a/modules/companies/src/web/telework-authorizations/list/ui/telework-authorizations-page.tsx b/modules/companies/src/web/telework-authorizations/list/ui/telework-authorizations-page.tsx index db3003e..3f7b000 100644 --- a/modules/companies/src/web/telework-authorizations/list/ui/telework-authorizations-page.tsx +++ b/modules/companies/src/web/telework-authorizations/list/ui/telework-authorizations-page.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { TeleworkAuthorizationSummary } from "../../detail"; diff --git a/modules/companies/src/web/telework-authorizations/shared/ui/telework-authorization-editor-dialog.tsx b/modules/companies/src/web/telework-authorizations/shared/ui/telework-authorization-editor-dialog.tsx index 1410271..28c10c1 100644 --- a/modules/companies/src/web/telework-authorizations/shared/ui/telework-authorization-editor-dialog.tsx +++ b/modules/companies/src/web/telework-authorizations/shared/ui/telework-authorization-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/telework-authorizations/shared/ui/telework-authorization-form.tsx b/modules/companies/src/web/telework-authorizations/shared/ui/telework-authorization-form.tsx index 182c31f..3fc905b 100644 --- a/modules/companies/src/web/telework-authorizations/shared/ui/telework-authorization-form.tsx +++ b/modules/companies/src/web/telework-authorizations/shared/ui/telework-authorization-form.tsx @@ -1,10 +1,10 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/tickets/create/ui/intervention-ticket-create-dialog.tsx b/modules/companies/src/web/tickets/create/ui/intervention-ticket-create-dialog.tsx index d038c0b..d942f55 100644 --- a/modules/companies/src/web/tickets/create/ui/intervention-ticket-create-dialog.tsx +++ b/modules/companies/src/web/tickets/create/ui/intervention-ticket-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/tickets/create/ui/ticket-quick-editor.tsx b/modules/companies/src/web/tickets/create/ui/ticket-quick-editor.tsx index 80375b9..1b4283d 100644 --- a/modules/companies/src/web/tickets/create/ui/ticket-quick-editor.tsx +++ b/modules/companies/src/web/tickets/create/ui/ticket-quick-editor.tsx @@ -1,6 +1,6 @@ import { AssetForm, WorkstationForm } from "@metis/assets/client"; import { ResourceEditor } from "@metis/resources/client"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { PersonForm } from "../../../people"; diff --git a/modules/companies/src/web/tickets/create/ui/ticket-quick-forms.tsx b/modules/companies/src/web/tickets/create/ui/ticket-quick-forms.tsx index 84058c6..b890292 100644 --- a/modules/companies/src/web/tickets/create/ui/ticket-quick-forms.tsx +++ b/modules/companies/src/web/tickets/create/ui/ticket-quick-forms.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { CompanyForm } from "../../../companies/shared"; diff --git a/modules/companies/src/web/tickets/create/ui/ticket-target-create-dialog.tsx b/modules/companies/src/web/tickets/create/ui/ticket-target-create-dialog.tsx index c788fb1..83dcada 100644 --- a/modules/companies/src/web/tickets/create/ui/ticket-target-create-dialog.tsx +++ b/modules/companies/src/web/tickets/create/ui/ticket-target-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/tickets/detail/ui/ticket-detail-dialog.tsx b/modules/companies/src/web/tickets/detail/ui/ticket-detail-dialog.tsx index 9b00cf6..a327e46 100644 --- a/modules/companies/src/web/tickets/detail/ui/ticket-detail-dialog.tsx +++ b/modules/companies/src/web/tickets/detail/ui/ticket-detail-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/tickets/list/ui/tickets-page.tsx b/modules/companies/src/web/tickets/list/ui/tickets-page.tsx index ad95569..aace4cb 100644 --- a/modules/companies/src/web/tickets/list/ui/tickets-page.tsx +++ b/modules/companies/src/web/tickets/list/ui/tickets-page.tsx @@ -1,13 +1,13 @@ import { BrowserLink, EntityNotFound } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; +} from "@repo/rdx-ui/components/entity-list"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { TicketPrioritySchema, TicketStateSchema } from "../../../../common/tickets"; diff --git a/modules/companies/src/web/tickets/shared/ui/ticket-classification-fields.tsx b/modules/companies/src/web/tickets/shared/ui/ticket-classification-fields.tsx index 52141e9..5bb3ce0 100644 --- a/modules/companies/src/web/tickets/shared/ui/ticket-classification-fields.tsx +++ b/modules/companies/src/web/tickets/shared/ui/ticket-classification-fields.tsx @@ -1,5 +1,5 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import type { UseFormReturn } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/tickets/shared/ui/ticket-editor-dialog.tsx b/modules/companies/src/web/tickets/shared/ui/ticket-editor-dialog.tsx index 6ec2acb..c0b703f 100644 --- a/modules/companies/src/web/tickets/shared/ui/ticket-editor-dialog.tsx +++ b/modules/companies/src/web/tickets/shared/ui/ticket-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/tickets/shared/ui/ticket-form.tsx b/modules/companies/src/web/tickets/shared/ui/ticket-form.tsx index de398b1..5cde2b8 100644 --- a/modules/companies/src/web/tickets/shared/ui/ticket-form.tsx +++ b/modules/companies/src/web/tickets/shared/ui/ticket-form.tsx @@ -1,8 +1,8 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/tickets/shared/ui/ticket-help.tsx b/modules/companies/src/web/tickets/shared/ui/ticket-help.tsx index 130b8fe..8c12865 100644 --- a/modules/companies/src/web/tickets/shared/ui/ticket-help.tsx +++ b/modules/companies/src/web/tickets/shared/ui/ticket-help.tsx @@ -1,4 +1,4 @@ -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; import { useTranslation } from "react-i18next"; export function TicketHelp() { diff --git a/modules/companies/src/web/tickets/shared/ui/ticket-targets.tsx b/modules/companies/src/web/tickets/shared/ui/ticket-targets.tsx index 02ce255..71ca649 100644 --- a/modules/companies/src/web/tickets/shared/ui/ticket-targets.tsx +++ b/modules/companies/src/web/tickets/shared/ui/ticket-targets.tsx @@ -1,6 +1,6 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useQueryClient } from "@tanstack/react-query"; import { useId, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/work-profiles/history/ui/work-profile-history-dialog.tsx b/modules/companies/src/web/work-profiles/history/ui/work-profile-history-dialog.tsx index d922089..76756ed 100644 --- a/modules/companies/src/web/work-profiles/history/ui/work-profile-history-dialog.tsx +++ b/modules/companies/src/web/work-profiles/history/ui/work-profile-history-dialog.tsx @@ -1,5 +1,5 @@ import type { WorkstationDTO } from "@metis/assets/common"; -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { WorkProfileDTO } from "../../../../common/work-profiles"; diff --git a/modules/companies/src/web/work-profiles/list/ui/work-profiles-page.tsx b/modules/companies/src/web/work-profiles/list/ui/work-profiles-page.tsx index 6fd88ba..9257c37 100644 --- a/modules/companies/src/web/work-profiles/list/ui/work-profiles-page.tsx +++ b/modules/companies/src/web/work-profiles/list/ui/work-profiles-page.tsx @@ -1,12 +1,12 @@ import { BrowserLink, EntityNotFound } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { ProfileConfigurations } from "../../../work-environments"; diff --git a/modules/companies/src/web/work-profiles/shared/ui/work-profile-editor-dialog.tsx b/modules/companies/src/web/work-profiles/shared/ui/work-profile-editor-dialog.tsx index bc093c4..7f6602f 100644 --- a/modules/companies/src/web/work-profiles/shared/ui/work-profile-editor-dialog.tsx +++ b/modules/companies/src/web/work-profiles/shared/ui/work-profile-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/work-profiles/shared/ui/work-profile-form.tsx b/modules/companies/src/web/work-profiles/shared/ui/work-profile-form.tsx index e8c647c..aef06ae 100644 --- a/modules/companies/src/web/work-profiles/shared/ui/work-profile-form.tsx +++ b/modules/companies/src/web/work-profiles/shared/ui/work-profile-form.tsx @@ -1,9 +1,9 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/workspace/settings/ui/workspace-settings-dialog.tsx b/modules/companies/src/web/workspace/settings/ui/workspace-settings-dialog.tsx index ede32ab..2599d3e 100644 --- a/modules/companies/src/web/workspace/settings/ui/workspace-settings-dialog.tsx +++ b/modules/companies/src/web/workspace/settings/ui/workspace-settings-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ReactNode } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/workspace/view/ui/workspace-header.tsx b/modules/companies/src/web/workspace/view/ui/workspace-header.tsx index c707e7d..26a70b0 100644 --- a/modules/companies/src/web/workspace/view/ui/workspace-header.tsx +++ b/modules/companies/src/web/workspace/view/ui/workspace-header.tsx @@ -1,7 +1,7 @@ import { BrowserLink } from "@metis/core/client"; +import { BellIcon, ChevronDownIcon, SearchIcon } from "@repo/rdx-ui/lib/icons"; import { Button } from "@repo/shadcn-ui/components/button"; import { Input } from "@repo/shadcn-ui/components/input"; -import { BellIcon, ChevronDownIcon, SearchIcon } from "@repo/shadcn-ui/lib/icons"; import type { ReactNode } from "react"; import { useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/companies/src/web/workspace/view/ui/workspace-sidebar.tsx b/modules/companies/src/web/workspace/view/ui/workspace-sidebar.tsx index 2096a20..0aa6a14 100644 --- a/modules/companies/src/web/workspace/view/ui/workspace-sidebar.tsx +++ b/modules/companies/src/web/workspace/view/ui/workspace-sidebar.tsx @@ -10,7 +10,7 @@ import { SettingsIcon, TicketIcon, WrenchIcon, -} from "@repo/shadcn-ui/lib/icons"; +} from "@repo/rdx-ui/lib/icons"; import { useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/identity/package.json b/modules/identity/package.json index f786e0e..67cb054 100644 --- a/modules/identity/package.json +++ b/modules/identity/package.json @@ -15,6 +15,7 @@ "dependencies": { "@metis/core": "workspace:*", "@repo/rdx-utils": "workspace:*", + "@repo/rdx-ui": "workspace:*", "@repo/shadcn-ui": "workspace:*", "zod": "4.3.6", "sequelize": "6.37.8", diff --git a/modules/identity/src/web/passwords/change/ui/account-password-dialog.tsx b/modules/identity/src/web/passwords/change/ui/account-password-dialog.tsx index 537bf2b..62154eb 100644 --- a/modules/identity/src/web/passwords/change/ui/account-password-dialog.tsx +++ b/modules/identity/src/web/passwords/change/ui/account-password-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { PasswordForm } from "../../shared"; diff --git a/modules/identity/src/web/passwords/shared/ui/password-form.tsx b/modules/identity/src/web/passwords/shared/ui/password-form.tsx index 540cdd1..d4f88d3 100644 --- a/modules/identity/src/web/passwords/shared/ui/password-form.tsx +++ b/modules/identity/src/web/passwords/shared/ui/password-form.tsx @@ -1,5 +1,5 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; diff --git a/modules/identity/src/web/users/list/ui/user-management-dialog.tsx b/modules/identity/src/web/users/list/ui/user-management-dialog.tsx index ff6f6e9..992631c 100644 --- a/modules/identity/src/web/users/list/ui/user-management-dialog.tsx +++ b/modules/identity/src/web/users/list/ui/user-management-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { UserManagement } from "./user-management"; diff --git a/modules/identity/src/web/users/list/ui/user-management.tsx b/modules/identity/src/web/users/list/ui/user-management.tsx index d6e76d6..025905a 100644 --- a/modules/identity/src/web/users/list/ui/user-management.tsx +++ b/modules/identity/src/web/users/list/ui/user-management.tsx @@ -1,11 +1,11 @@ -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { FormFeedback } from "../../../shared"; diff --git a/modules/identity/src/web/users/shared/ui/user-editor-dialog.tsx b/modules/identity/src/web/users/shared/ui/user-editor-dialog.tsx index d458a8a..8e9e74f 100644 --- a/modules/identity/src/web/users/shared/ui/user-editor-dialog.tsx +++ b/modules/identity/src/web/users/shared/ui/user-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { UserDTO } from "../../../../common"; diff --git a/modules/identity/src/web/users/shared/ui/user-form.tsx b/modules/identity/src/web/users/shared/ui/user-form.tsx index c034ffb..b437336 100644 --- a/modules/identity/src/web/users/shared/ui/user-form.tsx +++ b/modules/identity/src/web/users/shared/ui/user-form.tsx @@ -1,6 +1,6 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; import { useId } from "react"; diff --git a/modules/resources/package.json b/modules/resources/package.json index 2e95ec6..029191d 100644 --- a/modules/resources/package.json +++ b/modules/resources/package.json @@ -16,6 +16,7 @@ "dependencies": { "@metis/core": "workspace:*", "@repo/rdx-ddd": "workspace:*", + "@repo/rdx-ui": "workspace:*", "@repo/rdx-utils": "workspace:*", "@repo/shadcn-ui": "workspace:*", "sequelize": "6.37.8", diff --git a/modules/resources/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx b/modules/resources/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx index 8a8df30..68f6a09 100644 --- a/modules/resources/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx +++ b/modules/resources/src/web/catalog-fields/create/ui/catalog-field-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import { CatalogFieldForm } from "../../shared"; diff --git a/modules/resources/src/web/catalog-fields/shared/ui/catalog-form.tsx b/modules/resources/src/web/catalog-fields/shared/ui/catalog-form.tsx index 7d66764..b0ee649 100644 --- a/modules/resources/src/web/catalog-fields/shared/ui/catalog-form.tsx +++ b/modules/resources/src/web/catalog-fields/shared/ui/catalog-form.tsx @@ -1,8 +1,8 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/resources/src/web/catalog-templates/create/ui/catalog-template-create-dialog.tsx b/modules/resources/src/web/catalog-templates/create/ui/catalog-template-create-dialog.tsx index 73c7205..6098616 100644 --- a/modules/resources/src/web/catalog-templates/create/ui/catalog-template-create-dialog.tsx +++ b/modules/resources/src/web/catalog-templates/create/ui/catalog-template-create-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/resources/src/web/catalog-templates/shared/ui/catalog-template-form.tsx b/modules/resources/src/web/catalog-templates/shared/ui/catalog-template-form.tsx index 5287ad8..b79f7c8 100644 --- a/modules/resources/src/web/catalog-templates/shared/ui/catalog-template-form.tsx +++ b/modules/resources/src/web/catalog-templates/shared/ui/catalog-template-form.tsx @@ -1,9 +1,9 @@ +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/resources/src/web/catalog/detail/ui/catalog-definition-dialog.tsx b/modules/resources/src/web/catalog/detail/ui/catalog-definition-dialog.tsx index 9bf3dde..bbbbf62 100644 --- a/modules/resources/src/web/catalog/detail/ui/catalog-definition-dialog.tsx +++ b/modules/resources/src/web/catalog/detail/ui/catalog-definition-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CatalogItemDTO } from "../../../../common"; diff --git a/modules/resources/src/web/catalog/list/ui/catalog-cell.tsx b/modules/resources/src/web/catalog/list/ui/catalog-cell.tsx index f7aa429..9190f01 100644 --- a/modules/resources/src/web/catalog/list/ui/catalog-cell.tsx +++ b/modules/resources/src/web/catalog/list/ui/catalog-cell.tsx @@ -1,4 +1,4 @@ -import { EntityRowActions, EntityStatus } from "@repo/shadcn-ui/components/entity-list"; +import { EntityRowActions, EntityStatus } from "@repo/rdx-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import type { CatalogItemDTO } from "../../../../common"; diff --git a/modules/resources/src/web/catalog/list/ui/catalog-page.tsx b/modules/resources/src/web/catalog/list/ui/catalog-page.tsx index 6bd8b74..abb206a 100644 --- a/modules/resources/src/web/catalog/list/ui/catalog-page.tsx +++ b/modules/resources/src/web/catalog/list/ui/catalog-page.tsx @@ -1,5 +1,5 @@ +import { EntityListHeader, EntityTable } from "@repo/rdx-ui/components/entity-list"; import { Button } from "@repo/shadcn-ui/components/button"; -import { EntityListHeader, EntityTable } from "@repo/shadcn-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import { CatalogDefinitionDialog } from "../../detail"; diff --git a/modules/resources/src/web/catalog/list/ui/catalog-row-actions.tsx b/modules/resources/src/web/catalog/list/ui/catalog-row-actions.tsx index 1ccf10b..3d3f92e 100644 --- a/modules/resources/src/web/catalog/list/ui/catalog-row-actions.tsx +++ b/modules/resources/src/web/catalog/list/ui/catalog-row-actions.tsx @@ -1,4 +1,4 @@ -import { EntityAction } from "@repo/shadcn-ui/components/entity-list"; +import { EntityAction } from "@repo/rdx-ui/components/entity-list"; import { useTranslation } from "react-i18next"; import type { CatalogItemDTO } from "../../../../common"; diff --git a/modules/resources/src/web/catalog/shared/ui/catalog-editor-dialog.tsx b/modules/resources/src/web/catalog/shared/ui/catalog-editor-dialog.tsx index 61b00d0..e92e62d 100644 --- a/modules/resources/src/web/catalog/shared/ui/catalog-editor-dialog.tsx +++ b/modules/resources/src/web/catalog/shared/ui/catalog-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import { useTranslation } from "react-i18next"; import type { CatalogItemDTO } from "../../../../common"; diff --git a/modules/resources/src/web/catalog/shared/ui/catalog-help.tsx b/modules/resources/src/web/catalog/shared/ui/catalog-help.tsx index 2401c31..aa7bf5f 100644 --- a/modules/resources/src/web/catalog/shared/ui/catalog-help.tsx +++ b/modules/resources/src/web/catalog/shared/ui/catalog-help.tsx @@ -1,4 +1,4 @@ -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; import { useTranslation } from "react-i18next"; export function CatalogHelp({ kind, scope }: { kind: "field" | "template"; scope: string }) { const { t } = useTranslation("resources"); diff --git a/modules/resources/src/web/resources/detail/ui/resource-detail-dialog.tsx b/modules/resources/src/web/resources/detail/ui/resource-detail-dialog.tsx index 4341d89..b300647 100644 --- a/modules/resources/src/web/resources/detail/ui/resource-detail-dialog.tsx +++ b/modules/resources/src/web/resources/detail/ui/resource-detail-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps, ReactNode } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/resources/src/web/resources/list/ui/resources-page.tsx b/modules/resources/src/web/resources/list/ui/resources-page.tsx index 7cd4f6c..099115f 100644 --- a/modules/resources/src/web/resources/list/ui/resources-page.tsx +++ b/modules/resources/src/web/resources/list/ui/resources-page.tsx @@ -1,12 +1,12 @@ import { BrowserLink, EntityNotFound } from "@metis/core/client"; -import { Button } from "@repo/shadcn-ui/components/button"; import { EntityAction, EntityListHeader, EntityRowActions, EntityStatus, EntityTable, -} from "@repo/shadcn-ui/components/entity-list"; +} from "@repo/rdx-ui/components/entity-list"; +import { Button } from "@repo/shadcn-ui/components/button"; import { useTranslation } from "react-i18next"; import { InventoryFeedback } from "../../../shared"; diff --git a/modules/resources/src/web/resources/shared/ui/resource-characteristic-control.tsx b/modules/resources/src/web/resources/shared/ui/resource-characteristic-control.tsx index e63e80b..c28b79e 100644 --- a/modules/resources/src/web/resources/shared/ui/resource-characteristic-control.tsx +++ b/modules/resources/src/web/resources/shared/ui/resource-characteristic-control.tsx @@ -1,6 +1,6 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useTranslation } from "react-i18next"; import type { ResourceCharacteristic, ResourceInput } from "../../../../common/inventory"; diff --git a/modules/resources/src/web/resources/shared/ui/resource-editor-dialog.tsx b/modules/resources/src/web/resources/shared/ui/resource-editor-dialog.tsx index 18f200d..4378fee 100644 --- a/modules/resources/src/web/resources/shared/ui/resource-editor-dialog.tsx +++ b/modules/resources/src/web/resources/shared/ui/resource-editor-dialog.tsx @@ -1,4 +1,4 @@ -import { FormDialog } from "@repo/shadcn-ui/components/form-dialog"; +import { FormDialog } from "@repo/rdx-ui/components/form-dialog"; import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/resources/src/web/resources/shared/ui/resource-form.tsx b/modules/resources/src/web/resources/shared/ui/resource-form.tsx index f22844c..00c708a 100644 --- a/modules/resources/src/web/resources/shared/ui/resource-form.tsx +++ b/modules/resources/src/web/resources/shared/ui/resource-form.tsx @@ -1,9 +1,9 @@ +import { ContextHelp } from "@repo/rdx-ui/components/context-help"; +import { FormActions } from "@repo/rdx-ui/components/form-dialog"; +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Button } from "@repo/shadcn-ui/components/button"; -import { ContextHelp } from "@repo/shadcn-ui/components/context-help"; -import { FormActions } from "@repo/shadcn-ui/components/form-dialog"; import { Input } from "@repo/shadcn-ui/components/input"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/modules/resources/src/web/resources/shared/ui/resource-integration-fields.tsx b/modules/resources/src/web/resources/shared/ui/resource-integration-fields.tsx index 1a395a4..87ffd26 100644 --- a/modules/resources/src/web/resources/shared/ui/resource-integration-fields.tsx +++ b/modules/resources/src/web/resources/shared/ui/resource-integration-fields.tsx @@ -1,5 +1,5 @@ +import { SelectWithAction } from "@repo/rdx-ui/components/select-with-action"; import { Label } from "@repo/shadcn-ui/components/label"; -import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { useId } from "react"; import { useTranslation } from "react-i18next"; diff --git a/packages/rdx-ui/package.json b/packages/rdx-ui/package.json new file mode 100644 index 0000000..78343de --- /dev/null +++ b/packages/rdx-ui/package.json @@ -0,0 +1,36 @@ +{ + "name": "@repo/rdx-ui", + "version": "0.1.0", + "private": true, + "type": "module", + "sideEffects": false, + "exports": { + "./components/*": "./src/components/*.tsx", + "./hooks/*": "./src/hooks/*.ts", + "./lib/*": "./src/lib/*.ts" + }, + "scripts": { + "typecheck": "tsc -p tsconfig.json", + "test": "TSX_TSCONFIG_PATH=../../tsconfig.json node --import tsx --test src/select-with-action.test.tsx src/entity-list.test.tsx" + }, + "dependencies": { + "@base-ui/react": "1.8.0", + "@repo/shadcn-ui": "workspace:*", + "@tanstack/react-table": "8.21.3", + "class-variance-authority": "0.7.1", + "cn": "0.3.0", + "lucide-react": "1.8.0" + }, + "devDependencies": { + "@repo/typescript-config": "workspace:*", + "@types/node": "25.6.0", + "@types/react": "19.2.14", + "@types/react-dom": "19.2.3", + "react": "19.2.5", + "react-dom": "19.2.5" + }, + "peerDependencies": { + "react": "19.2.5", + "react-dom": "19.2.5" + } +} diff --git a/packages/rdx-ui/src/components/button-group.tsx b/packages/rdx-ui/src/components/button-group.tsx new file mode 100644 index 0000000..321af06 --- /dev/null +++ b/packages/rdx-ui/src/components/button-group.tsx @@ -0,0 +1,78 @@ +import { mergeProps } from "@base-ui/react/merge-props"; +import { useRender } from "@base-ui/react/use-render"; +import { type VariantProps, cva } from "class-variance-authority"; +import { cn } from "cn"; +import type { ComponentProps } from "react"; + +import { Separator } from "./separator"; + +const buttonGroupVariants = cva( + "flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", + { + variants: { + orientation: { + horizontal: + "*:data-slot:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-md! [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0", + vertical: + "flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-md! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0", + }, + }, + defaultVariants: { + orientation: "horizontal", + }, + } +); + +function ButtonGroup({ + className, + orientation, + ...props +}: ComponentProps<"fieldset"> & VariantProps) { + return ( +
+ ); +} + +function ButtonGroupText({ className, render, ...props }: useRender.ComponentProps<"div">) { + return useRender({ + defaultTagName: "div", + props: mergeProps<"div">( + { + className: cn( + "flex items-center gap-2 rounded-md border bg-muted px-2.5 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", + className + ), + }, + props + ), + render, + state: { + slot: "button-group-text", + }, + }); +} + +function ButtonGroupSeparator({ + className, + orientation = "vertical", + ...props +}: ComponentProps) { + return ( + + ); +} + +export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants }; diff --git a/packages/shadcn-ui/src/components/context-help.tsx b/packages/rdx-ui/src/components/context-help.tsx similarity index 100% rename from packages/shadcn-ui/src/components/context-help.tsx rename to packages/rdx-ui/src/components/context-help.tsx diff --git a/packages/shadcn-ui/src/components/entity-list-controls.tsx b/packages/rdx-ui/src/components/entity-list-controls.tsx similarity index 98% rename from packages/shadcn-ui/src/components/entity-list-controls.tsx rename to packages/rdx-ui/src/components/entity-list-controls.tsx index b0d8177..a2860f2 100644 --- a/packages/shadcn-ui/src/components/entity-list-controls.tsx +++ b/packages/rdx-ui/src/components/entity-list-controls.tsx @@ -1,10 +1,10 @@ import { Menu } from "@base-ui/react/menu"; +import { Button } from "@repo/shadcn-ui/components/button"; import { EllipsisIcon } from "lucide-react"; import type { ReactNode } from "react"; import { entityListLabels, entityListPages } from "../lib/entity-list"; -import { Button } from "./button"; import { SelectWithAction } from "./select-with-action"; const ENTITY_PAGE_SIZES = [10, 25, 50, 100]; diff --git a/packages/shadcn-ui/src/components/entity-list.tsx b/packages/rdx-ui/src/components/entity-list.tsx similarity index 97% rename from packages/shadcn-ui/src/components/entity-list.tsx rename to packages/rdx-ui/src/components/entity-list.tsx index ca891dd..340bbc7 100644 --- a/packages/shadcn-ui/src/components/entity-list.tsx +++ b/packages/rdx-ui/src/components/entity-list.tsx @@ -1,14 +1,14 @@ +import { Button } from "@repo/shadcn-ui/components/button"; +import { Input } from "@repo/shadcn-ui/components/input"; import type { ReactNode } from "react"; import { useId } from "react"; import { useEntityTable } from "../hooks/use-entity-table"; import { entityListLabels } from "../lib/entity-list"; -import { Button } from "./button"; import { EntityListPagination } from "./entity-list-controls"; import { EntityTableConfiguration } from "./entity-table-configuration"; import { EntityTableContent } from "./entity-table-content"; -import { Input } from "./input"; export { EntityAction, EntityRowActions, EntityStatus } from "./entity-list-controls"; diff --git a/packages/shadcn-ui/src/components/entity-table-configuration.tsx b/packages/rdx-ui/src/components/entity-table-configuration.tsx similarity index 95% rename from packages/shadcn-ui/src/components/entity-table-configuration.tsx rename to packages/rdx-ui/src/components/entity-table-configuration.tsx index df7b048..eea6052 100644 --- a/packages/shadcn-ui/src/components/entity-table-configuration.tsx +++ b/packages/rdx-ui/src/components/entity-table-configuration.tsx @@ -1,10 +1,10 @@ +import { Button } from "@repo/shadcn-ui/components/button"; +import { Checkbox } from "@repo/shadcn-ui/components/checkbox"; import type { Table as TableModel } from "@tanstack/react-table"; import { useId, useState } from "react"; import { entityListLabels } from "../lib/entity-list"; -import { Button } from "./button"; -import { Checkbox } from "./checkbox"; import { FormDialog } from "./form-dialog"; import { SelectWithAction } from "./select-with-action"; diff --git a/packages/shadcn-ui/src/components/entity-table-content.tsx b/packages/rdx-ui/src/components/entity-table-content.tsx similarity index 96% rename from packages/shadcn-ui/src/components/entity-table-content.tsx rename to packages/rdx-ui/src/components/entity-table-content.tsx index e7dba23..a3d7377 100644 --- a/packages/shadcn-ui/src/components/entity-table-content.tsx +++ b/packages/rdx-ui/src/components/entity-table-content.tsx @@ -1,7 +1,14 @@ +import { + Table, + TableBody, + TableCell, + TableHead, + TableHeader, + TableRow, +} from "@repo/shadcn-ui/components/table"; import type { Table as TableModel } from "@tanstack/react-table"; import type { EntityColumn } from "./entity-list"; -import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table"; export function EntityTableContent({ table, columns, @@ -112,6 +119,6 @@ function entityColumnClass(pinned: boolean, header: boolean) { : "sticky right-0 z-10 h-14 w-20 min-w-20 bg-card px-3 py-3 pr-4 text-right whitespace-nowrap group-hover/entity-row:bg-[color-mix(in_oklch,var(--muted)_50%,var(--card))] group-has-aria-expanded/entity-row:bg-[color-mix(in_oklch,var(--muted)_50%,var(--card))]"; } return header - ? "first:min-w-40" + ? "first:min-w-40 bg-card" : "h-14 first:min-w-40 max-w-lg whitespace-normal break-words px-3 py-3"; } diff --git a/packages/shadcn-ui/src/components/form-dialog.tsx b/packages/rdx-ui/src/components/form-dialog.tsx similarity index 85% rename from packages/shadcn-ui/src/components/form-dialog.tsx rename to packages/rdx-ui/src/components/form-dialog.tsx index ee1bce3..8060f69 100644 --- a/packages/shadcn-ui/src/components/form-dialog.tsx +++ b/packages/rdx-ui/src/components/form-dialog.tsx @@ -1,6 +1,4 @@ -import { type ReactNode, createContext, useContext } from "react"; - -import { Button } from "./button"; +import { Button } from "@repo/shadcn-ui/components/button"; import { Dialog, DialogClose, @@ -8,7 +6,8 @@ import { DialogFooter, DialogHeader, DialogTitle, -} from "./dialog"; +} from "@repo/shadcn-ui/components/dialog"; +import { type ReactNode, createContext, useContext } from "react"; const FormCancelContext = createContext(undefined); @@ -33,10 +32,10 @@ export function FormDialog({ - {title} + {title} {children} @@ -48,6 +47,7 @@ export function FormDialog({ )} + ); @@ -56,11 +56,11 @@ export function FormDialog({ export function FormActions({ children }: { children: ReactNode }) { const cancelLabel = useContext(FormCancelContext); return ( - - {children} + {cancelLabel && ( }>{cancelLabel} )} + {children} ); } diff --git a/packages/shadcn-ui/src/components/select-with-action.tsx b/packages/rdx-ui/src/components/select-with-action.tsx similarity index 92% rename from packages/shadcn-ui/src/components/select-with-action.tsx rename to packages/rdx-ui/src/components/select-with-action.tsx index 919476b..e2e0bdb 100644 --- a/packages/shadcn-ui/src/components/select-with-action.tsx +++ b/packages/rdx-ui/src/components/select-with-action.tsx @@ -1,8 +1,14 @@ +import { Button } from "@repo/shadcn-ui/components/button"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@repo/shadcn-ui/components/select"; import { PlusIcon } from "lucide-react"; -import { Button } from "./button"; import { ButtonGroup } from "./button-group"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./select"; export type SelectOption = { value: string; label: string; disabled?: boolean }; export type SelectAction = { label: string; onClick: () => void; disabled?: boolean }; diff --git a/packages/rdx-ui/src/components/separator.tsx b/packages/rdx-ui/src/components/separator.tsx new file mode 100644 index 0000000..b6a44c9 --- /dev/null +++ b/packages/rdx-ui/src/components/separator.tsx @@ -0,0 +1,18 @@ +import { Separator as SeparatorPrimitive } from "@base-ui/react/separator"; +import { cn } from "cn"; + +function Separator({ className, orientation = "horizontal", ...props }: SeparatorPrimitive.Props) { + return ( + + ); +} + +export { Separator }; diff --git a/packages/shadcn-ui/src/components/statistic-card.tsx b/packages/rdx-ui/src/components/statistic-card.tsx similarity index 100% rename from packages/shadcn-ui/src/components/statistic-card.tsx rename to packages/rdx-ui/src/components/statistic-card.tsx diff --git a/packages/shadcn-ui/src/entity-list.test.tsx b/packages/rdx-ui/src/entity-list.test.tsx similarity index 100% rename from packages/shadcn-ui/src/entity-list.test.tsx rename to packages/rdx-ui/src/entity-list.test.tsx diff --git a/packages/shadcn-ui/src/hooks/use-entity-table.ts b/packages/rdx-ui/src/hooks/use-entity-table.ts similarity index 100% rename from packages/shadcn-ui/src/hooks/use-entity-table.ts rename to packages/rdx-ui/src/hooks/use-entity-table.ts diff --git a/packages/shadcn-ui/src/lib/entity-list.ts b/packages/rdx-ui/src/lib/entity-list.ts similarity index 100% rename from packages/shadcn-ui/src/lib/entity-list.ts rename to packages/rdx-ui/src/lib/entity-list.ts diff --git a/packages/shadcn-ui/src/lib/icons.ts b/packages/rdx-ui/src/lib/icons.ts similarity index 100% rename from packages/shadcn-ui/src/lib/icons.ts rename to packages/rdx-ui/src/lib/icons.ts diff --git a/packages/shadcn-ui/src/locales/en.json b/packages/rdx-ui/src/locales/en.json similarity index 100% rename from packages/shadcn-ui/src/locales/en.json rename to packages/rdx-ui/src/locales/en.json diff --git a/packages/shadcn-ui/src/locales/es.json b/packages/rdx-ui/src/locales/es.json similarity index 100% rename from packages/shadcn-ui/src/locales/es.json rename to packages/rdx-ui/src/locales/es.json diff --git a/packages/shadcn-ui/src/select-with-action.test.tsx b/packages/rdx-ui/src/select-with-action.test.tsx similarity index 100% rename from packages/shadcn-ui/src/select-with-action.test.tsx rename to packages/rdx-ui/src/select-with-action.test.tsx diff --git a/packages/rdx-ui/tsconfig.json b/packages/rdx-ui/tsconfig.json new file mode 100644 index 0000000..e2c8cdc --- /dev/null +++ b/packages/rdx-ui/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@repo/typescript-config/buildless.json", + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "types": ["node"] + }, + "include": ["src"] +} diff --git a/packages/shadcn-ui/components.json b/packages/shadcn-ui/components.json index f928da2..3d75298 100644 --- a/packages/shadcn-ui/components.json +++ b/packages/shadcn-ui/components.json @@ -6,7 +6,7 @@ "tailwind": { "config": "", "css": "src/styles/globals.css", - "baseColor": "neutral", + "baseColor": "olive", "cssVariables": true, "prefix": "" }, @@ -19,4 +19,4 @@ "hooks": "@repo/shadcn-ui/hooks" }, "rtl": false -} +} \ No newline at end of file diff --git a/packages/shadcn-ui/package.json b/packages/shadcn-ui/package.json index f033149..9f02adb 100644 --- a/packages/shadcn-ui/package.json +++ b/packages/shadcn-ui/package.json @@ -11,8 +11,7 @@ }, "scripts": { "ui:add": "shadcn add", - "typecheck": "tsc -p tsconfig.json", - "test": "TSX_TSCONFIG_PATH=../../tsconfig.json node --import tsx --test src/select-with-action.test.tsx src/entity-list.test.tsx" + "typecheck": "tsc -p tsconfig.json" }, "devDependencies": { "@repo/typescript-config": "workspace:*", @@ -27,12 +26,19 @@ "react-dom": "19.2.5" }, "dependencies": { - "tailwindcss": "4.2.2", - "tw-animate-css": "1.4.0", - "cn": "0.3.0", - "class-variance-authority": "0.7.1", "@base-ui/react": "1.8.0", + "@shadcn/react": "^0.3.1", + "class-variance-authority": "0.7.1", + "cmdk": "^1.1.1", + "cn": "0.3.0", + "date-fns": "^4.4.0", + "embla-carousel-react": "^8.6.0", + "input-otp": "^1.5.0", "lucide-react": "1.8.0", - "@tanstack/react-table": "8.21.3" + "react-day-picker": "^10.0.2", + "react-resizable-panels": "^4.14.3", + "recharts": "3.8.0", + "tailwindcss": "4.2.2", + "tw-animate-css": "1.4.0" } } diff --git a/packages/shadcn-ui/src/components/accordion.tsx b/packages/shadcn-ui/src/components/accordion.tsx new file mode 100644 index 0000000..1331cb8 --- /dev/null +++ b/packages/shadcn-ui/src/components/accordion.tsx @@ -0,0 +1,71 @@ +import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion" +import { cn } from "cn" +import { ChevronDownIcon, ChevronUpIcon } from "lucide-react" + +function Accordion({ className, ...props }: AccordionPrimitive.Root.Props) { + return ( + + ) +} + +function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) { + return ( + + ) +} + +function AccordionTrigger({ + className, + children, + ...props +}: AccordionPrimitive.Trigger.Props) { + return ( + + + {children} + + + + + ) +} + +function AccordionContent({ + className, + children, + ...props +}: AccordionPrimitive.Panel.Props) { + return ( + +
+ {children} +
+
+ ) +} + +export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } diff --git a/packages/shadcn-ui/src/components/alert-dialog.tsx b/packages/shadcn-ui/src/components/alert-dialog.tsx new file mode 100644 index 0000000..639b523 --- /dev/null +++ b/packages/shadcn-ui/src/components/alert-dialog.tsx @@ -0,0 +1,185 @@ +import * as React from "react" +import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog" +import { cn } from "cn" + +import { Button } from "@repo/shadcn-ui/components/button" + +function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) { + return +} + +function AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) { + return ( + + ) +} + +function AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) { + return ( + + ) +} + +function AlertDialogOverlay({ + className, + ...props +}: AlertDialogPrimitive.Backdrop.Props) { + return ( + + ) +} + +function AlertDialogContent({ + className, + size = "default", + ...props +}: AlertDialogPrimitive.Popup.Props & { + size?: "default" | "sm" +}) { + return ( + + + + + ) +} + +function AlertDialogHeader({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDialogFooter({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDialogMedia({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDialogTitle({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogDescription({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogAction({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function CarouselNext({ + className, + variant = "outline", + size = "icon-sm", + ...props +}: React.ComponentProps) { + const { orientation, scrollNext, canScrollNext } = useCarousel() + + return ( + + ) +} + +export { + type CarouselApi, + Carousel, + CarouselContent, + CarouselItem, + CarouselPrevious, + CarouselNext, + useCarousel, +} diff --git a/packages/shadcn-ui/src/components/chart.tsx b/packages/shadcn-ui/src/components/chart.tsx new file mode 100644 index 0000000..c5f6eb3 --- /dev/null +++ b/packages/shadcn-ui/src/components/chart.tsx @@ -0,0 +1,370 @@ +import * as React from "react" +import { cn } from "cn" +import * as RechartsPrimitive from "recharts" +import type { TooltipValueType } from "recharts" + +// Format: { THEME_NAME: CSS_SELECTOR } +const THEMES = { light: "", dark: ".dark" } as const + +const INITIAL_DIMENSION = { width: 320, height: 200 } as const +type TooltipNameType = number | string + +export type ChartConfig = Record< + string, + { + label?: React.ReactNode + icon?: React.ComponentType + } & ( + | { color?: string; theme?: never } + | { color?: never; theme: Record } + ) +> + +type ChartContextProps = { + config: ChartConfig +} + +const ChartContext = React.createContext(null) + +function useChart() { + const context = React.useContext(ChartContext) + + if (!context) { + throw new Error("useChart must be used within a ") + } + + return context +} + +function ChartContainer({ + id, + className, + children, + config, + initialDimension = INITIAL_DIMENSION, + ...props +}: React.ComponentProps<"div"> & { + config: ChartConfig + children: React.ComponentProps< + typeof RechartsPrimitive.ResponsiveContainer + >["children"] + initialDimension?: { + width: number + height: number + } +}) { + const uniqueId = React.useId() + const chartId = `chart-${id ?? uniqueId.replace(/:/g, "")}` + + return ( + +
+ + + {children} + +
+
+ ) +} + +const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => { + const colorConfig = Object.entries(config).filter( + ([, config]) => config.theme ?? config.color + ) + + if (!colorConfig.length) { + return null + } + + return ( +